)]}'
{
  "commit": "b776aa9e89573499db8655e23e477484c2d097ec",
  "tree": "c7d8b1b453e46a276277791198a1747fa9d70a16",
  "parents": [
    "634c15d3c048ac09fd0f36ca99b66104365574f9"
  ],
  "author": {
    "name": "mattgilbride",
    "email": "mattgilbride@google.com",
    "time": "Fri Dec 02 13:58:33 2022 +0000"
  },
  "committer": {
    "name": "mattgilbride",
    "email": "mattgilbride@google.com",
    "time": "Fri Dec 02 17:17:31 2022 +0000"
  },
  "message": "Add hidden Binder.getCallingUidOrWtf\n\nBinder.getCallingUidOrThrow throws if the caller is NOT:\n1) Called from within a binder transaction OR\n2) Called from within a\n   Binder.clearCallingIdentity/restoreCallingIdentity block\n\nNumber 2 was added in I162db933f9e52cd6f9f46796bda11ad6216d3d66\nto allow us to migrate from Binder.getCallingUid to it. There are\nmany use cases where callers are not in a Binder transaction, but\nhave set the calling UID \"explicitly\" by calling clearCallingIdentity.\n\nIn order to further ease the migration from Binder.getCallingUid to\nBinder.getCallingUidOrThrow, this hidden API behaves similarly,\nbut logs at WTF level instead of throwing IllegalStateException.\n\nThe motivation is to first migrate to the WTF version, so that\nsystem_server will log and continue. The goal is to only use this\nin the system (hence @hide). It will provide early signals as to the\nfeasibility of a given migration.\n\nFor example, its desirable to migrate the permission checking in code\ngenerated by the @EnforcePermission annotation (via the AIDL compiler).\nThis call site is widely used, and itself subject to mass migrations to\n@EnforcePermission instead of manual permission enforcement.\n\nBug: 252975769\nTest: TH\nChange-Id: I11ea3fdf889689d76211506e81420e694238ee68\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f3ed19e091c65e175bc9e94ecf178009be25b59",
      "old_mode": 33188,
      "old_path": "core/java/android/os/Binder.java",
      "new_id": "2d244a9b469d70adfda3b793fa6cb7154b62d604",
      "new_mode": 33188,
      "new_path": "core/java/android/os/Binder.java"
    }
  ]
}
