)]}'
{
  "log": [
    {
      "commit": "5085ef71e9e6b0bd63f9ff0b80876049193885b5",
      "tree": "75ab063c25a967912c3787813452af80dc871d90",
      "parents": [
        "a65aa77c1c5bbd17fa0fd3d68bd74697ac57251f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 01 17:17:23 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 07 11:26:15 2017 -0700"
      },
      "message": "Framework: Remove SamplingProfiler\n\nRemove the very old and unsupported SamplingProfilerIntegration. This\nCL removes the code parts.\n\nBug: 37272346\nTest: m\nTest: Device boots\nMerged-In: I64d77244b5816ef1f605d19530b96be38f5c1bc6\nChange-Id: I64d77244b5816ef1f605d19530b96be38f5c1bc6\n"
    },
    {
      "commit": "68f666693a465eb8a66d9252b7b7ac035b9f0b7b",
      "tree": "a26f0e86a4928a06f3de324c290ce1413edd89e1",
      "parents": [
        "622b140f9450afcc403fb03079202ea8df3a0430"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Mar 16 18:32:21 2017 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu May 04 19:46:47 2017 +0100"
      },
      "message": "Add (disabled) time zone update system server impl\n\nThis commit builds on top of prior API commits. It\nadds code to the system server, but in a disabled way.\n\nThe system server is responsible for monitoring two\n(configured) package names: one for the \"updater app\"\n(provided by the platform) and one for the \"data app\"\n(provided by the OEM). When either package changes\nthe updater app is triggered via a privileged\nintent.\n\nThe updater is then required to communicate with the\ndata app and report back to the system server.\n\nUnit tests are included for the major components.\n\nTo run:\nmake -j30 FrameworksServicesTests\nadb install -r -g \"out/target/product/angler/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w com.android.frameworks.servicestests \\\n    \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above.\nBug: 31008728\nMerged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b\nChange-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b\n"
    },
    {
      "commit": "4fdc7d5ddd05658deec383790f63477df355f3fb",
      "tree": "f9a92c96b6f9d77f04e424e338417c6fddc71dde",
      "parents": [
        "25105f65617d4afd2b0059a0520026eeb95f7744",
        "ce073d70bedc47876da1644fca59864c669d34af"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 16:03:34 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 16:04:31 2017 -0700"
      },
      "message": "Merge commit \u0027ce073d70bedc\u0027 into stage-aosp-master\n\nChange-Id: I319034a5b77de5cf71de0e110bb17819fb907f1b\n"
    },
    {
      "commit": "1afbef40c68373f3871eed087c546cfe1911ee36",
      "tree": "f5e1c8f76b1f4b5fee2937867a5ca34f07a43e71",
      "parents": [
        "5d81b9d67d73be37f51900dde72041e4eb230263"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 01 18:55:06 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 11:31:27 2017 -0700"
      },
      "message": "Add a Skeleton IpSecService\n\n-Add IpSecService with the necessary glue to connect to netd\n-Add code to retrieve IpSecService from System Server\n\nBug: 34811227\nTest: Service boots (and dumpsys works), more via b/34811227\nMerged-In: I4cdcb643421141202f77a0e2f87a37012de0cd92\nChange-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92\n"
    },
    {
      "commit": "2f5a9febf4f84a268c8e77e45925f650653c46f6",
      "tree": "f3b0d066a4ee22069c394760d39dbad1e3675964",
      "parents": [
        "cde107da6cc142ff9b2c996b180d010f11814619",
        "302b7a70751fc0ee0f73f1464afb54be435dfa21"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Mar 23 14:23:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 23 14:23:53 2017 +0000"
      },
      "message": "Merge \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\"\nam: 302b7a7075\n\nChange-Id: I3eba21ec64878deda2d3465fcac96384241f27aa\n"
    },
    {
      "commit": "20e020536ebf999c4acb759960ae6e4bfff6ba67",
      "tree": "69acb5f2791728774093cd8a3bc2a9ee9e9a70c7",
      "parents": [
        "9eb959320f67fb53207f549ad9bc6bdf47abb1a2"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Mar 22 15:13:17 2017 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Mar 22 18:02:30 2017 +0000"
      },
      "message": "Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\n\nTest: make, flashall -w and tested persist.sys.timezone value\nBug: 36488101\nChange-Id: I6d0dab1e247dd7c303153bbe0e997581e36a973d\n"
    },
    {
      "commit": "ebc05de919ed4b33f8331b2497f448a43f336c6f",
      "tree": "8deb40bd322e22e8f165eb0656153b8315917403",
      "parents": [
        "50bc658e2085da79637f1dbb6570b8afe2f75766",
        "375ea2ae7111d50744f8d06a1db201cadcb4d075"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 21 23:32:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 21 23:32:32 2017 +0000"
      },
      "message": "Merge \"Revert \"Remove outdated emulator check which causes BT to not start\"\"\nam: 375ea2ae71\n\nChange-Id: I3d5abc52abf3f7c01ba4fbee47d7e487e99f5dda\n"
    },
    {
      "commit": "a3b2212edaa83b0156791799be60b5fd2715da55",
      "tree": "f0c6d14b733f7fcd4d7d18a5c4c8364a49ff111e",
      "parents": [
        "d98a4e502165d76d05e095608da3c795bd56eafd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Feb 18 20:05:47 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Feb 19 03:28:17 2017 +0000"
      },
      "message": "Revert \"Remove outdated emulator check which causes BT to not start\"\n\nThis reverts commit d98a4e502165d76d05e095608da3c795bd56eafd.\n\nMerged-In: Ibd1596584928f2aa2c799501536abc9b384d1cda\nChange-Id: Ibd1596584928f2aa2c799501536abc9b384d1cda\n"
    },
    {
      "commit": "806ac5e1dd3e8a5a0041d9c674b994cca44dfd63",
      "tree": "8d32073001b5563df85f35737f7f05e65442b9b0",
      "parents": [
        "3c2c2764d4b141ee835b7c0725022e9af77c83a9",
        "ad7fb62d4f2a3e1de2a3de11b905b1629a5b1f75"
      ],
      "author": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Fri Feb 17 23:28:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 23:28:09 2017 +0000"
      },
      "message": "Merge \"Remove outdated emulator check which causes BT to not start\"\nam: ad7fb62d4f\n\nChange-Id: Ia6f9417e6b21ec7911036b8875b9603f8b36152e\n"
    },
    {
      "commit": "d98a4e502165d76d05e095608da3c795bd56eafd",
      "tree": "c050d5cedb8aec6ffcb14695756e69e6d418eb21",
      "parents": [
        "855889b086ab62255b13cb7eb3783ae5e95ee492"
      ],
      "author": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Tue Feb 14 16:27:10 2017 -0800"
      },
      "committer": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Fri Feb 17 13:44:33 2017 -0800"
      },
      "message": "Remove outdated emulator check which causes BT to not start\n\nro.kernel.qemu based check to determine whether Bluetooth should be\nstarted or not was an old hack used when \"features\" was not available to\ndetermine hardware availability. This was later fixed with the\nhasSystemFeature check. However, the old check was not removed.\n\nThe presence of the old check causes Bluetooth to not start on Android\nThings devices which have ro.kernel.qemu set for graphics usage. It\u0027s\nalso preferable to depend on the system API rather than on build\nconfigs. Related CLs modify the emulator builds to correct the config in\nbuilds.\n\nBug: 35361545\nChange-Id: I219ce5e14709c76dcba43af4693093e985269d43\nTest: Verified by launching bluetooth on local devices after removing\nthe old check. Also verified by booting up the emulator and verifying\nthat Bluetooth Services do not start.\n"
    },
    {
      "commit": "9355bce0c323632b88620ede174bf023b7381c81",
      "tree": "4c8183db8a19c05388d66a4ca4e14e03e5b52d53",
      "parents": [
        "de021d8162f9c69ce8042da21ce1095a326ef02a",
        "9c2b6afa2fe1429fc5e839ed6349dfffe94057a2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 00:18:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 00:18:35 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\" am: 37e3f22c2e am: c54962a4bd\nam: 9c2b6afa2f\n\nChange-Id: I5f8cd508812d9532778c2f1f019308a4b8d8ee33\n"
    },
    {
      "commit": "9c2b6afa2fe1429fc5e839ed6349dfffe94057a2",
      "tree": "d0be4f48e4578a871b9c6e2bd6a1f4a85b3f7c23",
      "parents": [
        "7bf598cbd9f7f57742f813ca0b576ffd732d5b3a",
        "c54962a4bdfed6f5e9f47ae74adffa4b5faa6c77"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 00:09:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 00:09:11 2017 +0000"
      },
      "message": "Merge \"IP connectivity metrics: delete obsolete logger service\" am: 37e3f22c2e\nam: c54962a4bd\n\nChange-Id: Iccc3ee97bd2ac267b312c6c7d9269ac02a2bd68e\n"
    },
    {
      "commit": "d22edc28f5c8417f591a913c0a97e718ae988a6f",
      "tree": "4cba4b7bc425e77a13338635c0bfe50abadfdd5a",
      "parents": [
        "ed6d75d5f31dd69d2c91cd82cddd5ee1db49b2c7"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Feb 11 02:15:04 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Feb 15 17:12:58 2017 +0900"
      },
      "message": "IP connectivity metrics: delete obsolete logger service\n\nTest: - runtest frameworks-net\n      - manually verified $ adb shell dumpsys connmetrics\nBug: 32648597\n\nChange-Id: I69f7dee5871508398d7f7209658a00c768e2d18e\n"
    },
    {
      "commit": "7ed9a12e330d5c7cd1fa6f5e82837eefdf56505a",
      "tree": "464f7592d37a7b1e829cd7e04f821291506e2819",
      "parents": [
        "b0309b885dfac803b7dbef5d3f5e734aa04f993f",
        "1cd8508ba8d552d027c3d0f6e686ed22d116c5e4"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jan 24 19:04:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 24 19:04:46 2017 +0000"
      },
      "message": "[DO NOT MERGE] Do not log boot times for secondary users and upgrades\nam: 1cd8508ba8\n\nChange-Id: Ie6ca85107afcc79e905a748827aef3879807fd36\n"
    },
    {
      "commit": "1cd8508ba8d552d027c3d0f6e686ed22d116c5e4",
      "tree": "de6e906658b1b021dc19038b37158cf937b9ffa4",
      "parents": [
        "70f920fa0cf2baf5e997fc93cc326f37043d8801"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jan 23 17:00:29 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jan 23 17:00:29 2017 -0800"
      },
      "message": "[DO NOT MERGE] Do not log boot times for secondary users and upgrades\n\nDo not log framework_boot_completed/framework_locked_boot_completed\nfor secondary users, runtime restarts or first boot/upgrade.\n\nFirst boot/upgrade also applies to boot_system_server_ready/\nboot_package_manager_init_ready\n\nCherry-picked from commit 4ba91b9a879290d3d810330d172161ab1f923da8\n\nTest: Manual update with fingerprint change\nTest: runtime restart - not logged\n\nBug: 34516002\nBug: 32807863\nChange-Id: I64b960c96a0e45b4fefaf05547ea5ac5c701c765\n"
    },
    {
      "commit": "844e5436a629a0999a7e2c69452e4c5fca16eb32",
      "tree": "4d4113681fcfc762ccd7d754e9f723a467738b19",
      "parents": [
        "7bb9ccc1e59a87bb6ef33ddb25fe18566af90339",
        "5c00ee28b29a769f6f30ef03bb7aae5f84a653b7"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Fri Jan 20 23:13:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 20 23:13:38 2017 +0000"
      },
      "message": "Merge \"SystemServer: reorder wifi services start\" am: 10c514d9de am: eae39fd1ec\nam: 5c00ee28b2\n\nChange-Id: Id6eb74c4aab2cd25f1d7adff4ddff160f6132fc6\n"
    },
    {
      "commit": "5c00ee28b29a769f6f30ef03bb7aae5f84a653b7",
      "tree": "c5ffff4ba36cada034ff7b8489c7886b2d88ec75",
      "parents": [
        "4a0a4664b9f46c37e490f8704b613fd20198c286",
        "eae39fd1ecf2ada3aeb8d3a6025911f8a72fbd48"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Fri Jan 20 23:07:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 20 23:07:10 2017 +0000"
      },
      "message": "Merge \"SystemServer: reorder wifi services start\" am: 10c514d9de\nam: eae39fd1ec\n\nChange-Id: I723d8b96f5d5406e8f948885a845993e755ab0d8\n"
    },
    {
      "commit": "155e452f2554571ae6cf5655761bee0ffcf9bdac",
      "tree": "7351d326a4b54fb066fc53fba546a990ab198800",
      "parents": [
        "dc81bd74ae9edb45dd39db533f8906e5d629f3e6",
        "83a218c416ffc0096b99bc33eb007bbf218d9ced"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Jan 20 18:23:16 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 20 18:23:16 2017 +0000"
      },
      "message": "[DO NOT MERGE] Do not report boot timings on first boot or runtime restart\nam: 83a218c416\n\nChange-Id: Ib503ffb8d0d718aa6af4b420cc71e32a033e658b\n"
    },
    {
      "commit": "83a218c416ffc0096b99bc33eb007bbf218d9ced",
      "tree": "5be1ab5e10df9ce821fecab1cda68d70740dfe8b",
      "parents": [
        "18f1a35d466a6afd08014daeb0e3021fb8172071"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Jan 19 12:11:32 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Jan 20 17:32:50 2017 +0000"
      },
      "message": "[DO NOT MERGE] Do not report boot timings on first boot or runtime restart\n\nDuring first boot after OTA, additional dexopting has to be done\nduring PM initialization. Timings for OTA are reported separately,\nso we should ignore first boot to avoid skewing the metrics.\n\nThe following metrics were updated:\n - framework_locked_boot_completed\n - framework_boot_completed\n \nCherry-picked from commit 1d87e40d4214a7f6d20a58d6f27cca174f0d974e\n\nTest: manual\nBug: 32807863\nChange-Id: I9d545cf38118f45f3f13597df2949d0ae4abd26a\n"
    },
    {
      "commit": "d3ff73eba4b7f55a1de4a77e7d905671f7ac6633",
      "tree": "973d75172bb18545514e9b010fe949bf0ca77199",
      "parents": [
        "1a34a412688dbb5489a20c942a6bfa5996bf1e77",
        "392f7d789caebdfb07478d03598bba24410df238"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Thu Jan 19 21:31:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 19 21:31:06 2017 +0000"
      },
      "message": "Merge \"SystemServer: cherry-pick p2p service start\" am: 4c937464eb\nam: 392f7d789c\n\nChange-Id: I737b1307f4c42b8c88974418e3b6dab6b117509f\n"
    },
    {
      "commit": "aa9821bf323941a98828329b31d5dd164be6cb56",
      "tree": "0fde435bcd052a68b567e41d09d0111165032f46",
      "parents": [
        "5f506939fafd724fe4cdb8ef478302c8590417ce"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Sat Jan 07 01:59:16 2017 -0800"
      },
      "committer": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Wed Jan 18 11:01:11 2017 -0800"
      },
      "message": "SystemServer: reorder wifi services start\n\nStart WifiService before other wifi-related services.\nThis is now possible since service dependencies were\nremoved from the WifiStateMachine constructor.\n\nBug: 34137732\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: manually tested wifi connection\nTest: manually checked for Wifi Direct peers\nMerged-In: Iad4eb7053e60542d0be72208db53cf0f83004ae2\nChange-Id: I1e57bfac83708644df6f016808c5972d2d6136c6\n"
    },
    {
      "commit": "5f506939fafd724fe4cdb8ef478302c8590417ce",
      "tree": "df9eefb0dcbef25c90871a20f93732516e437e84",
      "parents": [
        "c82d1ddaf46f09252a9360cb1fbd047d53057661"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Mon May 23 15:12:49 2016 -0700"
      },
      "committer": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Wed Jan 18 11:01:10 2017 -0800"
      },
      "message": "SystemServer: cherry-pick p2p service start\n\nCherry-pick change that only starts P2P service if p2p is supported for\nthe device.\n\nDisable WiFi p2p service if it\u0027s not supported.\n\nb/26877020\n\nBug:34193861\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nTest: manually verified wifi connection\nTest: manually checked for p2p peers\n\nChange-Id: I84b822fa57423711de75d2147effe73a1fc40eb4\nMerged-In: I84b822fa57423711de75d2147effe73a1fc40eb4\n"
    },
    {
      "commit": "e0d2c77a506842df0525bab433bd1998d1336cef",
      "tree": "5ff0cbc20b79a8ac99a8643310d1b38d03469c75",
      "parents": [
        "24b33094f6c05d7e218359928969489efb9b8fb5",
        "d741f3de8199f526125a461dffd49990fc648541"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Sat Jan 14 03:51:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 14 03:51:58 2017 +0000"
      },
      "message": "Add WearCellularMediatorService to the system server.\nam: d741f3de81\n\nChange-Id: I6f3f0e2ea19f995f81816689c80b0bc865cc991e\n"
    },
    {
      "commit": "d741f3de8199f526125a461dffd49990fc648541",
      "tree": "17a97a29d57eae0ff3bebb2f38bf0d86e8545ffe",
      "parents": [
        "331a4bb8d464aebddad5ec04a27526ef1384cbd5"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Dec 13 15:44:55 2016 -0800"
      },
      "committer": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Fri Jan 13 17:51:07 2017 -0800"
      },
      "message": "Add WearCellularMediatorService to the system server.\n\nBug: 33589216\nChange-Id: Icfee08b27c03567ed45e136fc407b51c768515c2\n"
    },
    {
      "commit": "65710071018141fecd0346ed09e53c262939e54c",
      "tree": "2721d6b5a3232d0a67d2aaa2edcae18c6444ed80",
      "parents": [
        "e81eb613996c5f8e0564137bd6bbe759ea218d45",
        "74b1131cc820f817ece95eef2aa96f7181acdd95"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Sun Nov 06 03:13:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Nov 06 03:13:31 2016 +0000"
      },
      "message": "Merge \"[NAN-AWARE] Rename NAN to Aware\"\nam: 74b1131cc8\n\nChange-Id: I2e788e19a11f2709f2e542dbdc4b58433a3574bf\n"
    },
    {
      "commit": "0849ded00879dc05175c079011aa038c5ba0770a",
      "tree": "19718427dfbe6a605d34817950923f7ecf8d3e7d",
      "parents": [
        "c5c74f9f495e6501c38801ab65e985c8457df7e7"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Oct 26 11:22:06 2016 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Sat Nov 05 09:41:38 2016 -0700"
      },
      "message": "[NAN-AWARE] Rename NAN to Aware\n\n~Rename only (and any reformatting needed to pass lint) - no\nfunctional changes!\n\nRemove android.net.wifi.nan.STATE_CHANGED from manifest:\nredundant/remnant of an older configuration.\n\n(cherry-pick of commit a61b9fb569153917a650f1d48efa20ba8846a9f3)\n\nBug: 32263750\nTest: All unit tests and integration (sl4a) tests pass.\nMerged-In: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614\nChange-Id: I4206d2fd722dc7dec9df4aee5c818101d7f9dccc\n"
    },
    {
      "commit": "e0c3c660a78350e0c3946efd11121a0231e51aab",
      "tree": "68c5748aa366c7dd47dce9aa0bcb7446b863b3f9",
      "parents": [
        "66f15cc01befadf7ce19629680798b31046978c3"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Tue Sep 13 16:02:33 2016 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Oct 10 18:58:23 2016 +0000"
      },
      "message": "DO NOT MERGE - Added Emergency affordance feature\n\nAdded a service that listens whether emergency affordances\nare necessary.\n\nIf the they are needed, it adds an option to the\nglobal actions dialog that directly launches the\nemergency call and also adds a long-press listener\nto the keyguard emergency button.\n\nTest: adb shell settings put global force_emergency_affordance 1 \u0026\u0026 adb shell settings put global emergency_affordance_number 111112\nBug: 30404490\nChange-Id: Ib96a15da2ef4b568a8d77140ebca6aa6f20f5ddb\n"
    },
    {
      "commit": "10691456b8ac6e3f6d7821cdb9f99936cffbd2c7",
      "tree": "799a61249a22e37808c2804acf3dc6e27c777031",
      "parents": [
        "32840e58045e800d583dde3ce02e6670f3c64eb4",
        "0e1f78da65eb57f249e00a6af4d6ad9298cca803"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Sep 23 22:12:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 22:12:33 2016 +0000"
      },
      "message": "Added Emergency affordance feature am: 705442fa7d\nam: 0e1f78da65\n\nChange-Id: I6f8220b18bce7889e3b9efe1b075a680a0ae7187\n"
    },
    {
      "commit": "0e1f78da65eb57f249e00a6af4d6ad9298cca803",
      "tree": "e18e55f15f1784500a3e2ea7bdc3f8bb5afb89e1",
      "parents": [
        "21f25acb1011e2b00282b8eb1173529b8391364b",
        "705442fa7dcbf1bf92595fdaca6cc888810931d8"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Sep 23 22:00:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 22:00:42 2016 +0000"
      },
      "message": "Added Emergency affordance feature\nam: 705442fa7d\n\nChange-Id: I03ebb84119f9cb310882ba9ea90ee1e1d7118d03\n"
    },
    {
      "commit": "b8fdf0aa161f57d748357fc6102538914ab0c6b4",
      "tree": "680a1b47a20a977bcedc853dda43ff69c3edf57e",
      "parents": [
        "b641c0c7b7ff0dc874a9e7693641e504894b8463",
        "8adaec07f0a3caeb26d60dab8e29ee588a1bce68"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 23 11:10:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 11:10:22 2016 +0000"
      },
      "message": "Add property to disable camera service proxy.\nam: 8adaec07f0\n\nChange-Id: I9477a39ae23c346437f9eb37bd0bbeaf946dbbd4\n"
    },
    {
      "commit": "fa10c2869b08723ee1a8cb10b27f121579ed75a6",
      "tree": "fd40999f791a6079dfd21b0655f0eecad9c6aef9",
      "parents": [
        "c1b1be6bd9c654728aa1d60a2e8a9df3cd8e8163",
        "8adaec07f0a3caeb26d60dab8e29ee588a1bce68"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Fri Sep 23 11:04:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 11:04:09 2016 +0000"
      },
      "message": "Merge \"Add property to disable camera service proxy.\" into cw-f-dev"
    },
    {
      "commit": "0daeac5dd41f136a1ca0a76b406016b05586e562",
      "tree": "46ab57b8278de45af8c4a54ab0d1a255df5e8836",
      "parents": [
        "fccdc49982ffd0d4e34bf6af18ec0dd9e1a40e59",
        "3a353a2044c1636fd337b2b199a757e066f8a6f9"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 23 03:54:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 03:54:06 2016 +0000"
      },
      "message": "New IpConnectivityMetrics service am: eab511b582\nam: 3a353a2044\n\nChange-Id: I5cf485edd3ab1ebb81a2a9d35dfb8bd6d8bcc305\n"
    },
    {
      "commit": "3a353a2044c1636fd337b2b199a757e066f8a6f9",
      "tree": "1b777ac439aa8322291a81e7a011ab68a47fb421",
      "parents": [
        "2b6f25134b376cf5b2ccddb64ab20853d80e03d9",
        "eab511b582cc00364dee7835534bb511719f9231"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 23 03:49:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 23 03:49:04 2016 +0000"
      },
      "message": "New IpConnectivityMetrics service\nam: eab511b582\n\nChange-Id: Iad65f10f079be13570e1f687dacb30f4f657a163\n"
    },
    {
      "commit": "705442fa7dcbf1bf92595fdaca6cc888810931d8",
      "tree": "17757b609cc1cf6611add817dbb352f387116564",
      "parents": [
        "8a71ad032f208d5ba1f8553612b355c7633ee3e2"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Tue Sep 13 16:02:33 2016 -0700"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Thu Sep 22 12:25:57 2016 -0700"
      },
      "message": "Added Emergency affordance feature\n\nAdded a service that listens whether emergency affordances\nare necessary.\n\nIf the they are needed, it adds an option to the\nglobal actions dialog that directly launches the\nemergency call and also adds a long-press listener\nto the keyguard emergency button.\n\nTest: adb shell settings put global force_emergency_affordance 1 \u0026\u0026 adb shell settings put global emergency_affordance_number 111112\nFixes: 30404490\nChange-Id: Ib96a15da2ef4b568a8d77140ebca6aa6f20f5ddb\n"
    },
    {
      "commit": "eab511b582cc00364dee7835534bb511719f9231",
      "tree": "e5ba8226191b15e2b6a44011c4ef52a0f68e712f",
      "parents": [
        "50a84c6210f4f165b489dd1bf1c535d86dda2fba"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 09 09:23:47 2016 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 22 22:25:27 2016 +0900"
      },
      "message": "New IpConnectivityMetrics service\n\nThis patch defines a new metrics service for IpConnectivity events\ndefined in android.net.metrics, separate from currently existing\nMetricsLoggerService.\n\nSimilarly to MetricsLoggerService, the new service has an event buffer.\nIt also implements a dumpsys interface that can be used to flush events\nand output a serialized proto.\n\nBug: 31254800\nChange-Id: I0c3faeb4008b283f85d9ba9460371fa68956ea3b\n"
    },
    {
      "commit": "8adaec07f0a3caeb26d60dab8e29ee588a1bce68",
      "tree": "e3b0e06a4b901639f68540e91b22ed5c67736a97",
      "parents": [
        "a7de0e1f58cadc4c8e6c550db69239c244e8da79"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Wed Sep 14 18:14:31 2016 +0100"
      },
      "committer": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Thu Sep 22 09:59:05 2016 +0100"
      },
      "message": "Add property to disable camera service proxy.\n\nThis service proxy (together with the native server) are not needed on\nAndroid Wear, as we don\u0027t have any watches with cameras.\n\nBug: 28560707\nChange-Id: Ie4a830a3ba48c90d3e968fc5cdf57ccafcc1f5d8\n"
    },
    {
      "commit": "82d5fc17b5f19b1fcd4533beb489b35b7ff58606",
      "tree": "585320dd644efec9a4ac7b1efc8fb930bc478853",
      "parents": [
        "d72714481343b1deb4d106c5c81bd11d7746401a",
        "ef89d21a1bf9a8b11befd9b55130816ccf9fb4fb"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Sep 20 01:01:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 20 01:01:18 2016 +0000"
      },
      "message": "Make VrManager service optional.\nam: ef89d21a1b\n\nChange-Id: Ia0a194d34b19ca89e5acdb110a87479187fa4d85\n"
    },
    {
      "commit": "ef89d21a1bf9a8b11befd9b55130816ccf9fb4fb",
      "tree": "b14ca2b2056273c6658b2693a9a188b267be1d37",
      "parents": [
        "5c90c8d620b33a150cb88d941de713e1eb32145a"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Mon Sep 19 15:10:33 2016 -0700"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Mon Sep 19 15:18:53 2016 -0700"
      },
      "message": "Make VrManager service optional.\n\nb/31244699\n\nChange-Id: I7d276e6945f19b575f880df16f140b84b03052a9\n"
    },
    {
      "commit": "15de376b90d37a1502c28e5e0b3a90702dfbc85f",
      "tree": "b6a8b35683412be3cbbbbfb43f39913ca2eaa2a2",
      "parents": [
        "d5e63363cfe107131d613cfbcad105e0b3c4535d",
        "09de41950c2982fd12b8b5cac40786d5dd04ca3e"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Fri Sep 09 17:32:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 09 17:32:35 2016 +0000"
      },
      "message": "Make consumer_ir an optional service.\nam: 09de41950c\n\nChange-Id: Idf3f97ed6615b130318442c81fed74cb4eefce59\n"
    },
    {
      "commit": "09de41950c2982fd12b8b5cac40786d5dd04ca3e",
      "tree": "658fc05baf84ae1ce37978ffb926c2477700c837",
      "parents": [
        "7e33ce731d2111977a2b358442a5477f98429040"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Wed Sep 07 13:33:49 2016 -0700"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Wed Sep 07 13:33:49 2016 -0700"
      },
      "message": "Make consumer_ir an optional service.\n\nb/31244699\n\nChange-Id: Id851b0139d476a829097399374bb196cbfe96cf0\n"
    },
    {
      "commit": "bb10d26ba67c1f8fbd6927d5b15b2864f0defef5",
      "tree": "75e0222d6c84c642d0e0e3c628556749a4a9e0b9",
      "parents": [
        "4426aa96981badd3d324e354a7650a8a2c01f6bb",
        "6a3706a08c47bdbfe0c427f110d5d1bf79457209"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Aug 19 23:01:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 23:01:27 2016 +0000"
      },
      "message": "Removed screen on/off callbacks from NPMS. am: f8dd7b4e8d\nam: 6a3706a08c\n\nChange-Id: I025326d7b89a60920c0db3aa6e363541974cd204\n"
    },
    {
      "commit": "f8dd7b4e8d548274c680644a2225951b97e94a4f",
      "tree": "3efe4f1f61e6a93619c7f89baf7e9df8c5ea55b7",
      "parents": [
        "e24a4590bf5c302687a3efba684de275d13ee300"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Aug 10 13:00:32 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 18 09:57:11 2016 -0700"
      },
      "message": "Removed screen on/off callbacks from NPMS.\n\nNetworkPolicyManagerService (NPMS) used to depend on screen on/off\nchanges to determine if a foreground activity should have network\nrestrictions, but such check is now redundant since ActivityManager\nalready changes the proper UID state (like going from TOP to\nTOP_SLEEPING) when the screen status is changed.\n\nRemoving such code decreases the NPMS lock contention when the screen is\nturned on in about 3-5ms.\n\nChange-Id: I2853443efedbf14961ae9a5b2e72689d4d1a646c\nBUG: 30785671\n(cherry picked from commit 88f40ad9a721ee30708be82f66fb58c64f1d36b5)\n"
    },
    {
      "commit": "2f51366c1a1a719d1b8e17f3c2e3574edac74380",
      "tree": "815f9a405c6086b2620e7d181eb301d5b1db6136",
      "parents": [
        "8143f491a4c747bb10c4e23abe0679196fd2ea8e",
        "5a3034f8ff48124d288b4602324e0fa63be0c208"
      ],
      "author": {
        "name": "joonyoung.cho",
        "email": "joonyoung.cho@lge.com",
        "time": "Mon Aug 08 22:14:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 08 22:14:43 2016 +0000"
      },
      "message": "Merge \"fix safeMode status in AppWidgetService\" am: 78a72f0698 am: cbd4ad1f7e\nam: 5a3034f8ff\n\nChange-Id: Iaefa29636ecc0367c3ad40d06a5e2099c9e506f4\n"
    },
    {
      "commit": "cbd4ad1f7e23d3dd261c872accb2ed555b16b279",
      "tree": "b3a51834312558c27ff654b8ef95816ec71ad22e",
      "parents": [
        "cc6fd4549b8574143e8cff3b32771448a93dbc8c",
        "78a72f069827733d5089bd2e6734469bd755908b"
      ],
      "author": {
        "name": "joonyoung.cho",
        "email": "joonyoung.cho@lge.com",
        "time": "Mon Aug 08 21:53:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 08 21:53:34 2016 +0000"
      },
      "message": "Merge \"fix safeMode status in AppWidgetService\"\nam: 78a72f0698\n\nChange-Id: I21559690f6371102cf48132d8930343923d60011\n"
    },
    {
      "commit": "78a72f069827733d5089bd2e6734469bd755908b",
      "tree": "a89c56ff5450958c51eabdb6b124dc1b40c05e88",
      "parents": [
        "3f67a1855ea444919282590ec3966bd49a88e3ad",
        "2f30cc1cfeadc9501e01089b95f7f1567a134573"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 08 21:36:45 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 08 21:36:46 2016 +0000"
      },
      "message": "Merge \"fix safeMode status in AppWidgetService\""
    },
    {
      "commit": "0171a6ef8b45e83eabb3843a544a59f6fa581db9",
      "tree": "4b0ec78d54bd5286ec1dd92fa46940eb72fb9b9c",
      "parents": [
        "3746d2224de6c52e97711c64f4b7e7f5f5065239",
        "f3d8b81d4b7ea8d0979480f9be966a08d5ad0b6d"
      ],
      "author": {
        "name": "Nancy Zheng",
        "email": "nzheng@google.com",
        "time": "Mon Jul 11 18:14:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 18:14:27 2016 +0000"
      },
      "message": "Merge \"Add WearWifiMediatorService to SystemServer.\" into nyc-mr1-dev"
    },
    {
      "commit": "f3d8b81d4b7ea8d0979480f9be966a08d5ad0b6d",
      "tree": "559c032555f5ae7c6ce40de6a1bda8bb006f2a97",
      "parents": [
        "8ee0a67ba713f4476b5517b1555b3a8b2be4baa6"
      ],
      "author": {
        "name": "Nancy Zheng",
        "email": "nzheng@google.com",
        "time": "Fri Jul 08 12:55:48 2016 -0700"
      },
      "committer": {
        "name": "Nancy Zheng",
        "email": "nzheng@google.com",
        "time": "Fri Jul 08 12:55:48 2016 -0700"
      },
      "message": "Add WearWifiMediatorService to SystemServer.\n\nBug: 28347905\nChange-Id: I4218f908f83eb3a9fe3f75e5d6eaf312c652ba67\n"
    },
    {
      "commit": "911e88939cbe5a8607c230e061ba1da5f187cf69",
      "tree": "6b1358cabe349ac181c3e158641b63596ca0838e",
      "parents": [
        "e81fa8578284e0eb04009ceade6d0d9d3ef3e7cc"
      ],
      "author": {
        "name": "Justin Klaassen",
        "email": "justinklaassen@google.com",
        "time": "Tue Jun 21 18:24:24 2016 -0700"
      },
      "committer": {
        "name": "Justin Klaassen",
        "email": "justinklaassen@google.com",
        "time": "Fri Jul 08 11:47:50 2016 -0700"
      },
      "message": "Add Night display feature\n\nBug: 28615069\n\nTints the display at night automatically according to your schedule or\nusing the sunrise/sunset corresponding to your current location.\n\nChange-Id: Ie56b4eed88cc2fcbae88002492b1edad5820b6b1\n"
    },
    {
      "commit": "56177bf81b316f38695457add3a9a822bf6f1104",
      "tree": "55e052a2598fa90ba15ad139d6f7455e8aee8989",
      "parents": [
        "e1fdcc49fd4e5cebd649f8e951e9815814c6ae6a",
        "d281b4204a38d8cb542f2272b2d21203eafaff7b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 08 18:09:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 18:09:54 2016 +0000"
      },
      "message": "Merge \"Revert \"Frameworks/base: Refactor UserHandle and Environment a bit\"\" into nyc-mr1-dev"
    },
    {
      "commit": "d281b4204a38d8cb542f2272b2d21203eafaff7b",
      "tree": "480a596f413f7d34df2a3b017c181fae783f5add",
      "parents": [
        "6e16714c688ed9c52763696f5a5e7b90802a471b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 08 03:50:27 2016 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 08 03:50:27 2016 +0000"
      },
      "message": "Revert \"Frameworks/base: Refactor UserHandle and Environment a bit\"\n\nBreaks monkey in root mode.\n\nThis reverts commit 6e16714c688ed9c52763696f5a5e7b90802a471b.\n\nBug: 29338430\nChange-Id: I238f89dad77d7dcae6d02eccbda52eb9c6c6466c\n"
    },
    {
      "commit": "bb2d9ab98e679e4a2e231657d467e23d02d5ec30",
      "tree": "7b66332461a9a8c124fe230a8dfbc2705f807a29",
      "parents": [
        "f0df804e0ab7a17c0638fd7ba572c4f6fdb03cdf",
        "7380c321ad23b6cbf0af239fbd2e037f67b08545"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 07 19:37:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 19:37:24 2016 +0000"
      },
      "message": "Merge \"Remove \"starting apps\" boot message.\" into nyc-mr1-dev"
    },
    {
      "commit": "7380c321ad23b6cbf0af239fbd2e037f67b08545",
      "tree": "32367e0f9a4fd2be8ce287b04c2e035e16bd6694",
      "parents": [
        "400960a40e84f7f0968b3019ac3c01fcf4954575"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 27 17:08:23 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 07 12:13:57 2016 -0600"
      },
      "message": "Remove \"starting apps\" boot message.\n\nThe \"starting apps\" message is only shown for a short period of time\nbefore we show the lock screen.  Recent boot animations now have a\nspin down phase which is just long enough to result in us flashing\nthis message for a very short period of time, which looks janky.\n\nTo avoid the janky behavior, remove this message altogether.  Other\nboot messages for dexopt\u0027ing after an OTA remain intact.\n\nAlso fix security bug that would allow any app to show a message.\n\nBug: 29367890\nChange-Id: I77bb65acbe0e5afb4033dc6b83e533e665dce690\n"
    },
    {
      "commit": "6e16714c688ed9c52763696f5a5e7b90802a471b",
      "tree": "ab9b5481cbe045b8e8ef188e8757b77ecbec57cd",
      "parents": [
        "3c32cf8a8c7e5ea4744bad17d8944da36ae0cff0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 14 17:13:37 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 06 18:07:44 2016 +0000"
      },
      "message": "Frameworks/base: Refactor UserHandle and Environment a bit\n\nRefactor slightly to forbid using myUserId in the zygote (uid \u003d\u003d 0).\nAlso factor Environment to put user data (vs shared data) into its\nown class, which should keep the page the shared data is on actually\nshared between processes.\n\nBug: 29338430\nChange-Id: I05d1306b57658a83299e38076171f56cb364ea80\n"
    },
    {
      "commit": "6472501f2e7ba018d8aa43c61e55874d756cecb8",
      "tree": "f6f04ee39366d9d32f2bc0f62be668f23ea9c72e",
      "parents": [
        "33657640ec420968dd97e68bbe84556fbdb86d87"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Jun 15 13:19:28 2016 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Jun 23 17:36:19 2016 -0700"
      },
      "message": "Resetting some settings on starting a new demo session\n\nMuting ringer and media volume and turning off the flashlight\nbefore starting a new session. Also, resetting the configuration of any\nnew demo user to the configuration of user 0 on the device. Moved\nRetailDemoModeService and RetailDemoModeServiceInternal to more\nappropriate new packages\n\nBug: 29519612\nChange-Id: Ib65f89ce61afab2d2f1b2dd0c761f5d35a466181\n"
    },
    {
      "commit": "c5ffdb9ee48905bacab0d5986d3eff2b399acd5e",
      "tree": "9b6c1462165857eea893ec30dc75c05447b8b667",
      "parents": [
        "337c7143644fd6980ef234191e01274804e0e7bb",
        "4f2b1b455e0f256ef9cb345d844ac89b6c3fd20c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 16 00:24:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 16 00:24:14 2016 +0000"
      },
      "message": "Merge \\\"More thorough cleansing of expired users\\\" into nyc-dev\nam: 4f2b1b455e\n\nChange-Id: I5714f73a9b90c0cb8fee653abf799374acfc6232\n"
    },
    {
      "commit": "d04aaa323c3a788d26f18fc66e0a59b47e525b38",
      "tree": "e514dff2a79b0c0ed41022bc2c006040ecb0f79d",
      "parents": [
        "d5f7bf8032da639ee0286a6d121503fa2dfc4a4c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Jun 13 12:09:36 2016 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 15 11:32:16 2016 -0700"
      },
      "message": "More thorough cleansing of expired users\n\nIf any /data/system_[c|d]e folders were not erased\nwhen the user was removed (maybe due to a reboot),\nmake sure they\u0027re cleaned up on restart as well\nas when the userId is recycled later.\n\nMark the users\u0027 system folders with the correct\nserial number for later verification.\n\nAccountManager shouldn\u0027t be querying accounts of\npartially created/destroyed users.\n\nChange-Id: I4313756b7464f34cd5ce4fb296d61daa50b41fcb\nFixes: 29285673\n"
    },
    {
      "commit": "9c7274c796df70906a38fcfb299b6113fb8e6cc9",
      "tree": "4f12c30706a4c0c5189c2dfab381b3b03c6777d4",
      "parents": [
        "a9b59e9cf25218e25583d01fb1161964e1a50a48"
      ],
      "author": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Mon Jun 13 12:48:55 2016 -0700"
      },
      "committer": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Mon Jun 13 13:23:28 2016 -0700"
      },
      "message": "Added customizable default system theme.\n\nBug: 29266591\nChange-Id: If0945abbda9e3560af5a6cdef394296b23c6de0c\n"
    },
    {
      "commit": "a5e81480b16e8cbf5a3c4f015b667893defb1456",
      "tree": "8256952f011a695bbb687d20cdf046de9dfa8352",
      "parents": [
        "0e6207ef406d1fad389a9831e6c8816b274ad2b5",
        "c4f1bc40326c10fde55f07230e3fe3067d70fbfa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 02 16:41:12 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 02 16:41:12 2016 +0000"
      },
      "message": "Merge \"Do not update packages in encrypted state\" into nyc-dev\nam: c4f1bc4032\n\n* commit \u0027c4f1bc40326c10fde55f07230e3fe3067d70fbfa\u0027:\n  Do not update packages in encrypted state\n\nChange-Id: I84c2c77fb8ff2cc12095f5217c6960a156f2faf3\n"
    },
    {
      "commit": "89c80bb631d51e2d9947e9e1ccbe328b971d2476",
      "tree": "a5269e793752734874c4eb11472ddad75df141bc",
      "parents": [
        "88be465ce572f84649e01744a7ec96b6346b3686"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 02 15:31:30 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 02 15:45:03 2016 +0100"
      },
      "message": "Do not update packages in encrypted state\n\nSystemServer used to run PMS.updatePackagesIfNeeded even when the\ndevice is booting in encrypted state only with core packages\navailable. This is redundant because the packages are prebuilts\n(OAT files always up to date) and the data partition is not mounted\nyet, so we are only wasting time opening the OAT files and testing\nchecksums. Additionally, the attempt to update these packages gets\nreported to TRON stats as time spent in the Optimizing Apps dialog\nand skews the results.\n\nThis patch does not call updatePackagesIfNeeded when in the device\nis in encrypted state.\n\nBug: 28833829\nChange-Id: I8641d07a8840948ffe261dfb8f99f70de7341972\n"
    },
    {
      "commit": "1abdeafbd9630b6cce031c7b89af45c28198a3f3",
      "tree": "68bcb9aa7d9dd183ed6b96dd4d5492f06c8fc50d",
      "parents": [
        "276f168f101f1653ba1a5519913f2bd151a25f01",
        "10ed7de7ae1ef1ac10b596c688182642acaca674"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed May 25 14:27:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 14:27:54 2016 +0000"
      },
      "message": "Merge \"Default system theme should be DeviceDefault\" into nyc-dev\nam: 10ed7de7ae\n\n* commit \u002710ed7de7ae1ef1ac10b596c688182642acaca674\u0027:\n  Default system theme should be DeviceDefault\n\nChange-Id: I0cdadd02499b071168ddcd26c5c1b93d4067fe9d\n"
    },
    {
      "commit": "a09c9e0fc48816096349aac8960a3b49101d90a3",
      "tree": "179a2d5a5a002c7e0e86f73eb666298cc6132d2e",
      "parents": [
        "74ebf3ec67ddbbf7752da120a57c4624d4e1655f",
        "cc30b0e7901f753fabbfa08f10d0b3f9b5a54144"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 24 02:24:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 02:24:50 2016 +0000"
      },
      "message": "Merge \"Adding RetailModeService to handle retail mode\" into nyc-mr1-dev"
    },
    {
      "commit": "cc30b0e7901f753fabbfa08f10d0b3f9b5a54144",
      "tree": "745dfcde2aa19a2ce8d7aff54e9114df0dce27d6",
      "parents": [
        "b0eab2351632558be4c7612d491964f3edc019ad"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri May 20 14:41:22 2016 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon May 23 17:47:51 2016 -0700"
      },
      "message": "Adding RetailModeService to handle retail mode\n\nThe service listens for the global setting DEVICE_DEMO_MODE and switches\ndevice to demo mode when it is changed to 1. Also, acquires the wakelock\nto\nkeep the screen on and puts up a notification to wipe and reset the demo\nsession when in demo mode.\n\nBug: 27280140\nChange-Id: If1843016889ec2c50818c67432d60f33063e0986\n"
    },
    {
      "commit": "aab22cf455854ae2ab48e1b86752994eced93e94",
      "tree": "602f88f2c0c63c7be7e4eb03eebe1101766f7c29",
      "parents": [
        "5ee420c0d562e9ff55fe9bf03c746bc76fd40d5e"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon May 23 14:41:58 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon May 23 14:41:58 2016 -0400"
      },
      "message": "Default system theme should be DeviceDefault\n\nBug: 28796004\nChange-Id: I33f9c064dd30d7fd96f06a8872765ddccf8a16a4\n"
    },
    {
      "commit": "2d92eeb4969b8ceed95074c6fdd10bd0228cd578",
      "tree": "796cf7c291304191fc856259fd99eb8bb2981ab8",
      "parents": [
        "085933cc8fa0b06d28161ddc001c20282012f263"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Thu Apr 07 14:01:03 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Thu May 12 17:03:07 2016 -0700"
      },
      "message": "Start the Wear Time System Service with SystemServer\n\nBug: 27802041\nChange-Id: I7071536934e2285e8978e9c0d0a53d5d3c1c3017\n"
    },
    {
      "commit": "7bd0fdd639640f9ddffbffa6a117644134d8be30",
      "tree": "0e42eff63411ffbc1bed3c1df874f8764a3b604b",
      "parents": [
        "ccb85eb411f5df1c50e504d4acfc973e8cbb6835"
      ],
      "author": {
        "name": "Philip Cuadra",
        "email": "philipcuadra@google.com",
        "time": "Thu Apr 28 15:26:49 2016 -0700"
      },
      "committer": {
        "name": "Philip Cuadra",
        "email": "philipcuadra@google.com",
        "time": "Thu May 12 13:12:20 2016 -0700"
      },
      "message": "Pinner service for pinning files into memory\n\nPin key files into memory to prevent having to fetch from flash\nafter boot.  Improves system performance by preventing page cache\nthrash.  Retrieves files from a device-specific overlay to allow\nspecialization.\n\nbug 28251566\n\nChange-Id: I8532f52bd70271794dd7576976d13a524849ce7b\n"
    },
    {
      "commit": "b5b86c11008422ac4bf5af5fed736f04ebbaa858",
      "tree": "c7c0164182fb0672f82d83dbd4d64f70da2015e5",
      "parents": [
        "cffe389a22cf3f3d63ec37a591b0d6226e1db99e"
      ],
      "author": {
        "name": "Sujith Ramakrishnan",
        "email": "sujithrk@google.com",
        "time": "Thu Jan 28 16:53:16 2016 -0800"
      },
      "committer": {
        "name": "Sujith Ramakrishnan",
        "email": "sujithrk@google.com",
        "time": "Fri Apr 22 12:21:34 2016 -0700"
      },
      "message": "Unbundle RemoteService on TV - part 3\n\n- New service TVRemoteService triggered by SystemServer\n- Provider service proxy and watcher for maintaining connections to unbundled\n  services which have the BIND_TV_REMOTE_SERVICE permission.\n- Shared library to facilitate connections between unbundled service and\n  TVRemoteService.\n- Unbundled service needs TV_VIRTUAL_REMOTE_CONTROLLER\n  permission to be fully functional.\n\nb/23792608\n\nChange-Id: Ief5c6995883d1f7268a73bdd0c920c4c3f42cddb\n"
    },
    {
      "commit": "eef4a3d53cadaab782944923577d6aca7b7ba5c8",
      "tree": "ad50f776e472b1f0aa048d80d0c6dd16dda3504f",
      "parents": [
        "0529197e9df8837ac63b011937391ff29426e6b5"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Apr 19 14:14:20 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Apr 19 14:14:20 2016 -0700"
      },
      "message": "Increase the max binder thread pool size for system_server.\n\nbug 28201939\n\nChange-Id: Iaade417a26247970b96f0aaacb3844d72de6399c\n"
    },
    {
      "commit": "aceda5b93a01a93c88fc37334ca03b2bb74c71e9",
      "tree": "714f0be87b949b5898aac69ed075b564cef4badb",
      "parents": [
        "a74888ddf6657b41aed28dff0b0b1d47a80f107f",
        "1cab76af8537a275d1af38d25f5692a68e48eed6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 13 04:40:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 04:40:18 2016 +0000"
      },
      "message": "Merge \"Make wallpapers direct-boot aware.\" into nyc-dev"
    },
    {
      "commit": "1cab76af8537a275d1af38d25f5692a68e48eed6",
      "tree": "4e82d43967c1a7014926bea98fa8399e59a7cd08",
      "parents": [
        "959586b9a9ca96a70c2232af0f99696a369d1b1d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 12 18:23:31 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 12 21:15:50 2016 -0600"
      },
      "message": "Make wallpapers direct-boot aware.\n\nIf the user\u0027s wallpaper isn\u0027t direct-boot aware, wait around for\nthe user to be unlocked, instead of clearing the wallpaper.\n\nAlso switch a few classes to using SystemService lifecycle, since\nevents are dispatched faster than through broadcasts.  Fix bug where\nContentService.systemReady() was never called, and make sure\nEntropyMixer doesn\u0027t risk being GC\u0027ed.\n\nBug: 26280055\nChange-Id: I9fff468a439b868baa68cf11bb6ee9f7d52b7b5a\n"
    },
    {
      "commit": "d0989c986e7be4660e8fd91ce4bf066f2e168657",
      "tree": "835ccf3f844f35237b3a93bedc0df2f2d5e1760e",
      "parents": [
        "333c7d36008c43a45be9bde672b45218cb6dc707"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Sat Feb 20 00:09:12 2016 -0800"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Apr 11 15:06:54 2016 -0700"
      },
      "message": "Update WifiScanningService class name to new location\n\nChange-Id: I48515b872341ea482c9e6c37e87ebaafea571d61\n"
    },
    {
      "commit": "b770ed132813356c2b1548b0a98c1edb565c7340",
      "tree": "483ee69ef7dd97de5b361fa1490034317177e27e",
      "parents": [
        "c05a7a04c22c836c49ea0e605247c0f35799a3dc",
        "dd251ef4952b6c7abbfe8cea49285d8cfe62f96e"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Apr 05 22:27:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 22:27:11 2016 +0000"
      },
      "message": "Merge \"Have the NetworkScoreService bind to the scorer.\" into nyc-dev"
    },
    {
      "commit": "dd251ef4952b6c7abbfe8cea49285d8cfe62f96e",
      "tree": "5f66221696a2b2712c1979db5b5eb637e49f50e6",
      "parents": [
        "a68fe1e4d3a34667e5948912c53290298388427b"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Mar 14 11:17:41 2016 -0700"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Apr 04 18:13:29 2016 -0700"
      },
      "message": "Have the NetworkScoreService bind to the scorer.\n\nIf the current active scorer provides a service that can handle the\nandroid.net.scoring.SCORE_NETWORKS action then the NetworkScoreService\nwill bind to that service to keep the scorer alive. If no service is\ndiscovered then no attempt to bind will be made.\n\nBUG: 27612145\nChange-Id: I3f6ed0cbd83e658f1533c3e37b0cac2692c01761\n"
    },
    {
      "commit": "a3ebfec731c2f1fcc67ecf58d4634e957b044cba",
      "tree": "2dc163770cc5042eb5cbdb2e29223104f21baa0e",
      "parents": [
        "7d718bb252fe2bdee0c9c728a1e6e4892deb8ac7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 04 08:58:04 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 04 16:46:01 2016 -0600"
      },
      "message": "Invalidate caches when locale changes.\n\nWhen loading roots for the first time, we\u0027re okay using any cached\ndata from the system, but if the locale changes we need to\nforce-refresh everything.\n\nNow that we\u0027re always using the system cache, we have a nice strong\nsignal for \"empty\" versus \"not cached\" results, so we don\u0027t need to\nwait around for the first loading pass to finish.\n\nAdd logic to invalidate system cache when locale changes, and fix\nlocking bug.\n\nBug: 27977906\nChange-Id: Ic50083eff360bea887799583f6c9f02c129eec91\n"
    },
    {
      "commit": "b4e7b545a284fce4e863b7c6ed2018a265ec3bb2",
      "tree": "1ed7ec75ef62e31789f58516e980c2d64b7e3fd7",
      "parents": [
        "f0f919f19a6b442648048837c2ff3517f89853da",
        "ae4908f41c6e96c973a65effe1dfbb3d0fbbeba2"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 31 21:04:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 31 21:04:10 2016 +0000"
      },
      "message": "Merge \"Remove DayNight theme\" into nyc-dev"
    },
    {
      "commit": "ae4908f41c6e96c973a65effe1dfbb3d0fbbeba2",
      "tree": "88c23502916958a0fd08dc0c61989a8f050a749c",
      "parents": [
        "ba25767b1b25bb7dac9c6753959bf3b4bcd877d3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 31 16:18:27 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 31 16:18:27 2016 -0400"
      },
      "message": "Remove DayNight theme\n\nBug: 21854466\nChange-Id: I739872112d0ae457d0d4620f9222206072d54b4b\n"
    },
    {
      "commit": "204902906894184487585dfef39da39939ba43c6",
      "tree": "ca9cb7956fe9424b66a3cf0c26c3c35981dba3dc",
      "parents": [
        "8f647b5cdb1f776dbc5d2127fe72a6cf40f95813",
        "48d3b63b60c1c0733ff80f30a6ca2bd2aebdef4d"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Thu Mar 31 16:47:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 31 16:47:52 2016 +0000"
      },
      "message": "Merge \"Start the Wear bluetooth service in SystemServer.\" into nyc-dev"
    },
    {
      "commit": "48d3b63b60c1c0733ff80f30a6ca2bd2aebdef4d",
      "tree": "79f57f7f3ce422482f1f2ffbd8ec9ac49b41606e",
      "parents": [
        "0b880795c12954f1b7818c78d6416d47f1df08dc"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Mar 29 15:26:48 2016 -0700"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Thu Mar 31 09:44:41 2016 -0700"
      },
      "message": "Start the Wear bluetooth service in SystemServer.\n\nChange-Id: I4ca420d7adbb0edd6539fe4bf6ada05650164866\n"
    },
    {
      "commit": "840172ac1ecc514098d0cad41e009dab95542620",
      "tree": "0aa05bf4996311268e3020d307978c0235012525",
      "parents": [
        "92e1ea2383014390532c61afbc81773b8934ae48",
        "d8b81b344405c6a0c2dfccc229c892fb3d8e0d56"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Mar 30 19:03:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 30 19:03:44 2016 +0000"
      },
      "message": "Merge \"Start MediaResourceMonitorService only when needed.\" into nyc-dev"
    },
    {
      "commit": "f5c444ffd4fdce4fab939fcd88f163288dc804c5",
      "tree": "0cb85f79cc62bbb85046dec6ca0b26213d3320f0",
      "parents": [
        "6b69b122025631290380f4350f7bd0074bad10dd"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 30 11:45:52 2016 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 30 13:39:14 2016 +0100"
      },
      "message": "Move OTA package update before fstrim, hide \"Optimizing apps\" dialog\n\nThis patch moves the updating of packages before performing fstrim,\nwhich runs asynchronously anyway, and stops showing the UI dialog.\n\nBug: 27350503\nChange-Id: I6fceda10d7696f9badb97978fb9dc7927d698a4b\n"
    },
    {
      "commit": "a8213eebddb05ea714d0af90a7a7f42e3799a2c1",
      "tree": "8947357f19e57306a6ebf55e361bf99f86abbc28",
      "parents": [
        "80a67f363f6ae941c28572ea8420c14c2ce6ef79",
        "0a3e17325c9be835da66ea5548406a356f03dd5c"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Tue Mar 29 21:46:27 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 29 21:46:28 2016 +0000"
      },
      "message": "Merge \"Allowing AppWidgetService to start without FEATURE_APP_WIDGETS\" into nyc-dev"
    },
    {
      "commit": "d8b81b344405c6a0c2dfccc229c892fb3d8e0d56",
      "tree": "7f8312175a16dae5a3ab3606c5732fed02a48bfd",
      "parents": [
        "197823da52a44422890667e21c17c28ab76e64b7"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Mar 23 18:04:19 2016 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Mar 28 11:18:57 2016 -0700"
      },
      "message": "Start MediaResourceMonitorService only when needed.\n\nBug:26564748\nChange-Id: I5951008f403a11588dd84fb8dfc705c47bdca169\n"
    },
    {
      "commit": "d699cf80f9362534a08d03658f281eb2b5a47a59",
      "tree": "89a5c5887995583d92646a555d4167c08f26bcb3",
      "parents": [
        "03ebf5086a82ad0b29e02fbe3785ce255af92b14"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Fri Mar 25 16:32:10 2016 -0700"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Fri Mar 25 18:30:52 2016 -0700"
      },
      "message": "Move ThermalObserver to frameworks/opt/wear\n\nChange-Id: Ic681025a3210055b35d2af4af44418b7872fe743\n"
    },
    {
      "commit": "0a3e17325c9be835da66ea5548406a356f03dd5c",
      "tree": "86e269f65ed32e38d628a0acc1a4b1fed41fae09",
      "parents": [
        "61ad7ad7fd8932854c498884770810d2424ee7af"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Fri Mar 25 17:24:57 2016 -0700"
      },
      "committer": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Fri Mar 25 17:24:57 2016 -0700"
      },
      "message": "Allowing AppWidgetService to start without FEATURE_APP_WIDGETS\n\nBug: 26110877\nChange-Id: Ide402274af4067c530793f0d674821f1294c4195\n"
    },
    {
      "commit": "d136e51a99df5275eaafdde407e89e78c02b829b",
      "tree": "6f8489a5c9ac0280e04037c259e12a266fd16443",
      "parents": [
        "08e5936485a830ee80c4bf42a8402e1d13a783f9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 09 22:30:56 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 16 14:45:26 2016 -0600"
      },
      "message": "Defuse Bundles parsed by the system process.\n\nIt\u0027s easy for apps to throw custom Parcelables into Bundles, but\nif the system tries peeking inside one of these Bundles, it triggers\na BadParcelableException.  If that Bundle was passed away from the\nBinder thread that delivered it into the system, we end up with a\nnasty runtime restart.\n\nThis change mitigates this trouble by \"defusing\" any Bundles parsed by\nthe system server.  That is, if it encounters BadParcelableException\nwhile unpacking a Bundle, it logs and delivers an empty Bundle as\nthe result.\n\nSimultaneously, to help catch the system process sticking its\nfingers into Bundles that are destined for other processes, a Bundle\nnow tracks if it\u0027s \"defusable.\"  For example, any Intents delivered\nthrough ActivityThread are marked as being defusable, since they\u0027ve\narrived at their final destination.  Any other Bundles are considered\nto be \"in transit\" and we log if the system tries unparceling them.\n\nMerges several Parcel boolean fields into a flags int.  Add better\ndocs to several classes.\n\nBug: 27581063\nChange-Id: I28cf3e7439503b5dc9a429bafae5eb48f21f0d93\n"
    },
    {
      "commit": "ac329d3e34e99e10243906d32cc4e36c626ac8ee",
      "tree": "b8e7282b2a200cade3752f87e1653bd6335f4c0b",
      "parents": [
        "bc2849449b3478d71cae34a069f07c70b747bbb8",
        "9ff7d2235427b211344fa58b608424805a21aa24"
      ],
      "author": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Wed Mar 16 17:21:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 16 17:21:33 2016 +0000"
      },
      "message": "Merge \"Exposing Context Hub service.\" into nyc-dev"
    },
    {
      "commit": "9ff7d2235427b211344fa58b608424805a21aa24",
      "tree": "8ece654606829d3128bd0698ef9e8db053975ef9",
      "parents": [
        "48653d225b964f4e62e5e94d98966826875dd99c"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Thu Feb 11 13:02:05 2016 -0800"
      },
      "committer": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Tue Mar 15 15:18:56 2016 -0700"
      },
      "message": "Exposing Context Hub service.\n\nAdding the Context hub service. This is the service that exposes\nthe context hub HAL to the system. The API exposed is a System API.\n\nChange-Id: I854141714ecd21f6386e6b15b7bc9a997483ccf6\n"
    },
    {
      "commit": "6aaabaef5634067c539a8e8f18d4662fc5b8723a",
      "tree": "cc30b0e2aa6ef9c7ae74a6f5b825d21e09971242",
      "parents": [
        "e2578e2d9ea968cf900814cc3d2e62e4cf476f3e"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Fri Mar 04 14:50:16 2016 -0800"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Mar 15 13:24:12 2016 -0700"
      },
      "message": "The startup of the system services should be conditional.\n\nThe system services not used by Wear is tracked in go/ncwss\nb/26877020\n\nChange-Id: I45f77aecbdf4d4a54fef592d543e928b6a8cd6b9\n"
    },
    {
      "commit": "5504622fb01ab9774b5e73d05f86ee03a8b68ab7",
      "tree": "40883d6391f6c12e92169ed522ef0d256e96dc27",
      "parents": [
        "76cb56bb210a2ffeeda6294b8cde2dd971c495a7"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 10:49:47 2016 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 18:37:32 2016 -0800"
      },
      "message": "ShortcutManager: add remaining APIs.\n\n- Icons are now persisted. (under /data/system_ce, as PNGs)\n- the \"load icon\" APIs in LauncherApps are supported.\n- Implement updateShortcuts()\n\n- Addressed all the comments on the previous CL\n- @hide the newly added constructor for PersistableBundle\n\n- Enhance incoming shortcut validation\n- A lot of internal clean-up.\n\nBug 27548047\n\nChange-Id: I8e3c1ccd3e0a997a6d271c84d81170f0c022b60e\n"
    },
    {
      "commit": "ed58f5f0aa580dd4a6dc0fd5dc957862309db8d9",
      "tree": "1a7b303ecceee9078e036843f95846d86420ccd4",
      "parents": [
        "316b9ecdcf5a9cebe8e46cb0ae46dc81c35d4cb8",
        "6f7362d92573e4ae693bc513dca586d6a4eb087b"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 18:01:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 18:01:05 2016 +0000"
      },
      "message": "Merge \"Introducing ShortcutManager\" into nyc-dev"
    },
    {
      "commit": "a6a152e7de2b6db73474620c1eccda1ebe2eee9b",
      "tree": "65e1ea38635e804ebd8548494f97d0126626bb54",
      "parents": [
        "77dd59fc2a0db94f0c58e17097fd6f07c1b5db8c"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Mar 07 13:41:15 2016 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Mar 07 13:41:15 2016 -0800"
      },
      "message": "Switch to SystemService lifecycle in TSMS.\n\nLike we did this for InputMethodManagerService [1],\nTextServicesManagerService (TSMS) needs to be recognized by\nSystemServiceManager with SystemService lifecycle mechanism so that we\ncan receive SystemService#onUnlockUser() event, which is necessary to\nmake TSMS encryption-aware.\n\nAs a preparation, with this CL we only does mechcanical migration to\nSystemService lifecycle mechanism in TSMS.  Hence no user-visible\nbehavior change should occur.\n\n  [1]: Ic17667df60b30e5355b61a3601ad27a000cab3a3\n       1e33dc8fdf3f722ecd32cc586b2a9515de24a242\n\nBug: 27456430\nChange-Id: Ib3cc799d384f259b4fa3f5295f2da198df015eb8\n"
    },
    {
      "commit": "6f7362d92573e4ae693bc513dca586d6a4eb087b",
      "tree": "447b82040ff02bfb73f2e4524051873de5ca1adb",
      "parents": [
        "b74926232ee601851e08cd5d0f0386afcb0bef3e"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 04 13:39:41 2016 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 04 15:24:49 2016 -0800"
      },
      "message": "Introducing ShortcutManager\n\nWhat\u0027s supported:\n- Most APIs are implemented, except for SM.updateShortcuts(),\nthe icon APIs in LA, and LA.startShortcut().\n- Persisting information, except for icons\n- Throttling\n\nIn addition, now PersistableBundle has a public copy\nconstructor from a Bundle. (Do we want to @hide it?)\n\nTODOs:\n- Add icon support\n- Implement missing APIs\n- Listen to PACKAGE_* broadcasts and do clean-up\n- Support multi-launcher apps (pinned shortcuts per launcher)\n- Dev option to reset throttling\n- Load throttling config from Settings\n- Backup \u0026 restore\n- Figure out LauncherApps permissions (BIND_APPWIDGETS??)\n- Other minor TODOs in the code\n- Better javadoc\n\nNote: This requires Idf2f9ae816e1f3d822a6286a4cf738c14e29a45e\n\nBug 27325877\n\nChange-Id: Ia5aa555a4759df5f79a859338f1dc5e624cd0e35\n"
    },
    {
      "commit": "abcbe2f62e6278d8aeb0b8c302d23aeae59899d4",
      "tree": "558200ea2ea3d5155ebc21d0a0a6fb161a4e8158",
      "parents": [
        "7854d58392738338a71506ceb81dad2b5a4656e7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 26 11:25:36 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 03 13:15:59 2016 -0800"
      },
      "message": "Frameworks/base: OtaDexopt needs to move artifacts on boot\n\nMake OtaDexoptService a bootstrap service. It needs to start\nimmediately after the PackageManagerService so that it can move\nA/B artifacts into their new place.\n\nAdd a method to Installer for the move.\n\nBug: 25612095\nChange-Id: Idcf759b3c947088b416d54d2fa269ef27daf93ab\n"
    },
    {
      "commit": "e3f400de602d257a921ceb5e36c915a6ac3e79bf",
      "tree": "4a87a0181b90d07e11ea442cc83f875a07063101",
      "parents": [
        "e83cd6147be45afd57722e414239d2dd15e257c0",
        "32af07acec86d6aa12fe00b4c92c124bb7b490d3"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Mar 02 18:18:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 18:18:37 2016 +0000"
      },
      "message": "Merge \"Added dump method to NetworkTimeUpdateService\" into nyc-dev"
    },
    {
      "commit": "32af07acec86d6aa12fe00b4c92c124bb7b490d3",
      "tree": "fead5af3cc309ad1758419cd8f9c75c8c42167c6",
      "parents": [
        "0601a1c6701aafca16c0e1c65962fe00d256e624"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Feb 26 16:54:25 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Feb 26 16:54:25 2016 -0800"
      },
      "message": "Added dump method to NetworkTimeUpdateService\n\nBug: 23983739\nChange-Id: I98f175f438793f6478d5995d88ae127a5a6c1bda\n"
    },
    {
      "commit": "c7db48b0ca7915a8473ea33cfa7a2eea726d64a6",
      "tree": "53e16790df425d456053e5782fbebfacde204ae5",
      "parents": [
        "f72ecded696ff3145a9ee710e3ff4aeebb8aa1c5"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Thu Feb 25 13:42:45 2016 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Thu Feb 25 13:49:26 2016 +0000"
      },
      "message": "Don\u0027t run WebView-preparation during an encryption boot phase.\n\nWhen a device is booting up in an encrypted state WebView won\u0027t find the\npackages needed for loading WebView and might thus try to use incorrect\nwebview packages. This in itself might cause us to incorrectly change\nthe webview provider setting but also causes us to crash the system\nserver if we try to enabled/disable a package that cannot be seen by the\npackage manager.\n\nBug: 27353062\nChange-Id: I9349778506e8bec1c56b9b786fe4ed15c7c3260d\n"
    },
    {
      "commit": "1142b2654ae36b54a61bfe759f2f43a01532ae93",
      "tree": "c6bbf2390084f2417b22e576ddc31cfc9bf82de3",
      "parents": [
        "6831e8ea7601c506b1e8c61021fecfffa9cb183e",
        "51e4acb29d87fafc0d790fadfd31d0c1410521f5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 24 15:06:39 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 24 15:19:15 2016 +0900"
      },
      "message": "resolve merge conflicts of 51e4acb29d to nyc-dev\n\nAlso add the appropriate changes to api/test-current.txt, which\nis not present on mm-wireless-dev from which this change came.\n\nChange-Id: Ic4df6d0f89add73b7e5252ef662de07a4e8fce31\n"
    },
    {
      "commit": "02b3e6bfc5bbd5f1a8ce1ce68976e59142073b6f",
      "tree": "e9bf6c3b4950f505dbe982778da99c2c3cf20cb3",
      "parents": [
        "efa4209fe022d007f48edc3c4feaef00a9865cb5"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Wed Feb 03 10:39:44 2016 -0800"
      },
      "committer": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Feb 23 17:32:53 2016 +0900"
      },
      "message": "Add Connectivity Metrics Logger service\n\nThis service can be used to pass events to metrics collection service\n\nChange-Id: I213874300693cd121f2c8676f70893315de4c4c0\n"
    },
    {
      "commit": "9de7952aa945eb06148f82b9f30d7d11a2de5d74",
      "tree": "508cb88196232ec0cf6cd0855f47452f1b0b350f",
      "parents": [
        "ffd4c73a293ebac22efa644db99ba907f9776604",
        "e8a403d57c8ea540f8287cdaee8b90f0cf9626a3"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Mon Feb 22 19:24:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 19:24:25 2016 +0000"
      },
      "message": "Merge \"Add support for update-on-boot feature.\" into nyc-dev"
    },
    {
      "commit": "280c5b2155feae857ad514dff81adbfe73e398e9",
      "tree": "0c55aab42d223c1e08bf0a2b476889c56ee5df85",
      "parents": [
        "adc49e8fd59005a10df294d46c022563257eb942",
        "f8754ac2127f8adf40bd4731f39b16340acdb2f7"
      ],
      "author": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Mon Feb 22 09:27:20 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 09:27:21 2016 +0000"
      },
      "message": "Merge \"Added hardwareproperties SystemService\" into nyc-dev"
    },
    {
      "commit": "e8a403d57c8ea540f8287cdaee8b90f0cf9626a3",
      "tree": "13d471ba15c34ba265de9393e09b376a4b61a11f",
      "parents": [
        "ea168d229d316c84652e88ad0f19adbaa884d731"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Dec 31 07:44:55 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 19 11:31:45 2016 -0800"
      },
      "message": "Add support for update-on-boot feature.\n\nAdd a separate system service RecoverySystemService to handle recovery\nrelated requests (calling uncrypt to de-encrypt the OTA package on the\n/data partition, setting up bootloader control block (aka BCB) and etc).\n\nWe used to trigger uncrypt in ShutdownThread before rebooting into\nrecovery. Now we expose new SystemApi (RecoverySystem.processPackage())\nto allow the caller (e.g. GmsCore) to call that upfront before\ninitiating a reboot. This will reduce the reboot time and get rid of the\nprogress bar (\"processing update package\"). However, we need to reserve\nthe functionality in ShutdownThread to optionally call uncrypt if\nfinding that\u0027s still needed.\n\nIn order to support the update-on-boot feature, we also add new\nSystemApis scheduleUpdateOnBoot() and cancelScheduledUpdate() into\nandroid.os.RecoverySystem. They allow the caller (e.g. GmsCore) to\nschedule / cancel an update by setting up the BCB, which will be read by\nthe bootloader and the recovery image. With the new SystemApis, an\nupdate package can be processed (uncrypt\u0027d) in the background and\nscheduled to be installed at the next boot.\n\nBug: 26830925\nChange-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560\n"
    }
  ],
  "next": "f8754ac2127f8adf40bd4731f39b16340acdb2f7"
}
