)]}'
{
  "commit": "32ca481ed405bf8dfeb833a8a3507da8c5bc686d",
  "tree": "0378f553b9edf12883cb6a960a4e6d50d761bd8b",
  "parents": [
    "d31f8c590b383a15d07e4d8cabd09b5fd061a33c"
  ],
  "author": {
    "name": "Pranav Madapurmath",
    "email": "pmadapurmath@google.com",
    "time": "Tue Jun 11 15:51:39 2024 +0000"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Wed Jul 10 22:19:02 2024 +0000"
  },
  "message": "Unbind CallScreeningService when timeout reached.\n\nIn a vulnerability, the exploiter showed that an app which implements a\nservice with role holding ROLE_CALL_SCREENING can be used to keep a\nservice alive. The assumption is that the CallScreeningService class\nuses MSG_SCREEN_CALL to screen the call and results in the service being\nunbound for outgoing calls once screening completes. However, a vanilla\nservice which holds the ROLE_CALL_SCREENING role can still be used as\nthe default call screening app which keeps the service alive.\n\nThis CL ensures that after the timeout is reached that we try to unbind\nthe service if possible.\n\nBug: 300904123\nTest: Manual test to verify that onDestroy is called for the service\nafter the timeout is reached.\n\n(cherry picked from commit 9d97cd5825066ac8e15bbf97f6755663c5341afb)\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d57f25311acb7fb887fb0296364526345cc905bb)\nMerged-In: I30d276867c571ece113106d3b363fce99d64f441\nChange-Id: I30d276867c571ece113106d3b363fce99d64f441\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5c9ca84d1e8205e1e8a00c88ef55af58ef478696",
      "old_mode": 33188,
      "old_path": "src/com/android/server/telecom/CallScreeningServiceHelper.java",
      "new_id": "747408cd86d33250d7f1dc932bbf2d2b09bc605c",
      "new_mode": 33188,
      "new_path": "src/com/android/server/telecom/CallScreeningServiceHelper.java"
    }
  ]
}
