)]}'
{
  "log": [
    {
      "commit": "19657b359a333dd477c589aa9c124059a05251b0",
      "tree": "79aaf87f80a2821dfaecbe97e9e4669a3b4e6d7d",
      "parents": [
        "8c9a6b0089ff712df4e06454ade1443b77a4a9f4",
        "8094e09089204b4bfbdc873d70d0c331ae8c046f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 20:46:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 20:46:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"remove app-ephemeral\"\"\""
    },
    {
      "commit": "8c9a6b0089ff712df4e06454ade1443b77a4a9f4",
      "tree": "7a29cd634245b4b76d0d87f102e4f36c56d32c82",
      "parents": [
        "2acd0cfaf09cd826d8dc6a1885d7452d9017609b",
        "be0b8896d1bc385d4c8fb54c21929745935dcbea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 20:46:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 20:46:12 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Per user setting for instant app\"\"\""
    },
    {
      "commit": "0df4c60716a230e2197c99a2224658efe9839e60",
      "tree": "e049100e39f761787eb643eb198851cd8bbabee1",
      "parents": [
        "95fc7197388b94240f079b9278b7e6ebd8edd921",
        "49affea25bcb669d845672f04b1352871c8aa8f6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 20:14:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 20:14:24 2017 +0000"
      },
      "message": "Merge \"Fix trampoline activities when relaunching PiP\""
    },
    {
      "commit": "2ec8d8403ea13f77dd2a1fe9f11fff084ba85cea",
      "tree": "500d2a68963c8a20f982f34eb62ca6d4ed38d7d6",
      "parents": [
        "54dc4cb09601096656fa941d0eda57ce819f714a",
        "732aeb0e53d0c59c871f49cd7d88bb90ba017919"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 19:03:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:03:53 2017 +0000"
      },
      "message": "Merge \"Exit persistent VR mode on edge swipe.\""
    },
    {
      "commit": "a4f3891d28054027cccbb1f34436046cf2b59d44",
      "tree": "15390f8a3a0c4d2d2ca6e5e0d90d172be176cb76",
      "parents": [
        "7a9e2fb8577417579a758608558d18f333d1e46c",
        "a5b0963c0c49e379912239755caee2fe5b873353"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 18:38:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 18:38:36 2017 +0000"
      },
      "message": "Merge \"Mark clearDeviceOwnerApp/clearProfileOwner as deprecated\""
    },
    {
      "commit": "a2c94eb260e0975d3611feaff34e1e878768f562",
      "tree": "c941d1c5879fca48108f5369965f44240d4dcb66",
      "parents": [
        "580ae913108b3a33be964525faa78b63416bdfeb",
        "0864bbb6b8c2120cf3a960eb15da3d1f3d7ddb2d"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Feb 17 18:36:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 18:36:09 2017 +0000"
      },
      "message": "Merge \"Use the top stack on display instead of focused\""
    },
    {
      "commit": "580ae913108b3a33be964525faa78b63416bdfeb",
      "tree": "f6978fb3684d20a09988d87e47935c911b37dd43",
      "parents": [
        "000fd43eece0f5e8a3111ca62da05b05576fe4b8",
        "a33818cf1cd45f1b3c6ba7634f0d1b8b0e940ecd"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Feb 17 18:35:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 18:35:31 2017 +0000"
      },
      "message": "Merge \"Move activities to fullscreen stack on display removal\""
    },
    {
      "commit": "000fd43eece0f5e8a3111ca62da05b05576fe4b8",
      "tree": "d5fdff73a44dd4175ca6fdb6a9100c7026456dd7",
      "parents": [
        "4f7e1fc9af698e08576c9beadef872f5c4ea04a8",
        "b047b8bd7e363081e91ba6cbc8d09cd355624584"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Feb 17 18:27:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 18:27:29 2017 +0000"
      },
      "message": "Merge \"Report move to display for activities that handle config changes\""
    },
    {
      "commit": "49affea25bcb669d845672f04b1352871c8aa8f6",
      "tree": "849b475357568b7a9e4ef11e0e762df9a1ab5f7e",
      "parents": [
        "ec453e01066615cf0b2e1c309fd3cefff4d003d1"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Feb 16 20:41:08 2017 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 17 10:07:30 2017 -0800"
      },
      "message": "Fix trampoline activities when relaunching PiP\n\n- We should be checking the actual launched-from package since that stores\n  the source package across trampoline activities\n\nBug: 35458117\nTest: Enter PiP from a trampoline activity, launch again from Launcher\n      and ensure that it is expanded\n\nChange-Id: Ia0e586e8b21dee63b513bd61a41a24e7da4325e1\n"
    },
    {
      "commit": "4f7e1fc9af698e08576c9beadef872f5c4ea04a8",
      "tree": "f300cb38e5aa9fe13da0eea0c6609ccdb6453cbd",
      "parents": [
        "a63a9d4c34ed8b38de663f655114933eb8284cbd",
        "aff5e9c21c28f21f7a3688d84e747727cf17f382"
      ],
      "author": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Fri Feb 17 17:52:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 17:53:02 2017 +0000"
      },
      "message": "Merge \"Add API for checking whether the default IME was set by the DO/PO\""
    },
    {
      "commit": "a63a9d4c34ed8b38de663f655114933eb8284cbd",
      "tree": "d3a616dfbb4f0ae23d8e5426c4f353cb5668b047",
      "parents": [
        "cdb8fcb611f42194e731092b214de400562d74ac",
        "06f32e0abda7cefdd35fbfa2aaf5882650a16003"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Fri Feb 17 17:06:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 17:06:18 2017 +0000"
      },
      "message": "Merge \"Update AccountManager getAccountVisibility method to better handle default cases.\""
    },
    {
      "commit": "bef4eed2f7814b072e9efbb07e36bf1817d0415f",
      "tree": "5c008d411c1309f9f21e6710614a63e9a5f27ff5",
      "parents": [
        "cd52950a9ee68ff45e02921de306d07926110a78"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 17 08:45:04 2017 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Feb 17 09:49:16 2017 -0500"
      },
      "message": "Do not log booleans\n\nChange-Id: Ic132d214d226abb6b318038a3262e1c918814aa6\nFixes: 35445671\nTest: manual\n"
    },
    {
      "commit": "cd52950a9ee68ff45e02921de306d07926110a78",
      "tree": "7a2614419e430c7d454846c06d184bd662367f6f",
      "parents": [
        "91e5d7fa99258d829663b3552d6d0dacc30553ed",
        "5d22983acfa5c3c429e21198b7848597e7606d9b"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Fri Feb 17 14:40:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 14:40:29 2017 +0000"
      },
      "message": "Merge \"Common code for 4 jni Location conversions\""
    },
    {
      "commit": "420505710473414a4e40bc6233c6bee94dc548e8",
      "tree": "07cb85043d323304cf1a96bb0b640e691b45a624",
      "parents": [
        "df3164993307158a849efa12dbc81fdd0c0b2127",
        "395f0de0dcd9bc596b85bdcf826f5603d3caf9e8"
      ],
      "author": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Fri Feb 17 13:32:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 13:32:07 2017 +0000"
      },
      "message": "Merge \"Infinite reboot when OS upgrade from M to N with set Always-on VPN\" am: 1a69570fe8 am: 3b92631a69 am: 10957727f5\nam: 395f0de0dc\n\nChange-Id: Ib7e586a778c6fb9b920f0790e4b343c122250bb7\n"
    },
    {
      "commit": "395f0de0dcd9bc596b85bdcf826f5603d3caf9e8",
      "tree": "cdab2bbc5b4891519ccfa5fe2822f643cc000b5d",
      "parents": [
        "53c71a90fbec22f858479d0a78de59c86e54646e",
        "10957727f58c6bdda25a39cc54e46cc38241ad8f"
      ],
      "author": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Fri Feb 17 13:27:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 13:27:04 2017 +0000"
      },
      "message": "Merge \"Infinite reboot when OS upgrade from M to N with set Always-on VPN\" am: 1a69570fe8 am: 3b92631a69\nam: 10957727f5\n\nChange-Id: I5e0faee7a0b1c6bdfafe77560a91e999f40edc4a\n"
    },
    {
      "commit": "10957727f58c6bdda25a39cc54e46cc38241ad8f",
      "tree": "797beb5ec84d2a3e040c3c3c4f67886fd6750701",
      "parents": [
        "35f8d6cfd0bbca4fbb3e46a2d52437a99bfbe4c4",
        "3b92631a6931c1a7df8e4e76200d02d225eddc1f"
      ],
      "author": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Fri Feb 17 13:21:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 13:21:34 2017 +0000"
      },
      "message": "Merge \"Infinite reboot when OS upgrade from M to N with set Always-on VPN\" am: 1a69570fe8\nam: 3b92631a69\n\nChange-Id: I82c297e654af6690c6a3be216a0da08a3aff5b9d\n"
    },
    {
      "commit": "3b92631a6931c1a7df8e4e76200d02d225eddc1f",
      "tree": "d8cde9894e21db57fab8a150eda056c230320dd7",
      "parents": [
        "6f44072d036578adb04334ca8f052157a6d051c8",
        "1a69570fe8f2ed2ee541d13716f359b1116105e0"
      ],
      "author": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Fri Feb 17 13:17:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 13:17:00 2017 +0000"
      },
      "message": "Merge \"Infinite reboot when OS upgrade from M to N with set Always-on VPN\"\nam: 1a69570fe8\n\nChange-Id: I21a69eb02b13b20f66996836d54b8aadadfa80ec\n"
    },
    {
      "commit": "1a69570fe8f2ed2ee541d13716f359b1116105e0",
      "tree": "1997377171efbee3fefc193241a54753bdf7fb08",
      "parents": [
        "5e2a2ee39e4837169ee0d91ccb9481020896959e",
        "2f73d551490afe95a86a088d64c39e0bdf783b54"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 13:07:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 17 13:07:21 2017 +0000"
      },
      "message": "Merge \"Infinite reboot when OS upgrade from M to N with set Always-on VPN\""
    },
    {
      "commit": "08a2dd12bbb48c2145c75721bca2ccc1c8c058aa",
      "tree": "f6493a35988f94bdc4d3da9a21df4baa6f94cde3",
      "parents": [
        "1a8904abee7c354454cdfffdc783adc14d30b025",
        "606f8e79a210260a28b2629726740bf7e94c9f13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 10:51:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 10:51:06 2017 +0000"
      },
      "message": "Merge \"Defer readSessionsLocked until system ready\""
    },
    {
      "commit": "4edbf055ed1e061c2e17e59676d21662de3f506c",
      "tree": "63b2245df9a311009a0b948bc5a59f452fb7ebb4",
      "parents": [
        "6fd0e8d5d4202bc3b904b4342827aba7d59bf93f",
        "ab5071c90c4eb4fe7b1bb5e70c0a48aba535b19b"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Fri Feb 17 10:14:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 10:14:50 2017 +0000"
      },
      "message": "Merge \"Use separate message ids for backup and restore operations\""
    },
    {
      "commit": "06f32e0abda7cefdd35fbfa2aaf5882650a16003",
      "tree": "ecaee1027d9df1fb91202c74c04eb77ef1cd3d55",
      "parents": [
        "ec453e01066615cf0b2e1c309fd3cefff4d003d1"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Feb 16 17:47:48 2017 -0800"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Feb 16 20:31:05 2017 -0800"
      },
      "message": "Update AccountManager getAccountVisibility method to better handle default cases.\n\nTest: cts, manual\nChange-Id: Ic0f8fef9f928fefa6cc32a91c471969f7d5a4e45\n"
    },
    {
      "commit": "48d47505eb838008f661cd8cdb36f00a350b61a7",
      "tree": "759c1b3485e3b7e16368cbeb0c9b282777dcf612",
      "parents": [
        "876f266271c4b3758cbd7ae21020b7c134624f83",
        "ada1029eb89a052c4fac159764cac363dd1933ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 03:44:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 03:44:36 2017 +0000"
      },
      "message": "Merge \"Update visibility logic in realStartActivityLocked\""
    },
    {
      "commit": "876f266271c4b3758cbd7ae21020b7c134624f83",
      "tree": "3028759cafdc283cbb56a1510c01309f9945c67a",
      "parents": [
        "d2bd42e736804aeed687fb82bba707ba8819b8a1",
        "5e46e57324eeb0d90746ac83a214e376a985ff8e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 02:31:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 02:31:29 2017 +0000"
      },
      "message": "Merge \"Fix AccountManagerService caused by empty package names list.\""
    },
    {
      "commit": "01432b306de44975c898b7c48ae1e6a3981b3c19",
      "tree": "2c5731443d332884768ab11aed8042399f216669",
      "parents": [
        "75ad8a5b21e21a8750e7535bc6eae5dd22fdb1cd",
        "9355bce0c323632b88620ede174bf023b7381c81"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 10:14:15 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 10:47:58 2017 +0900"
      },
      "message": "resolve merge conflicts of 9355bce0c323 to master\n\nTest: none\nChange-Id: Iac65e01d07edf79ec97e7d996f8cfee6f811606b\n"
    },
    {
      "commit": "b047b8bd7e363081e91ba6cbc8d09cd355624584",
      "tree": "0b15ed46761aadf8ac9fa23c2791322b06757952",
      "parents": [
        "7d8875a178973ad4a2e0a5ed5492770f773a02e8"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Wed Feb 08 18:38:26 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 17:33:59 2017 -0800"
      },
      "message": "Report move to display for activities that handle config changes\n\nWhen activity that is moved between displays handles all configuration\nchanges, it won\u0027t be restarted. This CL adds a callback to the client\nto notify it about display change. Usually it will be followed by\nonConfigurationChanged, except when configuration didn\u0027t actually change.\nWhen activity is recreated, it won\u0027t receive onMovedToDisplay.\n\nBug: 34862802\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testOnMovedToDisplayCallback\nChange-Id: I9a9501cab788623ada15a31efb53e4b2378639fe\n"
    },
    {
      "commit": "9355bce0c323632b88620ede174bf023b7381c81",
      "tree": "4c8183db8a19c05388d66a4ca4e14e03e5b52d53",
      "parents": [
        "de021d8162f9c69ce8042da21ce1095a326ef02a",
        "9c2b6afa2fe1429fc5e839ed6349dfffe94057a2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 00:18:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 00:18:35 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\" am: 37e3f22c2e am: c54962a4bd\nam: 9c2b6afa2f\n\nChange-Id: I5f8cd508812d9532778c2f1f019308a4b8d8ee33\n"
    },
    {
      "commit": "75ad8a5b21e21a8750e7535bc6eae5dd22fdb1cd",
      "tree": "b8f19e59875596a8ef40bbd0b6a6734a81598eac",
      "parents": [
        "1d30bd9e0fbf9a163e95ea011ecfeab588bf31cb",
        "1331d26142b9b3271292e3f58e7e79e1cb78d619"
      ],
      "author": {
        "name": "Sujith Ramakrishnan",
        "email": "sujithrk@google.com",
        "time": "Fri Feb 17 00:17:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 00:17:30 2017 +0000"
      },
      "message": "Merge \"Transition from Activity to Broadcast for TV Search\""
    },
    {
      "commit": "a33818cf1cd45f1b3c6ba7634f0d1b8b0e940ecd",
      "tree": "0c5e254d68464483abbb70be45fbb87a3d8fd8c4",
      "parents": [
        "e4a2476ea9fbbb453d3fc137a1c876eb322eb868"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 16:11:30 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 16:11:30 2017 -0800"
      },
      "message": "Move activities to fullscreen stack on display removal\n\nInstead of moving dynamic stacks from secondary to primary display\non removal, move activities to fullscreen stack. This way activities\nare guaranteed to appear in valid launch stack and will respect\nsplit-screen mode bounds.\n\nBug: 34263289\nBug: 35258038\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testStackFocusSwitchOnDisplayRemoved\nTest: #testStackFocusSwitchOnDisplayRemoved2\nChange-Id: Iebd3bef3e0cf8afd482630dd5ad8ec4315497950\n"
    },
    {
      "commit": "9c2b6afa2fe1429fc5e839ed6349dfffe94057a2",
      "tree": "d0be4f48e4578a871b9c6e2bd6a1f4a85b3f7c23",
      "parents": [
        "7bf598cbd9f7f57742f813ca0b576ffd732d5b3a",
        "c54962a4bdfed6f5e9f47ae74adffa4b5faa6c77"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 00:09:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 00:09:11 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\" am: 37e3f22c2e\nam: c54962a4bd\n\nChange-Id: Iccc3ee97bd2ac267b312c6c7d9269ac02a2bd68e\n"
    },
    {
      "commit": "c54962a4bdfed6f5e9f47ae74adffa4b5faa6c77",
      "tree": "4a612461162b46fbb15e747d3dc61f7964506915",
      "parents": [
        "db0803b4e815f3e4e180c0502912dbbca42e1710",
        "37e3f22c2eae225d360f37cca5e6070faf5dc040"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 00:00:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 00:00:14 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\"\nam: 37e3f22c2e\n\nChange-Id: Ib335bc5e19c2c703d23267bf2835fc89fcf5a957\n"
    },
    {
      "commit": "ab5071c90c4eb4fe7b1bb5e70c0a48aba535b19b",
      "tree": "19a8bf3bdc7876df688497d1c35fb95574ecd0bd",
      "parents": [
        "2c02bd1cf08d54baceac5a44ef64a2bc8f2e1e4b"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Tue Feb 14 23:19:03 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 23:56:50 2017 +0000"
      },
      "message": "Use separate message ids for backup and restore operations\n\nThis cl is part of a group of CLs to support\nsome parallelism in BackupManager\u0027s operations.\nSeparate message ids are used for handler messages\nfor backup and restore operations so that both\noperations can run parallely.\n\nBug: 29010684\nTest: Manually tested by installing a test backup agent that times out.\nChange-Id: I57a5d063fb4446e610af81ac6f039d3fc8414a46\n"
    },
    {
      "commit": "1d30bd9e0fbf9a163e95ea011ecfeab588bf31cb",
      "tree": "80783134bb164f15de6af32be7dd3f8a4a71395b",
      "parents": [
        "30ace0317cc2ed83c1ce27f6c1203f9e90a144f7",
        "4b80e6d3a0d61f89835ddecad4321ee357c45ae9"
      ],
      "author": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Thu Feb 16 23:52:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 23:52:48 2017 +0000"
      },
      "message": "Merge \"Change error message for VrManagerService dump.\""
    },
    {
      "commit": "37e3f22c2eae225d360f37cca5e6070faf5dc040",
      "tree": "8af9eedb0d7c3e56e977c61f30bceb1cf75b0ce5",
      "parents": [
        "05dfd10254741b0a7f66504addf8a0f1d356fd4c",
        "d22edc28f5c8417f591a913c0a97e718ae988a6f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Feb 16 23:52:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 16 23:52:13 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\""
    },
    {
      "commit": "0864bbb6b8c2120cf3a960eb15da3d1f3d7ddb2d",
      "tree": "18ce30bdcb397e013df74dc6e8d50fa1c08c0380",
      "parents": [
        "e4a2476ea9fbbb453d3fc137a1c876eb322eb868"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 15:45:58 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Feb 16 15:51:17 2017 -0800"
      },
      "message": "Use the top stack on display instead of focused\n\nThere are places where there is an assumption that there is only\none display with activities in the system and that the focused stack\nis usually the topmost stack on current display.\nHere we explicitly use the topmost from the stacks on a display\ninstead of focused stack record in ActivityStackSupervisor.\n\nBug: 34263289\nBug: 35258038\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: #testStackFocusSwitchOnDisplayRemoved\nTest: #testStackFocusSwitchOnDisplayRemoved2\nChange-Id: Ice1a555b0a4460d6bd63be2af7b51b145c85ab7f\n"
    },
    {
      "commit": "de021d8162f9c69ce8042da21ce1095a326ef02a",
      "tree": "d6b7b6ac3e69243ca296e80e4af8920cb95b802a",
      "parents": [
        "6b2a20cdc3060ef3d8d2a8daedff9a96b3cfd65c",
        "7bf598cbd9f7f57742f813ca0b576ffd732d5b3a"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Feb 16 23:37:48 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 23:37:48 2017 +0000"
      },
      "message": "Merge \"Adding \"attach-agent\" to ActivityManagerShellCommand\" am: 05dfd10254 am: db0803b4e8\nam: 7bf598cbd9\n\nChange-Id: If7b73860cc8249b997d5e9a7a4d149732b08449b\n"
    },
    {
      "commit": "7bf598cbd9f7f57742f813ca0b576ffd732d5b3a",
      "tree": "79bbb6e3ae91bd4f4910f9e5819e4e34b0670910",
      "parents": [
        "a494d7287f6dd3ce600a1e2bb8346b0dc7bf7cfc",
        "db0803b4e815f3e4e180c0502912dbbca42e1710"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Feb 16 23:29:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 23:29:16 2017 +0000"
      },
      "message": "Merge \"Adding \"attach-agent\" to ActivityManagerShellCommand\" am: 05dfd10254\nam: db0803b4e8\n\nChange-Id: I4493e6b3bd2cf8447e8c3043878ad0f531c0e677\n"
    },
    {
      "commit": "db0803b4e815f3e4e180c0502912dbbca42e1710",
      "tree": "b8013b2b3289a09b9adc85f35dbfb70191b08155",
      "parents": [
        "a22c40839e8858d7f210fa1ee53e1d0e593dc65f",
        "05dfd10254741b0a7f66504addf8a0f1d356fd4c"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Feb 16 23:24:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 23:24:32 2017 +0000"
      },
      "message": "Merge \"Adding \"attach-agent\" to ActivityManagerShellCommand\"\nam: 05dfd10254\n\nChange-Id: I3623f617319f03bad87f65b61959ec2ce822ac7e\n"
    },
    {
      "commit": "977e656e491410aee79a66d5a45b3e052f7a644a",
      "tree": "6c90f355630e92eb81e0c3dfa8dadddddee0d9c9",
      "parents": [
        "bb67b4474fc087ce9d152ae89ada32cd179fb7d2",
        "7192297bc9669f3705d2a18893889e9a113a342a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 22:44:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 22:44:14 2017 +0000"
      },
      "message": "Merge \"Make a11y shortcut toast appear for all users.\""
    },
    {
      "commit": "5e46e57324eeb0d90746ac83a214e376a985ff8e",
      "tree": "e20643dd1a152c46911066c7a7b41774739026f1",
      "parents": [
        "1534b978fd011123bf371c5532d3592a9e004d0e"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Feb 16 12:25:49 2017 -0800"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Thu Feb 16 14:32:13 2017 -0800"
      },
      "message": "Fix AccountManagerService caused by empty package names list.\n\nAdd check for empty package list in isPrivileged method.\n\nTest: cts-tradefed run cts -m CtsAccountManagerTestCases\nBug: 35340908\nChange-Id: I4870e27db2f2e82d17741c53f8bb3fbebf87d0de\n"
    },
    {
      "commit": "939ccc3854d841e4aa1fc33017d49a2446315ca6",
      "tree": "68e66cd90ddf8d90bc81a0d948a0b672fd44b35c",
      "parents": [
        "6f57065bd42ee0621ec6e683071ddb60f5a32d54",
        "348f696d33ffc188459e6318c65c8f9058f8d974"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 22:08:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 22:08:20 2017 +0000"
      },
      "message": "Merge \"Clear DISALLOW_ADD_USER in clearDeviceOwner for all cases\""
    },
    {
      "commit": "1693d7745605783d198ecd7e6b4ff41dc71e272d",
      "tree": "07717bd9f549b9c8c5c0ac1a526fbac020bb33d4",
      "parents": [
        "ceb250424a32ef45549fa728adcd766cb7c35b54",
        "733d322cf594bb29a57e5e44c5c8100c4cf3ffcc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 21:40:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 21:41:00 2017 +0000"
      },
      "message": "Merge \"Consider priority when launching a USB app\""
    },
    {
      "commit": "4b80e6d3a0d61f89835ddecad4321ee357c45ae9",
      "tree": "15f6a6e1258cc327841f1df7355f48a78eedf5ac",
      "parents": [
        "ddc72dd32e512684d6c31dfd6ca590471fe5d26f"
      ],
      "author": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Thu Feb 16 13:30:33 2017 -0800"
      },
      "committer": {
        "name": "Zak Cohen",
        "email": "zakcohen@google.com",
        "time": "Thu Feb 16 13:30:33 2017 -0800"
      },
      "message": "Change error message for VrManagerService dump.\n\nCTS requires an exact match on \"Permission Denial\"\n\nBug: 35354213\nTest: Ran locally\nChange-Id: I4e4ef49a66a97701fdda2136640c2ddc2b24ad8c\n"
    },
    {
      "commit": "02758a9a80ab82154aa172ef1a0138f4c1d6e9bd",
      "tree": "a6c6d8cf3555fe7df3b7260f82ca82bfe0fcb7bb",
      "parents": [
        "97ebc29e9c3afb65394be27c09ab42ca7d32c602"
      ],
      "author": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Oct 06 17:32:05 2016 -0700"
      },
      "committer": {
        "name": "Leonard Mosescu",
        "email": "mosescu@google.com",
        "time": "Thu Feb 16 13:19:41 2017 -0800"
      },
      "message": "Adding \"attach-agent\" to ActivityManagerShellCommand\n\nThis new command is used to attach runtime agents to a running application:\n\nattach-agent \u003cPROCESS\u003e \u003cFILE\u003e\n   Attach an agent to the specified \u003cPROCESS\u003e,\n   which may be either a process name or a PID.\n\nTest: m test-art-host, manual testing:\n    . invalid syntax, missing arguments\n    . invalid syntax, extra arguments\n    . invalid numeric PID\n    . invalid process name\n    . valid process, not debuggable\n    . valid process, missing agent\n    . valid process, valid agent\n\nBug: 31682382\n\nChange-Id: I61cc8bf20addb1702acc8e7aae65b2f9ed7c5ca0\nMerged-In: Ife88dbf23991dde7945d9208e54cd014bb7ecdc6\n"
    },
    {
      "commit": "db908541c41b76e340b8f72edab5590adfe3c921",
      "tree": "47ffd474cd174593002d7324837be453979b07d1",
      "parents": [
        "f582d6c96e659b16daac3721babdb16026a7c80a",
        "d473ec1137d9391a279246b96ba9519154caea28"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 21:14:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 21:14:49 2017 +0000"
      },
      "message": "Merge \"Added missing calls to onConnected() and onDisconnected().\""
    },
    {
      "commit": "be0b8896d1bc385d4c8fb54c21929745935dcbea",
      "tree": "5351f9c3a01b53695c3b9abd2208b105a919b144",
      "parents": [
        "78e1375a6799df4d3e2595b8d00786bd7b1427ec"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Feb 15 14:13:52 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Feb 16 12:43:37 2017 -0800"
      },
      "message": "Revert \"Revert \"Per user setting for instant app\"\"\n\nThis reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest\nChange-Id: Ib21321cf157a79890de487060a093840f7182047\n"
    },
    {
      "commit": "72ad5bd8396cc9a6cc7f63234b717de9aae00aa6",
      "tree": "55f1f6cadb665195dd118deb2b37834dd0079283",
      "parents": [
        "cef08d66b3e811f845deeaabe38bdc12d39940d3",
        "fb6df0b969008fe65b0452764beda154dc8f9254"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 16 20:42:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 20:42:39 2017 +0000"
      },
      "message": "Merge \"Make audio effects work\""
    },
    {
      "commit": "348f696d33ffc188459e6318c65c8f9058f8d974",
      "tree": "624157c8b8087effe93702f21713b47957c06e7b",
      "parents": [
        "e622690efa9d2bc3e2b05def4076613d73db8020"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Jan 30 16:19:13 2017 +0000"
      },
      "committer": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Feb 16 20:41:50 2017 +0000"
      },
      "message": "Clear DISALLOW_ADD_USER in clearDeviceOwner for all cases\n\nWe are not moving the restriction from system to the DO in the end.\nclearDeviceOwnerUserRestrictionLocked becomes the permanent solution\nfor DeviceOwner CTS. Looks like no one setting DISALLOW_ADD_USER\ndirectly in UserManager except DO/PO, and so remove it when DO is\nclear\n\nChange-Id: I235bebebd02b5e0d9883eea6dd3a4e49b40fe043\nFix: 33476323\nTest: runtest frameworks-services -c com.android.server.devicepolicy.DevicePolicyManagerTest\n"
    },
    {
      "commit": "c4f91e5204a1a3169dacdde9674b25e713c91d7e",
      "tree": "113d633b681fa574b7defa6faa059c82b6a0755c",
      "parents": [
        "209346faa02a9e1b42fd1d6afaa1e8f20e490bc5",
        "2d096ee435182f11e2d1d78b4ec015bcdbad4945"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 19:27:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 19:27:54 2017 +0000"
      },
      "message": "Merge \"Fix NPE in BackupManagerService\""
    },
    {
      "commit": "a5b0963c0c49e379912239755caee2fe5b873353",
      "tree": "5d3559f4a9d05d5f7e34b530929a10334c092fa9",
      "parents": [
        "89863ea4f6e973a9405ee3c9fac79dd18b535c7e"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Feb 10 16:15:24 2017 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Feb 16 18:47:06 2017 +0000"
      },
      "message": "Mark clearDeviceOwnerApp/clearProfileOwner as deprecated\n\nBug: 33175679\nTest: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest    frameworks-services\nChange-Id: I05e10638d838ccf8dc67b7a01b3ffeb7cbea8500\n"
    },
    {
      "commit": "89863ea4f6e973a9405ee3c9fac79dd18b535c7e",
      "tree": "66178d29d8fe45e6e8fb38dec1c93314ba7b5abf",
      "parents": [
        "e4b106b1aaf0f96a5006086d2a67e2c86e41c6a1",
        "7eec37989f1d030d8f933712e6cb2bff8d9e4104"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 18:36:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 18:36:39 2017 +0000"
      },
      "message": "Merge \"Suppress a11y shortcut on emergency dialer\""
    },
    {
      "commit": "d473ec1137d9391a279246b96ba9519154caea28",
      "tree": "34eff6c3a2ebab28c5f021ae0e457c22afedef68",
      "parents": [
        "c3c62b30725daa2bde87b62331e94fa2fece1079"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Feb 16 08:14:48 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Feb 16 09:36:12 2017 -0800"
      },
      "message": "Added missing calls to onConnected() and onDisconnected().\n\nThey got lost in a previous refactoring....\n\nBug: 35395043\nTest: CtsAutoFillServiceTestCases pass\nTest: manual verification\nChange-Id: I4e70f84185d6708ea0ebfa831c160e859fcf9e5c\n"
    },
    {
      "commit": "5310093e620b2216dcd51a336440b9d68546ba6e",
      "tree": "c2b179dc74557f6bb55f85a96959d816a7411c7d",
      "parents": [
        "15c4454970ce333e221fb4a2ceb4cb266f7ae442",
        "5b2ca0e0ad4be4d8070c51c8924fee05af9c813a"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Feb 16 17:31:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 17:31:47 2017 +0000"
      },
      "message": "Merge \"Pass FillResponse extra back to onSaveRequest(...).\""
    },
    {
      "commit": "15c4454970ce333e221fb4a2ceb4cb266f7ae442",
      "tree": "2e12b6368797d8f771a77bf4c44143533c40f483",
      "parents": [
        "d0a2d5edea7aa6c9213d62c2502460057a3b1bd0",
        "ee2a7ed3d971f83134a2b28258dd2e56f9634f94"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 17:29:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 17:29:36 2017 +0000"
      },
      "message": "Merge \"Allow setImeWindowStatus with null startInputToken\""
    },
    {
      "commit": "ddc72dd32e512684d6c31dfd6ca590471fe5d26f",
      "tree": "74800b1c5496dabc95eb99878a3b9bcb186c07e1",
      "parents": [
        "ba422045d793564a9e69f5fbd0fa28255edfeb1c",
        "0277db478d0e24b23b1637c0323842bf3e185d87"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 16:42:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 16:43:00 2017 +0000"
      },
      "message": "Merge \"Better iteration over mCurrentOperations in cancelBackups\""
    },
    {
      "commit": "ba422045d793564a9e69f5fbd0fa28255edfeb1c",
      "tree": "8c39ef2004bc2beba4d0f1387290728b76e9448e",
      "parents": [
        "04c959a3d0b2a3c4a44167d4a7429934d8a220cf",
        "bdc646f5d514259d9aae975bac64363947db0d32"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Feb 16 16:39:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 16:40:01 2017 +0000"
      },
      "message": "Merge \"Reducing number of configuration changes during PiP transition.\""
    },
    {
      "commit": "fb6df0b969008fe65b0452764beda154dc8f9254",
      "tree": "ec214c78a851ada4dcf227806c884e92d3a0549f",
      "parents": [
        "2c92e9daa4c787e8678c25d4a2d3f3ae2362dd4d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Feb 15 15:25:24 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 16 08:34:05 2017 -0800"
      },
      "message": "Make audio effects work\n\nThis makes the built-in audio effects work again.\n3rd party effect panels can be made to work by disabling the built-in one\nin Settings.\nTODO: implement selection mechanism for third party effect panels.\n\nBug: 35316970\nTest: manual\nChange-Id: I6cd1cfba909bf74c31f37e9ecedcb28046f9109b\n"
    },
    {
      "commit": "04c959a3d0b2a3c4a44167d4a7429934d8a220cf",
      "tree": "fc3fe10ac2684f936945bd04128b9d25a503890a",
      "parents": [
        "387f45d78fbb077b2cd70fa9b0db77584f3e541c",
        "03b89cdfb307940f70c4dfc27a0f163d3e30c15a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 16 16:20:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 16:20:41 2017 +0000"
      },
      "message": "Merge \"TimeZoneBundleInstaller -\u003e TimeZoneDistroInstaller\" am: eb82e3de87 am: c1867dedfa am: 4f5f211f72\nam: 03b89cdfb3\n\nChange-Id: I831b29b0da995aca9c6e16d328f49d7771dd10db\n"
    },
    {
      "commit": "03b89cdfb307940f70c4dfc27a0f163d3e30c15a",
      "tree": "aa64f9125c9f33f26f7dc0cc45b29fa9971a04f8",
      "parents": [
        "7ab32a6a1faec49220543e5502e1dd60d28d32ec",
        "4f5f211f72f167afd177b9fcddf051daf1669775"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 16 16:14:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 16:14:00 2017 +0000"
      },
      "message": "Merge \"TimeZoneBundleInstaller -\u003e TimeZoneDistroInstaller\" am: eb82e3de87 am: c1867dedfa\nam: 4f5f211f72\n\nChange-Id: If08545341c1bdcd79b7b16ed1da0f16b924cdea0\n"
    },
    {
      "commit": "4f5f211f72f167afd177b9fcddf051daf1669775",
      "tree": "2edaa78ffb4f0746c17e4f46913c90e4c8a1ea85",
      "parents": [
        "c3f0f5f3dea016f220f2b83af12658a794deca22",
        "c1867dedfa56e524a9dda637fd229d78dcca2513"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 16 16:09:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 16:09:10 2017 +0000"
      },
      "message": "Merge \"TimeZoneBundleInstaller -\u003e TimeZoneDistroInstaller\" am: eb82e3de87\nam: c1867dedfa\n\nChange-Id: If2f639d07a44861b96b4497cc3dc02364dc85c51\n"
    },
    {
      "commit": "c1867dedfa56e524a9dda637fd229d78dcca2513",
      "tree": "0f122396531f7c3c19122f98d74279f2c9e10552",
      "parents": [
        "ede9f94e323c7b33877dbbc374ce3532cf54155a",
        "eb82e3de8777414e722dca06039e477eea3a0cdd"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 16 16:02:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 16:02:33 2017 +0000"
      },
      "message": "Merge \"TimeZoneBundleInstaller -\u003e TimeZoneDistroInstaller\"\nam: eb82e3de87\n\nChange-Id: I7666ae9c9472f11cafe0df5a2f259df1c499d44b\n"
    },
    {
      "commit": "eb82e3de8777414e722dca06039e477eea3a0cdd",
      "tree": "005c53475d0219693c132261e6ee8455be9d9fb4",
      "parents": [
        "6fb97e8fd87f457bef6df13bf5293d579fc87fd6",
        "2b653dcc632d428e890d83b27a11f9a591f04b05"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 16 15:51:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 16 15:51:27 2017 +0000"
      },
      "message": "Merge \"TimeZoneBundleInstaller -\u003e TimeZoneDistroInstaller\""
    },
    {
      "commit": "78e1375a6799df4d3e2595b8d00786bd7b1427ec",
      "tree": "28871dc1b9a5dc4e5b65d245769692094c14575d",
      "parents": [
        "c454a7451400a8b4960cdfdca1ec56baec03fee7",
        "92aaaa21ee9178e7bd52fb465449566a5e1d9da7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 15:16:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 15:16:26 2017 +0000"
      },
      "message": "Merge \"Moved bugreport intents to the com.android.internal namespace.\""
    },
    {
      "commit": "2d096ee435182f11e2d1d78b4ec015bcdbad4945",
      "tree": "2d3fc37c35fee183570d741032853422f1585d31",
      "parents": [
        "2c02bd1cf08d54baceac5a44ef64a2bc8f2e1e4b"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 14:54:47 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 14:54:47 2017 +0000"
      },
      "message": "Fix NPE in BackupManagerService\n\nIf none of the requested packages are valid packages,\nwe\u0027d run into this issue where PerformBackupTask#mQueue\nis null but we try to iterate over it in finalizeBackup()\nFix is to use an empty queue as the default value instead\nof null.\n\nBug: 35380067\nTest: Manually tested by trying to backup a non-existent package.\nChange-Id: Ibb2d03d5f8270bcb448ee083ee02964236aca92b\n"
    },
    {
      "commit": "c454a7451400a8b4960cdfdca1ec56baec03fee7",
      "tree": "a0a61d998f59b6a095fb78afe2890c14b4f744ef",
      "parents": [
        "1e1c5b8cb8ce38d565739285f1a623fe3ba567c5",
        "fcc8afcc7dabf0db89edc69423564a76ca152bad"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:46:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:46:52 2017 +0000"
      },
      "message": "Merge changes from topic \u0027cm_request_to\u0027 am: 6fb97e8fd8 am: ede9f94e32 am: c3f0f5f3de\nam: fcc8afcc7d\n\nChange-Id: I2cef23ff183428041273007cf9bb1b655f92372a\n"
    },
    {
      "commit": "1e1c5b8cb8ce38d565739285f1a623fe3ba567c5",
      "tree": "7a56fd7575a3366b0aa21fae302acab94693864a",
      "parents": [
        "65febdd300d14c014b23351ede4e4f71dc6b350b",
        "e74978c047b80c39a81ee98b0098425f382c3465"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:45:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:45:42 2017 +0000"
      },
      "message": "[CM] Remove non-functional timeout from request network am: e9aea9d397 am: a6be89aa40 am: aae1411a93\nam: e74978c047\n\nChange-Id: I183dfdb5e8193051424fa5fb5c4f5ad6d4d0c741\n"
    },
    {
      "commit": "fcc8afcc7dabf0db89edc69423564a76ca152bad",
      "tree": "9e1ad945bb868dd10b9e76b17c079c47d54c3ad1",
      "parents": [
        "e74978c047b80c39a81ee98b0098425f382c3465",
        "c3f0f5f3dea016f220f2b83af12658a794deca22"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:38:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:38:28 2017 +0000"
      },
      "message": "Merge changes from topic \u0027cm_request_to\u0027 am: 6fb97e8fd8 am: ede9f94e32\nam: c3f0f5f3de\n\nChange-Id: Ief32189b0f6f2c70d7e4097f70dbdf8195bd8713\n"
    },
    {
      "commit": "e74978c047b80c39a81ee98b0098425f382c3465",
      "tree": "d81b78a92de6e61e75e01afbb6b677a843281cdd",
      "parents": [
        "853d024b98c9aea698b57d9f9f0f7f80c39c9853",
        "aae1411a93923336781c0c26146b0145e276b11f"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:37:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:37:26 2017 +0000"
      },
      "message": "[CM] Remove non-functional timeout from request network am: e9aea9d397 am: a6be89aa40\nam: aae1411a93\n\nChange-Id: I31fbce5bab0d03b9b468f4fc5e819a59027aca7b\n"
    },
    {
      "commit": "c3f0f5f3dea016f220f2b83af12658a794deca22",
      "tree": "30411c51ed1dd7f2e98109267b9ed99cbabc8fae",
      "parents": [
        "aae1411a93923336781c0c26146b0145e276b11f",
        "ede9f94e323c7b33877dbbc374ce3532cf54155a"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:29:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:29:29 2017 +0000"
      },
      "message": "Merge changes from topic \u0027cm_request_to\u0027 am: 6fb97e8fd8\nam: ede9f94e32\n\nChange-Id: I2720e64e4af88df9d3a7b6209e9fcef4a0340986\n"
    },
    {
      "commit": "aae1411a93923336781c0c26146b0145e276b11f",
      "tree": "04e5e995ff21196e18968a74c1f6155e5f15bfcd",
      "parents": [
        "ff3f4e72af6ae7c2c9faca616bb4e0f6918b80be",
        "a6be89aa40c4dcbbeda002c9066e2dca5c606ee3"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:28:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:28:29 2017 +0000"
      },
      "message": "[CM] Remove non-functional timeout from request network am: e9aea9d397\nam: a6be89aa40\n\nChange-Id: Ie00ac8dee9302fafc0cdad95ec08d376ad908ab9\n"
    },
    {
      "commit": "ede9f94e323c7b33877dbbc374ce3532cf54155a",
      "tree": "b8543cb9fa002ff2b0cbfd84f251d22d4735a05c",
      "parents": [
        "a6be89aa40c4dcbbeda002c9066e2dca5c606ee3",
        "6fb97e8fd87f457bef6df13bf5293d579fc87fd6"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:23:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:23:18 2017 +0000"
      },
      "message": "Merge changes from topic \u0027cm_request_to\u0027\nam: 6fb97e8fd8\n\nChange-Id: I9ca18c0570be831ab37cdf200c28b0778117198d\n"
    },
    {
      "commit": "a6be89aa40c4dcbbeda002c9066e2dca5c606ee3",
      "tree": "570e2833737064df8b5f4f9f1f01c6f0ba50d3a9",
      "parents": [
        "111204650638a433a956e7424068fea39e8f6af7",
        "e9aea9d397d42bcf73dee1234836b56cb626b709"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:21:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 14:21:44 2017 +0000"
      },
      "message": "[CM] Remove non-functional timeout from request network\nam: e9aea9d397\n\nChange-Id: Ica347b2c2181fe04a7efb2769d7498a31c888e5a\n"
    },
    {
      "commit": "0277db478d0e24b23b1637c0323842bf3e185d87",
      "tree": "21e2c9d350c385bc1987f58a4ecfd8cf1858adf0",
      "parents": [
        "2c02bd1cf08d54baceac5a44ef64a2bc8f2e1e4b"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 00:56:59 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Thu Feb 16 14:16:14 2017 +0000"
      },
      "message": "Better iteration over mCurrentOperations in cancelBackups\n\nhandleCancel was being called on an operation\nwhile we are iterating over all operations.\nThis can cause issues if handleCancel modifies\nthe array containing all operations.\n\nTest: Run cancelBackup GTS tests.\n\nChange-Id: If3fbe7b5d9e61aa870f8f6e0dd1654e735c0c5b8\n"
    },
    {
      "commit": "6fb97e8fd87f457bef6df13bf5293d579fc87fd6",
      "tree": "c25b756cadb748c04f5dd7076d69e8bd0777f4f2",
      "parents": [
        "3ac3170a4be18c0a9539fff66cb0ce07a67175e5",
        "ba07c8c4ec1bf44875d326a9fab8499853222f82"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:15:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 16 14:15:44 2017 +0000"
      },
      "message": "Merge changes from topic \u0027cm_request_to\u0027\n\n* changes:\n  [CM] Remove maximum timeout value for request network\n  [CM] Remove non-functional timeout from request network\n"
    },
    {
      "commit": "ba07c8c4ec1bf44875d326a9fab8499853222f82",
      "tree": "693df4f78ecbff0d0ff3f8c7162b7321dd1ae20b",
      "parents": [
        "e9aea9d397d42bcf73dee1234836b56cb626b709"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Sun Feb 05 10:42:27 2017 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 16 14:15:16 2017 +0000"
      },
      "message": "[CM] Remove maximum timeout value for request network\n\nThe request network with timeout was originally created with a\ncheck of max timeout against a constant of 100 minutes. However,\nthe API was not public and did not implement a timeout. Any users\nwere internal and never got any onUnavailable() callback (since\ntimeout never triggered).\n\nThere is no reason to have a max timeout so the constant is\nremove.\n\nBug: 31399536\nTest: unit tests and CTS of ConnectivityManager\nChange-Id: Icbedfb4299d75b6a7e3e43720111531f1faafd06\n"
    },
    {
      "commit": "b3003af0f69a82b6435e25cef591796091d89ac6",
      "tree": "c0d7dbc8a98f47530d1a792527b3e06a2576ca9f",
      "parents": [
        "102ef6fd5321b3e67029606dd349db3759a82233",
        "9778046548772c8d94b8aa2dbdf6529b693aad45"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Feb 16 12:31:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 12:31:07 2017 +0000"
      },
      "message": "Merge \"Zygote: Explicitly preload secondary zygote resources.\""
    },
    {
      "commit": "aff5e9c21c28f21f7a3688d84e747727cf17f382",
      "tree": "d66ae3819659eec7aee1ad81562e5da90c94236e",
      "parents": [
        "e0da063b8d1fe7908b8acfaec3be010b3a886e36"
      ],
      "author": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Wed Jan 25 06:09:13 2017 +0100"
      },
      "committer": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Thu Feb 16 13:07:11 2017 +0100"
      },
      "message": "Add API for checking whether the default IME was set by the DO/PO\n\nWith this API, the system can determine whether a user\u0027s default\nIME was set by the user or the user\u0027s DO/PO.\n\nBug: 32692748\nTest: DPMS unit tests and CTS CtsDevicePolicyManagerTestCases\n\nChange-Id: Ibd703ff5c9e4c072599ad8d6023c94a97d728109\n"
    },
    {
      "commit": "e0da063b8d1fe7908b8acfaec3be010b3a886e36",
      "tree": "aee5e4ddd48428508c32a2843caaa6b6cf692aa8",
      "parents": [
        "5a93b9c940e7cbfccbe34a13416e33b7ff2e84ad",
        "e0ca3f3882a20ad2bc9f8184d395ec9ba0312b0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 09:57:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 09:57:09 2017 +0000"
      },
      "message": "Merge \"MediaSessionService: Keep media session list in one place\""
    },
    {
      "commit": "e0ca3f3882a20ad2bc9f8184d395ec9ba0312b0e",
      "tree": "f638d66a9b4a39905a2e5fad94b35303d58ab1f2",
      "parents": [
        "80f42edfc7333d8a2a3d8fa529b85ed6763f8cc0"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 16 15:52:39 2017 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 16 17:15:52 2017 +0900"
      },
      "message": "MediaSessionService: Keep media session list in one place\n\nTest: Manual test\nChange-Id: I954a3c6881ba415d3800ac1a2ce16b424d1a0f73\n"
    },
    {
      "commit": "7973ff4c1358e7a29c6b2faf01932faee8131268",
      "tree": "3ff0adc28ace280506f0e04e1f15941e30021810",
      "parents": [
        "38f5001c10aa6e6d911ba0977b38f623a9744f5b",
        "af8e7498201f757d4afb0c5c5051d2c17e91f001"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Feb 16 07:08:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 07:08:27 2017 +0000"
      },
      "message": "Merge \"Captive portal: better detect empty responses\" am: c217f7a9f3\nam: af8e749820\n\nChange-Id: I0b2cd45fb92e2f8accb53ef4e050d2b6e7f7fd1c\n"
    },
    {
      "commit": "af8e7498201f757d4afb0c5c5051d2c17e91f001",
      "tree": "e452308878e64ce97387ffafae1740e838f1b47f",
      "parents": [
        "2bc24e252ecd1691398550b8112bd5bb2c303746",
        "c217f7a9f316ac7935fc168a4f9bf8a9ebc4a9f2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Feb 16 07:04:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 07:04:25 2017 +0000"
      },
      "message": "Merge \"Captive portal: better detect empty responses\"\nam: c217f7a9f3\n\nChange-Id: If6229a3a5c0ccc3575d44d11ed9f486cab35eac3\n"
    },
    {
      "commit": "c217f7a9f316ac7935fc168a4f9bf8a9ebc4a9f2",
      "tree": "6e33ef5ce240a70f6b0d71c33623e5b8e0db98bf",
      "parents": [
        "decc6c9d56720f0d394d60a72438cec51c3541e4",
        "e3aae40d07bae209c7b7dd608175563857f67ba6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Feb 16 06:54:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 16 06:54:48 2017 +0000"
      },
      "message": "Merge \"Captive portal: better detect empty responses\""
    },
    {
      "commit": "55ab689fac9aa48792652f088e2b1cd0ecbdf3e9",
      "tree": "05327ede08a15be680a1d87a3099f942e45f5184",
      "parents": [
        "ff4adef9cdb97b60517c6ccf161f5ac458dbc973",
        "da0acdf938f1d6e7a978e143d5d80d8dd5af52ad"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 06:51:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 06:51:08 2017 +0000"
      },
      "message": "Merge \"Auto-grant background execution and data access\""
    },
    {
      "commit": "ee2a7ed3d971f83134a2b28258dd2e56f9634f94",
      "tree": "abc50dfd6104825a7300d82ad7e05ee9a5dcef8e",
      "parents": [
        "040e425b49437094acc936176f74e23dd72da1f1"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Feb 15 21:38:57 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Feb 15 21:38:57 2017 -0800"
      },
      "message": "Allow setImeWindowStatus with null startInputToken\n\nThis is a follow up CL to my previous CL [1], which caused an unexpected\nside effect that leads the current IME to crash due to a too strict\nrequiremnt.\n\nIt turns out that it was too early for us to start requiring non-null\nStartInputToken in InputMethodManagerService#setImeWindowStatus()\nbecause in many places we have assumed that an IME can show/hide its\nsoftware keyboard even before an IME target window is associated with\nthe IME.\n\nThere are two major cases that we missed:\n\n - InputMethodManager#showSoftInputFromInputMethod(IBinder, int):\n\n   This method does not require that the calling IME is already bound\n   to an IME target window.\n\n - InputMethodManager#showSoftInputUnchecked(int ,ResultReceiver):\n\n   This @hide method allows the caller application to let current IME\n   show the software keyboard with bypassing all the normal focus\n   management tasks in InputMethodManager.  We should seriously\n   consider to deprecate this @hide method, but to do that we have to\n   clean up some internal components and SearchView in the support\n   library that still rely on this method.\n\nBug 35395372 is triggered by the second scenario, but until we sort out\nall the possible corner cases, we should allow null startInputToken as a\nvalid request, like we had have done so before the CL [1] introduced\nsuch a validation.\n\n [1]: I9921b381e02106dbffff5e0b3d13f0a1245ce807\n      6db3bfe33d92127d203ec872a0b353585a99f256\n\nTest: Made sure Bug 35395372 is no longer reproducible, that is,\n      1. Flash a new image and complete the setup wizard on a\n         direct-boot unaware device.\n      2. Set a device password and require it upon each device boot.\n      3. adb reboot\n      4. Observe the default IME does not crash because of\n         InvalidParameterException thrown by IMMS.\nTest: Made sure IMM#showSoftInputFromInputMethod(IBinder, int) does\n      not throw an InvalidParameterException even in an extreme case.\n      1. Rebuild LatinIME with the following code in LatinIME.java\n       @Override\n       public AbstractInputMethodImpl onCreateInputMethodInterface() {\n           return new InputMethodService.InputMethodImpl() {\n               @Override\n               public void attachToken(IBinder token) {\n                   super.attachToken(token);\n\n                   final InputMethodManager imm \u003d\n                       getSystemService(InputMethodManager.class);\n                   final IBinder imeToken \u003d\n                       getWindow().getWindow().getAttributes().token;\n                   imm.showSoftInputFromInputMethod(imeToken, 0);\n               }\n           };\n       }\n      2. adb install -r LatinIME.apk\n      3. adb shell ime enable com.android.inputmethod.latin/.LatinIME\n      4. adb shell ime set com.android.inputmethod.latin/.LatinIME\n      5. Tap any text field.\n      4. Observe LatinIME does not crash because of\n         InvalidParameterException thrown by IMMS.\nBug: 34628091\nBug: 35079353\nFixes: 35395372\nChange-Id: Ib9448c551d9a30776a999c27a5ff20f1a095633a\n"
    },
    {
      "commit": "85f860329183bc772f0a38d0fca6e0a528d68aa1",
      "tree": "5146c8f541e759c0b526fb9c29069122b98351b1",
      "parents": [
        "59d3c40855f9e4734596884d87886e7b13d2e1f6",
        "7d95df4971cfaa68e2fa84ce6f8656cc548616b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 05:00:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 05:00:07 2017 +0000"
      },
      "message": "Merge \"Always check front stack on its current display\""
    },
    {
      "commit": "da0acdf938f1d6e7a978e143d5d80d8dd5af52ad",
      "tree": "a87f84a6afb69607c20513adb4730af5daf7ff92",
      "parents": [
        "3d52f79be4dba94f046709fabc1bfb911a670709"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 15 10:28:51 2017 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 15 20:32:41 2017 -0800"
      },
      "message": "Auto-grant background execution and data access\n\nCompanion apps can declare they want background access and\nbackground execution exceptions via dedicated permissions\nin their manifest. If such a permission is requested we\nauto-grant the corresponding exception after the user has\nchosen a device from the companion UI. These permissions\nare appop ones allowing us to use the app ops for gauging\nwhether the user has made a change after we auto-granted\nthe permission since we would like to revoke these special\nprivileges when the app disassociates itself from the\ncompanion device if the user did not make an excplicit\nchoice otherwise.\n\nWhile at this auto-grant fixed location permission to the\ncompanion device discovery service.\n\nTest: manual\n\nChange-Id: I46ee4291e5e5a8f7613f0dd75eb61d6b9341f306\n"
    },
    {
      "commit": "e3aae40d07bae209c7b7dd608175563857f67ba6",
      "tree": "e8c231385867d6304f6d7eedd15ec7e828f2f276",
      "parents": [
        "ed6d75d5f31dd69d2c91cd82cddd5ee1db49b2c7"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Jan 11 16:23:26 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Feb 16 12:31:30 2017 +0900"
      },
      "message": "Captive portal: better detect empty responses\n\nThe captive portal detection logic treats empty http responses with a\nContent-Length of 0 as not coming from a portal.\n\nHowever when the Content-Length is missing from the response header, the\nempty response is not detected as such and is classified as a captive\nportal answer.\n\nWhen this happens for the http probe, the portal detection logic will\nshort circuit the detection and wrongly report a portal. The system\nvalidates the network in such conditions only if the https probe\nreturns a successful connection faster than the http probe.\n\nThis patch attempts to better detect empty responses by trying to read\nthe first byte from the response body when the Content-Length is missing\nfor 200 responses.\n\nTest: build, flashed + manual tests.\nBug: 33498325\n\n(cherry picked from commit cb4aa4d412c7940386df9b8dd681e0d2efebfd1d)\n\nChange-Id: Ibb9914cba72a4dab3ae76746d8889bbf083be812\n"
    },
    {
      "commit": "5b2ca0e0ad4be4d8070c51c8924fee05af9c813a",
      "tree": "dc48052d30764548c4878aef4b80a5758618a0be",
      "parents": [
        "c3c62b30725daa2bde87b62331e94fa2fece1079"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 15 18:17:12 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 15 18:21:10 2017 -0800"
      },
      "message": "Pass FillResponse extra back to onSaveRequest(...).\n\nBUG: 33197203\nTest: CtsAutoFillServiceTestCases passes\nChange-Id: Ibb57b07c7287527acc4c92607de044e789f09dcc\n"
    },
    {
      "commit": "9f1b5b73e8d83e4509b2f68aa8aab6f10e5a61e3",
      "tree": "7b8263ef3836ee7ac1132f25bf673f97cc58ee5a",
      "parents": [
        "824b073fbeee57154316c1e60d211e8e9ab54ac6",
        "db70af449511539caab8eb778d7a894beb06c461"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 01:37:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:37:06 2017 +0000"
      },
      "message": "Merge \"Merge \"Harden against jobscheduler client app misbehavior\" into nyc-mr2-dev am: 38f1b6dbc9 am: c475730d22\""
    },
    {
      "commit": "824b073fbeee57154316c1e60d211e8e9ab54ac6",
      "tree": "ce303b613ccd9db6544f33b29920c35f6267d753",
      "parents": [
        "760623a499683d3e9015d997729627b786ffb9d0",
        "aab7a4146ccd14f94ac87f4c52895f1bb5d37645"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Feb 16 01:36:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:36:46 2017 +0000"
      },
      "message": "Merge \"Add escrow token API in DevicePolicyManager.\""
    },
    {
      "commit": "db70af449511539caab8eb778d7a894beb06c461",
      "tree": "2465275439fff73a46f0dc2149e65744c2474235",
      "parents": [
        "760623a499683d3e9015d997729627b786ffb9d0",
        "c475730d2254b34013fc19c0c78791f363ec3708"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Feb 16 01:36:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 01:36:18 2017 +0000"
      },
      "message": "Merge \"Harden against jobscheduler client app misbehavior\" into nyc-mr2-dev am: 38f1b6dbc9\nam: c475730d22\n\nChange-Id: I026c74906f8f43c2eb7ca529a59b1e6be5696351\n"
    },
    {
      "commit": "760623a499683d3e9015d997729627b786ffb9d0",
      "tree": "5e562757c9f669fdac5bf1b85aae8ff941a0b70f",
      "parents": [
        "019b018cf79d59c4fba0c32c0fbadc3a369924c4",
        "2b565df36710371be066d4f5186c9a02833831ce"
      ],
      "author": {
        "name": "Soonil Nagarkar",
        "email": "sooniln@google.com",
        "time": "Thu Feb 16 01:33:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:33:08 2017 +0000"
      },
      "message": "Merge \"Use SystemConfig to control background location throttling whitelist.\""
    },
    {
      "commit": "019b018cf79d59c4fba0c32c0fbadc3a369924c4",
      "tree": "3ef697dbc5faf9965357bfb83efae7a7fe0a8738",
      "parents": [
        "1fad70afd3187290708b212049c2541a40174e38",
        "278f2ab11baefa9c298403f7be70e7dfc22cf601"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 01:29:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:29:54 2017 +0000"
      },
      "message": "Merge \"Access IMMS#mSettings only inside the lock\""
    },
    {
      "commit": "c475730d2254b34013fc19c0c78791f363ec3708",
      "tree": "26a9ced79777cf4ad32b841d1aaf953ffc865f62",
      "parents": [
        "b521143aa1e29566a8f849db4acbf75dcd763dbf",
        "38f1b6dbc97435f1227f15b4b7dca6c9bd3cc343"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Feb 16 01:25:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 16 01:25:04 2017 +0000"
      },
      "message": "Merge \"Harden against jobscheduler client app misbehavior\" into nyc-mr2-dev\nam: 38f1b6dbc9\n\nChange-Id: I44d16150abee9dd0ec7961d1ce847d9793937354\n"
    },
    {
      "commit": "4c64c0d99ee4340983d17f971f3dfca0c1cbf234",
      "tree": "8e974f7c9f1308251070d35695072847d52508f7",
      "parents": [
        "197fb06796ee4ca833cce46bc4ca13146250352a",
        "f281e7afae14f61e1d031f55cc80c59d0b39b528"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Feb 16 01:04:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 01:04:15 2017 +0000"
      },
      "message": "Merge \"ShortcutManager should support MaskableBitmap Icon type\""
    },
    {
      "commit": "f281e7afae14f61e1d031f55cc80c59d0b39b528",
      "tree": "5ff870a75c2eb751cb7b0332d09475dba0463105",
      "parents": [
        "f5e107140d9f9dd0b0b5d5068f8a89bcadd53dd5"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Feb 13 10:57:42 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Feb 16 01:01:56 2017 +0000"
      },
      "message": "ShortcutManager should support MaskableBitmap Icon type\n\nNote: https://ag/1872683/ is where initial code review happened.\n\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest2 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest3 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest4 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest5 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest6 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest7 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest8 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest9 -w com.android.frameworks.servicestests\nTest: adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest10 -w com.android.frameworks.servicestests\n\nTest: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsShortcutHostTestCases -t \u0027android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest\u0027\nTest: cts-tradefed run cts --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -m CtsDevicePolicyManagerTestCases -t \u0027com.android.cts.devicepolicy.LauncherAppsProfileTest\u0027\n\n\nb/34196580\n\nChange-Id: I3b983c29387e474c7a8c687a524105ceaceac81e\n"
    },
    {
      "commit": "7a627206d4e040e449421a9d29b99be3fe2b00be",
      "tree": "af7fabbad39063552948290aecc9233dea077713",
      "parents": [
        "9809b8fdd66d47accc68ccf94d144ac1642954bb",
        "f88ebeb2506d3daed3fe0a71f6e1f5cde34406cd"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Feb 16 00:51:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:51:49 2017 +0000"
      },
      "message": "Merge \"Use correct packageName for checking if it belongs to callingUid.\""
    },
    {
      "commit": "38f1b6dbc97435f1227f15b4b7dca6c9bd3cc343",
      "tree": "80f55a66f77d4ccc6c63d09c2a43c2b520a08f72",
      "parents": [
        "83b072c48c0008312db5666f43b9062c43416455",
        "a8e8e4a34f8f5e07cbccf4e20a485e1d0b88fe0d"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Thu Feb 16 00:50:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:51:01 2017 +0000"
      },
      "message": "Merge \"Harden against jobscheduler client app misbehavior\" into nyc-mr2-dev"
    },
    {
      "commit": "0b6b10d1eeb30631aaa44e84db8f14444832a2bd",
      "tree": "7819604d3929e21b3412956ce66d472e33b113d2",
      "parents": [
        "4b7a7bede86cc92abc03818bedfaedbf5fa1c0ba",
        "fde900dbbd8c2d2863274804db287deb0af9ccc4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 16 00:27:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:27:14 2017 +0000"
      },
      "message": "Merge \"Fail safely on invalid ScanResults when creating NetworkKey\""
    },
    {
      "commit": "92aaaa21ee9178e7bd52fb465449566a5e1d9da7",
      "tree": "50ee8075fb48d395b0598cb159ded57b9281f7db",
      "parents": [
        "e0ac9dabc79254565ba3a8491fb43fc303d7fc50"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 15 16:08:39 2017 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 15 16:08:53 2017 -0800"
      },
      "message": "Moved bugreport intents to the com.android.internal namespace.\n\nChange-Id: I5ad53668b9393188cee4d8b0382f9c303ff95777\nFixes: 35275802\nTest: manual verification\n"
    },
    {
      "commit": "4b7a7bede86cc92abc03818bedfaedbf5fa1c0ba",
      "tree": "eaef026cca7420c09d7d8d1ff036253b1be12fb8",
      "parents": [
        "2a7e2deb57bd5d29b94bce62fb0d906b15b6bd33",
        "aae35767b6bca6f872c906a0fd38d7adb61217bd"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 16 00:04:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 00:04:47 2017 +0000"
      },
      "message": "Merge \"Skip class path checking for secondary dex files\""
    }
  ],
  "next": "7d95df4971cfaa68e2fa84ce6f8656cc548616b5"
}
