)]}'
{
  "commit": "d873ae62c443dc3381fca328dcf5b73c157daf03",
  "tree": "abbeb50380e346db85b199fba04ee3f8cc9691c6",
  "parents": [
    "e3d3ca75dc12dda14a7e8c9c4b65b89318eae484"
  ],
  "author": {
    "name": "Svet Ganov",
    "email": "svetoslavganov@google.com",
    "time": "Mon Jun 25 16:39:23 2018 -0700"
  },
  "committer": {
    "name": "Svet Ganov",
    "email": "svetoslavganov@google.com",
    "time": "Tue Jul 03 16:39:44 2018 -0700"
  },
  "message": "Allow UiAutomation to adopt the shell permission indentity\n\nFor testing we often need to run shell commands. This can be done\ntoday via running a shell command from an instrumentation test\nstarted from the shell. However, this requires adding shell commands\nwhich are not in the API contract, involve boilerplate code, require\nstring parsing, etc.\n\nThis change allows an instrumentation started from the shell to\nadopt the shell UID permission state. As a result one can call APIs\nprotected by permissions normal apps cannot get by are granted to\nthe shell. This enables adding dedicated test APIs protected by\nsignatures permissions  granted to the shell.\n\nTest: cts-tradefed run cts-dev -m CtsUiAutomationTestCases\n          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions\n\nbug:80415658\n\nChange-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "20e62c07fe6ccb8735b60b58f8af830c79f364ff",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "f4d0ef444d017efc09ad5863c4675c92fa1a5117",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "b08ae0e037d325a0838af04f72e7cf77f25b306f",
      "old_mode": 33188,
      "old_path": "api/test-current.txt",
      "new_id": "36f84593ea8c63000ceb5db7c6efc5ea7423d804",
      "new_mode": 33188,
      "new_path": "api/test-current.txt"
    },
    {
      "type": "modify",
      "old_id": "8b3396392c3f03731297e748ef461fd7a455da08",
      "old_mode": 33188,
      "old_path": "core/java/android/app/AppOpsManager.java",
      "new_id": "c3404a5c79e211f997f4bfd96621a0513ff8b55b",
      "new_mode": 33188,
      "new_path": "core/java/android/app/AppOpsManager.java"
    },
    {
      "type": "modify",
      "old_id": "24c5d234c1209f89f0c6a5481a8cfeff858f7599",
      "old_mode": 33188,
      "old_path": "core/java/android/app/AppOpsManagerInternal.java",
      "new_id": "f5d5e6e9a95055df9f7bc4c82b411a538ad224e2",
      "new_mode": 33188,
      "new_path": "core/java/android/app/AppOpsManagerInternal.java"
    },
    {
      "type": "modify",
      "old_id": "49d3fffc473f8fed7db73e6694ab6d4468cc12fe",
      "old_mode": 33188,
      "old_path": "core/java/android/app/IActivityManager.aidl",
      "new_id": "7379630613ca7debeb66e5800c4ad071b8d45eb1",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IActivityManager.aidl"
    },
    {
      "type": "modify",
      "old_id": "d01938b123b17086df78aa33f991c89e6c226d0a",
      "old_mode": 33188,
      "old_path": "core/java/android/app/IUiAutomationConnection.aidl",
      "new_id": "ac4bf7d9c2c512dd9930d32917d9619bdce4d3be",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IUiAutomationConnection.aidl"
    },
    {
      "type": "modify",
      "old_id": "5662aeae81102e57c11226fb559fc1fcffd24919",
      "old_mode": 33188,
      "old_path": "core/java/android/app/UiAutomation.java",
      "new_id": "44f2879601b8e7f250ca3de08f6496ec518c934c",
      "new_mode": 33188,
      "new_path": "core/java/android/app/UiAutomation.java"
    },
    {
      "type": "modify",
      "old_id": "d3828ab47883278cde634b195e2cab62ed98b8f2",
      "old_mode": 33188,
      "old_path": "core/java/android/app/UiAutomationConnection.java",
      "new_id": "ac3f2e7a14d081f1761893295efbd32c6013279f",
      "new_mode": 33188,
      "new_path": "core/java/android/app/UiAutomationConnection.java"
    },
    {
      "type": "modify",
      "old_id": "721063a8f7d56e31534eae86de584f6080af3dac",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/PackageManager.java",
      "new_id": "a058ac6a8788f7d5156f7d524c115e459adc2f77",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/PackageManager.java"
    },
    {
      "type": "modify",
      "old_id": "f30b3fee7f469e028a7bbb6dc70e4bee8eb6cbc7",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/PackageManagerInternal.java",
      "new_id": "ee752f8b818659258cb7d2a95cd221849db1d442",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/PackageManagerInternal.java"
    },
    {
      "type": "modify",
      "old_id": "0ed972477123a6268e83bf26bca23fe9743fff63",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/app/IAppOpsService.aidl",
      "new_id": "768dddd35a6dea06a1e2d4ee380f03ea568b26a0",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/app/IAppOpsService.aidl"
    },
    {
      "type": "modify",
      "old_id": "1167e1d41a9cb0e5f41bbd1b9836d4e96d1b69dc",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/AppOpsService.java",
      "new_id": "b3f6bd1d41cc21528775efcee9f9600eb474a4f8",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/AppOpsService.java"
    },
    {
      "type": "modify",
      "old_id": "89810f9b24303d79d2582f59125c55f550ea7489",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/am/ActivityManagerService.java",
      "new_id": "8555dd4db337795d3405c2cf31fb2f1482ff1742",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/am/ActivityManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "c536e4dbea59edcf1e7c624df744013b5b42f234",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerService.java",
      "new_id": "734a872b0fcc942bef79576a3d41e73cb2b08603",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "a042fedf8b4706fd05c67a84fabe4136545a96e9",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/permission/PermissionManagerInternal.java",
      "new_id": "ec15c16981a8b4348aba442d5801f617acf29aea",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/permission/PermissionManagerInternal.java"
    }
  ]
}
