)]}'
{
  "log": [
    {
      "commit": "aac3cba5311622061d648e92bf385da2087ce18e",
      "tree": "c2f43b307a6352226d353289c2928807fb7574c9",
      "parents": [
        "ed1b65b1ca22532ef8ecf823279ead4fb26151d3",
        "e75a66e87a4c4cf59f0ea6f4bd509fd707c2383f"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Dec 01 19:46:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 19:46:09 2016 +0000"
      },
      "message": "Merge \"Listener in createNotificationChannel\""
    },
    {
      "commit": "ed1b65b1ca22532ef8ecf823279ead4fb26151d3",
      "tree": "044bcea47ee50ffdfd15b0d94b2970ae6f6e7188",
      "parents": [
        "38d20cc5c96dca2f7091a9ab98b43d62b966bbcd",
        "23ec811266fb728cf159a90ce4882b3c9bac1887"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 19:44:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 19:44:50 2016 +0000"
      },
      "message": "Merge \"Retain DownloadManager Uri grants when clearing.\""
    },
    {
      "commit": "9a4c8a207205f04eb431cc2c412a50a64567efe8",
      "tree": "23ee451d99336852ee481605bf1a61f45a9eebb7",
      "parents": [
        "f81df2d5e52e50fe7197135baf5cabcabdba4628",
        "e1cc01087a63210182f0d94f1cb3e8da833a1107"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 17:15:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 17:15:39 2016 +0000"
      },
      "message": "Merge \"Revert \"LightService: don\u0027t use implicit cast of Return\u003c*\u003e\"\""
    },
    {
      "commit": "f81df2d5e52e50fe7197135baf5cabcabdba4628",
      "tree": "5c92ddc07b8650c0febc9a8ff1c255253a533834",
      "parents": [
        "595a29efb207ddd2db05036d7304cb0a730c686e",
        "0d1fd8d09163566d2c7eb72037f63b6404ada642"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 01 17:01:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 17:01:07 2016 +0000"
      },
      "message": "Merge \"Secure MATCH_UNINSTALLED_PACKAGES across users\""
    },
    {
      "commit": "e75a66e87a4c4cf59f0ea6f4bd509fd707c2383f",
      "tree": "fcbab545ecb4d00237ed4e1629aaa1b46dbcc1a5",
      "parents": [
        "8d86417c8efb88282af8840ff9b26c6d8984b62e"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Nov 22 11:12:11 2016 -0500"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Dec 01 10:59:47 2016 -0500"
      },
      "message": "Listener in createNotificationChannel\n\nNecessary for when this will eventually trigger an Activity.\nNew unit test file for NotificationServiceManager.\n\nTest: runtest systemui-notification (cts tests in separate CL)\nChange-Id: I8f3e8e34ddcebb1acb9ddd84bffc68affb4b6e89\n"
    },
    {
      "commit": "df09da04be98bd053ddcf7818c0893ca08fa041a",
      "tree": "d95b11125418b27933d51f6aef1d9f60c2d2edaa",
      "parents": [
        "0d471e614bd32254b08286851ffe8045921081fa",
        "a629c772f4a7a5ddf7ff9f78fb19f7ab86c2a9c2"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Thu Dec 01 14:07:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 14:07:38 2016 +0000"
      },
      "message": "Merge \"Prevent writing to FRP partition during factory reset.\""
    },
    {
      "commit": "3db81ae38d942831057960347e4bc0d297b85127",
      "tree": "71586c065429588e09ee8df81fa0ab3d6d68b286",
      "parents": [
        "52a0daed892cf1fe95a034b0a41f1b8f529526ba",
        "700c6ae74813182ec5cc1423911526197b5cf2a9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 11:52:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 11:52:05 2016 +0000"
      },
      "message": "Merge \"Revise when to throw SecurityException in bindDeviceAdminServiceAsUser\""
    },
    {
      "commit": "a629c772f4a7a5ddf7ff9f78fb19f7ab86c2a9c2",
      "tree": "4a74d78282b5663b00acd0c83141f9cfc5b39df1",
      "parents": [
        "9276b0adfbe1948af67443ce60a49b25cb0f2bfb"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Thu Nov 24 14:05:00 2016 +0000"
      },
      "committer": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Thu Dec 01 09:30:45 2016 +0000"
      },
      "message": "Prevent writing to FRP partition during factory reset.\n\nAvoid potential race condition between FRP wipe and write operations\nduring factory reset by making the FRP partition unwritable after\nwipe.\n\nBug: 30352311\nTest: manual\nChange-Id: If3f024a1611366c0677a996705724458094fcfad\n"
    },
    {
      "commit": "e1cc01087a63210182f0d94f1cb3e8da833a1107",
      "tree": "9eb17011c42207c8d16211b42663c33742495521",
      "parents": [
        "9893740dbcadd2fb86dc4c2e200b3c17b62995c8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Dec 01 06:00:38 2016 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Dec 01 06:00:38 2016 +0000"
      },
      "message": "Revert \"LightService: don\u0027t use implicit cast of Return\u003c*\u003e\"\n\nThis reverts commit 9893740dbcadd2fb86dc4c2e200b3c17b62995c8.\n\nReason for revert: \u003cINSERT REASONING HERE\u003e\n\nChange-Id: Ib522886cb5007a2cab5bcf43643e29207fa8ea1b\n"
    },
    {
      "commit": "86e50186b2e26ddd3ba56f880e22104b24176b1a",
      "tree": "8524ab43ee3ff4b4a98b08cd39dd8656c9a08c97",
      "parents": [
        "fb0cd672645725b84dedbad8868dded57ac0ab6a",
        "f94016d91b1001b7575a7063934ec47edefb79a9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 02:47:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 02:47:10 2016 +0000"
      },
      "message": "Merge \"Start sensor service in a seperate thread\""
    },
    {
      "commit": "fb0cd672645725b84dedbad8868dded57ac0ab6a",
      "tree": "806e26a2b9d85c4dd3fa4c61a7be2a9bd3ece205",
      "parents": [
        "b059a0826d8769ed5c5fc5e40220289b28d709af",
        "f9f477454e0fb1f87847006823303ad30780282a"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Dec 01 02:31:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 02:31:36 2016 +0000"
      },
      "message": "Merge \"Refactor NetworkScoreAppManager for testing.\" am: 3af97482f1 am: a8fc97d2de am: d136025272\nam: f9f477454e\n\nChange-Id: Ied1038387d5be28a4d723b71dc633ed035125c1b\n"
    },
    {
      "commit": "f9f477454e0fb1f87847006823303ad30780282a",
      "tree": "e7158324e49b5552b9cd0f7100498df0d6740f17",
      "parents": [
        "efc08be01782dda7c4ebd00b53089c7a4a48f126",
        "d136025272346924148da598a688e98dc2e094e9"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Dec 01 02:26:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 02:26:50 2016 +0000"
      },
      "message": "Merge \"Refactor NetworkScoreAppManager for testing.\" am: 3af97482f1 am: a8fc97d2de\nam: d136025272\n\nChange-Id: I2190eb09039d7abc51d4752c410d1d38e220564b\n"
    },
    {
      "commit": "d136025272346924148da598a688e98dc2e094e9",
      "tree": "a7c5001b9394fb7fab11dfff839c2d6813e7b674",
      "parents": [
        "85387e3357e00a1836ee2d1de055dda5550a1468",
        "a8fc97d2de89bb3be7a9b2fdfe71884f418484a3"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Dec 01 02:21:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 02:21:03 2016 +0000"
      },
      "message": "Merge \"Refactor NetworkScoreAppManager for testing.\" am: 3af97482f1\nam: a8fc97d2de\n\nChange-Id: I34ed2f31eaa1336990c941ee63eea0c1ddbc305c\n"
    },
    {
      "commit": "f6e6213b3238bcfa5ed460c0d679cf805d65b07b",
      "tree": "6e2696390af9e3e3d02b101cf69cfc41ae80c7df",
      "parents": [
        "3a561b4baea326a791e42baa26651983842c5cfd",
        "9893740dbcadd2fb86dc4c2e200b3c17b62995c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 02:11:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 02:11:30 2016 +0000"
      },
      "message": "Merge \"LightService: don\u0027t use implicit cast of Return\u003c*\u003e\""
    },
    {
      "commit": "a8fc97d2de89bb3be7a9b2fdfe71884f418484a3",
      "tree": "5981b38f86cf03f54facaa631aa3b2cb289ee191",
      "parents": [
        "c07a430722675886991cc00efcd5273561a92583",
        "3af97482f1319a1470d725d8352c28ce1dbe3669"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Dec 01 02:10:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 02:10:55 2016 +0000"
      },
      "message": "Merge \"Refactor NetworkScoreAppManager for testing.\"\nam: 3af97482f1\n\nChange-Id: I99537b7841021704c162db6b8fe3d472ede1e991\n"
    },
    {
      "commit": "cf952e74b0079f3ff0b8cf5351bbf1bebfb06617",
      "tree": "287d1260bdbf2d23bdbd1d7c17fd486b5d66348c",
      "parents": [
        "8a5a950ac0f8590342b587f7f265e858139efb96",
        "9a21708ec64c92e8c0b08061f1548b202bf42eb8"
      ],
      "author": {
        "name": "Mark Renouf",
        "email": "mrenouf@google.com",
        "time": "Thu Dec 01 01:41:56 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 01:41:56 2016 +0000"
      },
      "message": "Allow power button to close an input method am: d28e907183 am: 8da4ced46c\nam: 9a21708ec6\n\nChange-Id: I63d939d4dbd889cbd6f83ef101d817ccd561d707\n"
    },
    {
      "commit": "9a21708ec64c92e8c0b08061f1548b202bf42eb8",
      "tree": "0befde2e0a0f3522200352dc8d5e3ec2d573183b",
      "parents": [
        "8c6429cb3ee690c5f9303684874c2b57ac969172",
        "8da4ced46c8a8ac67dd43f8178b6c8d28d73a64a"
      ],
      "author": {
        "name": "Mark Renouf",
        "email": "mrenouf@google.com",
        "time": "Thu Dec 01 01:34:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 01:34:33 2016 +0000"
      },
      "message": "Allow power button to close an input method am: d28e907183\nam: 8da4ced46c\n\nChange-Id: Id6ab4bd72f1516f29900c12af31a097047e8b7fd\n"
    },
    {
      "commit": "8da4ced46c8a8ac67dd43f8178b6c8d28d73a64a",
      "tree": "295b63e582a4970a57202076bb25686737d0c2b0",
      "parents": [
        "85b63db42af0f6bf196da8c08eacbfe763932ce4",
        "d28e907183fe48afc1ea0cb4f939b738cbcc2506"
      ],
      "author": {
        "name": "Mark Renouf",
        "email": "mrenouf@google.com",
        "time": "Thu Dec 01 01:29:11 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 01:29:11 2016 +0000"
      },
      "message": "Allow power button to close an input method\nam: d28e907183\n\nChange-Id: I0324d14bde85e3461d0fe605f3b83496b25b9c75\n"
    },
    {
      "commit": "f94016d91b1001b7575a7063934ec47edefb79a9",
      "tree": "abcbb636f802cdcae68979221955b457f0043562",
      "parents": [
        "d61cc80acac3441826707422423d5881522d8d32"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Nov 29 11:53:53 2016 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 30 16:38:52 2016 -0800"
      },
      "message": "Start sensor service in a seperate thread\n\nStartSensorService is taking ~141.8ms on marlin to start\nWith this CL, StartSensor will be done in a seperate\nthread so the SystemServer can continue booting\n\nBug: 33199244\nTest: on marlin\nChange-Id: I9e486d61e85072d5cbe69b1671c8fbfeca9c2200\n"
    },
    {
      "commit": "aef8b7186b175429edfe4fb1b384df56917f5917",
      "tree": "740313f21903ed0d9bdb7995dbd852ffe7dc8c33",
      "parents": [
        "eb909ee096183c2d9ffce75134d562867430550c",
        "eaff181b53c1609d9a4fc3e8b49962b56bea1f61"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 01 00:27:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 00:27:27 2016 +0000"
      },
      "message": "Merge \"Fix MSIM issue of broadcast intent overwritten unintentionally\" am: fbb48bcecd am: 2b5a69cb6f am: 32a369305c\nam: eaff181b53\n\nChange-Id: Iad782cbb20e16b90d084e8bcab14928520d6af7d\n"
    },
    {
      "commit": "eaff181b53c1609d9a4fc3e8b49962b56bea1f61",
      "tree": "427f82971afefc1f88461ef86f318276b671b018",
      "parents": [
        "729a5ae51190ce1ddb6d76d1cd0c5dfaead89f3c",
        "32a369305c447d444c02ca7e2738577862515435"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 01 00:12:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 00:12:49 2016 +0000"
      },
      "message": "Merge \"Fix MSIM issue of broadcast intent overwritten unintentionally\" am: fbb48bcecd am: 2b5a69cb6f\nam: 32a369305c\n\nChange-Id: I2da73f326300b5aff155f2ef498bac409ceaeeea\n"
    },
    {
      "commit": "32a369305c447d444c02ca7e2738577862515435",
      "tree": "f6bc89fcc07cf050a79d5ca96d3e72dfef9b17ea",
      "parents": [
        "64a8a387a4b564e97da624890da247b03037a782",
        "2b5a69cb6ffaf9cbd12dfbb4fbaf2f700479a54f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 01 00:08:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 00:08:14 2016 +0000"
      },
      "message": "Merge \"Fix MSIM issue of broadcast intent overwritten unintentionally\" am: fbb48bcecd\nam: 2b5a69cb6f\n\nChange-Id: I62d7899969aa8fcc1d5c8e566fb41825fd85e8ee\n"
    },
    {
      "commit": "2b5a69cb6ffaf9cbd12dfbb4fbaf2f700479a54f",
      "tree": "544342816e79e6189d71717b59357fa2ff6f22e9",
      "parents": [
        "8fabfd639e1a32965662502157fd4d914b01be96",
        "fbb48bcecd5486e40794fab7f29853df03d11cfe"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 01 00:01:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 01 00:01:04 2016 +0000"
      },
      "message": "Merge \"Fix MSIM issue of broadcast intent overwritten unintentionally\"\nam: fbb48bcecd\n\nChange-Id: I7a1c9a20e5f4f9f051926294650fcf9d486d4703\n"
    },
    {
      "commit": "23ec811266fb728cf159a90ce4882b3c9bac1887",
      "tree": "ff6cfc1c1498b6692b2641b970605275806b0189",
      "parents": [
        "5ba211a6b88adadb81e7cab4c47253c30e715005"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 16:07:00 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 16:07:00 2016 -0700"
      },
      "message": "Retain DownloadManager Uri grants when clearing.\n\nAs part of fixing a recent security issue, DownloadManager now needs\nto issue Uri permission grants for all downloads.  However, if an app\nthat requested a download is upgraded or otherwise force-stopped,\nthe required permission grants are removed.\n\nWe could tell DownloadManager about the app being stopped, but that\nwould be racy (due to background broadcast), and waking it up would\ndegrade system health.  Instead, as a special case we now only\nconsider clearing DownloadManager permission grants when app data\nis being cleared.\n\nBug: 32172542, 30537115\nTest: builds, boots, app upgrade doesn\u0027t clear grants\nChange-Id: I7e3d4546fd12bfe5f81b9fb9857ece58d574a6b9\n"
    },
    {
      "commit": "42bb160818776e13ee147abf3a1f388bb4fcbe6b",
      "tree": "cda2cc05331e67ced3bb79a2c1afbe867bdc0a5c",
      "parents": [
        "c9641df767db9fa98187e3c5898e188810838ba6",
        "7ff418d9a9afb9ecf42f87fffd3e65477decb55e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Nov 30 23:04:15 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 23:04:17 2016 +0000"
      },
      "message": "Merge \"Grant MMS Uri permissions as the calling UID.\""
    },
    {
      "commit": "7e88808cd56677bfb605b9a50fc72942678dc5a9",
      "tree": "e54edf328febd36aec58ed881f2a69e42e7ae31c",
      "parents": [
        "762cbc339a7ad917870ee7dfc8b34ea742f2d026",
        "60d4248fdccacd725aeaceb5aa93e624a94ff18b"
      ],
      "author": {
        "name": "vinodkrishnan",
        "email": "vinodkrishnan@google.com",
        "time": "Wed Nov 30 22:01:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 22:01:52 2016 +0000"
      },
      "message": "Revert \"DO NOT MERGE Wear Fwk: Disable Animations for A11y\" am: 7b62df8556\nam: 60d4248fdc\n\nChange-Id: Ia9d1ffc4b2d37b8a27173dccbb4e1cb518e8f712\n"
    },
    {
      "commit": "aa09aa02103954735b432fa3f7c41ee235bac9fd",
      "tree": "a5e7b866135c616732a5c7ffe5efa096a91c8201",
      "parents": [
        "273adb5257984fb4dd06753329bbd0d4ddc48ebe"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Mon Nov 21 17:27:53 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Nov 30 13:52:43 2016 -0800"
      },
      "message": "Refactor NetworkScoreAppManager for testing.\n\nTest: runtest frameworks-services \u0026\u0026 runtest frameworks-core\nChange-Id: Ie2172009e9ba0438050488fe0aea6408f852c2c2\n"
    },
    {
      "commit": "afd52a7ad42d36e04cfc2a1d3d1e717d4a58169d",
      "tree": "60be0e1ec662c6c632f65e317f747cb52272eb3b",
      "parents": [
        "1c92763087c26567a49f02f735d5dcb529343d75",
        "7b62df8556ff6febd8137b9a8bcd755b1f93a1f9"
      ],
      "author": {
        "name": "vinodkrishnan",
        "email": "vinodkrishnan@google.com",
        "time": "Wed Nov 30 21:52:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 21:52:13 2016 +0000"
      },
      "message": "Revert \"DO NOT MERGE Wear Fwk: Disable Animations for A11y\"\nam: 7b62df8556\n\nChange-Id: I7c8d922fb125bf786990642679ebdd17ba589a54\n"
    },
    {
      "commit": "60d4248fdccacd725aeaceb5aa93e624a94ff18b",
      "tree": "23d7c6b5726e84907c8121919b0bd8a07bffed59",
      "parents": [
        "d1b7d3262bdea00d20b1d8019eea54a45de85bce",
        "7b62df8556ff6febd8137b9a8bcd755b1f93a1f9"
      ],
      "author": {
        "name": "vinodkrishnan",
        "email": "vinodkrishnan@google.com",
        "time": "Wed Nov 30 21:52:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 21:52:05 2016 +0000"
      },
      "message": "Revert \"DO NOT MERGE Wear Fwk: Disable Animations for A11y\"\nam: 7b62df8556\n\nChange-Id: Iec37684da3fa447d55498e6c8302fb229fa28373\n"
    },
    {
      "commit": "7ff418d9a9afb9ecf42f87fffd3e65477decb55e",
      "tree": "3d176ba4986e3db0ae3e35e99e8606e420f8d702",
      "parents": [
        "589f309909672dd0a0fe598f489f6400d889cc3f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 14:29:59 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 14:30:02 2016 -0700"
      },
      "message": "Grant MMS Uri permissions as the calling UID.\n\nA recent security fix prevents the system UID from handing out Uri\npermission grants directly from itself.  Instead, services need to\nissue grants as the original calling UID to ensure that the caller\nactually has access to the Uris.\n\nTest: builds, boots, send/recv MMS works in primary/secondary users\nBug: 33231106\nChange-Id: Ia9fe19843b52977c8a94ee5349b907beda1882fc\n"
    },
    {
      "commit": "0d1fd8d09163566d2c7eb72037f63b6404ada642",
      "tree": "2ddb1c58add6e3c1cb44ce95541da7c83018eda0",
      "parents": [
        "c1e6a12ab54926a4ef88880766492f18efc86f2c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Oct 12 14:21:51 2016 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 30 13:24:53 2016 -0800"
      },
      "message": "Secure MATCH_UNINSTALLED_PACKAGES across users\n\nIntroduce a new internal flag MATCH_ANY_USER for genuine uses\nof searching through all apps on the device.\n\nSome temporary accommodations for Launchers that reach across\nto the work profile until we have a new LauncherApps API to do\nthat officially.\n\nBug: 31000380\nTest: CTS tests added\nChange-Id: I2e43dc49d6c2e11814a8f8d1eb07ef557f31af34\n"
    },
    {
      "commit": "d28e907183fe48afc1ea0cb4f939b738cbcc2506",
      "tree": "0acf898a6f14f58af38841c3bd97346d6146c3ff",
      "parents": [
        "492f5263a44bc5125140ab9a7cabdb8626435eca"
      ],
      "author": {
        "name": "Mark Renouf",
        "email": "mrenouf@google.com",
        "time": "Tue Nov 29 14:41:50 2016 -0500"
      },
      "committer": {
        "name": "Mark Renouf",
        "email": "mrenouf@google.com",
        "time": "Wed Nov 30 16:01:42 2016 -0500"
      },
      "message": "Allow power button to close an input method\n\nBUG: 33038203\nChange-Id: I5c44dc49db6b960b4e3e42545bfbbab62f357f08\n"
    },
    {
      "commit": "7b62df8556ff6febd8137b9a8bcd755b1f93a1f9",
      "tree": "d485e345cd5d72385597eb5061caa6431843719b",
      "parents": [
        "8500f26d51e2ba0de7b6cd18bec5f85e5ca40e1d"
      ],
      "author": {
        "name": "vinodkrishnan",
        "email": "vinodkrishnan@google.com",
        "time": "Wed Nov 30 20:09:59 2016 +0000"
      },
      "committer": {
        "name": "vinodkrishnan",
        "email": "vinodkrishnan@google.com",
        "time": "Wed Nov 30 20:09:59 2016 +0000"
      },
      "message": "Revert \"DO NOT MERGE Wear Fwk: Disable Animations for A11y\"\n\nThis reverts commit 8500f26d51e2ba0de7b6cd18bec5f85e5ca40e1d.\n\nChange-Id: I6408fa3f307d7611443e26b24d3876c1a1f92fdc\n"
    },
    {
      "commit": "fbb48bcecd5486e40794fab7f29853df03d11cfe",
      "tree": "b8c043d5a89fc88215cea43f4322b97828ba52c8",
      "parents": [
        "4134ccb2145b3a4eb6b1027a487e01795d855d31",
        "941b7ec4389d69a920e260abdda791f0def1fa52"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 30 19:47:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 19:47:23 2016 +0000"
      },
      "message": "Merge \"Fix MSIM issue of broadcast intent overwritten unintentionally\""
    },
    {
      "commit": "325fa50d8df2927c38c17e903e71c2d45213c9e3",
      "tree": "08469335746c232ad8623ffbf24c6844ea81666d",
      "parents": [
        "fd4f73c76c867e572f5a48b5516fb1f20959caf8",
        "365a3db47001c1298fd01146e866997a9cbc3c8c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 19:25:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 19:25:33 2016 +0000"
      },
      "message": "Merge \"Allow setting managing organization for the device\""
    },
    {
      "commit": "fd4f73c76c867e572f5a48b5516fb1f20959caf8",
      "tree": "aafd18fc421bd9ea3697c4dda69d54528fb099a8",
      "parents": [
        "d61cc80acac3441826707422423d5881522d8d32",
        "d072d1415452abffd55a5742e3fef5abdaadf791"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Nov 30 18:50:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 18:50:11 2016 +0000"
      },
      "message": "Merge \"Support disabled/log/enforce in ro.control_privapp_permissions\""
    },
    {
      "commit": "365a3db47001c1298fd01146e866997a9cbc3c8c",
      "tree": "d474c531608f6449f02503e7a2d726c5a567ef88",
      "parents": [
        "0f10b2f1643054644006031ee505b43fb063e4af"
      ],
      "author": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Wed Nov 30 18:28:10 2016 +0100"
      },
      "committer": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Wed Nov 30 18:28:10 2016 +0100"
      },
      "message": "Allow setting managing organization for the device\n\nThe Profile Owner of a managed profile can set a string that will be\nshown in the UI to identify the organization managing the profile.\nThis CL extends the functionality to the Device Owner of a managed\ndevice.\n\nBug: 32692748\nTest: DevicePolicyManagerTest unit test + CTS test in separate CL\n\nChange-Id: I47295da2fd6485ebf0e890da13990a044accaf17\n"
    },
    {
      "commit": "c2b7fba6aa26d4a70710d1571b3af9857b61d83b",
      "tree": "475542e3329f6978d12918ef92cedb394442985d",
      "parents": [
        "a275351745864e35bd189a351e95f9315f809b6e",
        "32c97ef3c8efae999f68664320fa1200ff435f12"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Nov 30 15:09:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 15:09:35 2016 +0000"
      },
      "message": "Merge \"Blocked packages can\u0027t create channels.\""
    },
    {
      "commit": "a275351745864e35bd189a351e95f9315f809b6e",
      "tree": "b3c6afc22813ae8178a0c46bc362a67f341ae8f3",
      "parents": [
        "d8d70fafb18fcb8453aae4982dfb625e6ae281bd",
        "f57de46d0b16fea790dc29062bf5e47cf63bae3e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Nov 30 15:08:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 15:08:13 2016 +0000"
      },
      "message": "Merge \"Allow apps to set vibrations pattern for channels\""
    },
    {
      "commit": "700c6ae74813182ec5cc1423911526197b5cf2a9",
      "tree": "f5366d00a1b53b056744c3eda19aaf0123ae3bf1",
      "parents": [
        "6b92a910e159b4f2f0b364e6df8dc491f5ee317f"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Nov 30 14:59:39 2016 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Nov 30 14:59:39 2016 +0000"
      },
      "message": "Revise when to throw SecurityException in bindDeviceAdminServiceAsUser\n\n1. No longer throw SecurityException when we fail to resolve the intent.\n   Return false instead.\n\n2. Throw IllegalArgumentException early if the incoming intent is not\n   explicit.\n\n3. Throw SecurityException with different error message. It makes debug\n   easier and allows tests to verify a particular thing happened.\n\nBug: 33197200\n\nTest: cts-tradefed run cts --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerPlusManagedProfileTest\n\nChange-Id: I723ab7f434c10407aa4e7dc8e9a6e3e9bb9f2059\n"
    },
    {
      "commit": "dd7f8dafd862fa1a6132b37b47f1b160a4065a9e",
      "tree": "c5fbb27f488147039f84e8149a293fa585d509ff",
      "parents": [
        "9f9e453b649b3507e25049c94990717dc92b269e"
      ],
      "author": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Wed Nov 30 11:09:22 2016 +0100"
      },
      "committer": {
        "name": "Bartosz Fabianowski",
        "email": "bartfab@google.com",
        "time": "Wed Nov 30 11:09:22 2016 +0100"
      },
      "message": "Allow DO to access DevicePolicyManager.isDeviceManaged()\n\nThis CL makes DPM.isDeviceManaged() accessible to the DO so that it\ncan be CTS-tested.\n\nBug: 32692748\nTest: Device policy manager unit test + CTS \u0026 GTS in separate CLs\n\nChange-Id: I5326e86b0ffee81d04bd48f0267044463a899b78\n"
    },
    {
      "commit": "9f9e453b649b3507e25049c94990717dc92b269e",
      "tree": "79402f868eef5ba74c64da756d0b0f7f8af49614",
      "parents": [
        "13b590bc5b6afadfb60ae7dc6770378ba6e0319b",
        "2f26b79eea905f88c872804be01431020e4efb2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 09:58:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 09:58:11 2016 +0000"
      },
      "message": "Merge \"Unit test for getBindDeviceAdminTargetUsers\""
    },
    {
      "commit": "13b590bc5b6afadfb60ae7dc6770378ba6e0319b",
      "tree": "9cfc3b720d7b42f2db48069cd6ac7f065545c06d",
      "parents": [
        "bece7278d3d53b79968816f50eb231a1f8a3d39a",
        "835932f4c56039f04c64098356d69c5b17f48597"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Wed Nov 30 09:30:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 09:30:08 2016 +0000"
      },
      "message": "Merge \"Fix batterySendBroadcast not synchronized issue.\" am: 32e756a4bc am: 15df815e1e am: e5a3ad23fd\nam: 835932f4c5\n\nChange-Id: I0e23e30c6f5f29b6df50ec9dab0707c3ce73bfb4\n"
    },
    {
      "commit": "835932f4c56039f04c64098356d69c5b17f48597",
      "tree": "9454c61c620df864647d079d97810213149f0536",
      "parents": [
        "d644b89a35dbc8f3cea5cb5b9a2bef042833ae68",
        "e5a3ad23fd4d6aa1c7c93cf284f038bccabb6309"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Wed Nov 30 09:24:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 09:24:30 2016 +0000"
      },
      "message": "Merge \"Fix batterySendBroadcast not synchronized issue.\" am: 32e756a4bc am: 15df815e1e\nam: e5a3ad23fd\n\nChange-Id: I5c95a68b758730839309d9c7fde0ecc6415b3f83\n"
    },
    {
      "commit": "e5a3ad23fd4d6aa1c7c93cf284f038bccabb6309",
      "tree": "88c952e13551017f9fdcb389c3da645df269e87b",
      "parents": [
        "f3eef9a28641f2e2c717410b50f51cfdc222c7b6",
        "15df815e1e3f38e60deed5e1c1678710e41491bb"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Wed Nov 30 09:19:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 09:19:26 2016 +0000"
      },
      "message": "Merge \"Fix batterySendBroadcast not synchronized issue.\" am: 32e756a4bc\nam: 15df815e1e\n\nChange-Id: I51d74fee535d916c1c160d5e1fb68c350e6e4ef7\n"
    },
    {
      "commit": "15df815e1e3f38e60deed5e1c1678710e41491bb",
      "tree": "2b3a0416fb62c496c26c5530d96afadf395dda9a",
      "parents": [
        "b9d8535a2165cccf070bc8de132c457a92dbb830",
        "32e756a4bcb5e98869a13c5c748c47b294c1e363"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Wed Nov 30 09:14:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 09:14:31 2016 +0000"
      },
      "message": "Merge \"Fix batterySendBroadcast not synchronized issue.\"\nam: 32e756a4bc\n\nChange-Id: Ieab665e92bdb17c449c82de66604fbef5688de17\n"
    },
    {
      "commit": "32e756a4bcb5e98869a13c5c748c47b294c1e363",
      "tree": "f1555128afed249ba246e39893ea670c51f7ddf0",
      "parents": [
        "56ddac7fd71c228616abc8d536104e3d7ade2e7d",
        "bce711ea0e1bdf1fe0b68715a63421973534a5b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 07:59:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 07:59:55 2016 +0000"
      },
      "message": "Merge \"Fix batterySendBroadcast not synchronized issue.\""
    },
    {
      "commit": "3bf738edf0788a921699e45f37a12f090403ab60",
      "tree": "148c2d25711192f75994ed690e43526e839dc60a",
      "parents": [
        "88fd91cc8093e14ca72edab6f8d9d00233a7e7c1",
        "ca007a6284d487bc560e62a7dd5ebe04334cb6c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 04:33:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 04:33:39 2016 +0000"
      },
      "message": "Merge \"Check if the display is attached when updating config\""
    },
    {
      "commit": "9d6bb6929a3b894825f38df5e1c992980d7d2d7c",
      "tree": "e3ff593567707ada99dffacc241320afbaaba63b",
      "parents": [
        "a9b85deae7ecf140b6401a4dfdac5b7ebff6a578",
        "32a0b7351e6564f6724469a3475ceae1e0a0ea0b"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Wed Nov 30 03:33:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 03:33:28 2016 +0000"
      },
      "message": "DO NOT MERGE: Properly set FLAG_ACTIVITY_BROUGHT_TO_FRONT for onNewIntent() callback am: f73d085395\nam: 32a0b7351e\n\nChange-Id: Ie152811b2de678c1785af61375a79a728616b034\n"
    },
    {
      "commit": "32a0b7351e6564f6724469a3475ceae1e0a0ea0b",
      "tree": "3bcfebb612588e560253672f5d8c22566a1a2c6d",
      "parents": [
        "04cbf97d38a7c1297c66204482e36a2bef312d34",
        "f73d0853953198945b905695c93e562209a861c5"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Wed Nov 30 03:28:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 03:28:37 2016 +0000"
      },
      "message": "DO NOT MERGE: Properly set FLAG_ACTIVITY_BROUGHT_TO_FRONT for onNewIntent() callback\nam: f73d085395\n\nChange-Id: I6d17a74e4030e20b7a08516d0b4ec90e31930c66\n"
    },
    {
      "commit": "c2ca17711eee2c4b524bf30971bd368a30fabeae",
      "tree": "bfcf479e5b6233d631598dbf41400f64bf4d9996",
      "parents": [
        "3a122d10fac6b4278ec9cab30509628b564c9807",
        "f73d0853953198945b905695c93e562209a861c5"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Wed Nov 30 03:28:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 30 03:28:34 2016 +0000"
      },
      "message": "DO NOT MERGE: Properly set FLAG_ACTIVITY_BROUGHT_TO_FRONT for onNewIntent() callback\nam: f73d085395\n\nChange-Id: I9cee73a7146ff97dcc7f82447f06281f71bc2466\n"
    },
    {
      "commit": "d072d1415452abffd55a5742e3fef5abdaadf791",
      "tree": "4adb18bd02931b69a7de4120854d12c86b218ddd",
      "parents": [
        "6fc01e0483969c29470fc94045302be19a1c3ceb"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Nov 29 16:16:41 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Nov 29 17:20:00 2016 -0800"
      },
      "message": "Support disabled/log/enforce in ro.control_privapp_permissions\n\nPossible values:\n - disable - the feature is completely disabled - signature|privileged\n   permissions are granted automatically without logging. Default behavior\n - log - log grants of signature|privileged permissions to privileged apps\n   that were not whitelisted in /etc/permissions/privapp-permissions.xml.\n - enforce - enforce that only whitelisted permissions are granted.\n   Only devices with ro.control_privapp_permission\u003denforce will pass CTS tests.\n\nTest: Manual - device boots, permissions are granted\nBug:31008485\nChange-Id: I24e0c75d2efc326c9fbec35efc92489313667212\n"
    },
    {
      "commit": "e16a8abd7c6cdfbb220709e9775ddb25ca10389c",
      "tree": "98956240f1e1c4bfb439dccdb012a02b7ee15d63",
      "parents": [
        "84884684feb33086faf82bee14579989379d08ee"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Nov 29 13:47:55 2016 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Nov 29 16:37:16 2016 -0800"
      },
      "message": "Don\u0027t tie ephemeral resolver/installer\n\nThe ephemeral resolver and installer can now be added at separate\ntimes. It will be possible to replace the installer dynamically.\n\nBug: 33073532\nTest: Manual. Verify the installer and resolver are set correctly with different configurations.\nChange-Id: I8071de8c5baadd03c9eb3e756ed7445d2116d51f\n"
    },
    {
      "commit": "84884684feb33086faf82bee14579989379d08ee",
      "tree": "cb12f606b75cf09aca4950b1e048eeadaa05afb9",
      "parents": [
        "7cea0a05e59f44c817996bcae4ffb7ff868857c8",
        "fbbde85b045dde25450ce5cef075934102e28339"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 00:24:12 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 00:24:16 2016 +0000"
      },
      "message": "Merge \"Some cleanups for window cropping functionality.\""
    },
    {
      "commit": "7cea0a05e59f44c817996bcae4ffb7ff868857c8",
      "tree": "1f4cab347bab463e6c00511980d3ad5a5fb975b7",
      "parents": [
        "36f97300ac462dcf78d225e1db03745bd6246bf0",
        "049c718684bbddb7e0d2fd365b52abc170dec138"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Wed Nov 30 00:23:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 00:23:05 2016 +0000"
      },
      "message": "Merge \"Exit accessory mode after debounce timeout when necessary\""
    },
    {
      "commit": "36f97300ac462dcf78d225e1db03745bd6246bf0",
      "tree": "6f2105d0ab3a5970234cba006168f409286c3ab3",
      "parents": [
        "2683dd13aa3222c9cc913950e1391933405c26e7",
        "08a04878b0d6ed4c661330751ac253c0b18ef537"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 30 00:14:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 00:14:35 2016 +0000"
      },
      "message": "Merge \"Require INSTALL_PACKAGES permission\""
    },
    {
      "commit": "f73d0853953198945b905695c93e562209a861c5",
      "tree": "d5c49fc789cf67d607c93e1612bd662fd4969a2a",
      "parents": [
        "d841ee9c81638c1c9f93bbb9f94c468361623c2d"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Tue Nov 22 15:13:35 2016 -0800"
      },
      "committer": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Wed Nov 30 00:00:15 2016 +0000"
      },
      "message": "DO NOT MERGE: Properly set FLAG_ACTIVITY_BROUGHT_TO_FRONT for onNewIntent() callback\n\nIt looks like there was a regression where #onNewIntent() was called\nbefore the FLAG_ACTIVITY_BROUGHT_TO_FRONT flag was set.  This\nchange updates the code so we set the flag properly.\n\nBUG: 33034247\nChange-Id: I61959a289dc5af14ee9d3d7bfa213191238efc88\n"
    },
    {
      "commit": "9893740dbcadd2fb86dc4c2e200b3c17b62995c8",
      "tree": "80473bce565a6e2c0ab3b149a66b59987ec5eea9",
      "parents": [
        "73c3bb1380679390259978ec79e7a0686d020581"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 29 15:48:59 2016 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Nov 29 15:48:59 2016 -0800"
      },
      "message": "LightService: don\u0027t use implicit cast of Return\u003c*\u003e\n\nTest: pass\nBug: 31348667\nChange-Id: I9881bf1235bb775d92c119f1889d924aa4b0d292\n"
    },
    {
      "commit": "fbbde85b045dde25450ce5cef075934102e28339",
      "tree": "a1ebc9aab303da12d1e943cb3e15d8bbf0b14931",
      "parents": [
        "6c1fbdfea76cfc1f7431b305469965351ed80d41"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Oct 18 11:02:28 2016 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Nov 29 13:15:48 2016 -0800"
      },
      "message": "Some cleanups for window cropping functionality.\n\nAt a high level I had two sorts of goals:\n\n1. To remove the weird pinned logic in setSurfaceBoundariesLocked\n2. To seperate base crop calculation, and animation exceptions, between\n   window state and window state animator.\n\nItemized changes are as follows:\n\n1. Rename updateSurfaceWindowCrop and calculateSurfaceWindowCrop to\n   applyCrop/calculateCrop. It doesn\u0027t feel that \"SurfaceWindow\" was\n   adding much.\n2. Split screen space and window space (final v non) clip rect\n   computation, to make clarity about when each one should be used.\n3. Eliminate weird case for pinned stack in setSurfaceBoundaries by\n   building it in to calculateFinalClipRect.\n4. Extract calculateSystemDecorRect to WindowState as it mostly accesses\n   window members.\n5. Extract part of calculateCrop to WindowState as\n   \"calculatePolicyCrop\". This was the part that fills mSystemDecorRect.\n6. Extract wallpaper animation logic outside of calculatePolicyCrop\n\nTest: bit FrameworksServicesTests:com.android.server.wm.WindowFrameTests\nChange-Id: I8ff1dc6ec1206a34994f50ba44d765ab619efbff\n"
    },
    {
      "commit": "58feeac96b585867195444ce6c2dd794abe61869",
      "tree": "f453353c8578f5fe0c4262519db1a42209ddbeb8",
      "parents": [
        "8fc495ed94e989c5f42c5b088c6cba5f41e71feb",
        "02c8990bd6125f05cb32561727d559dc9327a601"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Tue Nov 29 20:12:12 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 20:12:17 2016 +0000"
      },
      "message": "Merge \"Allow overriding max profile in debugable builds.\""
    },
    {
      "commit": "049c718684bbddb7e0d2fd365b52abc170dec138",
      "tree": "63269dee29d223ad07e6be16183ccc3fb0d718a2",
      "parents": [
        "6a022fe327ef7d95816ea43578275df8486ddc80"
      ],
      "author": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Thu Nov 17 15:14:02 2016 -0800"
      },
      "committer": {
        "name": "David Stevens",
        "email": "stevensd@google.com",
        "time": "Tue Nov 29 12:10:30 2016 -0800"
      },
      "message": "Exit accessory mode after debounce timeout when necessary\n\nChange-Id: I1e7c1f4f31a310ff0369690a25859b33aaed14fc\nFixes: 29377436\nTest: manual testing with 2011 ADK and multiple Android Auto headunits\n"
    },
    {
      "commit": "ca007a6284d487bc560e62a7dd5ebe04334cb6c1",
      "tree": "c4af91a681e5b8df08c10fa256f0ac060b9a9e6c",
      "parents": [
        "6a022fe327ef7d95816ea43578275df8486ddc80"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Nov 22 16:33:28 2016 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Nov 29 12:03:08 2016 -0800"
      },
      "message": "Check if the display is attached when updating config\n\nThe display might not be added yet or be already detached when\nconfig is updated.\n\nBug: 32983305\nTest: android.media.cts.EncodeVirtualDisplayWithCompositionTest\nTest: #testVirtualDisplayRecycles\nChange-Id: I3b0e52e8ebb93a57ab6b0e80c0599db33ce2ae03\n"
    },
    {
      "commit": "6fc01e0483969c29470fc94045302be19a1c3ceb",
      "tree": "db992d0dcd62d6aff64d87985c339e0074600aeb",
      "parents": [
        "0884abb8ffbda8542585c3977dae5088155622ff",
        "0d8f4b75a5f41a3455a28839f0cff481bb6be53f"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Nov 29 17:46:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 17:46:32 2016 +0000"
      },
      "message": "Merge \"Create actions for permission and log revokations\""
    },
    {
      "commit": "b57bd791bf55215110839322ef7c0f72ed915a7b",
      "tree": "d360a6ff822457a8754a2759127cd0a07a5be3ec",
      "parents": [
        "10a9bd905ccba86ac9fe8ef147528b85d9fc6cf3",
        "c9bb378a8b3633bc427dd2439ab4ae8e3b17771a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 16:09:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 16:09:10 2016 +0000"
      },
      "message": "Merge \"Add user affiliation APIs\""
    },
    {
      "commit": "b8660061435baa2d63036aa5720caaf79a82a9d3",
      "tree": "68cd31d89693160b7df60072a577aaf368546c10",
      "parents": [
        "8d86417c8efb88282af8840ff9b26c6d8984b62e",
        "fe9e70db6f45d148658cc847029d6ef19e2c1803"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Tue Nov 29 14:52:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 14:52:49 2016 +0000"
      },
      "message": "Merge \"[AM] Fix system server may killed when monkey crash.\" am: 21ed56daac am: ef4267e53a am: e2ccdd9d93\nam: fe9e70db6f\n\nChange-Id: Ibd65beb3ba4968eac43b2255e8a3ffcb8d6976f9\n"
    },
    {
      "commit": "fe9e70db6f45d148658cc847029d6ef19e2c1803",
      "tree": "f3e270fb1a610f29079449339e1cebac921e9910",
      "parents": [
        "2d4183ffa58df5b14698eb7bb4ed8fc4a65f81bb",
        "e2ccdd9d93f45d371ef57e2c232c425c88f1e952"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Tue Nov 29 14:47:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 14:47:46 2016 +0000"
      },
      "message": "Merge \"[AM] Fix system server may killed when monkey crash.\" am: 21ed56daac am: ef4267e53a\nam: e2ccdd9d93\n\nChange-Id: I4b4194468b08a568963c8dd223d5192ae3041806\n"
    },
    {
      "commit": "e2ccdd9d93f45d371ef57e2c232c425c88f1e952",
      "tree": "00324a83495af84a7ada907b878f8698d2c9568f",
      "parents": [
        "52277efa6cb0a4e87bdcf8b027f16f694f950281",
        "ef4267e53aec6e99fe9b672e94cb20a33dcf20e8"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Tue Nov 29 14:43:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 14:43:17 2016 +0000"
      },
      "message": "Merge \"[AM] Fix system server may killed when monkey crash.\" am: 21ed56daac\nam: ef4267e53a\n\nChange-Id: I829756bc1b6277abd77a86e8e6a0e895bb55db80\n"
    },
    {
      "commit": "ef4267e53aec6e99fe9b672e94cb20a33dcf20e8",
      "tree": "9717536b6ab3e3ee622f3a65d176831caabfda45",
      "parents": [
        "bbb501281e5212a8c0b9420f3bd72d92f3632145",
        "21ed56daacea56274372773ba807a30f00eaac4e"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Tue Nov 29 14:34:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 29 14:34:28 2016 +0000"
      },
      "message": "Merge \"[AM] Fix system server may killed when monkey crash.\"\nam: 21ed56daac\n\nChange-Id: I0a556d253099eab172ac297cb3e799b9095ef853\n"
    },
    {
      "commit": "d25cf04e9880c69d370bab21de0068cec5502267",
      "tree": "8a8ce7f80a548ec4cd1e17e6f535b4ab26d2cb34",
      "parents": [
        "3e68bb5d281d8eddac11ad64b64f8869b068a776",
        "241ae10b2189f449e57d8d660235ac56d8fb1b80"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 14:30:43 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:30:46 2016 +0000"
      },
      "message": "Merge \"Add explicit method to dismiss Keyguard\""
    },
    {
      "commit": "21ed56daacea56274372773ba807a30f00eaac4e",
      "tree": "652607b6456a3646918dbe1e25ecc81409bed4da",
      "parents": [
        "7dda7e1e81a638a63d1266f4cabb912a4a2cc1ec",
        "b5e249963141b2ab00d1a9b5e4b76d5689d64f2e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 14:23:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 29 14:23:03 2016 +0000"
      },
      "message": "Merge \"[AM] Fix system server may killed when monkey crash.\""
    },
    {
      "commit": "02c8990bd6125f05cb32561727d559dc9327a601",
      "tree": "4268f2f3b2a20c517b6f61bca691810a1456c8da",
      "parents": [
        "c66cc5166e1a1c9ee11aa01e56ffa25cd5fa2bc3"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Tue Nov 15 19:36:38 2016 +0000"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Tue Nov 29 14:09:37 2016 +0000"
      },
      "message": "Allow overriding max profile in debugable builds.\n\nSupport a system property on debugable builds to\noverride the max number of managed profiles to\nallow easier dogfooding of multiple profiles.\nSupport 3 different badge colours for managed profiles.\n\nBug: 30473760\nTest: runtest -c com.android.server.pm.UserManagerServiceCreateProfileTest frameworks-services\nTest: runtest -c com.android.server.pm.UserManagerServiceUserInfoTest frameworks-services\nTest: manual - attempting to create 2 profiles with adb fails, passes once I set the property.\nChange-Id: Ie7fb19048a04a01572666f229283152254d0ffc3\n"
    },
    {
      "commit": "3e68bb5d281d8eddac11ad64b64f8869b068a776",
      "tree": "c9a356cc09760a64a5fd82d15acbda30596531bf",
      "parents": [
        "6afa1c78cef24cd2187f4cbf2368dfc41fab76d4",
        "a42938e803b149665f3745574c6c82622b70c0d2"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Nov 29 12:22:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 12:22:34 2016 +0000"
      },
      "message": "Merge \"Execute app transition when start locking task\""
    },
    {
      "commit": "6afa1c78cef24cd2187f4cbf2368dfc41fab76d4",
      "tree": "31cbeaa9d2a2c253d4299cc09bdc6263c2b00e51",
      "parents": [
        "6aef541c52890e655d2633212e13ffb9488f7d3c",
        "57e2f4db3535fb059ac278499018951deddc4c82"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Nov 29 12:22:04 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 12:22:09 2016 +0000"
      },
      "message": "Merge \"Make LockoutResetCallback oneway\""
    },
    {
      "commit": "c9bb378a8b3633bc427dd2439ab4ae8e3b17771a",
      "tree": "9f68f0ebcd4fc51ed3bbdfa7853314d7fb3e6d9b",
      "parents": [
        "cd3672586e1b7233ac4649a4dfa195b24956ccf3"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Nov 11 15:41:14 2016 +0000"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Nov 29 12:15:09 2016 +0000"
      },
      "message": "Add user affiliation APIs\n\nMake setAffiliationIds public so that it can be used for COMP.\nThat way we can allow network logging and other features to\nwork on devices that have a DO and a managed profile.\nThose features are currently restricted to single user devices but we\u0027ll\nopen them up to devices where all users are affiliated.\n\nAlso create a getter for that API.\n\nBug: 32326223\nTest: m FrameworksServicesTests \u0026\u0026\n adb install \\\n   -r ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk \u0026\u0026\n adb shell am instrument -e class com.android.server.devicepolicy.DevicePolicyManagerTest \\\n   -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ie443be887a6ca61a7f7a07e137757dceab7eb3d3\n"
    },
    {
      "commit": "6aef541c52890e655d2633212e13ffb9488f7d3c",
      "tree": "a00c5021e861ccb272f3ee202fd99287f485db28",
      "parents": [
        "69d9aec7c848e3d00d0efae3a6c7cfcde231490b",
        "bdcdeb4cc470130db9ddb7abe7763c2170755e22"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 29 11:56:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 11:56:29 2016 +0000"
      },
      "message": "Merge \"PackageManager: Avoid unnecessary calls to derivePackageAbi during boot scans\""
    },
    {
      "commit": "bdcdeb4cc470130db9ddb7abe7763c2170755e22",
      "tree": "6351069fc869ef6878e2639eab1c43bd2e471c1e",
      "parents": [
        "4aab5717578d52e3bf4db05932813c5b70b31b19"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 22 15:49:07 2016 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Nov 29 10:50:53 2016 +0000"
      },
      "message": "PackageManager: Avoid unnecessary calls to derivePackageAbi during boot scans\n\nIn most cases, we can safely use the values from package settings instead.\nWe do the work when we\u0027re in the middle of an upgrade or the first boot,\nsince we have no choice.\n\nThis saves about 200-400ms on package manager startup on a freshly wiped\ndevice with no app installs. Savings are likely to grow linearly with\nthe number of installed apps.\n\nBug: 22063656\nTest: make + manual testing.\n\nChange-Id: I1b2bdc4df45f334620c1fb94d78276f0095d5ff8\n"
    },
    {
      "commit": "b5e249963141b2ab00d1a9b5e4b76d5689d64f2e",
      "tree": "7ba76cd64fd59b55b4c485274ef6ee1f0859b658",
      "parents": [
        "ba63f32ed588d236da49a513b5fe7c54ae6fb11d"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Mon Nov 21 15:38:13 2016 +0800"
      },
      "committer": {
        "name": "Mark Lu",
        "email": "Mark_Lu@htc.com",
        "time": "Tue Nov 29 06:21:24 2016 +0000"
      },
      "message": "[AM] Fix system server may killed when monkey crash.\n\n Symptom: monkey crash caused system server killed.\n Root Cause: when monkey crash or app crash before process bound,\n        calling AppErrors.crashApplication will first\n        clear binder identities, that will caused calling pid / uid\n        will become with current process (i.e. system server),\n        so in handleAppCrashInActivityController, when monkey registered\n        activityController would like to kill crash process,\n        but not found in AMS (monkey created by app_process)\n        then using calling pid / uid will become to kill system server.\n Solution: add calling pid / uid parameters for\n         handleAppCrashInActivityController to prevent binder identities\n         cleared case.\n\n\n Test: To simulate monkey or app crash before process bound may not easy\n     by using simple command, but we can write a sample program to \n     simulate RuntimeInit to call handleApplicationCrash when met \n     uncauchtException,\n\n    Below is test steps in Android 7.1.1 emulator.\n\n1. start emulator\n2. after emulater started, use \"adb shell am monitor\" to set \n   activityController \u0026 monitor process by console.\n3. write a .jar program as monkey by below sample code to simulate null \n   application binder to call handleApplicationCrash() as RuntimeInit:\n\npackage com.android.test;\n\nimport com.android.internal.os.BaseCommand;\npublic class SimulateMonkeyCrash extends BaseCommand {\n\n    public static void main(String[] args) {\n        IActivityManager am \u003d ActivityManagerNative.getDefault();\n        try {\n            am.handleApplicationCrash(null, \n                 new ApplicationErrorReport.CrashInfo(new Throwable()));\n        } catch (RemoteException e) {\n            e.printStackTrace();\n    }\n}\n\n4. write a .sh file named SimulateMonkeyCrash.sh as below:\n  #\n  base\u003d/system\n  export CLASSPATH\u003d$base/framework/SimulateMonkeyCrash.jar\n  exec app_process $base/bin com.android.test.SimulateMonkeyCrash \"$@\"\n\n5. let .sh file is executable by \"chomod 755\".\n6. push .jar file into /system/framework \u0026 .sh file into /system/bin\n7 execute .sh file.\n8. activityController will detected program crash in console as below, \npress k:\nWaiting after crash...  available commands:\n(c)ontinue: show crash dialog\n(k)ill: immediately kill app\n(q)uit: finish monitoring\n\n9 you can see system server is crash.\n\nChange-Id: Ibac4d88872f24af109d8e8522ecf5ac72fac0ce0\n"
    },
    {
      "commit": "2b14c5eaf61635d1c3a69a2e59faa23cb6b7f7cb",
      "tree": "d0e5ecf97186bb113e05cb45a4f68e0f3f7705b5",
      "parents": [
        "0ec10ac7cf551853272299c6e15bcf37b336e329"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Nov 23 16:28:34 2016 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Nov 29 11:59:20 2016 +0900"
      },
      "message": "Remove static link in Android framework under /frameworks/base.\n\nThe dependencies to static libraries in frameworks should be removed\nas many as possible to reduce a size of the system partition.\nAnd that will improve coverage of the VNDK libraries because this\neffort might find new necessary shared libs which were linked\nstatically before.\n\nSize diffs of libs in /system/lib on angler-userdebug build are as\nfollowing.\n\nlibandroidfw.so      : 243748 -\u003e 205196 (-38552)\nlibhwui.so           : 562028 -\u003e 562580 (+552)\nlibmedia_jni.so      : 293652 -\u003e 293656 (+4)\n(All the others have the same size.)\n\ntotal: (-37996)\n\nTest: building succeeded, and the image was tested on angler.\nBug: 33056637\nChange-Id: I3021fb438778eaea2be935b990ec85c4aec6c008\n"
    },
    {
      "commit": "1c94fdc46907f79da4a9205cb55d9ebce5659f91",
      "tree": "e7f32ebf8b5eba585022f03ba071ccff153fcda8",
      "parents": [
        "d24ea455a654b12742d38a407bbe89196e1bc087",
        "8e0bc783e9510eb41d5f7bb7cdb47788dc4cc817"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 28 22:24:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 22:24:40 2016 +0000"
      },
      "message": "Merge changes from topic \u0027a11yModal\u0027\n\n* changes:\n  Javadoc and AudioManager update for A11Y stream\n  Conditional behavior for a11y stream volume\n"
    },
    {
      "commit": "c78751707ce3c2abdbb955c276d5b55da0b22f34",
      "tree": "dcb724183e31b6d8349c037afbc83b967e728b04",
      "parents": [
        "1a8bdf8bf90f4263785895ff353730d4fb6cee84",
        "492f5263a44bc5125140ab9a7cabdb8626435eca"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Mon Nov 28 22:01:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 28 22:01:31 2016 +0000"
      },
      "message": "Fix boot loop when upgrading direclty from L to N am: bfc7faaf35\nam: 492f5263a4\n\nChange-Id: I22ddb905cf6ff4519dd12e84f5a51ea27d256602\n"
    },
    {
      "commit": "32c97ef3c8efae999f68664320fa1200ff435f12",
      "tree": "48281d4d5dc8b96e60914707c691833c010f41e5",
      "parents": [
        "f57de46d0b16fea790dc29062bf5e47cf63bae3e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Nov 28 10:47:18 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Nov 28 14:34:29 2016 -0500"
      },
      "message": "Blocked packages can\u0027t create channels.\n\nTest: runtest systemui-notification\nChange-Id: I3f0560a71adc33d9881021f920ce2824b96ddc14\n"
    },
    {
      "commit": "f57de46d0b16fea790dc29062bf5e47cf63bae3e",
      "tree": "b5904c0628c837215481aed1090f3936a6f03009",
      "parents": [
        "776a2402faf71cc8d1fbbd6e060480f10300fa24"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Nov 23 11:31:46 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Nov 28 14:34:29 2016 -0500"
      },
      "message": "Allow apps to set vibrations pattern for channels\n\nTest: runtest systemui-notification, cts\nChange-Id: I9125e9c437e3888ba7e7582bb3557635a2aea893\n"
    },
    {
      "commit": "0d8f4b75a5f41a3455a28839f0cff481bb6be53f",
      "tree": "a9e234fe6d9fe6690146f5907e67bef9675bdcd4",
      "parents": [
        "776a2402faf71cc8d1fbbd6e060480f10300fa24"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Nov 09 11:28:05 2016 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Nov 28 11:27:09 2016 -0800"
      },
      "message": "Create actions for permission and log revokations\n\ngrants, denials and requests are logged in the package installer\n\nTest: Revoked some permissions via settings and looked at event log.\nChange-Id: I9a4ade82b68293f8aa9732c9ca288d37e9a7f611\n"
    },
    {
      "commit": "fd6f4fb264d56726cd0e2fed731ad60bbe4aa06f",
      "tree": "48ef772f7b5411ef547d277f825af4d1de75b6b2",
      "parents": [
        "c66cc5166e1a1c9ee11aa01e56ffa25cd5fa2bc3"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Nov 18 14:39:20 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Nov 28 10:32:34 2016 -0800"
      },
      "message": "Parse packages in parallel\n\nIntroduced ParallelPackageParser. Parsing requests are processed by a\nthread-pool (currently 4 threads). At any time, at most 10 results are kept\nin RAM. This is enforced by the blocking queue.\n\nscanDir has become a two-stage process:\n1) Collects files for parsing and submit them to the parallel parser\n2) Sequentially take elements from the parsing queue and process them by\n   calling scanPackageLI (as before)\n\nTest: manual - device boots, all packages are parsed\nTest: ParallelPackageParserTest passes\nBug: 30792387\nChange-Id: I07a64da4d83e355b2b1f1ab350e6d8087dfd2feb\n"
    },
    {
      "commit": "2f26b79eea905f88c872804be01431020e4efb2e",
      "tree": "ec934a22bab0c1c5f2d8f7140efda0d8a8bfd28f",
      "parents": [
        "d0835e45f7663cb6abef383b9d903429c824cd20"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Nov 28 17:54:51 2016 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Mon Nov 28 17:54:51 2016 +0000"
      },
      "message": "Unit test for getBindDeviceAdminTargetUsers\n\nWas meant to write test for bindDeviceAdminServiceAsUser, but\nit can\u0027t be done without having tests for\ngetBindDeviceAdminTargetUsers first as bindDeviceAdminService depends\non getBindDeviceAdminTargetUsers.\n\nA bit shocked by we didn\u0027t have any managed profile tests in\nDevicePolicyManagerTest. Added managed profile support in the CL.\n\nBug: 32764274\n\nTest: runtest -x frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java\n\nChange-Id: If412e4f44c3ae998f69e17411f2503a97f80149f\n"
    },
    {
      "commit": "c66cc5166e1a1c9ee11aa01e56ffa25cd5fa2bc3",
      "tree": "94473ab60cb948d5ae978fe2e16b8d8b5d8a1f72",
      "parents": [
        "a69433066813a32739b1e04c67ca372262032092",
        "cd941213a237073fea567f0faf0098ec23459fb5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Nov 28 17:02:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 17:02:59 2016 +0000"
      },
      "message": "Merge \"Revert more integrity check changes.\""
    },
    {
      "commit": "22b2a81f7598f643cddc4c1098cdf8951878c4d5",
      "tree": "a8aca84c2075d6217dbc982348e281a21456584e",
      "parents": [
        "1bbd133d7c1a83a2a045ea320109b25c04e8360f",
        "e95c2817f753aa4572dca38cfa29d988d692b00e"
      ],
      "author": {
        "name": "Nicolas Prévot",
        "email": "nprevot@google.com",
        "time": "Mon Nov 28 16:50:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 16:50:08 2016 +0000"
      },
      "message": "Merge \"Send callbacks to DO when a user is added or removed.\""
    },
    {
      "commit": "1bbd133d7c1a83a2a045ea320109b25c04e8360f",
      "tree": "ceeabc8ee9138e085d863901cda84679a8b1d8cb",
      "parents": [
        "056f4223a27f5d89e974dbc377f696249d8b6bcf",
        "b6c1f99bd96d2f38980f4473baf3aa908d059db2"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Nov 28 16:40:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 16:40:30 2016 +0000"
      },
      "message": "Merge \"Allow listeners more snoozing options.\""
    },
    {
      "commit": "b6c1f99bd96d2f38980f4473baf3aa908d059db2",
      "tree": "25764a650fa5b8150e401a01bedcddd312060130",
      "parents": [
        "d0835e45f7663cb6abef383b9d903429c824cd20"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Nov 22 09:26:46 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Nov 28 08:53:14 2016 -0500"
      },
      "message": "Allow listeners more snoozing options.\n\n(snooze indeterminately and unsnooze)\n\nTest: runtest systemui-notification and cts tests in same topic.\nChange-Id: I5ce74638f55ed796bc6b26af167b32b0040f4222\n"
    },
    {
      "commit": "e1cb95bbeec31971dcab6a39b4666a12214a68b3",
      "tree": "05547181cceb08844ae4140df6234022fed306cd",
      "parents": [
        "d0835e45f7663cb6abef383b9d903429c824cd20",
        "fbeca51bc9f5ff1e98c5ceab30d50665e1a810d1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 28 13:48:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 28 13:48:24 2016 +0000"
      },
      "message": "Merge \"Use the new refined DexOptNeeded codes.\" am: d7e597a2e7 am: 99ae18486c am: 51b40ee3eb\nam: fbeca51bc9\n\nChange-Id: I7f6578d517a77dd24ab5dc785b7fdd0ab8fd5946\n"
    },
    {
      "commit": "fbeca51bc9f5ff1e98c5ceab30d50665e1a810d1",
      "tree": "472e80f2bef3e1e42ae28991d5f509e1b0f04421",
      "parents": [
        "5adffe2c7784199d2130418d82d7b7aabcf4e939",
        "51b40ee3eb11595655552ed25269c2fe0c29cd9f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 28 13:40:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 28 13:40:14 2016 +0000"
      },
      "message": "Merge \"Use the new refined DexOptNeeded codes.\" am: d7e597a2e7 am: 99ae18486c\nam: 51b40ee3eb\n\nChange-Id: Iad8ab08d0e41a9ef6e373a9b2052f32b552c0ea7\n"
    },
    {
      "commit": "51b40ee3eb11595655552ed25269c2fe0c29cd9f",
      "tree": "f57d8d9a4692da70892a72875edc915590f6476b",
      "parents": [
        "a7f974794ba63d0574166fce66c27f9c96957721",
        "99ae18486cebe4d8a3bcf45f321b22f7be61daf1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 28 13:32:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 28 13:32:50 2016 +0000"
      },
      "message": "Merge \"Use the new refined DexOptNeeded codes.\" am: d7e597a2e7\nam: 99ae18486c\n\nChange-Id: I4d6a7a5ad56ce0e6d91620fc63f05faad8348e78\n"
    },
    {
      "commit": "99ae18486cebe4d8a3bcf45f321b22f7be61daf1",
      "tree": "219bb9528319e6283a2704c4591f40d1aeea66a7",
      "parents": [
        "c62c3a51d502c58f25db3f13810aba5959876fd6",
        "d7e597a2e7843b7269d4972abae820424c9d460e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 28 13:25:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 28 13:25:06 2016 +0000"
      },
      "message": "Merge \"Use the new refined DexOptNeeded codes.\"\nam: d7e597a2e7\n\nChange-Id: I58fbb54b94350e633fdd38cfb984de87a1862fd2\n"
    },
    {
      "commit": "79c9e063204185b508c32e18e49a5baaa98df4be",
      "tree": "b0f007bde2e322eb4e7261689cda0c0f8cf0bd44",
      "parents": [
        "c6c005ef5b927be1b49b4d18a0b887b571fb3ca4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 25 09:50:29 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 28 08:51:36 2016 +0000"
      },
      "message": "Use the new refined DexOptNeeded codes.\n\nbug: 30937355\nTest: device boots, messages are printed correctly\nChange-Id: Ia5274e3659471c2a52244d5838d207d407e79023\n"
    },
    {
      "commit": "cd941213a237073fea567f0faf0098ec23459fb5",
      "tree": "dbe7f41a5d0098834d85ee7881fc51895c655d22",
      "parents": [
        "d0835e45f7663cb6abef383b9d903429c824cd20"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Nov 27 14:19:26 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Nov 27 15:21:35 2016 -0800"
      },
      "message": "Revert more integrity check changes.\n\nThe integrity checking features never shipped as part of a release.\nDelete the stale code.\n\nThis conceptually reverts the following commits:\n\n  * c7d64c134ae786cc41af78a3e7dfbfeda8be4287\n  * ee2b49283261f7b4518ec7c98f568f883f817c9d\n\nTest: Device boots and no obvious problems.\nChange-Id: I8d1589b38ddbcdf26f5132476b8cdfba7ef439cd\n"
    },
    {
      "commit": "d39d4d7d38c9e27a640ad3ddc0938083f8f539ff",
      "tree": "07b97fb627544dc7eedeb117d3c80a7439125e93",
      "parents": [
        "586bc60a0b00a3fe96ef00edfc32e91baa713b65",
        "5adffe2c7784199d2130418d82d7b7aabcf4e939"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Nov 25 18:32:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 25 18:32:24 2016 +0000"
      },
      "message": "Fix boot loop when upgrading direclty from L to N am: bfc7faaf35 am: 492f5263a4 am: 873c99c30b\nam: 5adffe2c77\n\nChange-Id: I9ae16f0de5b6f71d8343db369528c27a40d36be4\n"
    },
    {
      "commit": "5adffe2c7784199d2130418d82d7b7aabcf4e939",
      "tree": "e193391672acb549aa8ea67ea66126d67bd424a0",
      "parents": [
        "0ba033ade6e5bf73f15ffa41909496d952a091bb",
        "873c99c30b550172d6793d9d04ce6196aec64721"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Nov 25 18:28:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 25 18:28:20 2016 +0000"
      },
      "message": "Fix boot loop when upgrading direclty from L to N am: bfc7faaf35 am: 492f5263a4\nam: 873c99c30b\n\nChange-Id: I8e4bb65a0880cbf2089ce5e82e6a972238b6ea31\n"
    },
    {
      "commit": "873c99c30b550172d6793d9d04ce6196aec64721",
      "tree": "ba368618dd2d53d34daae49924aa37a032297572",
      "parents": [
        "97a7d79d6b46584b33c7ffbf848a0161e4522342",
        "492f5263a44bc5125140ab9a7cabdb8626435eca"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Nov 25 18:24:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 25 18:24:55 2016 +0000"
      },
      "message": "Fix boot loop when upgrading direclty from L to N am: bfc7faaf35\nam: 492f5263a4\n\nChange-Id: I62f538737c1946aae3fb64555d425c379340bef1\n"
    },
    {
      "commit": "492f5263a44bc5125140ab9a7cabdb8626435eca",
      "tree": "60e5bf1c35251e71acb17994535c23b06db9df8b",
      "parents": [
        "5514d77e7da9fe639d5f034eb37d3a7e7befa066",
        "bfc7faaf353ea75ab04e986edbc79478679d40f6"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Nov 25 18:20:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 25 18:20:48 2016 +0000"
      },
      "message": "Fix boot loop when upgrading direclty from L to N\nam: bfc7faaf35\n\nChange-Id: Iaaf32f1c6fd70dd394252f963d87897899fb2e55\n"
    },
    {
      "commit": "586bc60a0b00a3fe96ef00edfc32e91baa713b65",
      "tree": "0c778bc14d1275a1a32bf209412b1d965bc3b733",
      "parents": [
        "bbef8cdd2aafa95937b466af7e2d572b69e62810",
        "51d00d88ed8336b198d5fc7d48d35d06e935a30e"
      ],
      "author": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Fri Nov 25 17:39:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 25 17:39:40 2016 +0000"
      },
      "message": "Merge \"Workaround for javac compilation issue of lambda code\""
    }
  ],
  "next": "bbef8cdd2aafa95937b466af7e2d572b69e62810"
}
