)]}'
{
  "commit": "e725b3e97c839fe63c8f3fb283c29043855a83f4",
  "tree": "61f516177b59fc771098b9aa3ca71f2f329d24ba",
  "parents": [
    "b13bf71c73c1513efa946350b4bef95efb4c23c6"
  ],
  "author": {
    "name": "Adam Bookatz",
    "email": "bookatz@google.com",
    "time": "Mon Sep 23 14:49:37 2024 -0700"
  },
  "committer": {
    "name": "Adam Bookatz",
    "email": "bookatz@google.com",
    "time": "Fri Oct 11 09:20:25 2024 -0700"
  },
  "message": "UserProperties won\u0027t be cached for wrong callers\n\nUserManager.getUserProperties() will return different results depending\non the callingUid, since different callers have different permissions.\nIf a process is fetching the UserProperties on behalf of a different\ncaller (i.e. where the callingUid doesn\u0027t match the process), then\ncaching the result will be wrong, since that cached copy only applied to\nthat particular callingUid, which the cache doesn\u0027t take into account.\n\nIn this cl, we make the cache take into account not only the userId\nbeing queried, but also the callingUid that is querying it.\n\nWe also switch the old unusued mechanism to the new @CachedProperty\nstatic caching mechanism.\n\nBug: 369198539\nBug: 367997317\nFlag: android.multiuser.cache_user_properties_correctly_read_only\nTest: Manual confirmation that callingUids are properly cached too\nTest: Made sure we have a good hit frequency by\n      enabling PropertyInvalidatedCache DEBUG and monitoring\n      adb logcat  | grep PropertyInvalidatedCache | grep user_properties\nChange-Id: I5a6f136f68afe84c2406e3d2c20c222eff8f381f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f1964e7bc024509c3c2242091949326a2be5c2e7",
      "old_mode": 33188,
      "old_path": "core/java/android/os/UserManager.java",
      "new_id": "bd3da0d56cbdbb8cb90619206a6a68e9a5fac75e",
      "new_mode": 33188,
      "new_path": "core/java/android/os/UserManager.java"
    },
    {
      "type": "modify",
      "old_id": "708e0679d6d46fdf75d8d283852edd9f0b910b79",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/UserManagerService.java",
      "new_id": "daf413bb30b341a691d126b103851f2bd13d3891",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/UserManagerService.java"
    }
  ]
}
