)]}'
{
  "log": [
    {
      "commit": "1dbaac0e50696b30f6f706861a3ca25d6ecc5256",
      "tree": "3a7d458b1345cda2a88038de472c2a93a6e5cde1",
      "parents": [
        "c5607ed008bbb5b06fdcefed27f1301df46bfe45",
        "6da2b8623768d25da753e5f0f534e3f877f104d9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jun 22 18:04:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 18:04:24 2017 +0000"
      },
      "message": "Merge \"Merge \"_exit(0) on clean shutdown, not _exit(1)\" into oc-dev am: 31cf02742e\" into oc-dr1-dev am: 04bd18fb30\nam: 6da2b86237\n\nChange-Id: I434678eb093574d96d356e90bcc8fdb5825f62a9\n"
    },
    {
      "commit": "6da2b8623768d25da753e5f0f534e3f877f104d9",
      "tree": "c8616e7d9237e381939afd674e5851ebe1eb1adb",
      "parents": [
        "17efbe25f8f67df83049a7f477b678adc7239d19",
        "04bd18fb30d89ff6867b072e4eca0845d79aa890"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jun 22 17:48:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 17:48:32 2017 +0000"
      },
      "message": "Merge \"Merge \"_exit(0) on clean shutdown, not _exit(1)\" into oc-dev am: 31cf02742e\" into oc-dr1-dev\nam: 04bd18fb30\n\nChange-Id: I2cc9faee52a7daedbe13a499f80f4ef36e13d0e8\n"
    },
    {
      "commit": "bc8c0e9c1d47bdbf2094c24d3c1d6793b024694f",
      "tree": "1ba520d3036c53d0b5df2a4f719a4ef65ad6250a",
      "parents": [
        "8839b4c7bafc5146b22ef761047e902faa3c0238",
        "31cf02742e9b09c0535add762a9a98f7aafdc80a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jun 22 17:34:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 17:34:12 2017 +0000"
      },
      "message": "Merge \"_exit(0) on clean shutdown, not _exit(1)\" into oc-dev\nam: 31cf02742e\n\nChange-Id: Ie0d68df7a51c10bc82974680bdd16f1eab48e9fa\n"
    },
    {
      "commit": "9377ce67a834c8c04fde555111fe44d0f728ed81",
      "tree": "bd39ebae2c7345153fcc57b5acbf6c693b2e96c2",
      "parents": [
        "6358cdcd28ab3b76d640541abc93b19a28114226"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 21 22:14:40 2017 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 21 22:15:10 2017 -0700"
      },
      "message": "_exit(0) on clean shutdown, not _exit(1)\n\nTest: m -j32 checkbuild\nBug: 36066697\nChange-Id: Iaed45a86f9603badf26041212dfc5e9399bc0a0c\n"
    },
    {
      "commit": "31c8e08e9d03eb54735775e88b6e250a2952848d",
      "tree": "f5200838e1b015b8c0884967d895e0e0b6edb426",
      "parents": [
        "a1dd71917579435096250095472b94137269bf1b",
        "924afe2b0f721afa857a55c33da559f6efc41d32"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 20 22:36:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 20 22:36:43 2017 +0000"
      },
      "message": "Merge \"Add \u0027bmgr\u0027 command to synchronously init transports\""
    },
    {
      "commit": "924afe2b0f721afa857a55c33da559f6efc41d32",
      "tree": "fa7031d15af51b8a466b67e7c8d615d3f549803f",
      "parents": [
        "101ba665ddcd40de9f2fe51be910f03b90574a55"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 16 13:14:48 2017 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 20 13:28:56 2017 -0700"
      },
      "message": "Add \u0027bmgr\u0027 command to synchronously init transports\n\nbmgr init TRANSPORT [...]\n\nwill run an init operation on each named transport, blocking\nuntil the operations have all completed.\n\nBug 62253989\nTest: manual\n\nChange-Id: I7dbd94293738d5ecf195764f5b28905253819791\n"
    },
    {
      "commit": "300d18374167c72f8755d7df292cfbbac70aaaef",
      "tree": "23de3a664c3d61839809164e730a2d9fbf8464d7",
      "parents": [
        "8446a3005fd77514fd72c7aaccf27d6cb534eea1",
        "7464ac9bd7fe89061e47617e4b6004b88c91d636"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Tue Jun 20 18:23:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 20 18:23:14 2017 +0000"
      },
      "message": "Merge \"Allow IO During boot process, BootActions.\""
    },
    {
      "commit": "eb72a37abf5075b6e1183b2fc06079ecb4f335e5",
      "tree": "5c14586b5da04b4a8ef903df07dec810108e3169",
      "parents": [
        "45b78e397ffe44ae21cb49f9d77b91bf03fd75f1",
        "5966301234fd72da05e20003b5bf81b450fe8965"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 20 04:43:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 04:43:10 2017 +0000"
      },
      "message": "Merge \"Hack around b/36066697.\" into oc-dev am: e139434e3a am: 17d3fc2e68\nam: 5966301234\n\nChange-Id: Iaf3011a7b2f184660d0f25e93aa4cb0dfd778c85\n"
    },
    {
      "commit": "5966301234fd72da05e20003b5bf81b450fe8965",
      "tree": "b22a061711ff8b8f3dccbc870d71c036800caf45",
      "parents": [
        "c027c017e2852b8da151edfab2a47eb02c7a1b54",
        "17d3fc2e6847a31116d4db9d13893e6c5a760221"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 20 04:36:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 04:36:03 2017 +0000"
      },
      "message": "Merge \"Hack around b/36066697.\" into oc-dev am: e139434e3a\nam: 17d3fc2e68\n\nChange-Id: I341c785941c3860344aa053670db8f4a5da18dd6\n"
    },
    {
      "commit": "17d3fc2e6847a31116d4db9d13893e6c5a760221",
      "tree": "392967646058de8eb9c24d5c80c02b71ab9512d1",
      "parents": [
        "50bad313e4bf310568f70195c3a751d79bddc16c",
        "e139434e3ab235fde6a5d17b9128e5665db32115"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 20 04:30:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 04:30:07 2017 +0000"
      },
      "message": "Merge \"Hack around b/36066697.\" into oc-dev\nam: e139434e3a\n\nChange-Id: I422d2b73fc854047d1293919c25f0656df0842c9\n"
    },
    {
      "commit": "e139434e3ab235fde6a5d17b9128e5665db32115",
      "tree": "41b6d3fde7b273226b34ef593bed50b998b8f278",
      "parents": [
        "271e0aa02a34b14f77beed341400dd0f9da76371",
        "909825886c58c7f9eeafb6223b6de91e29c97232"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 20 04:24:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 20 04:24:14 2017 +0000"
      },
      "message": "Merge \"Hack around b/36066697.\" into oc-dev"
    },
    {
      "commit": "7464ac9bd7fe89061e47617e4b6004b88c91d636",
      "tree": "7466478571007709d256f4876cb12cd1ce0aea53",
      "parents": [
        "2cb3f59668d9cbb91785feee312fff6945425281"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Thu Jun 08 12:26:48 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Mon Jun 19 17:27:08 2017 -0700"
      },
      "message": "Allow IO During boot process, BootActions.\n\nNOTE: this is only compiled into products with PRODUCT_IOT\u003dtrue.\n\nIntroduce BootActions that a developer can provide to manipulate IO\nbefore the android framework comes up on boot.\n\nWe will look for a configuration file at /oem/app/etc/boot_action.conf and\nexpect it to tell us the name of a shared library. We will then fetch\nthis library from /oem/app/lib/${arch}/ and load it. We expect it to export\nboot_action_init(), boot_action_shutdown(), and optionally\nboot_action_start_part(int partNumber, int playNumber).\n\nWe will then call boot_action_init() during boot after PeripheralManager\nis up and call boot_action_shutdown() when the android framework is up\nand we are going to start loading APKs.\n\nWe will also call boot_action_start_part(*) when each part of the boot\nanimation is started, use this if you want to synchronize the boot\naction and the boot animation.\n\nBoot actions run in a restricted environment and in general can only\nmake calls to PeripheralManager.\n\nBug: 37992717\nTest: Pushed to local imx7d to test boot actions, pushed to bullhead test that animation+sound still works.\nChange-Id: I9e53a17567f8028ea84486d637e1d231ee1125e1\n"
    },
    {
      "commit": "538b5f1347b738538d30f4a9d4bd31587e5ae113",
      "tree": "7d2c3f4ab1d29bc8a1c55b92bf71df6ad35e06ac",
      "parents": [
        "3330cc6748c38fd4b91cab5a58c13c637424b8fd",
        "470105042ed91a355944008ae888f1fc1ad05960"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 20 00:03:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 00:03:08 2017 +0000"
      },
      "message": "Merge \"Make --no-window-animation flag apply to animators, too\" into oc-dev am: c36e3e7fff am: 972734f592\nam: 470105042e\n\nChange-Id: Iabf6f31f4bf9c3e7ed382d19ac2c93c29fbd2651\n"
    },
    {
      "commit": "470105042ed91a355944008ae888f1fc1ad05960",
      "tree": "324f6f908f72acfe8bea9c1764c52d20da18bdfb",
      "parents": [
        "1947c0a8fbd9c7de85d8af86bbb803fd88f59791",
        "972734f592b9d91eec934ae713c0a3a4580c2a24"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Jun 19 23:47:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 19 23:47:17 2017 +0000"
      },
      "message": "Merge \"Make --no-window-animation flag apply to animators, too\" into oc-dev am: c36e3e7fff\nam: 972734f592\n\nChange-Id: I02666e4918b849cf4bcc119a61b4b693825dabe2\n"
    },
    {
      "commit": "972734f592b9d91eec934ae713c0a3a4580c2a24",
      "tree": "3d7bd0e1a3766b6bbcdf73e0e7e1af3c8a2476db",
      "parents": [
        "f4dc128aa28bc5be2b6fffa7632cb15fe6ef9949",
        "c36e3e7fff392495360f3ac2f123f693728a958b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Jun 19 23:39:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 19 23:39:58 2017 +0000"
      },
      "message": "Merge \"Make --no-window-animation flag apply to animators, too\" into oc-dev\nam: c36e3e7fff\n\nChange-Id: Ic680329647398f52a0d28633aa209e37556c1e31\n"
    },
    {
      "commit": "909825886c58c7f9eeafb6223b6de91e29c97232",
      "tree": "6c6598dc645e11b1f01394c5f736be6fa7da2c57",
      "parents": [
        "8a95d49d8f149e190f2e170c968cbdef6a7db687"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jun 19 13:38:20 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jun 19 14:10:45 2017 -0700"
      },
      "message": "Hack around b/36066697.\n\nAvoid calling libbinder\u0027s static destructors by calling _exit instead\nof returning in main.\n\nBug: http://b/36066697\nTest: treehugger\nChange-Id: I81dd50453f1ea64d97ec97d207fff732b3c62512\n"
    },
    {
      "commit": "3273069afecf582c256867a34ccf19ac9e4e9d1f",
      "tree": "0086600683550d0560991696f1e2a503f5992484",
      "parents": [
        "90de5f2e5f6d8f536128cf39305653b35d95cee7",
        "4a7554afc61c61b374779ccc47ee5fb0cb9ddb00"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 19 16:58:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 19 16:58:10 2017 +0000"
      },
      "message": "Merge \"Add periodic sync support to requestsync.\""
    },
    {
      "commit": "ae43f8f69bd4ea02b0063ba214cddaa46195d6a3",
      "tree": "10588bdef6a215101b99b020ed8dfdc42bf52acc",
      "parents": [
        "675aa73a83c8cdd5774d713ca849114fa62c1949",
        "5b6d397e211ffaa9069b901cef8fd35c5bd17d01"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Sat Jun 17 02:08:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 17 02:08:20 2017 +0000"
      },
      "message": "Merge \"Simplify NfcCommand and avoid NullPointerExceptions\" am: b5c4e80ecd am: 7ba9270427 am: ffd0a7d95c\nam: 5b6d397e21\n\nChange-Id: I2cd3fe0600aeface31afa16f999df8065a418b21\n"
    },
    {
      "commit": "5b6d397e211ffaa9069b901cef8fd35c5bd17d01",
      "tree": "28a79ffc24f00af363b5b42f9820a6fffdc3f302",
      "parents": [
        "296f9dd45d5ef7da8b2e38d9d1cdb75d18f8f2a8",
        "ffd0a7d95c7dd48390d1eaa264f76c687a5df922"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Sat Jun 17 01:47:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 17 01:47:35 2017 +0000"
      },
      "message": "Merge \"Simplify NfcCommand and avoid NullPointerExceptions\" am: b5c4e80ecd am: 7ba9270427\nam: ffd0a7d95c\n\nChange-Id: Ia3ac938a14df46beb18d49803732ee953dabf0f3\n"
    },
    {
      "commit": "ffd0a7d95c7dd48390d1eaa264f76c687a5df922",
      "tree": "506a3ad2dea5f6f5096220cf60740e91c72da240",
      "parents": [
        "1581ceb1fbb7d8b99c5fd4f349cecb2ed3721973",
        "7ba927042778339795ffa7eda23a272d5ba9fc4f"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Sat Jun 17 01:41:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 17 01:41:09 2017 +0000"
      },
      "message": "Merge \"Simplify NfcCommand and avoid NullPointerExceptions\" am: b5c4e80ecd\nam: 7ba9270427\n\nChange-Id: I28b151f93f00cbd3086e8416dbd433f34806205c\n"
    },
    {
      "commit": "b5c4e80ecd47dda8c73b0e93eb2ee1a8da58c981",
      "tree": "8a5657836c7c0c9533a46b88d8cbb58518f20fd3",
      "parents": [
        "7d136b777a71c816f4e7fc77be50a2aa56fb4322",
        "d3375090aa3694d70d39590f1480ccd9b1eb48ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 17 01:25:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 17 01:25:15 2017 +0000"
      },
      "message": "Merge \"Simplify NfcCommand and avoid NullPointerExceptions\""
    },
    {
      "commit": "100f50a9e48d8a0f222db9f291bc9ab295025f58",
      "tree": "794e0c153bed16e3ce1dd217ccdf2c7f78bdf556",
      "parents": [
        "51303034c40bb46cd57428ff05d36e552cec15ba",
        "e4f1a15503dd19493c51759ffc48c40d39743cb9"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Sat Jun 17 01:15:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 17 01:15:32 2017 +0000"
      },
      "message": "Merge \"Add a svc command for enabling/disabling Bluetooth\" am: 7d136b777a am: c0c6e1243b am: d84e4812ef\nam: e4f1a15503\n\nChange-Id: I966f241a62e49fa92e03a0ff6a50a3f8658beb02\n"
    },
    {
      "commit": "e4f1a15503dd19493c51759ffc48c40d39743cb9",
      "tree": "06000ce2bdc4783f8650bf969d1e594b915bff68",
      "parents": [
        "0a4753ab7eff4f18d5729416e8924f03714d622c",
        "d84e4812efc5cf4730cb761593d71d73c7f0f184"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Fri Jun 16 23:55:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 16 23:55:32 2017 +0000"
      },
      "message": "Merge \"Add a svc command for enabling/disabling Bluetooth\" am: 7d136b777a am: c0c6e1243b\nam: d84e4812ef\n\nChange-Id: I3e5c762fd7e3e11d14ff335a7ed7b963b3c8b53f\n"
    },
    {
      "commit": "d84e4812efc5cf4730cb761593d71d73c7f0f184",
      "tree": "08c8f5e5696ec6069d1558ea8dd84d7a5efabe48",
      "parents": [
        "e2aec03b9c5b52a55a3b5a81c9a2325d3eb856fb",
        "c0c6e1243b07b5f4f12c4880d9f76fb6fc63d812"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Fri Jun 16 23:47:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 16 23:47:57 2017 +0000"
      },
      "message": "Merge \"Add a svc command for enabling/disabling Bluetooth\" am: 7d136b777a\nam: c0c6e1243b\n\nChange-Id: Iab78d232230a6d9ef02d40a03558f7967af7f48c\n"
    },
    {
      "commit": "4794e7efdf1020a89e7800c1b666695f9bf55dbd",
      "tree": "fb0c125cc4509d02fc96c221d4fbf860c5ec46a5",
      "parents": [
        "2ed8b06173c21869b99d4285d289e59af3dff749"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Tue Jun 13 11:42:36 2017 -0700"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Fri Jun 16 23:10:38 2017 +0000"
      },
      "message": "Add a svc command for enabling/disabling Bluetooth\n\nBug: 62067926\nTest: svc bluetooth disable\n      svc bluetooth enable\nChange-Id: I9a53d7ab1805df98d8cf1292cf1061eacc14655d\n"
    },
    {
      "commit": "d3375090aa3694d70d39590f1480ccd9b1eb48ae",
      "tree": "156ffb2b3c8b658297a2a441e6d8737bb671fc67",
      "parents": [
        "3890689bb29543f8297f0b5bc9933739a4225daa"
      ],
      "author": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Tue Jun 13 16:07:32 2017 -0700"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Thu Jun 15 21:12:14 2017 +0000"
      },
      "message": "Simplify NfcCommand and avoid NullPointerExceptions\n\nTest: adb root\n      adb shell\n      stop\n      svc nfc enable\n      start\n      svc nfc disable\n\nChange-Id: Ie5170f0525f8830d1d80b5607191ce95e78a55ae\n"
    },
    {
      "commit": "e5b44043f75bab47955652b5bd98502ce2294f37",
      "tree": "e379e4546033dc41b4c422a70b9eadd161953968",
      "parents": [
        "c7ea7effde64c682ba8ddaca0fd9ac4354029e41"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 13 07:15:46 2017 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Jun 14 18:55:19 2017 -0700"
      },
      "message": "Make --no-window-animation flag apply to animators, too\n\nThere is a flag for \u0027adb shell am instrument\u0027 that disables animations, which\nis useful for testing (if you want to, for example, disable animations to speed\nup tests or remove animation-caused side-effects as a factor). But only the\npre-honeycomb animations (window transitions and window animations) were listening\nto this flag. This change makes animators listen as well, so all three duration scale\nsettings are affected.\n\nBug: 32072407  --no_window_animation ADB arg should set all animation scales to 0.0f\nTest: manual. Ran frameworks APCT tests with --no_window_animation and verified\nthat all three types of animations had their duration scales set to 0 for the\nduration of the tests.\n\nChange-Id: I5ae4a60faa714c9534dfae58d1efcd54f577d82b\n"
    },
    {
      "commit": "dc292b6003c80aa954bd82ca06d1b4eec271144e",
      "tree": "f7f6f40893bbea008a7b3ee42e798ce02a3a7528",
      "parents": [
        "b8b6f00b759e467f083831470870ad0848fdcbe5",
        "de624f3fbbce27ed614b954988f1f6e39d92e6ed"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Jun 13 00:24:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 13 00:24:59 2017 +0000"
      },
      "message": "Merge \"Active camera apps can defy reserved cache space.\" into oc-dr1-dev am: f7dc56ecc9\nam: de624f3fbb\n\nChange-Id: I0a125a6c00220ba280dca4e0d8ece88202a68afe\n"
    },
    {
      "commit": "35e46d297255363a20ccde62af3c58c4ce3c13c5",
      "tree": "6a082247418b5cc02d46e4a351a4d3f930ce779c",
      "parents": [
        "9620595965bc7ffb74518eee19bbd63702c57121"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 09 10:01:20 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 12 14:27:23 2017 -0600"
      },
      "message": "Active camera apps can defy reserved cache space.\n\nWe normally prevent apps from allocating into the \"reserved\" cache\nspace, but this change makes an exception for an active camera app,\nsince the user is probably trying to capture an important memory.\n\nThis change only lets the active camera app clear up to half of the\nreserved space, since we don\u0027t want to completely destroy the\nexperience of all other apps.\n\nTest: manual app before/during/after active camera session\nBug: 38267830\nChange-Id: Ie9e63884fb2638ca881e10b894629eea84601648\n"
    },
    {
      "commit": "4a7554afc61c61b374779ccc47ee5fb0cb9ddb00",
      "tree": "515c294071f435e7cb2a5e464a6c61930f178079",
      "parents": [
        "a94b152df1d79e3fa101fd3f7c30741a4570e84f"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Jun 08 17:12:05 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Jun 08 17:12:05 2017 -0700"
      },
      "message": "Add periodic sync support to requestsync.\n\nTest: manual test\nChange-Id: Ie53249de5e9c5e53bdf87cb9f78745c994bc34e6\n"
    },
    {
      "commit": "787703431b4986eca1c308dd722fb346a597c3dd",
      "tree": "b81ce20fd36523b1c639e280e6210379c031084d",
      "parents": [
        "48a765945449c240b1aea0be40522a14b35a642e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jun 07 17:34:59 2017 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jun 08 20:33:14 2017 +0000"
      },
      "message": "Return exit code 0 when the command run successfully\n\nFix: 62410589\nTest: run the pm create-user command and check the exit code\n\nChange-Id: I5bde1f886860cd8edb869ebaa8f6e5376882f03b\n"
    },
    {
      "commit": "73be23de30e4d2d4983273f201d04888689afd60",
      "tree": "d7c91f7c78dba83c74fe3ba6f3ac1614bd2621d8",
      "parents": [
        "5c3e1f7f3e2d324391c353a50abc06f991cbb055"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Jun 08 12:10:45 2017 +0100"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Jun 08 12:10:49 2017 +0100"
      },
      "message": "Extend \"Transport rejected package\" message in Bmgr\n\nTest: read it twice :)\nBug: 36705040\nChange-Id: I4eda5d2688b5f58f5a07131c5e6d6dafd6250570\n"
    },
    {
      "commit": "0ecc0ff5e07886e08f7acc00f375273514653ee7",
      "tree": "f7edd6ccec550929d9938d92382eeb5afcab2bac",
      "parents": [
        "fa3abeb31bb9fea234ab04b68fce28ff9582fe1a",
        "26a2b97dbe48ee45e9ae70110714048f2f360f97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 02 20:07:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 02 20:07:56 2017 +0000"
      },
      "message": "Merge \"Enable wide color gamut rendering\""
    },
    {
      "commit": "26a2b97dbe48ee45e9ae70110714048f2f360f97",
      "tree": "1e8e25d446c598d0b552708c90878246a370ba42",
      "parents": [
        "3b3388ca64a818f2c036cf0dbf02a9e011ccc8de"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 17 09:39:51 2017 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 02 11:02:13 2017 -0700"
      },
      "message": "Enable wide color gamut rendering\n\nWhen wide color gamut rendering is requested, hwui will now\nuse an rgba16f scRGB-nl surface for rendering. This change\nalso fixes the way screenshots are handled in the platform\nto behave properly with wide gamut rendering.\n\nThis change does not affect hardware layers. They also\nneed to use rgba16f scRGB-nl; this will be addressed in\nanother CL.\n\nBug: 29940137\nTest: CtsUiRenderingTestCases, CtsGraphicsTestCases\n\nChange-Id: I68fd96c451652136c566ec48fb0e97c2a7a257c5\n"
    },
    {
      "commit": "347cf3ea9e59edcc8612e7f211381e21b75b6eea",
      "tree": "4649dcae88337a18b80eeb4b84a786c1f0580a7e",
      "parents": [
        "47f4948d017830111789fe2fcb9f223e162e04be",
        "2c9e94aa3e9614f0d202ee008c08a9011fa7f75f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 31 19:15:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 31 19:15:33 2017 +0000"
      },
      "message": "Merge \"Refactor bootanimation into a shared lib.\""
    },
    {
      "commit": "2c9e94aa3e9614f0d202ee008c08a9011fa7f75f",
      "tree": "ccc7e6d62479007774b6d58effcff4994298d987",
      "parents": [
        "0ed316b7f147401d158bd07f188ed2e598b337ba"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:08:28 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:24:52 2017 -0700"
      },
      "message": "Refactor bootanimation into a shared lib.\n\nWe would like to reuse the animation parts of it in Android things.\nThis refactors the audio part into the _main and gets callbacks from\nthe BootAnimation class at interesting times. This will be the same\napproach we take to integrate with it.\n\nBUG: 37992717\nTest: Built locally and pushed to a bullhead, works with sound.\nChange-Id: I5eaca07c25eeb5edeab07d7ae7a29945e0e2cd37\n"
    },
    {
      "commit": "b562e539504c3eb72d1200a0e3dc67e9b2f0409b",
      "tree": "839c8b1b787448f48ce481b4b55b53a4eeae3397",
      "parents": [
        "a63d9b8d9afe951b0fb709f57b941702cb1689db",
        "3c3d9d815856e8e22961c0092d34ff7b9c5b6e2c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 14:54:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 14:54:24 2017 +0000"
      },
      "message": "Merge commit \u002706951ac74d9e74b29037b0a5d8e3b9ad85983b5b\u0027 into mergeit\nam: 3c3d9d8158\n\nChange-Id: Ia4c7f1792c9b6e8e72b4ffe742249b02b82d0817\n"
    },
    {
      "commit": "3c3d9d815856e8e22961c0092d34ff7b9c5b6e2c",
      "tree": "e9de195f74ccd5061636d8bffba5962250ab48bc",
      "parents": [
        "3fb0e7555f15d38e58bb8e289afdb72fddc655ff",
        "06951ac74d9e74b29037b0a5d8e3b9ad85983b5b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 08:43:51 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 31 08:43:51 2017 -0600"
      },
      "message": "Merge commit \u002706951ac74d9e74b29037b0a5d8e3b9ad85983b5b\u0027 into mergeit\n\nChange-Id: Ifa69c7bb53de94312e2b32607fa098c194a4c72c\n"
    },
    {
      "commit": "ddff807b762a8a455287abc97aea8f97b98fb104",
      "tree": "9f5dc24ea84eb9d64e575d7210b99718ff318fd3",
      "parents": [
        "1399d3abf51265915a3d6cbd2b04be2a3142c609"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 26 13:10:46 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 30 22:17:23 2017 -0600"
      },
      "message": "Consistent \"low storage\" behavior.\n\nWhen answering the question \"how much space is free\", use the same\nlogic for Settings UI and StorageManager.getAllocatableBytes().  That\nis, the reported free space is usable bytes plus any cached data the\nsystem is willing to delete automatically.\n\nThis does *not* include any reserved cache space, since we don\u0027t want\nabusive apps to penalize other well-behaved apps that are storing\ntheir data in cache locations.  Callers freeing cached data need to\nnow explicitly request defiance of the reserved cache space.  (Most\ncallers are already doing this by using FLAG_ALLOCATE_AGGRESSIVE.)\n\nRewrite the core logic of DeviceStorageMonitorService to understand\nthis new \"reserved\" cache space, and to be easier to understand.  It\nalso now handles cached data on adopted storage volumes, which had\nbeen ignored until now.  Also fix bug where we had skipped \"low\"\nbroadcasts when the device skipped directly from/to \"full\" state.\n\nBug: 38008706\nTest: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nChange-Id: Icbdcf3b52775f7ada1ceaeff2f96094c8d8052f9\n"
    },
    {
      "commit": "fa45e4364c65cb812afcec0a6b38d6b01b569db9",
      "tree": "3c0b0f8a0debc09d66637fc75f3323378fca529b",
      "parents": [
        "697f2dd3d497bc5d321fcfef3340d6de2bf4ed74",
        "58dc4c8dcdb90754660ef8f35b2a3a5436c672f5"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 31 01:46:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 01:46:12 2017 +0000"
      },
      "message": "Merge \"Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\" am: a4982eb5dd am: aa92f80288 am: 2aa649593b\nam: 58dc4c8dcd\n\nChange-Id: I579b6cfb6edec74da4149f1cf9cee9a061802ff8\n"
    },
    {
      "commit": "58dc4c8dcdb90754660ef8f35b2a3a5436c672f5",
      "tree": "ff7ffe5d115b3c2c3564829eedf3268168bc2219",
      "parents": [
        "541f9cf57691bae562415ca89e6e333c8114bc48",
        "2aa649593be8ff1d2aa838fa2b4ea2f45ff4deda"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 31 01:37:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 01:37:26 2017 +0000"
      },
      "message": "Merge \"Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\" am: a4982eb5dd am: aa92f80288\nam: 2aa649593b\n\nChange-Id: Ie28b57bd8ed157a7a34a5224bf3f52d7818b6205\n"
    },
    {
      "commit": "0b81f9727f5f67192058bbe82c8ce23467971924",
      "tree": "984edfd15dac89446e4c3ca03bf2b26c61c28025",
      "parents": [
        "8e7057ccf3824d1421a12abad7a2ba8b07e877c6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 30 10:57:34 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 30 10:57:34 2017 -0700"
      },
      "message": "Use LOCAL_ADDITIONAL_DEPENDENCIES instead of build system internals\n\nInstead of directly adding dependencies to full_classes_compiled_jar\nand full_classes_jack, just use LOCAL_ADDITIONAL_DEPENDENCIES and\nlet the build system take care of where the dependencies are needed.\n\nTest: builds\nChange-Id: Ia3078fe0aa54b2d69821a9879cfe43414e1e9c4f\n"
    },
    {
      "commit": "e958cebff21e944564f209322fb9f31508c4ea59",
      "tree": "1bcccb79729109ee310d64fef8d6245d7d76c98f",
      "parents": [
        "a34a481037332f519dd149992f6ad43f41697f5c",
        "a3bf175d8a3a8d56a6789f91e90079ceb5fcf006"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 25 22:17:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:17:44 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev am: a941e29c55\nam: a3bf175d8a\n\nChange-Id: Id12f519492f588c53206f6ee035e0ee9943eca72\n"
    },
    {
      "commit": "a3bf175d8a3a8d56a6789f91e90079ceb5fcf006",
      "tree": "345724d95dd019ef19152fe334b0548e8bab2bba",
      "parents": [
        "f4968f3c987769430ecfb6f97e5059da2addaf34",
        "a941e29c5517bceca538545f00fe7fdb1eda6576"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 25 22:05:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:05:51 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev\nam: a941e29c55\n\nChange-Id: I47bf589cf849a81a310d0890156bf7c937dd354a\n"
    },
    {
      "commit": "a941e29c5517bceca538545f00fe7fdb1eda6576",
      "tree": "619f59d37c68a6d065432319b2b7b9223393927c",
      "parents": [
        "78ee090f782de5ec99c2c7bfc26bb1b7e90bb0fe",
        "71693e6683cd925b8fdf06c2431b6fe187df6f40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 21:50:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 25 21:50:57 2017 +0000"
      },
      "message": "Merge \"Add a function to verify if idmap is made from given target/overlay packages\" into oc-dev"
    },
    {
      "commit": "04f7fafdeb3d9b80a257f9d6dd461ae1724760b6",
      "tree": "2b7d72304c38448db7b8f3d4e0ae48046586e563",
      "parents": [
        "af8c2571da2c42b2df009c16a8fdc6f52f533447",
        "dcc539f6ceb6940e937a29a82bdced9090249121"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "message": "Merge \"reduce flunctuation in boot animation start / stopping time\" into oc-dev am: 06fe82293e\nam: dcc539f6ce\n\nChange-Id: I634fb90882b73e7a0bfaebd34f619f0476af16ca\n"
    },
    {
      "commit": "dcc539f6ceb6940e937a29a82bdced9090249121",
      "tree": "98f1b04e03142a73b6d2bf08d6f1246984a75c61",
      "parents": [
        "38b7320e5d339b42fdeec1497c1933b39e0e3eb2",
        "06fe82293e9c81e6fa7660a7850239c2728f6e73"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed May 24 17:39:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 17:39:21 2017 +0000"
      },
      "message": "Merge \"reduce flunctuation in boot animation start / stopping time\" into oc-dev\nam: 06fe82293e\n\nChange-Id: I188fab63708e67b70baa2b8e7fb798866f47c9ec\n"
    },
    {
      "commit": "721c9dc1253db9a713063674d196d57b83536d6a",
      "tree": "6188bdbd9a8a5efe4f4163f31f2250582de08797",
      "parents": [
        "1ba237d237830bf97b97b1cf1d7bd205b2c4fc90"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 17:13:04 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue May 23 09:34:24 2017 -0700"
      },
      "message": "reduce flunctuation in boot animation start / stopping time\n\n- Add separate 100ms interval polling for SurfaceFlinger. Otherwise,\n  it can be blocked with 1 sec polling and cause 1 sec of additional\n  delay frequently.\n\nbug: 38450031\nbug: 35253872\nTest: many reboots and check time to finish boot animation, python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 100 -f -e 15 -w 30 -v\n\nChange-Id: I353ca04183cbe59b82da99dc3fecfce63314cd2f\n"
    },
    {
      "commit": "71693e6683cd925b8fdf06c2431b6fe187df6f40",
      "tree": "9305cbae4c087b2227179153d7224ba3df1ba4e2",
      "parents": [
        "52f57cb7201ade08fb69cd7ee99671811c937be0"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 18 00:10:57 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu May 18 00:10:57 2017 +0900"
      },
      "message": "Add a function to verify if idmap is made from given target/overlay packages\n\n\"--verify\" will be used to verify if idmap corresponding to given fd is maded\nfrom given target and overlay packages.\n\nTest: building succeeded and tested on sailfish.\nBug: 37179531\nChange-Id: Id19bdfd9c61670437f3e1a5c29762ce93586590f\n"
    },
    {
      "commit": "55656e4cb923d1aeef4445b3aaa3a6ce3f35c90a",
      "tree": "323e1b593b44221d81b24b43c7fbe237a6710396",
      "parents": [
        "97208056febe682001bef70988105dcdb5d52316"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 31 17:23:39 2017 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri May 12 21:01:02 2017 +0000"
      },
      "message": "Fix GamepadTestCase#testButtonA CTS test\n\nHid command, JNI layer:\n- Removed dependency of the hid device on libandroid_runtime\nand libutils. Using ALooper from libandroid to process callbacks from\n/dev/uhid file descriptor.\n- Switched to using \"CREATE2\" and \"INPUT2\" constructs in uhid driver\n\nHid command, Java layer:\n- Removed delay workarounds, user now responsible for waiting for\nonInputDeviceChanged notification prior to using the hid commands.\n\nUiAutomation:\n- Added a new executeShellCommandRw function that allows bidirectional\ncommunication to shell command\n\nplatform.xml:\n- Added uhid permissions to bluetooth stack for /dev/uhid access\n\n- CTS test now consistently passes\n\nBug: 34052337\nTest: CTS test case invoked with the following command:\nrun cts -t android.hardware.input.cts.tests.GamepadTestCase\n-m CtsHardwareTestCases --skip-system-status-check\ncom.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker\n\nChange-Id: Ic916c513b7e652b1e25675f0f38f0f1f3a65d214\n"
    },
    {
      "commit": "ec1f2bcad213a6ac74595d5d6d4b43c82241f5ad",
      "tree": "188995d7b97bed4ebaea293a870aaee314583545",
      "parents": [
        "07017f2ebe325cb0b17fbcd1f2fadc24a34a24c4",
        "6fa0f075e2c4b05badf7f228a5969f1471c34d63"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri May 12 04:19:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 04:19:07 2017 +0000"
      },
      "message": "Merge \"Merge \"Only spawn one binder thread for screencap.\" into oc-dev am: b1edc48db0\" into oc-dev-plus-aosp\nam: 6fa0f075e2\n\nChange-Id: Iac9144bacbd7ee247fae3f01408687d8f13b0479\n"
    },
    {
      "commit": "eb6c916533e124a50001417805aacd7e11b22a21",
      "tree": "f1c8de351d2c7695481b5f379a4ac1b5e3944267",
      "parents": [
        "b78aad827cb1a74e2746b9ebd320857714c33646",
        "b1edc48db005800dc6ed15901b1c9aba691b1935"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri May 12 02:09:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 02:09:15 2017 +0000"
      },
      "message": "Merge \"Only spawn one binder thread for screencap.\" into oc-dev\nam: b1edc48db0\n\nChange-Id: I251c7b72196f8996051b538a59fd466b65757ce4\n"
    },
    {
      "commit": "b1edc48db005800dc6ed15901b1c9aba691b1935",
      "tree": "1ef2b33433314830fa10ea5b3fcd195ce5107f0a",
      "parents": [
        "7d75f491756973fd68a0e3ed8b462c1d2e88163b",
        "3b53fc5a84c4db40830d1810dee309accce66f09"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 22:07:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 22:07:37 2017 +0000"
      },
      "message": "Merge \"Only spawn one binder thread for screencap.\" into oc-dev"
    },
    {
      "commit": "a54a0df59606e89ef072b7759ba060f567cf07e8",
      "tree": "17a2193f7dd4619ddea753d1106562e02a5fbb02",
      "parents": [
        "89d7802252f61d49b8248dd489b661faadf5851e",
        "8b4c4f09f607879ee94be70a879b682522f2c535"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 11 19:34:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 19:34:30 2017 +0000"
      },
      "message": "Merge \"Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\" into oc-dev am: c3b938ca5e\nam: 8b4c4f09f6\n\nChange-Id: Ia6dd41e08ea31ccc902c4d9ba714e6448898fac4\n"
    },
    {
      "commit": "8b4c4f09f607879ee94be70a879b682522f2c535",
      "tree": "361add9119ba58cba99482b66967d60ad132b2f9",
      "parents": [
        "8e160c0e16a350d52b08238e259c7bf5ae9646f4",
        "c3b938ca5ed1385ea07a500abfba31ee4943c096"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 11 18:45:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 18:45:00 2017 +0000"
      },
      "message": "Merge \"Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\" into oc-dev\nam: c3b938ca5e\n\nChange-Id: I585bf57074064761c7d216f05be23d7f044208fa\n"
    },
    {
      "commit": "3b53fc5a84c4db40830d1810dee309accce66f09",
      "tree": "e8fe59b1d6197fe6529c0ba0ab5f88c020ea3304",
      "parents": [
        "a22a5d83c2ec9d4b0549e92c1d3af7550896e7ee"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 09:40:45 2017 -0700"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu May 11 17:44:45 2017 +0000"
      },
      "message": "Only spawn one binder thread for screencap.\n\nTo work around race conditions in libbinder when\nspawning new threads while being shut down.\n\nBug: 36066697\nTest: screencap still works\nChange-Id: I774d3dc2491bb578a12dede90cc7fcded976f13f\n"
    },
    {
      "commit": "983055231b999e450def3e3df377fb4e23420711",
      "tree": "f38ad992b49e239ff775a2601ec5ee8129f52c59",
      "parents": [
        "2af0676b2d89938a69eab85ba52d9902d32a7e1e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 05 17:53:53 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 10 17:23:02 2017 -0700"
      },
      "message": "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist\n\nThere is now an IBinder \"token\" that must be specified when setting\nthe whitelist duration for an Intent.  To have the whitelist supplied,\nthe caller to send a PendingIntent must pass in the same token.  The\nPendingIntent and IntentSender classes now internally maintain this token\nto pass in when their send() is called.\n\nThe big complexity for making this work is we now need to associate this\nwhitelist token correctly with the actual PendingIntent objects that\napplications and other code is getting.  To do this, we propagate the\ntoken in the Notification object, and have a new API on Parcel that allows\nus to make it available to PendingIntent when it is unmarshalled.  And\nthis allows to deal with PendingIntents appearing in nested bundles, as\nwe can propagate that information from the original Parcel to the new\nParcel that Bundle keeps to delay unmarshalling.\n\nTest: manual\nChange-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750\n"
    },
    {
      "commit": "fa6f8a76fb582d1629845e0e23d44fc60fedcb2d",
      "tree": "a582c5d980c5e32a2cba28715bf41634a0a96e39",
      "parents": [
        "168bffa03982e01d8c8f68026f4f89acb2f718ff"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed May 10 09:42:29 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\n\n(cherry picked from commit 00229bc6cfd74c3221d02af6df07960a0f36af1a)\n\nChange-Id: I7fea20f92a5a92885733bc6ecb83b7276a48fbc2\nMerged-In: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "702d506d5788e39e83cc7ba6495f0d5410b46e7a",
      "tree": "efa1ca0be77119c15076d0b15729ea349102f806",
      "parents": [
        "d308803b82f5317eebafdf3a97baff3bcd460e60"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon May 08 19:33:27 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ice80a29b420061f5d0af6eb46426455abf890e5e\nMerged-In: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "00229bc6cfd74c3221d02af6df07960a0f36af1a",
      "tree": "544f4014f488875b01994f521e03d540ea1cd658",
      "parents": [
        "547a7ec9dbbf38651c0fefc1c7577362de326496"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 01 13:21:10 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon May 08 13:27:51 2017 +0100"
      },
      "message": "Prepare for removal of junit and android.test classes from Android API (step 1)\n\nIn preparation for removing junit and android.test classes from\nthe Android API this change adds explicit dependencies on junit\nand/or legacy-android-test to ensure that modules will compile\nproperly once it is removed.\n\nCare was taken to ensure that any targets that depended,\ndirectly or indirectly, on android-support-test did not also\ndepend on junit or hamcrest as they conflict with the versions\nembedded within android-support-test.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ifc3ee3dc804074a3c572bf2600cfb1fe1b6fa749\n"
    },
    {
      "commit": "d1294465fbbf05b831d4e5d718bae229314635de",
      "tree": "688dfbc166333efd1e2eb103ff571528a26a0aca",
      "parents": [
        "38b67a482c50ddf81f751dffc8481d9316a4663c",
        "8c921a8f14fadb9da17c2885b75a22a71f237cd2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Sat May 06 02:29:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 06 02:29:03 2017 +0000"
      },
      "message": "Merge \"Offer to wait until broadcasts have drained.\" into oc-dev am: 6f4aab2c01\nam: 8c921a8f14\n\nChange-Id: Ia55b3b9666b2683e880e07071b53645ba309a57c\n"
    },
    {
      "commit": "fd65813157e4dd7fa9f0b7c5dd4c8f536cc6316a",
      "tree": "5e475f046b4815f6b8bdb01eb96550d2608113c7",
      "parents": [
        "e44125cd3a5fc25306285bdfcacc00459e01307b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 03 11:38:01 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 05 14:58:47 2017 -0600"
      },
      "message": "Offer to wait until broadcasts have drained.\n\nWe\u0027ve seen evidence of lab devices racing with other apps that are\nusing cache space immediately after tests wipe it clean, which can\ncause test failures.  To mitigate this, try our best to wait for the\ndevice to go \"idle\" by watching for broadcast queues to fully drain.\n\nAlso improve javadocs along the way.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nBug: 37486230, 37566983, 37913442, 37914374\nChange-Id: I4d430db443b6fa6d33a625fe07b90279b5d51c12\n"
    },
    {
      "commit": "60df13e750ff65c583f66460dccfc817f96e7b19",
      "tree": "e377558216e9c0ff8ab936d7f9579f1595d69f29",
      "parents": [
        "21d9aeb74618830f161806e67399f2508892dc9a",
        "c4d7248cdd84eab690e69cf2f2b56d399144dab8"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Thu May 04 05:29:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 04 05:29:12 2017 +0000"
      },
      "message": "Merge \"Rename CompatibilityDisplay to Vr2dDisplay\" into oc-dev am: 1d01f9cf67\nam: c4d7248cdd\n\nChange-Id: I8714be5933827c015f1446d5231f5c1f704b53c3\n"
    },
    {
      "commit": "2b9aaedf6310694de31301659ce604ff195b32ee",
      "tree": "22d0090b97ecf33adbce6eac6b76c98fa59f5ca5",
      "parents": [
        "e4e953ae4c42c10efe0c578a8dcfa5726bf8c6f7"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon May 01 01:34:19 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Wed May 03 22:16:02 2017 -0700"
      },
      "message": "Rename CompatibilityDisplay to Vr2dDisplay\n\nCompatibilityDisplay used for displaying 2D activities in Vr world. This\nis confusing in more than one way. To clarify what it really means,\nrename it to Vr2dDisplay.\n\nChanges in this CL -\n\n- /s/CompatibilityDisplay/Vr2dDisplay\n- /s/Compatibility/Vr2d - in CompatibilityDisplay context.\n\nBug: 37851944\nTest: cts/hostsidetests/services/activityandwindowmanager/util/run-test\nCtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests\npasses on Marlin.\n\nChange-Id: I0a442302fa9d0f48bbd0c01a7766b94369e04386\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "5fd001ac82c4780bd40bd07d3e0d2c732df3a843",
      "tree": "0c54f49e457feb1658a38c16bdd10b339db7872a",
      "parents": [
        "1f14b1509c27b227991399d0e7e5e5dc00a608ae",
        "875c8445a86d3f4862e1bf8bffcfe4d972ff6912"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon Apr 24 22:45:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 24 22:45:33 2017 +0000"
      },
      "message": "Merge changes from topic \u0027virtual-display-api\u0027 into oc-dev am: 13ba34bf37\nam: 875c8445a8\n\nChange-Id: I12f88b60d82fba4227c9f565009e6c3e42f6798c\n"
    },
    {
      "commit": "13ba34bf3789a33a0ab62947b12445820dffa945",
      "tree": "8a93de92360956ad5ae0ae493001124aba94d640",
      "parents": [
        "880f4f4cc2982f63674167fc9b38b970997b6594",
        "33f70c16eb99534ffd9338f7bf03f23d19fe6611"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 24 21:33:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 24 21:33:59 2017 +0000"
      },
      "message": "Merge changes from topic \u0027virtual-display-api\u0027 into oc-dev\n\n* changes:\n  Add command line option to set compatibility display properties\n  Make VR mode virtual display properties customizable\n"
    },
    {
      "commit": "1957ffcfb4e27bcf1be9ccd0911f2d5f36218243",
      "tree": "2d20fcf03aaad5d0198a3064e4024d59c2c79a0b",
      "parents": [
        "3dc5f0f073e644d55cba9da86de7ff9e2732d98b",
        "1181074805a043646f5f025632dc51619ae4b56a"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 20 17:29:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 20 17:29:15 2017 +0000"
      },
      "message": "Merge \"Stop hwbinder threads from app_process.\" into oc-dev am: fd25662e03\nam: 1181074805\n\nChange-Id: I2c442d25a3083c697c5306b8230710f7e5b9a37e\n"
    },
    {
      "commit": "b69ffdb2078e2272fa5637a8c8f2b58020946e20",
      "tree": "433c9fbd1461dfcd484c1824022254edb9bfc6ee",
      "parents": [
        "f9f8120e56caf757e4a995c6a62273f9210c041d"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "message": "Stop hwbinder threads from app_process.\n\nTo prevent it from hanging up.\n\nBug: 37500397\nBug: 34085250\nTest: DismissDialogsInstrumentation test\nChange-Id: Ia69f6a5676666bc9286272b82f242d7b1d0ee286\n"
    },
    {
      "commit": "695489762023063a7284bba8d9a36ec7ede198a5",
      "tree": "75d6b5d88ef1b4a0ef3f319548e003acc20f571a",
      "parents": [
        "9e9d929ed892321727cfc7dfdde37541a6ef35ab",
        "7c0ae0f58b9f258560088b670d3a4cb3ec5d832a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 18:35:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 18:35:20 2017 +0000"
      },
      "message": "Merge \"bitmaps and pixelrefs no longer need lock/unlock\""
    },
    {
      "commit": "7c0ae0f58b9f258560088b670d3a4cb3ec5d832a",
      "tree": "dcbf7f79e0d6ad941c77cfc0e70299295678c76a",
      "parents": [
        "8e3b1a63f9cd76a71ecbfc8c6a0c68b4cbecab90"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Apr 17 17:05:48 2017 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Apr 18 10:22:42 2017 -0400"
      },
      "message": "bitmaps and pixelrefs no longer need lock/unlock\n\nTest: covered by CtsGraphicsTestCases and hwui_unit_tests\n\nChange-Id: I42a25961a2eb3755d2fd22a617aa21a24ec0994f\n"
    },
    {
      "commit": "ab16ea9094d2f26291f5d8f8652950b3ed76e7ee",
      "tree": "350396bd6f9ecfcf15be20a3bb3254d35b304586",
      "parents": [
        "89e8b7b58efe9a8b986c937dbb9ac806d34d2bf8",
        "3e5a34ea8e90e013c7edd39675746130a6eea954"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Apr 18 00:32:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 00:32:58 2017 +0000"
      },
      "message": "Merge \"Revert \"MediaSession: Add methods for setting shuffle and repeat modes\"\" into oc-dev"
    },
    {
      "commit": "33f70c16eb99534ffd9338f7bf03f23d19fe6611",
      "tree": "558c13938e10d310319d5d88489b3b641543fef8",
      "parents": [
        "cdf9ce7229e791fe345b0860fe32433f15c95db8"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Thu Apr 13 19:27:43 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Mon Apr 17 14:25:25 2017 -0700"
      },
      "message": "Add command line option to set compatibility display properties\n\nTo be able to control the Vr compatibility virtual display\u0027s is useful.\nIn this case, it will be useful to control and test the\nCompatibilityDisplayProperties API in VrManager.\n\nBug: 37260266\nTest: adb shell set-compatibility-display-properties 500 500 500\n      adb shell dumpsys display\n\n      \u003e\u003e  mBaseDisplayInfo\u003dDisplayInfo{\"VR 2D Display\", uniqueId\n      \"virtual:android,1000,VR 2D Display,0\", app 500 x 500, real 500\n      x 500, largest app 500 x 500, smallest app 500 x 500, mode 6,\n      defaultMode 6, modes [{id\u003d6, width\u003d500, height\u003d500, fps\u003d60.0}],\n      colorMode 0, supportedColorModes [0], hdrCapabilities null,\n      rotation 0, density 500 (500.0 x 500.0) dpi...\n\nChange-Id: Ice5bc569f380154bf2d9e9f9b9387e801d678774\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "ea2f3be7aae9435ce21743c959b62731c87a36b8",
      "tree": "6fb9cfc2337347fbb05e545cbd40e61bf784ee86",
      "parents": [
        "5fc6e63e2ea80aafeb5802d50e6d3e7dbc6215ae"
      ],
      "author": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Mar 16 14:00:52 2017 -0700"
      },
      "committer": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Mon Apr 17 14:12:00 2017 +0000"
      },
      "message": "OEM single-build/multi-SKU via dynamic RRO support\n\nThe purpose here is to provide support for selectively\nenabling Runtime Resource Overlays (RROs) (specifically\nthose pertaining to a specific SKU, within a OEM\u0027s \"single\nbuild\" covering multiple SKUs) at boot based on the value\nof a pre-defined system property.\n\nThis mechanism is designed to be compatible with other,\nrecent changes to Runtime Resource Overlays - specifically:\n\n- has no effect on \u0027isStatic\u0027. Resource overlays must be\n  attributed as static in order to qualify for loading into\n  the system_server. The \u0027requiredSystemPropertyName/\n  requiredSystemPropertyValue\u0027 mechanism operates\n  independent of this and can be used on both static and\n  non static overlays. The effect of specifying a conditional\n  property on any overlay is that it will ONLY be enabled\n  in the event that the system reflects both the property\n  and the specified value (Note that in the ABSENCE of a\n  conditional property, overlays are assumed to be enabled).\n\n- has no effect on OverlayManagerService (OMS) API. The\n  OMS provides the system with an interface through which\n  overlays can be enabled/disabled and even rearranged at\n  runtime. This provides the basis of support for various\n  user-level features (e.g. dynamic theme selection).\n  The \u0027requiredSystemPropertyName/requiredSystemPropertyValue\u0027\n  mechanism operates independent of this -\n  with enablement being completely coupled to the available\n  system properties on the device and NOT subject to change\n  at runtime.\n\nNote: as part of this change, original overlay tests have been\nupdated (fixed) and expanded to include tests to cover the\nconditional property implementation.\n\nIssue: http://b/35100249\nTest: frameworks/base/core/tests/overlaytests/testrunner.py\n\nChange-Id: I1990ce21a27a385db1e2f53294b69dd03988351e\n(cherry picked from commit d5566c6c47faa6b9dda282741e25ac78c9487d58)\n"
    },
    {
      "commit": "d5566c6c47faa6b9dda282741e25ac78c9487d58",
      "tree": "fc666ea0f61f1e82909cd5a4f90a0774b9de9c8c",
      "parents": [
        "f9993a7b4490df05381a0a097100233f70adcdac"
      ],
      "author": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Mar 16 14:00:52 2017 -0700"
      },
      "committer": {
        "name": "Todd Lee",
        "email": "leetodd@google.com",
        "time": "Thu Apr 13 19:33:11 2017 -0700"
      },
      "message": "OEM single-build/multi-SKU via dynamic RRO support\n\nThe purpose here is to provide support for selectively\nenabling Runtime Resource Overlays (RROs) (specifically\nthose pertaining to a specific SKU, within a OEM\u0027s \"single\nbuild\" covering multiple SKUs) at boot based on the value\nof a pre-defined system property.\n\nThis mechanism is designed to be compatible with other,\nrecent changes to Runtime Resource Overlays - specifically:\n\n- has no effect on \u0027isStatic\u0027. Resource overlays must be\n  attributed as static in order to qualify for loading into\n  the system_server. The \u0027requiredSystemPropertyName/\n  requiredSystemPropertyValue\u0027 mechanism operates\n  independent of this and can be used on both static and\n  non static overlays. The effect of specifying a conditional\n  property on any overlay is that it will ONLY be enabled\n  in the event that the system reflects both the property\n  and the specified value (Note that in the ABSENCE of a\n  conditional property, overlays are assumed to be enabled).\n\n- has no effect on OverlayManagerService (OMS) API. The\n  OMS provides the system with an interface through which\n  overlays can be enabled/disabled and even rearranged at\n  runtime. This provides the basis of support for various\n  user-level features (e.g. dynamic theme selection).\n  The \u0027requiredSystemPropertyName/requiredSystemPropertyValue\u0027\n  mechanism operates independent of this -\n  with enablement being completely coupled to the available\n  system properties on the device and NOT subject to change\n  at runtime.\n\nNote: as part of this change, original overlay tests have been\nupdated (fixed) and expanded to include tests to cover the\nconditional property implementation.\n\nIssue: http://b/35100249\nTest: frameworks/base/core/tests/overlaytests/testrunner.py\n\nChange-Id: I1990ce21a27a385db1e2f53294b69dd03988351e\n"
    },
    {
      "commit": "3e5a34ea8e90e013c7edd39675746130a6eea954",
      "tree": "9d4daab7f1fd6a9ef230e9b1a8d493736e13e196",
      "parents": [
        "7066c9e446bb626804789ac29f0e494aaf94f1bf"
      ],
      "author": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Tue Apr 04 13:35:24 2017 +0900"
      },
      "committer": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Thu Apr 13 09:43:23 2017 +0900"
      },
      "message": "Revert \"MediaSession: Add methods for setting shuffle and repeat modes\"\n\nThis reverts commit ba11085635ea3ef9383b34dd44c43f2a6cd832ff.\n\nBug: 36844917, Bug: 36525228, Bug: 36525325\nTest: Pass MediaSessionTest and MediaControllerTest\nChange-Id: I4805ea58107b5fab8c9f5f0fcaffd1e0e4882ed8\n"
    },
    {
      "commit": "b4c2e6f468edcdd18359a5eaf71f545676e878b5",
      "tree": "aa70becfa7840094e79b7bc742a720a15f96c0a0",
      "parents": [
        "f74210c3a3e4e158822651f86795e1dc90dea5a4",
        "a56ba60c944c82265906f40088fddecb65705733"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 21:10:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 21:10:37 2017 +0000"
      },
      "message": "Merge \"\"bmgr restore\" really should wait until operation finishes.\" into oc-dev"
    },
    {
      "commit": "a56ba60c944c82265906f40088fddecb65705733",
      "tree": "971e02a5b84befdaaccf5595d87589516b71f493",
      "parents": [
        "6acaa0382c86ac1e557c92e4d8dd83fb2c4972f2"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 10:10:22 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 12 11:08:49 2017 -0700"
      },
      "message": "\"bmgr restore\" really should wait until operation finishes.\n\nTest: manual test\nBug 37246838\n\nChange-Id: Ice381dc250e2d2a59cff48152dd3c8d6897d0804\n"
    },
    {
      "commit": "9d5f8e11e11e93fbf0d9cbcbb68b7b0062695e5d",
      "tree": "f149fe5a2fc1a38080be1d53a038a1c648782b60",
      "parents": [
        "62abe8f8027ccc5a98133b93582ad23ff0573d0c"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Tue Apr 11 11:49:34 2017 +0100"
      },
      "committer": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Tue Apr 11 11:49:34 2017 +0100"
      },
      "message": "Add helptext to bu command.\n\nbu is used by adb backup/restore, but since flags passed to these adb\ncommands are just forwarded to bu, we have no guarantee that the help\ntext for adb shows an up to date description of what bu can do. We\ntherefore add the help text to bu, such that it is easier to keep in\nsync.\n\nTest: adb shell bu help\n\nBug: 36170696\nChange-Id: I8155d17b5c942ce19b981f4a157e7cc7810490ce\n"
    },
    {
      "commit": "b706bb7e52a43ce79bc348bc19354c904dfe7d31",
      "tree": "dc63d1696b569f33ada102b22c11d3d465a211e4",
      "parents": [
        "4a306894145340a4fe08b70b569eaa31641b38e6"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri Apr 07 09:31:01 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Apr 10 20:55:03 2017 +0000"
      },
      "message": "ignore RemoteException from pm if shutdown is already on-going\n\n- In new shutdown flow, adb is guaranteed to be alive while system server\n  is alive.\n- power manager can be killed before system server is killed.\n- This leads into RemoteException for shutdown request to power manager.\n- If shutdown is already on-going (\u003dsys.powerctl set), the RemoteException\n  should be ignored.\n\nbug: 37096155\nTest: adb shell svc power reboot|shutdown and check output to adb\nChange-Id: Ia90a900d55123bd7c1bf57c90c49d35332ebfdf5\n"
    },
    {
      "commit": "4b8c7f67aca0825203338a066b3148c2fbb98587",
      "tree": "e9fca4609601faa5f65805bcb90fd5d9d90ebaf0",
      "parents": [
        "c85aa306c1a106cab7d486a4134de5acd3c6369a"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Wed Apr 05 20:37:52 2017 +0100"
      },
      "committer": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Wed Apr 05 20:45:32 2017 +0100"
      },
      "message": "Change flag from -includekeyvalue to -keyvalue/-nokeyvalue\n\nThe original flag was added in ag/1946677. As pointed out\nin ag/2065837 we ought to stick to the syntax used for\nother flags.\n\nTest: adb backup -keyvalue -all\nChange-Id: Ie2c7ee3d85740abadaa4119d23470cd9470bd981\n"
    },
    {
      "commit": "d1794cdbb4183774ac68e9d445ca87835fbe6461",
      "tree": "9d6b930c88fceab8792cadec7e6ea6dc58b116da",
      "parents": [
        "7a7e415967ace2d554cedb4ceb76123324c0ef94"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 12:21:19 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 22:21:32 2017 +0000"
      },
      "message": "show different timing log for shutdown animation\n\nbug: 36873098\nTest: reboot and check log\nChange-Id: Ic3adaba383cc29dba039a7fb5adcb01d4c0c963b\n"
    },
    {
      "commit": "b593842063770f9e75c623a4bc7bb41b4c1830c6",
      "tree": "25c843fbdf41d802f73265c700e6574b60508b85",
      "parents": [
        "3f2bbcbe92cd2500746153ed2378278c1b2a53e2"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Thu Mar 23 13:46:24 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Apr 03 14:43:14 2017 -0700"
      },
      "message": "support shutdown animation from bootanim\n\n- init will set sys.powerctl property and run bootanim.\n- Use /oem/media/shutdownanimation.zip or\n  /system/media/shutdownanimation.zip for animation file.\n  If none of them exist, android animation will be used.\n- Disable audio playing for shutdown animation.\n- Disable TimeCheckThread for shutdown animation. It\n  accesses /data partition and can block umount.\n\nbug: 36526187\nTest: many reboots\n\nChange-Id: If02c73cda2015317d88d056cd45201208da49946\n"
    },
    {
      "commit": "74db2a3667e69138e2af8ea4ff053a43cc262aa8",
      "tree": "b6e48f7dcc0ed10cbb223b4c7a984e09becaf779",
      "parents": [
        "99493dbc94989d4493ca6acb0db265a02f49f62e"
      ],
      "author": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Sun Mar 26 02:46:48 2017 -0700"
      },
      "committer": {
        "name": "Karthik Ravi Shankar",
        "email": "karthikrs@google.com",
        "time": "Fri Mar 31 08:37:12 2017 -0700"
      },
      "message": "Add vr persistent mode enable/disable\n\nPersistent vr mode toggle control is needed sometimes from command line.\nThis also adds the infrastructure for future vr commands.\n\nBug: 36071574\nTest: adb shell vr set-persistent-vr-mode-enabled true\n      adb shell dumpsys vrmanager\n      \u003e\u003e Persistent VR mode is currently: enabled\n      adb shell vr set-persistent-vr-mode-enabled false\n      adb shell dumpsys vrmanager\n      \u003e\u003e Persistent VR mode is currently: disabled\n\nChange-Id: I47a858e0696a907e746d50e2c6ca3d18197864a7\nSigned-off-by: Karthik Ravi Shankar \u003ckarthikrs@google.com\u003e\n"
    },
    {
      "commit": "72ba815ca41e72a3d12ae8dff1d6806220060b11",
      "tree": "315fd928d3263d0114755e9700da25fc7eecba27",
      "parents": [
        "2858ad3a4b9d6c0a715ce1506eaec257b5d7cebd",
        "e53e2d9576cbcf6fc2bd9c8674e162bef7297226"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Mar 27 15:22:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 27 15:22:52 2017 +0000"
      },
      "message": "Merge \"Add a new \"virtual disk\" feature.\""
    },
    {
      "commit": "e53e2d9576cbcf6fc2bd9c8674e162bef7297226",
      "tree": "e53df1468009a650d8719220756b7feca63e6fa2",
      "parents": [
        "20fd49d8c76fb93e721388f7e66761cb1c2d1c20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Mar 25 23:14:06 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Mar 25 23:26:21 2017 -0600"
      },
      "message": "Add a new \"virtual disk\" feature.\n\nIt\u0027s extremely difficult to test storage related logic on devices\nthat don\u0027t have physical SD card slots.  So to support better\ndebugging and testing, add a new \"virtual disk\" feature which mounts\na 512MB file through loop device.\n\nAlso move ParcelFileDescriptor.open() over to using Os.open() so\nthat it gets StrictMode treatment.\n\nBug: 34903607\nTest: builds, boots, virtual disk works\nChange-Id: I072a3a412cfcc8a2a3472919b7273a1ed794fd98\n"
    },
    {
      "commit": "b59a4b85ade3f1f408def6a0dd3dbb146225bdd7",
      "tree": "c0591b4086fde7cfcab9654a3cffff12cc9a5a75",
      "parents": [
        "b1c88ecf05bd8992dccd17e6f0b59db7e7ac819f"
      ],
      "author": {
        "name": "Johan Toras Halseth",
        "email": "johanth@google.com",
        "time": "Fri Mar 03 15:37:43 2017 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Fri Mar 24 23:51:48 2017 +0000"
      },
      "message": "Add support for key-value packages to adb backup/restore.\n\nFor adding CTS tests for packages having key-value backup agents, we add\nsupport for key-value backups to the adb backup/restore command.\nPreviously, packages not supporting fullbackup would just be skipped on\nthis command. Now, by adding the -keyvalue flag to the adb backup command,\npackages supporting key-value will also be added to the resulting\ntarball. Similarly, if the tarball being supplied to adb restore\ncontains data from key-value packages, it will be restored.\n\nThis will later be utilized for writing CTS tests for such packages.\n\nTest: adb backup -includekeyvalue -all \u0026\u0026 adb restore backup.ab\n\nChange-Id: I7b4ccfb7072d01d29a888952145d7cce90a4f59e\n"
    },
    {
      "commit": "24d5893b25ce62b7bc9ed9f35fa72b9d47f23cdd",
      "tree": "5968cc7096b6951b770b3a5b3d8a92fbbe406edd",
      "parents": [
        "f9747661698a60e1d1af9ad3c7afcc1d16eac403"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Mar 21 14:13:58 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 22 17:20:48 2017 -0700"
      },
      "message": "Added a UserManager.DISALLOW_AUTOFILL restriction.\n\nbug: 35710740\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testUserRestriction\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDisallowAutofill_allowed\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testDisallowAutofill_allowed\nTest: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testDisallowAutofill_allowed\n\nChange-Id: I41b2bf9fe3bc8df627c6650960bd11346c430a7e\n"
    },
    {
      "commit": "1665d0f028e3a225cb117d3e227bef5c5dace2d4",
      "tree": "176d355b285d5d210ea8238f2dc59444a1a7964a",
      "parents": [
        "f18cec265d471d7b6f3a738bc478b66b149692d7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 10 14:46:57 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 16 15:45:10 2017 -0700"
      },
      "message": "Add support for configForSplit\n\nApplications with the android:isolatedSplits\u003d\"true\" attribute in\ntheir AndroidManifest.xml would have their Split APKs loaded in\nisolation of each other, based on a set of dependencies.\n\nConfiguration Splits generated for a Feature split would not be properly\nloaded before, so this change, along with a tools change, fixes this\nissue and completes support for isolatedSplits.\n\nBug: 30999713\nTest: CTS test coming (depends on some tool changes)\nChange-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3\n"
    },
    {
      "commit": "0434289c45bc18f81f26d66e6bcbf8facf128665",
      "tree": "a055cae26bc507d8182663a5e89337c9aa64fe60",
      "parents": [
        "58277fab89c22ab7a9ac1f77da37a4368c91582f"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Mar 02 15:24:19 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Wed Mar 15 00:07:34 2017 +0900"
      },
      "message": "Apply static RRO\n\nStatic RRO package is designed to support resource overlay for system\nserver and they shouldn\u0027t be disabled or changed by a user.\nThe design details are in go/treble-static-rro.\n\nSelection method for static RROs will be applied later when its design\nis determined.\n\nTest: building succeeded and tested on sailfish.\nBug: 35742444\nChange-Id: I8cbf2fd37a73a24bf6ad291e2c5cf75a0fc757fc\n"
    },
    {
      "commit": "8ee7285128c3843401d4c4d0412cd66e86ba49e3",
      "tree": "ea62692565464d21383179f5a1923e26c7effe28",
      "parents": [
        "83c4712abdd89ca60c9916e72e755b2548e6b922"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Mar 10 10:36:45 2017 -0800"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Mar 10 18:34:18 2017 -0800"
      },
      "message": "Move rotation tracking to DisplayContent\n\nThis CL moves rotation tracking from WindowManagerService to\nDisplayContent. This way displays can be rotated independently and\nrotation of the main display won\u0027t affect rotation of secondary\nones.\n\nBug: 34242678\nTest: android.server.cts.ActivityManagerDisplayTests\nTest: testRotationNotAffectingSecondaryScreen\nChange-Id: Ic46aaa523482b31ff5ec77f0c2908ceda1156fc0\n"
    },
    {
      "commit": "2ba0df0374e79f0196293431bcbacd555a10b688",
      "tree": "7658172d6f7dbd1ee8264b51439caca078fdedc6",
      "parents": [
        "3660504f149c9b7641d33d14bfc2eaa2ab84bd8a",
        "bd401a77f8e1e132fb2f632086a435dac71303bf"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 21:59:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 08 21:59:13 2017 +0000"
      },
      "message": "Merge \"update uiautomator doclava build to use new location for templates as per: https://googleplex-android-review.git.corp.google.com/#/c/1524290/\""
    },
    {
      "commit": "bd401a77f8e1e132fb2f632086a435dac71303bf",
      "tree": "93dd6dc646ef7619cfbc74811e388d65ccd0c333",
      "parents": [
        "076b6c901fa78c965605d0413522d63b2a511893"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 11:18:50 2017 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Mar 08 11:21:03 2017 -0800"
      },
      "message": "update uiautomator doclava build to use new location for templates\nas per:\nhttps://googleplex-android-review.git.corp.google.com/#/c/1524290/\n\nChange-Id: Ib8588f01005a691474622e6ca81f63234f796f82\n"
    },
    {
      "commit": "7de2f9c73fbe93bfb7dff3c046cf7a3137599f6c",
      "tree": "d1db83724b9bc9f6e3dd82856d71675f65ed4a39",
      "parents": [
        "cb0629eaa1a63684b1e6dbb366d42e80a26a5da9"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Thu Mar 02 12:45:10 2017 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Fri Mar 03 07:23:23 2017 +0900"
      },
      "message": "Reinstate codes to enable RRO on system server\n\nTest: building succeeded and tested with sailfish\nBug: 35742444\nChange-Id: I99d0f1d097525d3eb46255d6cf823f6ae2a02385\n"
    },
    {
      "commit": "6d7cb232362d8036875d1d3c3f0e8f5d47a2ad25",
      "tree": "5fe52ea9b5bd9e0b0aa7e3dbc312733858d7d8ed",
      "parents": [
        "894b5b9998a9c8417cd7c9cbd4bdf03074475160"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Mon Jan 30 10:43:18 2017 -0800"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Tue Feb 28 12:55:59 2017 -0800"
      },
      "message": "Sending explicit broadcast to the launcher when a package is installed\n\nTest: Manually tested on device and add CTS tests\nBug: 32920609\nChange-Id: Ic23c077a469fb41d6c4e123d4bc022899f634198\n"
    },
    {
      "commit": "2e0d0f311100d8e0bb40d7d60b8498237f011f0c",
      "tree": "00377afd35d28d384d4ad735b250051481debe31",
      "parents": [
        "8716ef94194ad715ef596de4a38abb5b2a5c8186"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 23 14:01:38 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nChange-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\n"
    },
    {
      "commit": "df0824ad4cd31a3e96653fe82ce969b08cd00be2",
      "tree": "12d8acb544a545a2bf061640de58d4ebfb6f3bad",
      "parents": [
        "6dd3529aa6ba6feaaaedfec3327846cdac0854e8",
        "95459806920dec34abb3214ab6e1a9b9213a2a61"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:36:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 07:36:16 2017 +0000"
      },
      "message": "Merge \"Revert \"OMS: integrate OverlayManagerService into framework\"\""
    },
    {
      "commit": "95459806920dec34abb3214ab6e1a9b9213a2a61",
      "tree": "1e4d0a136606788c633f5b823daca0caa4334499",
      "parents": [
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "message": "Revert \"OMS: integrate OverlayManagerService into framework\"\n\nBug: 31052947\nBug: 35697944\n\nThis reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013.\n\nChange-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3\n"
    },
    {
      "commit": "0f09817859b19054aee3feded1dbf9757a5ec131",
      "tree": "c58d8246d55ef36eedcf1be7c75c7fb039c53782",
      "parents": [
        "a49777092042b1b36712d174bbb469f9fb396e26",
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 03:58:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 03:59:01 2017 +0000"
      },
      "message": "Merge \"OMS: integrate OverlayManagerService into framework\""
    },
    {
      "commit": "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013",
      "tree": "79a415bcc73f60cda6dbac4ca414b22741c47266",
      "parents": [
        "f9bd2944694539f1dce74d420156cc50bbb4af14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 21 14:29:43 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\nChange-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353\n"
    },
    {
      "commit": "ed4cd7a1ba0e05bf89d750d88194504ec14d63ab",
      "tree": "ceda119aae9ab6c7455c6372d8bdf37657916557",
      "parents": [
        "830d4b422db2f2ae4af17403ccd1d34fd6f0bd6f",
        "4b4ce6fa177b52c99b87c4d45c0a85860eb267a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 21 21:01:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 21:01:20 2017 +0000"
      },
      "message": "Merge \"Log pm install time and package name\""
    }
  ],
  "next": "4b4ce6fa177b52c99b87c4d45c0a85860eb267a0"
}
