)]}'
{
  "log": [
    {
      "commit": "169bc15b254d792670746d909b27e4b7748acab6",
      "tree": "9844a01b4f2a2fffd4f0e02b7b60104ec83804a2",
      "parents": [
        "44026b7f48e2e0bf1e4a0c17b9f51bd84e145c52",
        "60a39fe83791d74513b79eff3e6d34f267695ec8"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 23 21:44:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 21:44:24 2018 +0000"
      },
      "message": "Merge changes Ie3943d2b,I158f560f\n\n* changes:\n  New task switch animation\n  New activity open/close animation\n"
    },
    {
      "commit": "d51fdf01052ef0b4bed81fb086872fe26f7cf337",
      "tree": "c15d9730df060130f95c679b797d8f61b5dad9df",
      "parents": [
        "af1c6ed48387dcb46b7ffc7cd28b6e7ab303f693",
        "81ee34bf957dffe020442e3f0c6c06817397ebf0"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Tue Jan 23 20:57:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 20:57:14 2018 +0000"
      },
      "message": "Merge \"Move APIs to final location in preparation for API review\""
    },
    {
      "commit": "d6cfe1b02ae1209f7ddbfe533a90d4ccd77c62b1",
      "tree": "d8f19e2e4736a96443ad2bc916de34c1532ee40a",
      "parents": [
        "e18d316818400a8dfcf27a3824508fbd2a93fc56",
        "0803f21c47d28bcd7b14eba37e7428239b3d668e"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 20:40:39 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 20:40:39 2018 +0000"
      },
      "message": "Merge \"Add checks to ensure SPIs are not reused\" am: 0a1dd194aa am: 1a2e3f3b54\nam: 0803f21c47\n\nChange-Id: I13738ac37710ec7934998ef269681ae7c41c612e\n"
    },
    {
      "commit": "04c47f217848ba92ba4efc9d314d8cf234ec1153",
      "tree": "5dd3deebd17c4b0fdce718b239640622dfade8e5",
      "parents": [
        "fc027600b5da36e0b60054b51a4ad8af606a7ec4",
        "0ae08d0ca6ed7af8828e43a06f65d58e2dcf7c83"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 20:19:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 20:19:16 2018 +0000"
      },
      "message": "Merge \"Accept null brightness configs.\""
    },
    {
      "commit": "0803f21c47d28bcd7b14eba37e7428239b3d668e",
      "tree": "ec90f0165dd81f477c02b4a2462607b0d1279e57",
      "parents": [
        "b641b585bb9a9dc161e3ae31b4ca52afefdef7f9",
        "1a2e3f3b54466e7d52835c07a23620bdfc15a746"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 19:55:47 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 19:55:47 2018 +0000"
      },
      "message": "Merge \"Add checks to ensure SPIs are not reused\" am: 0a1dd194aa\nam: 1a2e3f3b54\n\nChange-Id: I8c7243bc600e5f2e9abec03b5a357ed6376aa9bf\n"
    },
    {
      "commit": "1a2e3f3b54466e7d52835c07a23620bdfc15a746",
      "tree": "0b568cd7b92aa2e5497f5dc9365eaa672ad930c2",
      "parents": [
        "40effae0f3750abd5732f02a5d2b22558495d00f",
        "0a1dd194aaa0369bb87731df708e86229a7d8e40"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 19:27:51 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 19:27:51 2018 +0000"
      },
      "message": "Merge \"Add checks to ensure SPIs are not reused\"\nam: 0a1dd194aa\n\nChange-Id: I893925014557e5ae13303debc4ee8f50faf9605d\n"
    },
    {
      "commit": "c4788e1f044ef2714137d6e781ed8506016954af",
      "tree": "ff7e4e0f2f112bc6b536257dd514d8be50dc367e",
      "parents": [
        "7e004f96dd2c8d232f1ac54ab4dbd669c774d71c",
        "7ee1a7acc4d3ff8d05aaa76ba7665fdef9f315ec"
      ],
      "author": {
        "name": "Roberto Perez",
        "email": "robertoalexis@google.com",
        "time": "Tue Jan 23 18:21:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 18:21:59 2018 +0000"
      },
      "message": "Merge \"Adding a new category to mark car-optimized launcher activity\""
    },
    {
      "commit": "81ee34bf957dffe020442e3f0c6c06817397ebf0",
      "tree": "4fc790f9678df00be46651114bdac266334eff58",
      "parents": [
        "2c78c181e7a07c24f662b769dd4819d8bba4a43b"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Tue Jan 23 11:59:59 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Tue Jan 23 18:05:27 2018 +0000"
      },
      "message": "Move APIs to final location in preparation for API review\n\nLeave old APIs in current location for backwards compatibility reasons.\n\nBug: 72298565\nTest: Tried flow with current versions of GMSCore to ensure they work still\nChange-Id: Iafc2b8ad8a574460dbb2482a67935debe71f1113\n"
    },
    {
      "commit": "0a1dd194aaa0369bb87731df708e86229a7d8e40",
      "tree": "d4c5e7d472a205dfaa968fc4ca19bc3536f53eb6",
      "parents": [
        "cdc0a084d18baded7067a3af8723026e8a00bc1b",
        "e6b42773e8c079d0d41814d3455803d627dd1e3a"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 18:00:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 18:00:06 2018 +0000"
      },
      "message": "Merge \"Add checks to ensure SPIs are not reused\""
    },
    {
      "commit": "ee33ac4bd283597193d386fb25ff8123a23840bd",
      "tree": "18906ad1a92ffb601f7e11503b6b3ffb3141a197",
      "parents": [
        "da464f35fb5a710f4043e12b98d77bda44f5cd51",
        "ad3e1331f3311b0351856e29001610d6ff39f082"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jan 23 17:54:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:54:29 2018 +0000"
      },
      "message": "Merge \"Improve dumpsys for installed distros\""
    },
    {
      "commit": "da464f35fb5a710f4043e12b98d77bda44f5cd51",
      "tree": "2e8cb98f9eb0d5fd467e486e88527522ece023ea",
      "parents": [
        "579642a2e62aed445caaba807d13bc9221b3b80c",
        "e6527c1285cf38057d95c33f5fac4f4ea124e003"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Jan 23 17:43:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:43:59 2018 +0000"
      },
      "message": "Merge \"Make us of the authsecret HAL.\""
    },
    {
      "commit": "15e76d620a93eb3a0377da59fdb366b87714f2a1",
      "tree": "bef34cb8d5b52612e9de064aa386795619858c5f",
      "parents": [
        "e74fa6c23145a64ae7c15821c6e27458c51c50b4",
        "e2ad37f9bc4778bfad97881e5fbd7b45ea162863"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 23 17:14:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:14:03 2018 +0000"
      },
      "message": "Merge changes I2b6bfca0,I9a854d43\n\n* changes:\n  Add option to retrieve pending intent result\n  Fix issue with permission check for shortcuts and pendingIntent\n"
    },
    {
      "commit": "d66cfdfc9a13be412a5a832149071ea3154e4a6f",
      "tree": "a3d6abaac44c655646dfed976fc295384d7c143a",
      "parents": [
        "4953824b89bfbdd5a85a2a7182c0903d9283e1d1",
        "9228af6bc20c27b9949df36684f9c06ca9cdb27d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 16:46:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 16:46:10 2018 +0000"
      },
      "message": "Merge \"AudioFocusRequest: add ability to force ducking for a11y\""
    },
    {
      "commit": "6bc886e64e1cf70d7749526f7d7faeecc4a65de0",
      "tree": "47ddf93a02f32e87288a16151d249cd6237706f9",
      "parents": [
        "a070145d094f693e433616540843345960b1147b"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Jan 18 13:17:52 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 23 17:23:00 2018 +0100"
      },
      "message": "New activity open/close animation\n\nTest: go/wm-smoke\nTest: Open activities in settings\nBug: 64155106\nChange-Id: I158f560f0294add42e40ffa2d2c4e3a8cab7ccc8\n"
    },
    {
      "commit": "c61216d4a2da4dcc0225f99773339c4a80aa9f13",
      "tree": "e69c59bef73aec5e25d9a3723fd160b72f32b6f2",
      "parents": [
        "e0bba99c946c7f8399aeb44a090bf4ae98ff5079",
        "44dcbde52af01109a70ee29a73789bd28422da0d"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Tue Jan 23 14:25:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 14:25:39 2018 +0000"
      },
      "message": "Merge \"Add ConnectivityManager.getNetworkWatchlistConfigHash()\""
    },
    {
      "commit": "2c78c181e7a07c24f662b769dd4819d8bba4a43b",
      "tree": "730f3d0d59a157f5df99c1888e2830da0f037a9a",
      "parents": [
        "a8c7794856c5794fa5b31cf5398b8f773650d6c7",
        "7bcb57b79dd391ad62230143e858ebe9952083b1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 13:56:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 13:56:24 2018 +0000"
      },
      "message": "Merge \"Track the most recent notifying packages\""
    },
    {
      "commit": "e2ad37f9bc4778bfad97881e5fbd7b45ea162863",
      "tree": "3ba97f4ceeed035087ea479ce2fb1f15e58650d9",
      "parents": [
        "4d8d32cb6af4b9ea2f8d320f4a52561413d146bd"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 22 22:41:22 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 23 14:40:28 2018 +0100"
      },
      "message": "Add option to retrieve pending intent result\n\nUsed by SystemUI to check whether an activity start will\nactually lead to something animating.\n\nAlso fixes an issue where we return MOVED_TO_FRONT instead of\nDELIVERED_TO_TOP.\n\nTest: go/wm-smoke\nTest: Use PendingIntent.sendAndReturnResult\nChange-Id: I2b6bfca0a53125635bc462f32ab7eaae366c0c8a\n"
    },
    {
      "commit": "4d8d32cb6af4b9ea2f8d320f4a52561413d146bd",
      "tree": "7387d6f8e8c22f0847e0085f3da5c0631ec4cc21",
      "parents": [
        "8f0d71e3ee99cb3cee8409ec7b5448282aaadce7"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Jan 19 15:57:41 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 23 14:40:12 2018 +0100"
      },
      "message": "Fix issue with permission check for shortcuts and pendingIntent\n\nWhen launching a PendingIntent, we have two sets of activity\noptions: One supplied from the caller that obtained the\npending intent, and those supplied from the caller that is\nsending it. We need to perform the permission check depending\non which caller the options are coming from.\n\nFor that, we introduce SafeActivityOptions that records the\ncallingPid/callingUid when obtaining it and checks for the\npermissions with the correct callingPid/callingUid, and\nalso supports merging both activity options.\n\nIn addition to that, fix shortcuts by not clearing caller\nidentity in LauncherAppsService.\n\nTest: go/wm-smoke\nTest: Install custom launcher APK with animation for shortcuts\nenabled, make sure launch works properly.\nBug: 64674361\n\nChange-Id: I9a854d43c65c8fa69bf16ccfbed86e8e681a095b\n"
    },
    {
      "commit": "9e500594c02689c84184fa15df331d878515ebad",
      "tree": "b955126d25315ad56d6768520426ab154372d335",
      "parents": [
        "b78ea164d6b8f6125485b4d3d0c5d8c135fa7b83",
        "26cbb6b039a7d20531fbd37005f05fe4268062bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 09:59:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 09:59:27 2018 +0000"
      },
      "message": "Merge \"Fail KeySyncTask if the PlatformKey can\u0027t be used to decrypt\""
    },
    {
      "commit": "727e3d28725a677ca31bea280f4994e17d95b253",
      "tree": "ab2259de78da7d8d7fb86a11e579e7ebcdcfd368",
      "parents": [
        "0945bb741868045c8317cf86d0acb55433ed4f77",
        "ceb6b6e131a1c8c7451e9b7298bec573f28fa731"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 09:46:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 09:46:10 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Move MediaSession2/MediaController2 from experimental\""
    },
    {
      "commit": "44dcbde52af01109a70ee29a73789bd28422da0d",
      "tree": "542d1ae75d4614b02e958937280d495873a9e587",
      "parents": [
        "7f0087be4804a9f8fb1f5fb68036015918c3b37f"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Tue Jan 23 04:09:45 2018 +0000"
      },
      "committer": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Tue Jan 23 06:32:36 2018 +0000"
      },
      "message": "Add ConnectivityManager.getNetworkWatchlistConfigHash()\n\nApps can use this API to get network watchlist config hash for auditing.\n\nBug: 63908748\nTest: Able to compile\nChange-Id: I5ce9e6bb6dad88139c0a102da58be0dd7c284b7a\n"
    },
    {
      "commit": "26466e44b704fb279af2247fafb86ac7bf0bdc3d",
      "tree": "5d866a13270296f8283aad9478465d97ab8be0e5",
      "parents": [
        "e2a345aadf574da86e056216074edb3b1ea028f8",
        "937d74294e0da3c656305ba0f9e56b2c01aebf0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 06:03:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 06:03:21 2018 +0000"
      },
      "message": "Merge \"add system uptime and free disk space atoms and pullers\""
    },
    {
      "commit": "e2a345aadf574da86e056216074edb3b1ea028f8",
      "tree": "5d50683890ec415324c8873f88a23a39663390fa",
      "parents": [
        "9683b889d93adc6458c8c0af6a9e804de5a0c98e",
        "17711f931d28080e7b455f2dd12d0ad84b5231f5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 05:47:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 05:47:53 2018 +0000"
      },
      "message": "Merge \"Re-enable NetworkPolicyManagerServiceTest.\""
    },
    {
      "commit": "9683b889d93adc6458c8c0af6a9e804de5a0c98e",
      "tree": "4864dfabb21e691cf501d3f8f7bfa07e1f7235b6",
      "parents": [
        "1f62f7c72eaa6477950d6c0bf1bde562a68f6301",
        "52cacc6c1a10296f7516777f4d09b11024e68782"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 05:34:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 05:34:29 2018 +0000"
      },
      "message": "Merge \"add atom and logging for Picture-in-Picture feature\""
    },
    {
      "commit": "e6b42773e8c079d0d41814d3455803d627dd1e3a",
      "tree": "2e969e7a5078d86e435de4ae31007737c8de3486",
      "parents": [
        "222529d95ca6f0ea89bff5532dd9440909258540"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Dec 13 18:26:40 2017 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 21:09:47 2018 -0800"
      },
      "message": "Add checks to ensure SPIs are not reused\n\nThis change adds an additional check in CheckIpsecConfig to prevent\nusers from using the same SPI twice. This allows for a more granular\nerror message.\n\nBug: 70642141\nTest: Tests added in IpSecServiceParameterizedTest\nChange-Id: I9621fb05c6b162bd8ae8db4ac1e64feaa9d0ac73\n"
    },
    {
      "commit": "ceb6b6e131a1c8c7451e9b7298bec573f28fa731",
      "tree": "4c206f4317f218fdb2f3c3773dbdeeabc405a39a",
      "parents": [
        "e65bd19fdd1c86d262997da9cd53f9006474daae"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Jan 21 20:56:10 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 14:02:08 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSession2/MediaController2 from experimental\n\nAPIs will be unhidden later\n\nTest: Run MediaComponentsTest\nChange-Id: I2d9fcd98232016281fad128e9e674885b41e20d9\n"
    },
    {
      "commit": "937d74294e0da3c656305ba0f9e56b2c01aebf0e",
      "tree": "25fd2a418cae45fad190c55a535b9c590fe4d687",
      "parents": [
        "0e5f9c8a4b327a818ead467f3f3df1ca1e4af1ab"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Jan 10 16:37:53 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 20:06:52 2018 -0800"
      },
      "message": "add system uptime and free disk space atoms and pullers\n\nTest: will add cts later\nChange-Id: I0b906fab82fca89b85bc0c7fbe06078115d43eec\n"
    },
    {
      "commit": "17711f931d28080e7b455f2dd12d0ad84b5231f5",
      "tree": "52205c597f2528ca51c1d79f4d550ee37e984493",
      "parents": [
        "fb39fd90f07ce08c80bf383410efad941c8b93d4"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Jan 22 19:10:28 2018 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Jan 22 19:10:28 2018 -0800"
      },
      "message": "Re-enable NetworkPolicyManagerServiceTest.\n\nBug: 69916639\nTest: atest tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.\nChange-Id: I64e4459004cf0cafd2c63296413c18455802bb84\n"
    },
    {
      "commit": "b91082d8e023fbf15734244522d1b4b34bbe58ed",
      "tree": "35578fd5ebae4553511f8c01f9f188a3b59f5c33",
      "parents": [
        "6463159684206eb651a2e8046c87f6c4f38e0c5c",
        "77a7dd6be623effd992f2f1d8dcba922bf8e8a39"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 02:55:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 02:55:28 2018 +0000"
      },
      "message": "Merge \"Add temporary logging around Activity Manager NPE.\""
    },
    {
      "commit": "e36211c2326696398ce1e3080945fb69c28a7794",
      "tree": "12d5b12df03cf82701c6624728b343fae5420492",
      "parents": [
        "3efdec41bdf8128efff2b292598d75e7d395c22f",
        "adcb5222266a19ee55a1ef6acd45892164084153"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 02:17:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 02:17:25 2018 +0000"
      },
      "message": "Merge \"Add update packages permission\""
    },
    {
      "commit": "5eb97dcf50da4a405b5bc889ec2cec27b0fd07d9",
      "tree": "079351789b9ad93a5c1521c39e9a23092c2342f7",
      "parents": [
        "174df238ac2ce4e952c88d0aa83505aa123629e5"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Thu Jan 11 16:56:29 2018 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Jan 22 17:02:25 2018 -0800"
      },
      "message": "Add support for UsbDeviceManager to talk to USB GADGET HAL\n\nTill now, Init scripts(property tiggers) are used define the\noperation that needs to be performed when a certain gadget\ncomposition needs to be enabled. Based on the user preference,\nusb service sets the sys.usb.config which triggers the\ncorresponding property triggers in init scripts and usbservice\npolls on sys.usb.state to infer whether the property triggers\nhave completed executing.\n\nThis CL makes UsbHandler class abstract to make init scripts\nbased legacy implementation and HAL based implementation to\nshare the common logic. The legacy init script based logic is\nimplemented by UsbHandlerLegacy and HAL based logic is implemented\nby UsbHandlerHal. The decision on which one to initialize is\nmade depending on whether the device has Gadget HAL impelemented.\n\nSince HIDL supports asynch calbacks, usb state management is moved\nto the message queue to avoid polling incase of HAL based\nimplementation.\n\nTo switch to a new configuration:\n1. UsbService calls setCurrentUsbFunctions and queues\n   MSG_SET_FUNCTIONS_TIMEOUT\n2. If the  setCurrentUsbFunctionsCb arrives on time,\n   then  MSG_SET_FUNCTIONS_TIMEOUT is cancelled and\n   default functions are retried by queueing\n   MSG_SET_DEFAULT_FUNCTIONS if SUCCESS is not signalled.\n3. If MSG_SET_FUNCTIONS_TIMEOUT gets executed, then,\n   default functions are retried by calling\n   setEnabledFunctions(null, false, mUsbDataUnlocked);\n\nAlso, for HAL based implementation config_oemUsbModeOverride is no\nlonger needed as hal can take of enabling oem specific functions.\n\nBug: 63669128\nTest: Tested usb gadget configuration for both cases:\n1. When gadget hal is present\n2. When gadget hal is not present\nChange-Id: Ifcef464a0b97b265872696346a76162f8e84d6c0\n"
    },
    {
      "commit": "5a4573faa5175be155197f8d120dfe186ab43557",
      "tree": "5672c6a892d0eb99b6d54e4c90fa4662e0cf9f28",
      "parents": [
        "98da482eca4a4b6551e23b39470d118efeadf421",
        "f8898abc56514ce5e79214fbf13a966acfed199d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 00:50:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 00:50:21 2018 +0000"
      },
      "message": "Merge \"ScreenDecor Windows: shouldn\u0027t receive inset hints\""
    },
    {
      "commit": "42c76f9cf8d13d5c540a441ab70d6c3af566f4f9",
      "tree": "393a5480dda327ea50197db04a0ffce87a4c0919",
      "parents": [
        "2be026a2717bf144d418a8d645e125a1a7f276e6",
        "08307475a2546ce7eac673e7b9277454656d5e45"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 00:19:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 00:19:05 2018 +0000"
      },
      "message": "Merge \"Address comments and final cleanup from refcounting integration\" am: 222529d95c am: 8130c2a718\nam: 08307475a2\n\nChange-Id: I0612286b8d95b0ae10c1337214f9c3b4e570fbac\n"
    },
    {
      "commit": "08307475a2546ce7eac673e7b9277454656d5e45",
      "tree": "855bdc6c4ef923d9c96dcb15ae9a1792ac7cd06c",
      "parents": [
        "03eb67c287e6b03c1ef5e0b63973de577b6c2002",
        "8130c2a71852a37b634740e541a677298e22374a"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 00:08:17 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 23 00:08:17 2018 +0000"
      },
      "message": "Merge \"Address comments and final cleanup from refcounting integration\" am: 222529d95c\nam: 8130c2a718\n\nChange-Id: I7ed4a6bb90f3cf3ed5fd0e6ad20b033e588a4c90\n"
    },
    {
      "commit": "8130c2a71852a37b634740e541a677298e22374a",
      "tree": "5c6937f926a63dd6b86f7034bbe6d0aa5ef541b1",
      "parents": [
        "878abd8e9187c9f3cd1235b99deada092f72bddf",
        "222529d95ca6f0ea89bff5532dd9440909258540"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 23:57:28 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 22 23:57:28 2018 +0000"
      },
      "message": "Merge \"Address comments and final cleanup from refcounting integration\"\nam: 222529d95c\n\nChange-Id: Ie0bc2b81e09ee874ef848905bb486967a857c6d1\n"
    },
    {
      "commit": "77a7dd6be623effd992f2f1d8dcba922bf8e8a39",
      "tree": "565e4be7a5f80e99fed8b68af3f9b11ca5724e8c",
      "parents": [
        "e8ffec166131d27e47fbf21c9db9f6812051b15f"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Jan 22 15:47:09 2018 -0800"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Mon Jan 22 15:47:43 2018 -0800"
      },
      "message": "Add temporary logging around Activity Manager NPE.\n\nThis changelist will dump additional details to the log before the\nsystem encounters a NPE due to not finding an ActivityStack. These\nadditions should be reverted once the root cause has been discovered.\n\nBug: 71548119\nTest: manual\nChange-Id: Ide20ff9e7b5eeed5b7200e011c1d0afca69eb0b4\n"
    },
    {
      "commit": "83178bc099eaaf65e7c03de710919f391483fb29",
      "tree": "7c4e82f4ee370c0ba2630c1442115fd12bf8f80b",
      "parents": [
        "fb39fd90f07ce08c80bf383410efad941c8b93d4",
        "e839d709c2e53ae11e568fc5ae93030fc11a1a59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 22:09:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 22:09:19 2018 +0000"
      },
      "message": "Merge \"Allow Recents in current user to access APIs in its child profile\""
    },
    {
      "commit": "26cbb6b039a7d20531fbd37005f05fe4268062bc",
      "tree": "fdfafe291c6c85e80cc1a65b2289735431cf1705",
      "parents": [
        "6e97afc157c2a49ad9f3416ba2146cc45ec82708"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Mon Jan 22 21:59:30 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Mon Jan 22 21:59:30 2018 +0000"
      },
      "message": "Fail KeySyncTask if the PlatformKey can\u0027t be used to decrypt\n\nCurrently just uploads an empty set of keys, and thinks the key sync\nwas successful. (i.e., does not sync again afterwards.)\n\nBug: 72299798\nTest: adb shell am instrument -w -e package\ncom.android.server.locksettings.recoverablekeystore\ncom.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I7342f93bd205777688a737d6e1ec8c1ab5b5f7a5\n"
    },
    {
      "commit": "b7f09acde2f85a0e7e198d81a0e98ea6033c1109",
      "tree": "426a1618a7b4e09b804f62726a46f93713cd98c0",
      "parents": [
        "971270335ac2a68132bc60262c347b1284c00f38",
        "875374a4948d70c2a2379c88d1242082f298f349"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Mon Jan 22 21:47:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:47:38 2018 +0000"
      },
      "message": "Merge \"Use encoder id as insecure DP encoder random seed\""
    },
    {
      "commit": "129f8ae2e89a6d34c180206c8d8ae160826c7475",
      "tree": "4acdb29921040ed94f1887255322720d1b77422c",
      "parents": [
        "abbf0876d3066eea5d3fc9b4b479dd6bfba951fe",
        "1777021fcf989c0a1d2b7aa533a7b464ad85a807"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 21:21:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:21:44 2018 +0000"
      },
      "message": "Merge \"Fix NPE when creating remote animations\""
    },
    {
      "commit": "abbf0876d3066eea5d3fc9b4b479dd6bfba951fe",
      "tree": "63887cba3924eef758f182a61701c0f0328982e2",
      "parents": [
        "960e72e87f9d1df65ea693803e4fb6aefca087b3",
        "9e3b8641e444517ccd47162a08caa7661fb71e03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 21:20:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:20:30 2018 +0000"
      },
      "message": "Merge \"Fix up slice service listener management\""
    },
    {
      "commit": "960e72e87f9d1df65ea693803e4fb6aefca087b3",
      "tree": "0ab1fb87e16bedef95545f29214aa957f94c97a3",
      "parents": [
        "79a90c831751b2216d94577158d7ba2f3c642d0b",
        "d5747a6d70b18f0ec75e682e6070aaddf98881c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 21:19:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:19:23 2018 +0000"
      },
      "message": "Merge \"Atom: ScheduledJobStateChanged\""
    },
    {
      "commit": "79a90c831751b2216d94577158d7ba2f3c642d0b",
      "tree": "d9ac73352fc80797beb17352ba9ffddb8f1e2791",
      "parents": [
        "38902fc09ee55c7634f7e475988cff20a04e78c3",
        "b50a684ba8310a7d9b9738f9304b029268dedd64"
      ],
      "author": {
        "name": "Siddharth Ray",
        "email": "siddharthr@google.com",
        "time": "Mon Jan 22 21:11:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:11:59 2018 +0000"
      },
      "message": "Merge \"Wifi: Add scanning, activity time and API\""
    },
    {
      "commit": "38902fc09ee55c7634f7e475988cff20a04e78c3",
      "tree": "12250a3cedef82031179a16e51ced273e4ad23e4",
      "parents": [
        "94920fbf043b68a0fa29342a93f191698bbfa3f4",
        "3d2f335c2144db7206842f130de4a96374cd33e3"
      ],
      "author": {
        "name": "Oscar Key",
        "email": "okey@google.com",
        "time": "Mon Jan 22 21:07:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:07:49 2018 +0000"
      },
      "message": "Merge \"Make various members private in PerformBackupTask.\""
    },
    {
      "commit": "222529d95ca6f0ea89bff5532dd9440909258540",
      "tree": "904378466916fd53528590fc9e54925e0ff5f6d0",
      "parents": [
        "940c0341f00872e5e19ea28cc8389b9bfd1c3abc",
        "4f9fb810d874af068f19ceaf724732cbf79c6427"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 20:32:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 22 20:32:18 2018 +0000"
      },
      "message": "Merge \"Address comments and final cleanup from refcounting integration\""
    },
    {
      "commit": "253c5cce46865312692da036186aa5849fc34ae1",
      "tree": "5ac0051e1f2dc87812ab6a6c392a332d8c1d8864",
      "parents": [
        "0d7e3c63b56b4d75b561de19f5103bd2ad43086a",
        "9ef6009b3876243b1a9f144174c62f9fd9b65361"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Mon Jan 22 20:17:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 20:17:50 2018 +0000"
      },
      "message": "Merge \"Add get-harmful-app-warning shell command\""
    },
    {
      "commit": "c6f994207dc7ec1e699415526c71dd96ec24f6b2",
      "tree": "7524a79b2ce22a0b5e2935bca7dbd06b446b70fe",
      "parents": [
        "388090fbdd1f38dedf49b12dac425a0807215a02",
        "07342dc1755706d26e614e18fa5ab3b32c435d38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "message": "Merge \"Add pending system update info system APIs.\""
    },
    {
      "commit": "77dad606344a8951552585a3169fccd2ec3ccfd1",
      "tree": "63dff390990c9902ea79e7f38079839f634a6db0",
      "parents": [
        "db0e05e576a5581e98440557dd7223c64daa71ec",
        "5b3e788908f664a18951a01df91e4147d02ef8a3"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 20:03:48 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 22 20:03:48 2018 +0000"
      },
      "message": "Merge \"Rename create/delete transform methods\" am: 7ee26e72cf am: 5b71c4a0a5\nam: 5b3e788908\n\nChange-Id: Ie07b0b608b3dfcbfc4228a15e26fe6f6559315f9\n"
    },
    {
      "commit": "db0e05e576a5581e98440557dd7223c64daa71ec",
      "tree": "44462464d40ab8b308d85007d74dd7baf6d5b235",
      "parents": [
        "0c9f1e5ff531e549f2af5a74fd504ae77efae227",
        "74848ae43f9d057f7dcf738d053c48082472c5cc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 20:00:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 20:00:30 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use user-tagged Uris in slice callbacks\""
    },
    {
      "commit": "5b3e788908f664a18951a01df91e4147d02ef8a3",
      "tree": "5aa9e728efc73834a59912308cb0e8bd23b63d8d",
      "parents": [
        "65ff8a65b63881e421fa451c11b1aab80ba18dc5",
        "5b71c4a0a5adcefade302f6afbd52e32826a8282"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 19:53:15 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 22 19:53:15 2018 +0000"
      },
      "message": "Merge \"Rename create/delete transform methods\" am: 7ee26e72cf\nam: 5b71c4a0a5\n\nChange-Id: I16bfb511ac2d6094e246f79d51fe4520d3e765cd\n"
    },
    {
      "commit": "5b71c4a0a5adcefade302f6afbd52e32826a8282",
      "tree": "46afda4226118e02593ffac6b87499d01d959cb6",
      "parents": [
        "5bd12d0bf47b1f3f8b2dc74cc02ab46447f55706",
        "7ee26e72cf3cecf782ad822a6795a6e018ac2dba"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 19:44:43 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 22 19:44:43 2018 +0000"
      },
      "message": "Merge \"Rename create/delete transform methods\"\nam: 7ee26e72cf\n\nChange-Id: I76576d1f3193fcbb3680fb29893cf696ea7a41fe\n"
    },
    {
      "commit": "c2293328b2a7b714cca8dcbac1c87ad626791286",
      "tree": "bbd18f2211a1587f4da1c4dcd29be2fcf9ebecb1",
      "parents": [
        "ea4e107ada0bb95039b493a2a95d6f0840c52585",
        "1a5b76c962ababd1d8d80890b72b82ee47593091"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 19:37:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 19:37:50 2018 +0000"
      },
      "message": "Merge \"Skip user restriction tests when synchronizing PDB\""
    },
    {
      "commit": "1777021fcf989c0a1d2b7aa533a7b464ad85a807",
      "tree": "f368d668c296bc04032b7a80cb600fd397d284ee",
      "parents": [
        "f80fa7d91d78363e67f166ada06070fc85de07ab"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 22 20:01:21 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 22 19:11:42 2018 +0000"
      },
      "message": "Fix NPE when creating remote animations\n\nTest: go/wm-smoke\nBug: 72302602\nChange-Id: Ifbae370ea559a9fda5ca442ceef0f6db8229466b\n"
    },
    {
      "commit": "6f6ff3cb5e32d5e036a157110d0e702365b11850",
      "tree": "6aa6d261bdf542c553ba4c33b84f335495b8cac0",
      "parents": [
        "e7193038c2a743c696a465acb87b73c6080ae691",
        "fd5238cab7960d280da7d145b769a494e196a03d"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Mon Jan 22 18:59:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 18:59:10 2018 +0000"
      },
      "message": "Merge \"Use proper user id.\""
    },
    {
      "commit": "0ae08d0ca6ed7af8828e43a06f65d58e2dcf7c83",
      "tree": "8799024df17f0bc2aaa79342bf18abfa5c376b21",
      "parents": [
        "e437a074fa62b7b42d7d8b374f7be31f386fe059"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Mon Jan 22 18:42:11 2018 +0000"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Mon Jan 22 18:58:50 2018 +0000"
      },
      "message": "Accept null brightness configs.\n\nUse null brightness config as reverting\nto OEM supplied curve.\n\nTest: atest PersistentDataStoreTest\nBug: 72083823\nChange-Id: Ibb0cd70c07035e85a5512b831b5bf6bcec0c5993\n"
    },
    {
      "commit": "875374a4948d70c2a2379c88d1242082f298f349",
      "tree": "8c58f806b0970de0b58e6edcbbd69f14749f7653",
      "parents": [
        "7f0087be4804a9f8fb1f5fb68036015918c3b37f"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Mon Jan 22 18:54:13 2018 +0000"
      },
      "committer": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Mon Jan 22 18:55:01 2018 +0000"
      },
      "message": "Use encoder id as insecure DP encoder random seed\n\nOriginally all apps that use insecure DP encoder will generate\nthe same result in IRR encoder as IRR is purely rely on random generator,\nhence all apps will return the same IRR result in encodeBoolean() for\ninsecure encoder.\n\nNow we change insecure encoder to use encoder id as random generator seed,\nso different app will have different deterministic insecure encoder result.\n\nAlso, this CL fixes some existing failed tests.\n\nBug: 63908748\nTest: runtest frameworks-services -p com.android.server.net.watchlist PASS\nTest: bit FrameworksPrivacyLibraryTests:android.privacy.RapporEncoderTest PASS\nTest: bit FrameworksPrivacyLibraryTests:android.privacy.LongitudinalReportingEncoderTest PASS\nChange-Id: Iab84a2932d8f84da1dd2f880d2c1567dcbf1e090\n"
    },
    {
      "commit": "7bcb57b79dd391ad62230143e858ebe9952083b1",
      "tree": "ee3f0daeb5262b26d2401505fd899e53c5c1ac3f",
      "parents": [
        "8fc10fd22c9e7688236105aa39136c9a5f1a30b7"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Jan 22 10:37:58 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Jan 22 13:49:11 2018 -0500"
      },
      "message": "Track the most recent notifying packages\n\nTest: runtest systemui-notification\nBug: 63927402\nChange-Id: I0d4cfb5399c81a31d1192d7ac5149f33d9804c67\n"
    },
    {
      "commit": "b50a684ba8310a7d9b9738f9304b029268dedd64",
      "tree": "834c75f29038557b6184cdb0209cd0273d39330f",
      "parents": [
        "51a9a31ba58171c147b4c0c16c6acd54a97a5f65"
      ],
      "author": {
        "name": "Siddharth Ray",
        "email": "siddharthr@google.com",
        "time": "Thu Dec 14 15:15:28 2017 -0800"
      },
      "committer": {
        "name": "Siddharth Ray",
        "email": "siddharthr@google.com",
        "time": "Mon Jan 22 10:45:55 2018 -0800"
      },
      "message": "Wifi: Add scanning, activity time and API\n\nAddition of Wifi Scanning time to Aggregate BatteryStats\n\nAddition of Wifi Active time to BatteryStats (aggregate)\n\nAddition of API to obtain Wifi battery stats for power drain diagnostics.\n\nBUG:67213886\n\nTest: Manual\nChange-Id: I4f4c27ba839017d44feca685a4fae2f130d31765\n"
    },
    {
      "commit": "52cacc6c1a10296f7516777f4d09b11024e68782",
      "tree": "4138c38188f982eac0dd6b1b82d7aaba73b49d20",
      "parents": [
        "51a9a31ba58171c147b4c0c16c6acd54a97a5f65"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Dec 08 18:11:45 2017 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 10:23:21 2018 -0800"
      },
      "message": "add atom and logging for Picture-in-Picture feature\n\nTest: manual test\nChange-Id: I883b56ef5e922e513f218309b57d7df5753996c0\n"
    },
    {
      "commit": "d57c1df38818031857acc84210a7ca4380a23239",
      "tree": "5dfde809fc11f2f99f141ac7ccd6abb21cdec1c8",
      "parents": [
        "db8e63033714f5b5f677f86ef7fbdb2462275f7b",
        "525aaa13dc0bb33f9a1eb5bb607c76d180db8e6e"
      ],
      "author": {
        "name": "Nancy Zheng",
        "email": "nzheng@google.com",
        "time": "Mon Jan 22 17:59:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 17:59:35 2018 +0000"
      },
      "message": "Merge \"Add setting/experiment for small battery devices to have all forced app standby enabled except for when the device is charging.\""
    },
    {
      "commit": "7ee26e72cf3cecf782ad822a6795a6e018ac2dba",
      "tree": "d2296f80408efc90a69b2653320c3e61c91794c8",
      "parents": [
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58",
        "f33f03134442538a637627decaf57c859acbc824"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 17:57:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 22 17:57:15 2018 +0000"
      },
      "message": "Merge \"Rename create/delete transform methods\""
    },
    {
      "commit": "f8898abc56514ce5e79214fbf13a966acfed199d",
      "tree": "7cb985ed198880d8ba56d515b38b970def5e8140",
      "parents": [
        "b5253b65a4325501384605aec09a28e40198c844"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Jan 22 17:47:28 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Jan 22 17:55:57 2018 +0100"
      },
      "message": "ScreenDecor Windows: shouldn\u0027t receive inset hints\n\nScreen decor does not get the regular insets, so the inset hint\nneeds to be sent accordingly.\n\nTest: atest PhoneWindowManagerLayoutTest\nChange-Id: I316f0c6b82b5c51d0d55ca71ccae30f9181e825f\nFixes: 70222220\n"
    },
    {
      "commit": "f68b5d5e2adf9fee820e645e0df2812c75c451ad",
      "tree": "b62ff8a6c7763f230f4a4118323158557f83a729",
      "parents": [
        "775480ead86f52a56cafee97d1e136a978b6c124",
        "4bd445a0665e51a1de8fb3a3eff453dccb505f65"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Mon Jan 22 16:51:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 16:51:24 2018 +0000"
      },
      "message": "Merge \"Fix dumpsys network_watchlist NPE when watchlist xml is not ready yet\""
    },
    {
      "commit": "9e3b8641e444517ccd47162a08caa7661fb71e03",
      "tree": "8218d380c088a0f55ecbc8b607922caf137089e7",
      "parents": [
        "74848ae43f9d057f7dcf738d053c48082472c5cc"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Sun Jan 21 20:54:00 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jan 22 11:23:05 2018 -0500"
      },
      "message": "Fix up slice service listener management\n\n - Make them indexed off binders so they can be tracked properly\n - Add death listener to update pinned state when a listener dies.\n\nTest: cts + uiservicestests\nBug: 68378571\nChange-Id: Ia80f9354e1a4b13790721e28da6c913e8cd311b2\n"
    },
    {
      "commit": "74848ae43f9d057f7dcf738d053c48082472c5cc",
      "tree": "ac46da5c79129147f23f8f57afdeae3ea90cd2af",
      "parents": [
        "45354354a5eb94bc9465afd72fbdca2714f69a17"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Sun Jan 21 17:11:57 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jan 22 11:11:31 2018 -0500"
      },
      "message": "Don\u0027t use user-tagged Uris in slice callbacks\n\nTest: uiservicestests\nBug: 68751119\nChange-Id: I440400b20bb6d89d5e066efab420a6afee0ad123\n"
    },
    {
      "commit": "3d2f335c2144db7206842f130de4a96374cd33e3",
      "tree": "9ebde00321c6158011d5bc5f1a36400b1e4d034a",
      "parents": [
        "2e54e410988333aaecb9757412e440144990fd5d"
      ],
      "author": {
        "name": "Oscar Key",
        "email": "okey@google.com",
        "time": "Mon Jan 22 15:16:06 2018 +0000"
      },
      "committer": {
        "name": "Oscar Key",
        "email": "okey@google.com",
        "time": "Mon Jan 22 16:10:36 2018 +0000"
      },
      "message": "Make various members private in PerformBackupTask.\n\nTest: None. No functional changes.\nChange-Id: Ia35bdd7637887b4c02a71e96e9037842078fdba4\n"
    },
    {
      "commit": "ad3e1331f3311b0351856e29001610d6ff39f082",
      "tree": "65b3d73655668bc0c6bbbdab68a402af26e04a20",
      "parents": [
        "c5ec8934a21c7849285fdd39bdb56a4fbc08f4bb"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 22 12:17:14 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jan 22 15:53:50 2018 +0000"
      },
      "message": "Improve dumpsys for installed distros\n\nThe RuleManagerService would previously refuse to return\nthe current distro install status if there was a staging\noperation in progress. Since a staging operation only affects\nwhat is staged, not what is actually installed, this\nrestriction can be relaxed. This should make tests that\nwere previously getting \"Unknown\" state more reliable.\n\nTest: PTS: run pts -m PtsTimeZoneTestCases\nTest: atest FrameworksServicesTests\nChange-Id: I06449bc8dad6d96adf7e9edceee69cfaf24facb0\n"
    },
    {
      "commit": "e839d709c2e53ae11e568fc5ae93030fc11a1a59",
      "tree": "4fcb3cb2666f0d1e2a07edbfb0fef2edbd97f8dd",
      "parents": [
        "3733b8ed7b085bb7fa3459af831d7d8f00013e2b"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Jan 22 15:34:46 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Jan 22 15:47:41 2018 +0000"
      },
      "message": "Allow Recents in current user to access APIs in its child profile\n\nAt this point, we just need to whitelist Recents for these:\nisDeviceLocked\nloadTaskDescriptionIcon\ngetActivityInfo\n\nHowever, I think in the long run, it may need more than that, so I\nmodified AMS.handleIncomingUser accordingly. PKMS does not use\nhandleIncomingUser and hence isRecentsAccessingChildProfiles is\nintroduced there.\n\nFix: 71722266\n\nTest: Manual\n1. Setup work profile\n2. Launch some work and personal apps\n3. Swipe up to see the new Recents\n3. Can see recent apps are rendered correctly with icons badged\n   accordingly.\n4. Can switch to the task\n5. Can remove task\n\nChange-Id: I56b5f6091c232fc8327e01de472467d630570030\n"
    },
    {
      "commit": "e42e3c0c046615429385a6838c1c209f819399ac",
      "tree": "6e601b3a99786bd01ac706dec534bcc3207451f6",
      "parents": [
        "45354354a5eb94bc9465afd72fbdca2714f69a17",
        "110839b06f2b6594e239f47317dee05507c6844a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 15:09:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 15:09:21 2018 +0000"
      },
      "message": "Merge \"Attempt to fix ANR\u0027s\""
    },
    {
      "commit": "995165c853525c33b8212a075f2b49a8e84450e8",
      "tree": "96a2781540c841e74f50e4aabfe0d232f09ad3c2",
      "parents": [
        "8fc10fd22c9e7688236105aa39136c9a5f1a30b7",
        "aef1221d259d752c20454f3a03d499a20c5f52ad"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Jan 22 13:47:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 13:47:15 2018 +0000"
      },
      "message": "Merge \"Revert \"Reject apks targeting deprecated sdk\"\""
    },
    {
      "commit": "1a5b76c962ababd1d8d80890b72b82ee47593091",
      "tree": "8ee404c68ba468c276c2444a5ce61c3a21efbdb3",
      "parents": [
        "eb3442cf8ab6b2548e9503f29de34c441eb1b0b2"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Jan 19 16:56:22 2018 +0000"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Jan 22 13:28:15 2018 +0000"
      },
      "message": "Skip user restriction tests when synchronizing PDB\n\nSome legacy user restrictions are tests when update the OEM lock bit in\nthe persistent data block. Those tests should be skipped when\nsynchronising the bit to the HAl\u0027s authoritative state. Before this\nchange, opening developer options on a freshly flashed and wipe device\nwould raise a SecurityException.\n\nTest: Open developer options on a device using the vendor lock\nChange-Id: I1481c9e9af3c4d2127ef606a797d3cf94b7b1ee5\n"
    },
    {
      "commit": "8fc10fd22c9e7688236105aa39136c9a5f1a30b7",
      "tree": "1802c0d9b601f222afac1704a720677840fb2900",
      "parents": [
        "b5253b65a4325501384605aec09a28e40198c844",
        "d13a93f2f3cdd8a084b0b39306e2c260b922861c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 12:42:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 12:42:53 2018 +0000"
      },
      "message": "Merge \"Implement binder native side for IArcVideoBridge\""
    },
    {
      "commit": "110839b06f2b6594e239f47317dee05507c6844a",
      "tree": "a7cb00e7fdaf07894d561732c1bc84f79f3f87b4",
      "parents": [
        "a070145d094f693e433616540843345960b1147b"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 22 12:49:04 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 22 12:49:04 2018 +0100"
      },
      "message": "Attempt to fix ANR\u0027s\n\nThere seems to be some cases where we change the app visibility\nbut somehow we miss setting the client visiblity. This usually\nshouldn\u0027t happen: Client visibility gets set to visible already\nin AppWindowContainerController.setVisibility if the token is\nhidden or the activity is stopped. However, there seems to be some\nedge case where we don\u0027t update the client visibility to true.\n\nWe started observing monkey ANR\u0027s with\nI8deb6a97ca1c3d8f4a70a6e045f45a6bc16604bb, but the idea of that CL\nwas to only change the behavior when becoming invisible, i.e.\ndefer client visibility until animation is done. This CL reverts\nthe opposite path back to the original behavior when becoming\nvisible, most probably fixing the client visibility / AWT.mHidden\ninconsistency.\n\nI\u0027m not entirely sure why missing setting client visibility has\ncaused ANR\u0027s, but seems likely given the ANR message:\n\n\"Input dispatching timed out (Waiting because no window has focus\nbut there is a focused application that may eventually add a\nwindow when it finishes starting up.)\"\n\nAnd the client visibility / AWT.mHidden inconsistency is observed\nin the window manager dump during every single ANR.\n\nTest: go/wm-smoke\nTest: Hope for the best\nChange-Id: Ie0c51fa5f3347ba1a2a4652188265d8fb69e6e11\nFixes: 72160186\n"
    },
    {
      "commit": "4bd445a0665e51a1de8fb3a3eff453dccb505f65",
      "tree": "24b5581fde4e13fed524410b7a37211746c0548f",
      "parents": [
        "b5253b65a4325501384605aec09a28e40198c844"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Fri Jan 19 23:54:12 2018 +0000"
      },
      "committer": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Mon Jan 22 11:14:04 2018 +0000"
      },
      "message": "Fix dumpsys network_watchlist NPE when watchlist xml is not ready yet\n\nBug: 63908748\nTest: dumpsys network_watchlist won\u0027t cause NPE anymore\nChange-Id: I4e15516cc3b0efa113a00acc90179f7008fc1525\n"
    },
    {
      "commit": "aef1221d259d752c20454f3a03d499a20c5f52ad",
      "tree": "a45bf9ac3f34127f02b05f6faf2bdebdc264dfcb",
      "parents": [
        "a070145d094f693e433616540843345960b1147b"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Jan 19 11:16:16 2018 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Jan 22 11:09:44 2018 +0000"
      },
      "message": "Revert \"Reject apks targeting deprecated sdk\"\n\nThis reverts commit ab223112d1a163e641e7c1adb6429e27e37675a6.\n\nReason for revert: Android P will only show a warning dialog for\ndeprecated apks.\n\nTest: -\nChange-Id: Iff792b9d371cffbb0ba0d2ba53a4758a9779b1c7\n"
    },
    {
      "commit": "d13a93f2f3cdd8a084b0b39306e2c260b922861c",
      "tree": "004e1d4162a59fdbbc48a43d4c139b4f2dd22a23",
      "parents": [
        "dbe2852e155173f3c65e5875166943dd3285e068"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Tue Jan 16 16:11:28 2018 +0900"
      },
      "committer": {
        "name": "Hirokazu Honda",
        "email": "hiroh@google.com",
        "time": "Mon Jan 22 19:08:12 2018 +0900"
      },
      "message": "Implement binder native side for IArcVideoBridge\n\nBug: 63828247\nTest: C2VDAComponent_test\nChange-Id: I9b17c91512c32ec3119ff9420cc96c17027b2b8b\n"
    },
    {
      "commit": "3c365cb21da4913c1eba00cce3052a04ecbdc014",
      "tree": "1b1125946a67a7d44a0e6587b58f19fb33f10955",
      "parents": [
        "f93526c1a69bf7d451d60d5b1a880406199bac82",
        "16a91c0ca7ca8a8f8496a23a957f610fba72794c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 09:17:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 09:17:50 2018 +0000"
      },
      "message": "Merge \"Policy transparency for mandatory backups.\""
    },
    {
      "commit": "f93526c1a69bf7d451d60d5b1a880406199bac82",
      "tree": "86d6a408f3c775b7b127f027a7579a56851364be",
      "parents": [
        "3c3ac03af2f6688a09d5400693b5f8c0b154a24c",
        "66dc0358bb61a4d266868a1ad77f7ba1a3540ee9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 08:24:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 08:24:27 2018 +0000"
      },
      "message": "Merge \"Add status/navigation bar existing check before create input consumer.\""
    },
    {
      "commit": "2537932fb11612ade08081112a80515d58780ae1",
      "tree": "ae22928d354a3627fe85e5417d5916379c1ed97e",
      "parents": [
        "93eb9243e6f442c91755219fd1cbd850ec9099da",
        "82f09bcf93cc2e0f9a363f40bf8a64bcaa6d8b9f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 21 19:27:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 21 19:27:26 2018 +0000"
      },
      "message": "Merge \"No camera for idle uids - framework\""
    },
    {
      "commit": "fd5238cab7960d280da7d145b769a494e196a03d",
      "tree": "08fa52664fc7530206cce8a966869e332951d62c",
      "parents": [
        "ca74e23b023d4a7e78ccb4f49d2e71cb9517766d"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Sun Jan 21 09:45:05 2018 -0800"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Sun Jan 21 09:45:05 2018 -0800"
      },
      "message": "Use proper user id.\n\nResponding to comments from previous review that came in\npost submit.\n\nBug: 63703353, 70640329\nTest: manual\nChange-Id: I0565683472f7c9597db8ec314cb374e550ec2353\n"
    },
    {
      "commit": "e8f8be7698ea7690b81736e766c7fa5b20045164",
      "tree": "93ad2582085cc9afb63352ee153dff7b4a2e30a3",
      "parents": [
        "6ebcfe310919af87b87b534e149a22523aba0e2f"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Sun Jan 21 10:10:35 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Sun Jan 21 11:53:28 2018 -0500"
      },
      "message": "Revert \"Revert \"Slices permission model\"\"\n\nThis reverts commit 1214c878a839d99b1b29c8c31fc93af2ba949338.\n\nTest: boot device\nBug: 72270082\nBug: 68751119\nChange-Id: I7d0e709a04ffeb8b877aef539a978ee251a75742\n"
    },
    {
      "commit": "6ebcfe310919af87b87b534e149a22523aba0e2f",
      "tree": "584bfbb9e616158818bf2e5eb9586b938fe3a0d8",
      "parents": [
        "6e3be007786a8b0cc46b50f96438f2860f7f868b",
        "1214c878a839d99b1b29c8c31fc93af2ba949338"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 21 13:14:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 21 13:14:37 2018 +0000"
      },
      "message": "Merge \"Revert \"Slices permission model\"\""
    },
    {
      "commit": "1214c878a839d99b1b29c8c31fc93af2ba949338",
      "tree": "521beb8c4c59582acd34051853f108331cddecbf",
      "parents": [
        "f762496b7f51f7b00bcb624ecac94a0d72d0b711"
      ],
      "author": {
        "name": "Artem Iglikov",
        "email": "artikz@google.com",
        "time": "Sun Jan 21 10:43:48 2018 +0000"
      },
      "committer": {
        "name": "Artem Iglikov",
        "email": "artikz@google.com",
        "time": "Sun Jan 21 13:09:23 2018 +0000"
      },
      "message": "Revert \"Slices permission model\"\n\nThis reverts commit f762496b7f51f7b00bcb624ecac94a0d72d0b711.\n\nReason for revert: continuous crash, blocks LON from working on master\n\nTest: flashed build from TreeHugger and verified that it boots and doesn\u0027t crash anymore\nBug: 72270082\nChange-Id: I68d771357488c5c17ab00803d8f51a6c7ed37d01\n"
    },
    {
      "commit": "82f09bcf93cc2e0f9a363f40bf8a64bcaa6d8b9f",
      "tree": "32a71e546599d857870a07775762411fb2587c54",
      "parents": [
        "6e3be007786a8b0cc46b50f96438f2860f7f868b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jan 12 22:08:40 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jan 21 02:55:49 2018 -0800"
      },
      "message": "No camera for idle uids - framework\n\nIf a UID is idle (being in the background for more than\ncartain amount of time) it should not be able to use the\ncamera. If the UID becomes idle we generate an eror and\nclose the cameras for this UID. If an app in an idle UID\ntries to use the camera we immediately generate an error.\nSince apps already should handle these errors it is safe\nto apply this policy to all apps to protect user privacy.\n\nTest: Pass - cts-tradefed run cts -m CtsCameraTestCases\n      Added - CameraTest#testCameraAccessForIdleUid\n\nChange-Id: If6ad1662f2af6592b6aca1aeee4bd481389b5e00\n"
    },
    {
      "commit": "6e3be007786a8b0cc46b50f96438f2860f7f868b",
      "tree": "ccd06eefafde74a1d45014c7b1a70e293370ae1d",
      "parents": [
        "b1f6ddc3ce4aa97b0a497aebb80702becfd08815",
        "f762496b7f51f7b00bcb624ecac94a0d72d0b711"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 21 03:31:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 21 03:31:27 2018 +0000"
      },
      "message": "Merge \"Slices permission model\""
    },
    {
      "commit": "b1f6ddc3ce4aa97b0a497aebb80702becfd08815",
      "tree": "584bfbb9e616158818bf2e5eb9586b938fe3a0d8",
      "parents": [
        "e65bd19fdd1c86d262997da9cd53f9006474daae",
        "e07773175a55807e68aba6cd8a69b2401b748883"
      ],
      "author": {
        "name": "Mike Digman",
        "email": "digman@google.com",
        "time": "Sun Jan 21 02:23:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 21 02:23:43 2018 +0000"
      },
      "message": "Merge \"Send valid and invalid rotation proposal changes to SysUI\""
    },
    {
      "commit": "f762496b7f51f7b00bcb624ecac94a0d72d0b711",
      "tree": "2a5df6a7b801c832c365fa1c5af5e97950cc59b3",
      "parents": [
        "69995cddbba93772429c6872c66bc6e041b89f21"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Jan 17 17:50:29 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Sat Jan 20 20:35:31 2018 -0500"
      },
      "message": "Slices permission model\n\n - Launcher/assistant get access to all slices\n - Apps with uri access to access a specific slice\n - Apps without access get a permission granting slice\n - If the user authorizes access to the slice for the app\n   then the app will be granted access to the app\u0027s slices\n   (this happens through a temp grant in the service, and a\n   full uri grant from the app the next time it binds)\n - Add a hint that apps to add to allow them to return different\n   slices depending on the caller, this allows custom permission\n   checks.\n\nTest: runtest --path frameworks/base/services/tests/uiservices\nBug: 68751119\nChange-Id: I8f8cd0182cfcbfba3f307e2eaba5aae6f6fbe214\n"
    },
    {
      "commit": "65ff8a65b63881e421fa451c11b1aab80ba18dc5",
      "tree": "9fbfe50d3bb8d9e751d50d7b1a289ceb7cf4310d",
      "parents": [
        "ccc31988eece3a828c478a38c3d2da03d0924968",
        "5bd12d0bf47b1f3f8b2dc74cc02ab46447f55706"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Sun Jan 21 00:33:40 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jan 21 00:33:40 2018 +0000"
      },
      "message": "Merge \"Multi-A2DP support - add a new internal API to suppress Audio Noisy intent\" am: 7e3b1832c4\nam: 5bd12d0bf4\n\nChange-Id: I52b1adc5ce9f3dea56b0045581d7736cbe62de73\n"
    },
    {
      "commit": "5bd12d0bf47b1f3f8b2dc74cc02ab46447f55706",
      "tree": "c5b9234db94567d2aab31c1daa4971234355e8b0",
      "parents": [
        "72b7f031796957e38496c1dd7f6edf2e50f75bc1",
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Sun Jan 21 00:26:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jan 21 00:26:11 2018 +0000"
      },
      "message": "Merge \"Multi-A2DP support - add a new internal API to suppress Audio Noisy intent\"\nam: 7e3b1832c4\n\nChange-Id: I4b75e8565dc0b80d6ca3825e87370a72c726bd25\n"
    },
    {
      "commit": "9228af6bc20c27b9949df36684f9c06ca9cdb27d",
      "tree": "2de7f9b8583c445cda2222a55442e261806b33de",
      "parents": [
        "51a9a31ba58171c147b4c0c16c6acd54a97a5f65"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jan 05 17:06:17 2018 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jan 20 15:51:01 2018 -0800"
      },
      "message": "AudioFocusRequest: add ability to force ducking for a11y\n\nNew API to specify an accessbility service wants to force ducking\n  in its focus request, regardless of the framework\u0027s evaluation\n  of whether or not it should duck the other players.\nUse of this API is restricted to requests coming from services\n  bound to the A11y service, or root\n\nBug: 62194333\nTest: play a podcast in GPM and \"adb shell claf --gain 3 --usage 11 --forceDuck\"\n\nChange-Id: I85f26afa14fe233a3b870f86c9084613203494b8\n"
    },
    {
      "commit": "be4fb893a01e6e798e4be23666835424fb56b785",
      "tree": "c6edd0369f0438f9e1cde594fcea2c1f8e09a7bf",
      "parents": [
        "fa208b42266cf3cde8b6ea94cda5eb7b0ed72c4b"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jan 19 18:20:04 2018 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Sat Jan 20 11:50:37 2018 -0800"
      },
      "message": "Multi-A2DP support - add a new internal API to suppress Audio Noisy intent\n\nThe new API setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent()\nis similar to the existing setBluetoothA2dpDeviceConnectionState()\nexcept that it takes one extra argument that indicates whether the\nAudioManager.ACTION_AUDIO_BECOMING_NOISY intent will be sent:\n\n  setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(\n      ..., boolean suppressNoisyIntent)\n\nThis API is needed so the Active A2DP Sink device can be changed\nwhile audio is streaming, and the audio continues playing on the new\nActive Device.\n\nBug: 69269748\nTest: Manual: multiple connected A2DP devices, and selecting each as\n      the Active Device.\n\nChange-Id: I75766a58d9e6b42b3ce68bd9ad3a7a72ca5a1023\n(cherry picked from commit 82e06463f2571a06286f9da0bf3ad5a0e58461a2)\n"
    },
    {
      "commit": "51a9a31ba58171c147b4c0c16c6acd54a97a5f65",
      "tree": "c7f316c639b597c82dcccbe7a2458c5697fd4721",
      "parents": [
        "d931b3494413796baee3eeb70d5ac1ec993b6196",
        "82e06463f2571a06286f9da0bf3ad5a0e58461a2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 17:58:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 17:58:25 2018 +0000"
      },
      "message": "Merge \"Multi-A2DP support - add a new internal API to suppress Audio Noisy intent\""
    },
    {
      "commit": "ada4cb9c7e9e9c4d8f6ae109f96b5b49c3f9f6ff",
      "tree": "9815073b722dd0fe45c42f4ef3800ddb659cd382",
      "parents": [
        "31078d777ce2fbaa7c405d3b396940e2193626e3",
        "9da105bb321e4c28db6fd88a2d6cb01852ffefe2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 16:29:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 16:29:05 2018 +0000"
      },
      "message": "Merge \"add atoms for cpu power calculation\""
    },
    {
      "commit": "4fc5ee4c07b4a211a2254e44dae58b3844a6e0d7",
      "tree": "585bba04cb424f65594dd95424bc48001aa1b060",
      "parents": [
        "5dec884082a4558af4a065a42b6395344698f316",
        "c53c47fa3a2fa0650ffe6c3f7eba8008004f6aa4"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Sat Jan 20 08:26:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 08:26:32 2018 +0000"
      },
      "message": "Merge \"Load admin data in DPMS asynchronously during boot.\""
    },
    {
      "commit": "9da105bb321e4c28db6fd88a2d6cb01852ffefe2",
      "tree": "c139b7ac9062c9e79c959cde0afc4dcb4d5ad70c",
      "parents": [
        "db28e90bde24dd8c6dd877355e87a09265a7e0fd"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Jan 13 12:41:08 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Jan 19 22:14:26 2018 -0800"
      },
      "message": "add atoms for cpu power calculation\n\nTest: will add cts tests for them\nChange-Id: Ifefa3697ff64e8c484f79d08caf053bfc712b794\n"
    },
    {
      "commit": "ebfd1e26f016ae9cfb83144e3ff12804d8ef0743",
      "tree": "1820270d2ec913f98b3fcbbd5f446a3587e86762",
      "parents": [
        "c560ecc64c453ce124fba8741febcc78254d400d",
        "d11a66220c424c030542aca5c47de059d4a308cc"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Sat Jan 20 05:01:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 05:01:43 2018 +0000"
      },
      "message": "Merge \"Minor API changes on Autofill Field Classification:\""
    },
    {
      "commit": "c560ecc64c453ce124fba8741febcc78254d400d",
      "tree": "e8149985c333afc2e7116002da034d7f08be8a86",
      "parents": [
        "0fd0659f7660e38dc6d1f85488d360dfc92c3723",
        "e4ac740e39589e3dd3c1696782a39fa8e74764ee"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Sat Jan 20 04:59:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 04:59:23 2018 +0000"
      },
      "message": "Merge \"Implemented getAlgorithm() and getDefaultAlgorithm() using manifest metadata.\""
    },
    {
      "commit": "82e06463f2571a06286f9da0bf3ad5a0e58461a2",
      "tree": "112f5c1316c5e5cee3c4a2abd71f923a7f2771fa",
      "parents": [
        "3a29ce00bdde04f59452a62dc641ae969b682392"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jan 19 18:20:04 2018 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jan 19 19:53:02 2018 -0800"
      },
      "message": "Multi-A2DP support - add a new internal API to suppress Audio Noisy intent\n\nThe new API setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent()\nis similar to the existing setBluetoothA2dpDeviceConnectionState()\nexcept that it takes one extra argument that indicates whether the\nAudioManager.ACTION_AUDIO_BECOMING_NOISY intent will be sent:\n\n  setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(\n      ..., boolean suppressNoisyIntent)\n\nThis API is needed so the Active A2DP Sink device can be changed\nwhile audio is streaming, and the audio continues playing on the new\nActive Device.\n\nBug: 69269748\nTest: Manual: multiple connected A2DP devices, and selecting each as\n      the Active Device.\n\nChange-Id: I75766a58d9e6b42b3ce68bd9ad3a7a72ca5a1023\n"
    },
    {
      "commit": "aa993a65b5eff3ad65cd361744f27607d17acb87",
      "tree": "594ccaf56ec672ac2ae17ef6059fe08d2b3d692f",
      "parents": [
        "f7157470a3244d0125bb6649a8922aa6abd6f4b2",
        "d0429743fa6c3a4ce9dd3b1ec903a0c553e76969"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Sat Jan 20 02:56:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 02:56:04 2018 +0000"
      },
      "message": "Merge \"Add a11y action to take screenshot\""
    },
    {
      "commit": "18fb2fe4cf1a5b071b27308e0b1fa4f769997761",
      "tree": "251ea803b3291d381a7b8d09160155471a731748",
      "parents": [
        "f87d75b37f06dfd0dc149658c2f998629d9bdcfd",
        "3097cbff585024e2fdf14c4e4f1d62bccf9a7a78"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 02:22:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 02:22:21 2018 +0000"
      },
      "message": "Merge \"Rename getConfigFlag to isConfigFlagSet.\""
    }
  ],
  "next": "f87d75b37f06dfd0dc149658c2f998629d9bdcfd"
}
