)]}'
{
  "log": [
    {
      "commit": "b76e0fdf1ef2767e2d4f0ced2886756ff9556b19",
      "tree": "4a557e0b2dd0c2606efea6531fc6c0c0e1ea3add",
      "parents": [
        "6e0be363cbff1f8e794a0aba13fdb0bfa03124a6"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jan 30 13:28:25 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jan 30 14:30:55 2017 -0800"
      },
      "message": "Read SystemConfig on a worker thread\n\nAlso added lazy accessor for mBackgroundLaunchBroadcasts to give more\ntime for SystemConfig init to finish.\n\nTest: manual\nBug: 34809967\nChange-Id: Iaba0ac61714d94e72d571f33cd22d8700b89bb31\n"
    },
    {
      "commit": "4a65687b853a92268f4f0eb52f22e092b16f8ed3",
      "tree": "3d92b5e9ddfb7bd8ce7f899a70c094058b0583fa",
      "parents": [
        "55725f002383fbbcc52b20980e18cfca01e3e9d6",
        "04d72abde1efc963ebb2f145f859552e83b92d13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 23 19:57:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 19:57:23 2017 +0000"
      },
      "message": "Merge \"Expose fonts.xml via public API with a service\""
    },
    {
      "commit": "360da34205425657fd8c605388e27a5384e0d453",
      "tree": "fe84b9d982b863aca603785cef34b10045114523",
      "parents": [
        "8c055cbe022c6cdb775f53b20e7e19f24adedd59",
        "4ba91b9a879290d3d810330d172161ab1f923da8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 23 19:18:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 19:18:48 2017 +0000"
      },
      "message": "Merge \"Do not log boot times for secondary users and upgrades\""
    },
    {
      "commit": "04d72abde1efc963ebb2f145f859552e83b92d13",
      "tree": "62e2d74e3cb0d336d0d02afa4d89c650e83c4e6b",
      "parents": [
        "b334b8f0f26d93e50c07bbb90ade097025d795c1"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Jan 10 09:31:51 2017 -0800"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 15:02:23 2017 +0000"
      },
      "message": "Expose fonts.xml via public API with a service\n\nThis change creates a new FontManagerService, in charge of providing\nfont management data. It exposes a public API to retrieve the\ninformation in fonts.xml without accessing it directly. To do this,\nit also refactors FontListParser\u0027s internal classes into a new public\nFontConfig class holding all the font data.\n\ngetSystemFonts() returns all the available information in fonts.xml\nas well as file descriptors for all the fonts. This allows us to\nshare the memory consumed by these files between all clients.\n\nBug: 34190490\nTest: See attached CTS change in topic\nChange-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7\n"
    },
    {
      "commit": "4ba91b9a879290d3d810330d172161ab1f923da8",
      "tree": "b2f6f77839d4eafaa2502e89fd567da329995ac7",
      "parents": [
        "ecbc96bb34171c30b979b95d5dc96004fef7afc9"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Jan 20 18:12:35 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Jan 20 18:12:35 2017 -0800"
      },
      "message": "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\nTest: Manual update with fingerprint change\nTest: runtime restart - not logged\n\nBug: 34516002\nBug: 32807863\nChange-Id: I2e4237bf49e82101f483df6190111f4541328d19\n"
    },
    {
      "commit": "fe6f85cac9e823fd33a134f7129fdf7310703293",
      "tree": "97518a64d3759b88becf3c326ac017f359cc1a6e",
      "parents": [
        "063c454b07f7d4079731c60cff1ba4bf97d1f7ef"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jan 20 10:42:57 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jan 20 17:36:38 2017 -0700"
      },
      "message": "Introduce RescueParty.\n\nWhen a device gets stuck in a crash loop, it\u0027s pretty much unusable\nand impossible for users to recover from.\n\nTo help rescue devices from this state, this change introduces a new\nfeature that watches for runtime restart loops and persistent app\ncrash loops, and escalates through a series of increasingly\naggressive rescue operations.  Currently these rescue levels walk\nthrough clearing any experiments in SettingsProvider before finally\nrebooting and prompting the user to wipe data.\n\nCrash loops are detected based on a number of events in a specific\nwindow of time.  App stats can be stored in memory, but boot stats\nneed to be stored in system properties to be more robust.\n\nStart up RecoveryService much earlier during the boot so we can\nreboot into recovery when needed.\n\nAdd properties tha push system_server or SystemUI into a crash loops\nfor testing purposes.\n\nTest: builds, boots, forced crashing walks through modes\nBug: 24872457, 30951331\nChange-Id: I6cdd37682973fe18de0f08521e88f70ee7d7728b\n"
    },
    {
      "commit": "6c4c1119f4419e2d23ee9f12d27e183f5240f7e9",
      "tree": "e2fd706084c314380b9ad37b94d07eb03d3fef7a",
      "parents": [
        "be4568379e6248c2992feb0f6ab23319ecc737f9",
        "24e12dc59de6efcc72e52a22d1430d15e2c3f940"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 01:44:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 01:44:15 2017 +0000"
      },
      "message": "Merge \"Log excessive boot times\""
    },
    {
      "commit": "12d1bedfa9a9b0bd19f15190bdf99d5e396848f1",
      "tree": "7d9b9af977ca1929b859d94167d8d0dea924d6e4",
      "parents": [
        "473279bbd9b9c6ece4111f9371d3069876cfe53a",
        "fa3fd615b04aa1e439d2cdedd286d1d93a4c147f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 19 00:53:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 00:53:59 2017 +0000"
      },
      "message": "Merge \"SystemServer: Remove logging boot_android_init.\""
    },
    {
      "commit": "fa3fd615b04aa1e439d2cdedd286d1d93a4c147f",
      "tree": "05665188a38110a19be24d825f94ec508383b5a1",
      "parents": [
        "094119df3ebc49b7158aa448fe3cc24ad4267569"
      ],
      "author": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Wed Jan 18 15:14:29 2017 -0800"
      },
      "committer": {
        "name": "James Hawkins",
        "email": "jhawkins@google.com",
        "time": "Wed Jan 18 15:14:29 2017 -0800"
      },
      "message": "SystemServer: Remove logging boot_android_init.\n\nThis is now logged by the bootstat command.\n\nBug: 34391732\nTest: none\nChange-Id: I8bbc22e3c7b0268876c4819ed48b7e4b31d6fb3e\n"
    },
    {
      "commit": "24e12dc59de6efcc72e52a22d1430d15e2c3f940",
      "tree": "dd7a7be413db195da6ea1fb407b9456e2073a4d6",
      "parents": [
        "673de10bd0999a9b816eff51e7e6d33aa4784d3a"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jan 17 12:20:36 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jan 18 14:54:59 2017 -0800"
      },
      "message": "Log excessive boot times\n\nThis should help to identify devices that report unusually long\nboot_completed timings.\n\nTest: manual\nBug: 32807863\nChange-Id: Ic6c7103d43b3e395accb38ec418094bc580c7c40\n"
    },
    {
      "commit": "9e40b804b90c38cb425908259e7747d0a52f2955",
      "tree": "a88bf9ce8174cfb9cd2eec31631702896bb0177e",
      "parents": [
        "7d13f29b128b1cc572025a5f248559bb50c4be3a"
      ],
      "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": "Tue Jan 17 13:32:50 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\nChange-Id: Iad4eb7053e60542d0be72208db53cf0f83004ae2\n"
    },
    {
      "commit": "b82f3b09f38bd5667bb66b22a5490430418f5f8a",
      "tree": "6cf937eeea3a4c8fb746fc190cc893f7e4cbe50d",
      "parents": [
        "0bf67a29d990892fe2ce1c26b5a0eadd7fe5e930",
        "989b267015b960c8283232a74b0a1cd7b03a9731"
      ],
      "author": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Mon Jan 16 15:15:25 2017 -0800"
      },
      "committer": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Mon Jan 16 15:15:25 2017 -0800"
      },
      "message": "resolve merge conflicts of 989b267015b9 to master\n\nChange-Id: I0c967e85eb73664e236c0b7286ed14facdb327fa\n"
    },
    {
      "commit": "989b267015b960c8283232a74b0a1cd7b03a9731",
      "tree": "382231fd15df7a913ca0485a8639b52e67fc14ff",
      "parents": [
        "bdb68feffd76e669ddc574e149aa01fbc1e1136b",
        "6760890c388944cd653988004c92a8916e49fb6b"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Sat Jan 14 03:56:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 14 03:56:52 2017 +0000"
      },
      "message": "Add WearCellularMediatorService to the system server. am: d741f3de81\nam: 6760890c38\n\nChange-Id: I30d792533da4051300d15ee0567e4c09da68e21e\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": "1d87e40d4214a7f6d20a58d6f27cca174f0d974e",
      "tree": "8f6c530acf0007c6284f719801e6e2aef6fd1f6d",
      "parents": [
        "5757f5b260be597ef2e554f633c0d882bdd80697"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jan 10 18:34:10 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jan 11 14:21:13 2017 -0800"
      },
      "message": "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 - boot_system_server_init - check added for consistency with other\n   metrics in SystemServer. The metric is actually unaffected by first boot,\n   because dexopt will start later\n - boot_package_manager_init_ready\n - boot_system_server_init\n - framework_locked_boot_completed\n - framework_boot_completed\n\nTest: manual + UserControllerTest pass\nBug: 32807863\nChange-Id: Iff13697b7d4f9ff8439e1e932d7e276f48cd5c37\n"
    },
    {
      "commit": "29c0a2c93d8bcba6b9a42bfc19d20d3c3502bc3e",
      "tree": "1ac864d31ecf1a4abb998c8a7fcceb5d25d84a6e",
      "parents": [
        "d5db4a22dfbaedc200f0bdeb529046d1bc8304fa",
        "6733e6c6b6f5c49b3c668caae9a8765221c22412"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 09 19:56:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 09 19:56:16 2017 +0000"
      },
      "message": "Merge \"Do not report uptime to tron after runtime restart\""
    },
    {
      "commit": "6733e6c6b6f5c49b3c668caae9a8765221c22412",
      "tree": "18deff47452fef9fa548f6feb1d139dd0546c522",
      "parents": [
        "6fd63e4df682dfbcc2b86393216a31bd2163e484"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Jan 06 18:27:05 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jan 09 10:29:42 2017 -0800"
      },
      "message": "Do not report uptime to tron after runtime restart\n\nRuntime restart doesn\u0027t reset the uptime counter. We shouldn\u0027t report\nboot timings in that case.\n\nBug: 32807863\nTest: manual\nChange-Id: If9510c0d5c633acefe70f241e0823da8f6c248a2\n"
    },
    {
      "commit": "8d729e8c149e68023b5c076bd668ee9eff4a6c6d",
      "tree": "239f44ef2105a71fb70031bf12c93a6ed4aacc2d",
      "parents": [
        "4f302baba3ea2146f4b42d6b1f092898056a4e20",
        "e8cece9f2010388e02d8f4b3150f25168f8b7d76"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Sat Jan 07 16:18:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 07 16:18:38 2017 +0000"
      },
      "message": "Merge \"Initial API shape for storage statistics.\""
    },
    {
      "commit": "e8cece9f2010388e02d8f4b3150f25168f8b7d76",
      "tree": "d71c47bdfd720ca9c7d2bf35a24c82c2c2de9ba0",
      "parents": [
        "c9facc0a1f6f3facb7d67ddae9b8a04af78dad0c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 04 11:33:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 05 15:39:16 2017 -0700"
      },
      "message": "Initial API shape for storage statistics.\n\nThis API is designed to provide both UID-level stats and overall\nsummary data for a given storage device, as identified by UUID.\n\nThe use of UID-level granularity might appear a bit clunky, but it\nmatches other usage statistics (such as network and battery), and it\nallows us to implement it using an extremely fast quota kernel\nfeature.\n\nA future CL will wire up the implementation to installd.\n\nTest: builds, boots\nBug: 32206268\nChange-Id: I7b51877682d0370c2402c19346f57809f0e7ac53\n"
    },
    {
      "commit": "e29a5a11529dc7df82911b48b9f95461383cbcc2",
      "tree": "b5090d36e20516de0dee6e0d689b81125557f628",
      "parents": [
        "c9facc0a1f6f3facb7d67ddae9b8a04af78dad0c"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Dec 16 16:14:17 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Jan 05 13:12:37 2017 -0800"
      },
      "message": "Added SystemServerInitThreadPool\n\nSystem services can use it during the boot to submit tasks that can be run in\nparallel with the main thread.\n\nSwitched PersistentDataBlockService and FingerprintService from FgThread to\nthe new thread pool.\n\nUiModeManagerService: update initial configurations on init thread. They run\nwhile holding the mLock so no extra synchronization barriers are needed at a\nlater stage.\n\nTest: manual - device boots without errors\nTest: ParallelPackageParserTest passes\nChange-Id: I548f34b0a18f61924e09a39afb12e085cde35442\n"
    },
    {
      "commit": "1f556e3ba623f7d6d2841615f4000c478541c37f",
      "tree": "a9df92b8987317ed3a34dd611212005e9588cbb8",
      "parents": [
        "f2acf9df65e208e4ca9eb17fb8c5e0d7ec4ab41e"
      ],
      "author": {
        "name": "Allen Hair",
        "email": "allenhair@google.com",
        "time": "Fri Nov 11 15:42:50 2016 -0800"
      },
      "committer": {
        "name": "Allen Hair",
        "email": "allenhair@google.com",
        "time": "Wed Jan 04 19:44:21 2017 +0000"
      },
      "message": "Provide a mechanism for dumping code coverage for the system server.\n\nThis service will only be enabled if the platform was built with\nEMMA_INSTRUMENT\u003dtrue\n\nTest: Manual\nBug: 31077138\nChange-Id: I4ba98b6568d31ded1b66da996b3c2e5a2ee07c75\n"
    },
    {
      "commit": "6dd2ba286664a67046ec6825acadbc108f9fc273",
      "tree": "1e32aafa8503c5873b07904da265bf049f02013b",
      "parents": [
        "dc143e01ccdf76f780c8331659ca27484733907a"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Dec 07 13:03:17 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jan 03 17:55:44 2017 -0800"
      },
      "message": "Tracing for unaccounted parts\n\nBug: 33199244\nTest: manual\nChange-Id: Idf71332e8ebd666e5e0defada696414b4550ff23\n"
    },
    {
      "commit": "1754d744a7a34731ffc07af1bc3dbfcb06864ab0",
      "tree": "8596241d2c9ccfb1b1748e3a5a37f2befa155a87",
      "parents": [
        "de5b027d2cbd430ef5007911cd73084c081afaab"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 21 17:51:35 2016 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 11:23:05 2016 -0800"
      },
      "message": "First checkin of incident reporting.\n\nThere are a few major pieces here:\n\nincidentd\n---------\nThis daemon (started by init) runs and accepts incoming requests to take\nincident reports.  When prompted, it calls into various system services\nand fills in an IncidentProto data structure, and then writes the report\ninto dropbox.\n\nThe next steps for incidentd:\n    - Security review of SELinux policies. These will be a subset of\n      the dumpstate permissions.  Until this is done, incidentd is\n      not started at boot time.\n\nincident\n--------\nThis shell command calls into incidentd, and can initiate an incident\nreport and either capture the output or leave for dropbox.\n\nincident_report\n---------------\nThis host side tool can call adb shell with the correct parameters\nand also format the incident report as text.  This formatting code\nwas left of the device on purpose.  Right now it\u0027s pretty small, but\nas the number of fields increases, the metadata and code to do the\nformatting will start to grow.\n\nThe incident_report command also contains a workaround to let it\nwork before incidentd is turned on by default.  Right now, it is\nimplemented to call adb shell dumpsys \u003cservice\u003e --proto directly,\nwhereas in the future it will go through the full incidentd flow.\n\nincident_section_gen\n--------------------\nA build-time tool that generates a stripped down set of information\nabout the fields that are available.\n\nlibincident\n-----------\nThis library contains the code to connect to incidentd, and the\nmeta proto definitions that are used by the framework protos.\nThe basics are here now, but they are not fully fleshed out yet.\nThe privacy.proto file contains annotations that can go in the\nproto file that we will later use to filter which fields are\nuploaded, and which are used by local sources.  For example, a\ndevice in a test lab is safe to upload much much more information\nthan a real user.  These will share the same mechanism, but the\nuser\u0027s output will be filtered according to these annotations.\n\nframeworks/core/proto\n---------------------\nThese .proto files contain the definitions of the system\u0027s\noutput.  There is one master android.os.IncidentProto file that\nis the top level of an incident report, but some other services\n(notification, fingerprint, batterystats, etc) will have others\nthat are used directly by the logging mechanism.\n\nOther files which are shared by several of the services also go\nhere, such as ComponentName, Locale, Configuration, etc.  There\nwill be many more.\n\nThere is also a first iplementation of a dump method handling\n--proto in the fingerprint service.\n\nIncidentManager\n---------------\nThe java API to trigger an incident report.\n\nTest: Not written yet\nChange-Id: I59568b115ac7fcf73af70c946c95752bf33ae67f\n"
    },
    {
      "commit": "7890c2af5181f134cc20153978c757ed8a55c43e",
      "tree": "7b2917a4ac05aa89bd5789c89fe94fd4ed1d3aa3",
      "parents": [
        "6997bf20eeae417f1b9e96d1427fda5775e61771"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Dec 12 12:41:16 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Dec 12 12:41:31 2016 -0800"
      },
      "message": "init.start was renamed to ro.boottime.init\n\nTest: manual\nBug: 32780225\nChange-Id: I07e593d5c1edab62e937a77916ab207ec17e8639\n"
    },
    {
      "commit": "e35aff17e9c58c1c28325e77e53e5e4f71a07580",
      "tree": "957746b0390e5f92bf2a30d36145f656fe50778f",
      "parents": [
        "1fd6d039e35e31eafa8bac601d04a0d20c60e25e",
        "311b9fac00c9298479340244ffedf4825e0a7756"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Dec 06 21:57:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 21:57:55 2016 +0000"
      },
      "message": "Merge \"2-phase initialization of NetworkPolicyManagerService\""
    },
    {
      "commit": "311b9fac00c9298479340244ffedf4825e0a7756",
      "tree": "cca43abce9a7e9d5d5d5444369f3ed91fa133601",
      "parents": [
        "0dd0dafdb974df4570a0a6d18e3ad10affe06c45"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Dec 02 16:24:35 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Dec 05 17:02:27 2016 -0800"
      },
      "message": "2-phase initialization of NetworkPolicyManagerService\n\nSplit systemReady() into 2 callbacks:\n1) networkScoreAndNetworkManagementServiceReady - called when required\n    services are ready. NetworkPolicyManagerService starts its initialization\n    on the worker thread\n2) systemReady - wait for phase (1) to finish so that the service is fully\n   initialized\n\nNetworkPolicyManagerService is now prepared in parallel with\nConnectivityService and NetworkStatsService\n\nTest: device boots without errors\nTest: HostsideRestrictBackgroundNetworkTests and NetworkPolicyManagerServiceTest pass\nBug: 32315581\nChange-Id: Ic9755ed096900247fa0bbb43f396d8bcb97ae6db\n"
    },
    {
      "commit": "68f49aea205a0d26f09cc457f86450e8dd3023d0",
      "tree": "aa167d4ad51bbbd425c05ead7edffd17fe32efc7",
      "parents": [
        "325fa50d8df2927c38c17e903e71c2d45213c9e3"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Dec 02 17:33:21 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Dec 05 10:57:03 2016 -0800"
      },
      "message": "Init PersistentDatablockService on the worker thread\n\nOther services do not depend on PersistentDatabalockService in the early\nstages of system server initialization.\nInitialization is now done on the FgThread. The service also ensures that\ninit is complete before PHASE_ACTIVITY_MANAGER_READY.\n\nChange-Id: I3b9a1994e37c1e995ed04257f271c425d48c2e7c\nTest: Manual, device boots, service is initialized and published\nBug: 33199244\n"
    },
    {
      "commit": "3235e0c2eeb9f1c3d7152ebc2738a2e784085d38",
      "tree": "87d0213f55b2042cbad0c1f315a5788e3745ca00",
      "parents": [
        "7317467c3914e9b3179afba9635a74d4a272c846"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Nov 17 11:44:49 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Nov 21 17:17:34 2016 -0800"
      },
      "message": "Additional boot metrics\n\nExtracted duration measurement functionality into BootTimingTraceLog.\nIt is now shared between system_server and zygote.\n\nLog the following metrics to tron:\n- boot_zygote_init - Time in milliseconds to boot into Zygote init stage.\n- boot_android_init - Time in milliseconds to boot into Android init stage.\n\nTest: manual - device boots, metrics are logged to system/event log\nBug: 32780225\nBug: 31115337\nChange-Id: I600ac7fc83d35fa226ac92c37cc4b19192b25f59\n"
    },
    {
      "commit": "6bc6b6fe5a29db39830448a26f49b2861058eb61",
      "tree": "c1e243b412e4107612a9f7240c5a123f0eb64bac",
      "parents": [
        "0d11dc0cbb2c7f1fb7b6cb9575823f6ceb66fbc9",
        "8d3e82bdfc01dbcd4f3bb1146542919f9d8ad460"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 17 01:39:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 01:39:12 2016 +0000"
      },
      "message": "Merge \"Report boot statistics\""
    },
    {
      "commit": "2250d56a0b47b93016018340c8f4040325aa5611",
      "tree": "b9264557e60e3486858b88d578b888f014e0074b",
      "parents": [
        "3bfef0186464eea5877f6e5cb10621f9bc5bb4dc"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Nov 07 15:41:02 2016 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Nov 15 12:43:37 2016 -0800"
      },
      "message": "Rename MountService to StorageManagerService.\n\nBug: 30977067\nTest: Existing tests pass\nChange-Id: Ieac0f11c2b249dcd60441b14c1f391e6f8131d42\n"
    },
    {
      "commit": "8d3e82bdfc01dbcd4f3bb1146542919f9d8ad460",
      "tree": "710897272483f39d08a675739f48eb2d7e6da4b4",
      "parents": [
        "fd869cfe53814d427ecf07bed6ec5f6c44b0537c"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Nov 10 17:58:50 2016 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Nov 10 17:59:01 2016 -0800"
      },
      "message": "Report boot statistics\n\nAdded the following metrics:\n- tron_varz_boot_package_manager_init_start\n- tron_varz_boot_package_manager_init_ready\n- tron_varz_boot_system_server_init\n- tron_varz_boot_system_server_ready\n\nTest: manual - device boots, adb logcat -b events\nBug: 32780225\nChange-Id: I0eeda831e2a13a7cbcef3308d5dad1bfa63919c1\n"
    },
    {
      "commit": "00f42c3b28b6535274ff94fa6ed1a076d5f1d734",
      "tree": "acd4c58c5192adcee896bef0d8fb8e26827939a7",
      "parents": [
        "467278fd41f25b26b9f0f8c57c9e3d4108eed95d",
        "5381aa4b585f3fa2a315d88e910111173e2ef77d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 09 19:19:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 19:19:32 2016 +0000"
      },
      "message": "Merge \"Initial implementation of the Auto-Fill Framework classes.\""
    },
    {
      "commit": "5381aa4b585f3fa2a315d88e910111173e2ef77d",
      "tree": "0b61ddf3a3a84981411f7662081c75a6c7c91e70",
      "parents": [
        "8f68c8b9a89e42cde7bccb00b90db13c206ab5f4"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Oct 13 09:02:32 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 08 14:40:56 2016 -0800"
      },
      "message": "Initial implementation of the Auto-Fill Framework classes.\n\nThis CL provides the initial, skeleton implementation of the Auto-Fill\nFramework classes:\n\n- Defines the system service and app-based\n  AIDL (IAutoFillManagerService.aidl and IAutoFillService.aidl respectively).\n- Defines the \u0027adb shell cmd\u0027 interface.\n- Defines the permission required to access the service.\n- Registers the service on SystemServer.\n- Adds the code to bind the app-specified service to system_server.\n- Defines the service class (AutoFillService) required by providers.\n- Implements the initial startSession() method.\n\nThis is still a very early, \"work-in-progress\" change:\n- It has many TODOs.\n- It does not have unit or CTS tests yet.\n- It does not provide a callback method to auto-fill the fields.\n- In fact, it has a lot of TODOs.\n\nDespite these adversities, it can be tested by following the steps\nbelow:\n\n1.Create an app with a service extending AutoFillService\n\n2.Implement the onNewSession() method\n\n3.In the manifest:\n - Listen to android.service.autofill.AutoFillService intents.\n - Require the android.permission.BIND_AUTO_FILL permission.\n\n4.Explicitly set the app as an autofill-service by running:\n  adb shell settings put secure auto_fill_service MY_APP/.MY_SERVICE\n\n5.Start a session against the top activity:\n  adb shell cmd autofill start session\n\nBUG: 31001899\nTest: manually built and ran it\n\nChange-Id: I00f4822159b31ddddba8f513e57c4474bc74eb89\n"
    },
    {
      "commit": "0a17db1cc5942ea000ca87bb72853de57a15ec64",
      "tree": "7a0b51064dc654901bd69857c2f3a14fe8d5871a",
      "parents": [
        "9d710882602a8a0ad661cf10ce2cb421f3255ee2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 04 11:23:46 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 07 17:03:37 2016 -0700"
      },
      "message": "Detect non-oneway calls leaving system_server.\n\nTo protect system stability, any Binder calls leaving the\nsystem_server must carefully be performed using FLAG_ONEWAY (or\nthe \u0027oneway\u0027 verb in AIDL) which prevents the call from blocking\nindefinitely on the remote process.\n\nIn this CL, the system_server uses the new Binder.setWarnOnBlocking()\nmethod to enable detection by default for all remote Binder\ninterfaces.  It can also use Binder.allowBlocking() to allow\nblocking calls on certain remote interfaces that have been\ndetermined to be safe.\n\nThis CL adds the \u0027oneway\u0027 verb to several interfaces and methods\nwhere it should have been added, and marks a handful of system\nContentProviders as being safe to call into.  Also, we assume that\nany services obtained from ServiceManager are part of the core\nOS, and are okay to make blocking calls to.\n\nTest: builds, boots, runs with minimal logs triggered\nBug: 32715088\nChange-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0\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": "0413327d741fe7246f9d5bf508da6f6b6a6a7476",
      "tree": "e9db0bfba2a1240ecf7223082de4654b402c2a85",
      "parents": [
        "5963fd864be3e88a87d488ad18ba9ed512c250cb"
      ],
      "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": "Fri Nov 04 15:42:08 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(cherry-pick of commit b061f21e7e59a99834e163e2baa1c82229e419a6)\n\nBug: 32263750\nTest: All unit tests and integration (sl4a) tests pass.\nChange-Id: Ie4ff675fa61041e8fcf6a9bf9900ea835d0a7614\n"
    },
    {
      "commit": "5406e7ade87c33f70c83a283781dcc48fb67cdb9",
      "tree": "32f090c0d0a7a34dc51aa955f128677e24345aee",
      "parents": [
        "fa4c311438dc174df7acac822a9aa91ae91e9879"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Oct 21 11:55:23 2016 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Oct 25 13:22:10 2016 -0700"
      },
      "message": "Apply display override config for secondary displays\n\nNow display-specific settings, such as dimensions and orientation,\nare stored in display override config. For default display it is\nmirroring the global config. Each time when global config is updated,\noverride of the default display should be updated too and vice versa.\n\nTest: Existing and manual tests still pass.\nChange-Id: Ic6c2190092d328820f314a05bed43c875db18170\n"
    },
    {
      "commit": "d340d8a135cd3adca9f11b0b252f5ac1cc7dcb20",
      "tree": "b98d209da0148f0a462828d7e57e15e3f86b9459",
      "parents": [
        "db20fb1fbb862924429d571a879391b241b0f804"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Oct 18 17:52:30 2016 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Oct 18 18:02:03 2016 -0700"
      },
      "message": "fix wrong trace from IpConnectivityMetrics\n\n- should use only traceEnd() after traceBeginAndSlog\n\nbug: 32256110\nTest: manual log check\nChange-Id: If7dcceacd316450990402a1a20877ceb8c85a098\n"
    },
    {
      "commit": "253f2c213f6ecda63b6872aee77bd30d5ec07c82",
      "tree": "45fcfd8633a122fc4509e58732743123daf8af79",
      "parents": [
        "9cf75061b143196c97c31726655c7e5c4ada8814"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 28 17:34:42 2016 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 11 17:47:58 2016 -0700"
      },
      "message": "Linear blending, step 1\n\nNOTE: Linear blending is currently disabled in this CL as the\n      feature is still a work in progress\n\nAndroid currently performs all blending (any kind of linear math\non colors really) on gamma-encoded colors. Since Android assumes\nthat the default color space is sRGB, all bitmaps and colors\nare encoded with the sRGB Opto-Electronic Conversion Function\n(OECF, which can be approximated with a power function). Since\nthe power curve is not linear, our linear math is incorrect.\nThe result is that we generate colors that tend to be too dark;\nthis affects blending but also anti-aliasing, gradients, blurs,\netc.\n\nThe solution is to convert gamma-encoded colors back to linear\nspace before doing any math on them, using the sRGB Electo-Optical\nConversion Function (EOCF). This is achieved in different\nways in different parts of the pipeline:\n\n- Using hardware conversions when sampling from OpenGL textures\n  or writing into OpenGL frame buffers\n- Using software conversion functions, to translate app-supplied\n  colors to and from sRGB\n- Using Skia\u0027s color spaces\n\nAny type of processing on colors must roughly ollow these steps:\n\n[sRGB input]-\u003eEOCF-\u003e[linear data]-\u003e[processing]-\u003eOECF-\u003e[sRGB output]\n\nFor the sRGB color space, the conversion functions are defined as\nfollows:\n\nOECF(linear) :\u003d\nlinear \u003c\u003d 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055\n\nEOCF(srgb) :\u003d\nsrgb \u003c\u003d 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4)\n\nThe EOCF is simply the reciprocal of the OECF.\nWhile it is highly recommended to use the exact sRGB conversion\nfunctions everywhere possible, it is sometimes useful or beneficial\nto rely on approximations:\n\n- pow(x,2.2) and pow(x,1/2.2)\n- x^2 and sqrt(x)\n\nThe latter is particularly useful in fragment shaders (for instance\nto apply dithering in sRGB space), especially if the sqrt() can be\nreplaced with an inversesqrt().\n\nHere is a fairly exhaustive list of modifications implemented\nin this CL:\n\n- Set TARGET_ENABLE_LINEAR_BLENDING :\u003d false in BoardConfig.mk\n  to disable linear blending. This is only for GLES 2.0 GPUs\n  with no hardware sRGB support. This flag is currently assumed\n  to be false (see note above)\n- sRGB writes are disabled when entering a functor (WebView).\n  This will need to be fixed at some point\n- Skia bitmaps are created with the sRGB color space\n- Bitmaps using a 565 config are expanded to 888\n- Linear blending is disabled when entering a functor\n- External textures are not properly sampled (see below)\n- Gradients are interpolated in linear space\n- Texture-based dithering was replaced with analytical dithering\n- Dithering is done in the quantization color space, which is\n  why we must do EOCF(OECF(color)+dither)\n- Text is now gamma corrected differently depending on the luminance\n  of the source pixel. The asumption is that a bright pixel will be\n  blended on a dark background and the other way around. The source\n  alpha is gamma corrected to thicken dark on bright and thin\n  bright on dark to match the intended design of fonts. This also\n  matches the behavior of popular design/drawing applications\n- Removed the asset atlas. It did not contain anything useful and\n  could not be sampled in sRGB without a yet-to-be-defined GL\n  extension\n- The last column of color matrices is converted to linear space\n  because its value are added to linear colors\n\nMissing features:\n- Resource qualifier?\n- Regeneration of goldeng images for automated tests\n- Handle alpha8/grey8 properly\n- Disable sRGB write for layers with external textures\n\nTest: Manual testing while work in progress\nBug: 29940137\n\nChange-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b\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": "4c4368e813c486b6b4924a3fb727c1cee04d9173",
      "tree": "91bd8416317a12f4da3c5c395460f46212fe93a4",
      "parents": [
        "7ef8dbed50fe98763c0ccd616354e1f4c9181502",
        "ad70bc6c310f54d4810e67b49e7881c1f33a1d83"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 30 21:21:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 21:22:02 2016 +0000"
      },
      "message": "Merge \"Update ClipboardService to extend SystemService.\""
    },
    {
      "commit": "ad70bc6c310f54d4810e67b49e7881c1f33a1d83",
      "tree": "4e7c1dc6158d8056048e52b029cfe06fb73637b8",
      "parents": [
        "4c9f9d683ba929bfa433119b614667fa77704b56"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Sep 29 12:58:04 2016 -0700"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Fri Sep 30 12:17:37 2016 -0700"
      },
      "message": "Update ClipboardService to extend SystemService.\n\nTest: Existing tests still passing.\n      cts-tradefed run singleCommand cts-dev --module CtsTextTestCases -t android.text.cts.ClipboardManagerTest\n      cts-tradefed run singleCommand cts-dev --module CtsContentTestCases -t android.content.cts.ClipboardManagerTest\n      cts-tradefed run singleCommand cts-dev --module CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.ManagedProfileTest#testCrossProfileCopyPaste\nChange-Id: Ibca156a412219f11a53f2a9250954b30b650b1aa\n"
    },
    {
      "commit": "28537b6ae92a3211b5993ac00482ef905a911244",
      "tree": "fcf41ddada8abcf0e02ff967e17af5fe70dcbca9",
      "parents": [
        "4c9f9d683ba929bfa433119b614667fa77704b56"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Sep 07 11:12:31 2016 -0700"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Fri Sep 30 10:29:26 2016 -0700"
      },
      "message": "Don\u0027t limit RetailDemoModeService to start only during demo mode.\n\n- Update RetailDemoModeService to not do anything outside demo mode.\n- Add am command get-started-user-state which is needed for cts tests.\n- Update unit tests for RetailDemoModeService.\n\nBug: 31342350\nTest: adb shell am instrument -e class com.android.server.retaildemo.RetailDemoModeServiceTest -w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nChange-Id: Idf50512facd27d47d7111e75cbc2f7b260f49740\n"
    },
    {
      "commit": "3be72a7f0a75226f629517ca61d637af2cc5768d",
      "tree": "a701cb26b5a32f38a951b8dec47d23f929c7f71d",
      "parents": [
        "2e16dafc76cb0ed88acb0e4816dbedc63472fad1",
        "ca68aca2b7a9f4a2784affa2d434c8bbedab1006"
      ],
      "author": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Mon Sep 26 21:24:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 26 21:24:19 2016 +0000"
      },
      "message": "Merge \"Fix traceEnd call for KeyAttestationApplicationIdProviderService phase in System Server.\""
    },
    {
      "commit": "2cae5760c69cfdba0e20a0bd0e58bcce6e3d0cbf",
      "tree": "06c42220f827f1038b70b5254dd083d1ec7d3dd6",
      "parents": [
        "0b9131ca171adc641534850d3d851088bb275118",
        "10691456b8ac6e3f6d7821cdb9f99936cffbd2c7"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Sep 26 08:46:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 26 08:46:30 2016 +0000"
      },
      "message": "Added Emergency affordance feature am: 705442fa7d am: 0e1f78da65\nam: 10691456b8\n\nChange-Id: Ieb3a0da5d5693a186c92ab1c21ba189558207ae3\n"
    },
    {
      "commit": "0dd895901e4f31c6c1b10b48a786c57a9fa2d877",
      "tree": "85e0a9efa0c62b0cdda7c66fd3b3bc7468fea02f",
      "parents": [
        "8f73ad371710d670729c7917a183b5ee9c0855bb",
        "b8fdf0aa161f57d748357fc6102538914ab0c6b4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Sep 25 13:38:46 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Sep 25 13:51:50 2016 -0700"
      },
      "message": "resolve merge conflicts of b8fdf0a to master\n\nChange-Id: Iee1e2229317084563d22a5cfc6e3a17ccc612bb1\n"
    },
    {
      "commit": "8389d6f0e1ecff5a8ffc62b2f461b3a60fe638f4",
      "tree": "964a5adb3ea7c3c02b5a9fe2602e1fbd87bcb7f6",
      "parents": [
        "f0a9572a196f0d7463a6eaae5049f1971b305c20",
        "0daeac5dd41f136a1ca0a76b406016b05586e562"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sun Sep 25 20:09:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 25 20:09:46 2016 +0000"
      },
      "message": "New IpConnectivityMetrics service am: eab511b582 am: 3a353a2044\nam: 0daeac5dd4\n\nChange-Id: Id08f9c8426780578c0edde7a69cf118fac232177\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": "ca68aca2b7a9f4a2784affa2d434c8bbedab1006",
      "tree": "ba208afeff03c49051efbef81154145e9383a991",
      "parents": [
        "fea4343c6ae2e2716447138fc51bbc21e6bcd04d"
      ],
      "author": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Fri Sep 23 10:58:43 2016 -0700"
      },
      "committer": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Fri Sep 23 11:01:41 2016 -0700"
      },
      "message": "Fix traceEnd call for KeyAttestationApplicationIdProviderService phase\nin System Server.\n\nChange code to use traceEnd() instead\nTrace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); to generate accurate\nmeasurements.\n\nTest: 1-line change. 0-risk change.\nbug: 31654120\nChange-Id: I24d1468ccf934dbe912822996174eb780a46994c\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": "8b6456bc88d21d4106d25849a405e2876e597425",
      "tree": "62c9df2f4595eefd36454452a62c307c02acb0c4",
      "parents": [
        "25c1636258eadefb8ca476575ee1a0201f546b4a",
        "37e43275eeee064947f1b448cdf129bea39cf918"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Sep 21 03:32:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 21 03:32:47 2016 +0000"
      },
      "message": "Merge \"Move device serial behing a permission\""
    },
    {
      "commit": "03d0a367cf8b229c12e51dc5f452deb710093b20",
      "tree": "eec57799a02ba86792f370f45a5bea8488d03b33",
      "parents": [
        "f97de8b1c5f21fa98cd145c35091e69eb15c28e0",
        "82d5fc17b5f19b1fcd4533beb489b35b7ff58606"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Sep 20 10:21:27 2016 -0700"
      },
      "committer": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Tue Sep 20 10:25:51 2016 -0700"
      },
      "message": "resolve merge conflicts of 82d5fc1 to master\n\nTest: device boots\n\nChange-Id: I78e5667577e413763b6be3b06a2feda99ef0d739\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": "7af8c2a8b97fec0a54cb3555fe5907b17091cfbb",
      "tree": "35af425b3f87e04e5e84a534b62cfe611d7c62a9",
      "parents": [
        "2079ac87793544e3a7282f1b923792d709601cff",
        "15de376b90d37a1502c28e5e0b3a90702dfbc85f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 21:12:49 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Sep 12 21:12:49 2016 -0700"
      },
      "message": "resolve merge conflicts of 15de376 to master\n\nChange-Id: Id76c6ef0a592fde8ee0f6fef0d1e9352aa21c9fe\n"
    },
    {
      "commit": "37e43275eeee064947f1b448cdf129bea39cf918",
      "tree": "ae0516b8882c867cd54c3a339978bb1630e61fe4",
      "parents": [
        "1fd68ad92c56b59a4b2550c351e87e819f3486f9"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 09 16:01:32 2016 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 11 18:44:38 2016 +0000"
      },
      "message": "Move device serial behing a permission\n\nBuild serial is non-user resettable freely available deivice\nidentifier. It can be used by ad-netowrks to track the user\nacross apps which violates the user\u0027s privacy.\n\nThis change deprecates Build.SERIAL and adds a new Build.getSerial()\nAPI which requires holding the read_phone_state permission.\nThe Build.SERIAL value is set to \"undefined\" for apps targeting\nhigh enough SDK and for legacy app the value is still available.\n\nbug:31402365\n\nChange-Id: Iddd13430b2bd1d9ab4966e31038ecabdbdcec06d\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": "357773aa629cde25c60a27be69dd0d81fc02b7e2",
      "tree": "e91adc645b6566dbaba067afbfad855c26c8a2f1",
      "parents": [
        "32228e4748b65da1c16094c82ab3ade1b063f7fe",
        "8ff1e193acc1d9946f877332547c7706cfcf12f4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 29 16:18:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 16:18:51 2016 +0000"
      },
      "message": "Merge \"Add KeyAttestationApplicationIdProviderService to SystemServer\""
    },
    {
      "commit": "4887e67c0be257229e29541761740d4d6c1200dd",
      "tree": "d84567e5a729df5bb623d1bc9dceaa45aa17b683",
      "parents": [
        "026ef6c160d2a84347995056ceb2ef45d8f60a85"
      ],
      "author": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Thu Jul 21 15:58:24 2016 -0700"
      },
      "committer": {
        "name": "Vitalii Tomkiv",
        "email": "vitalit@google.com",
        "time": "Thu Aug 25 13:11:04 2016 -0700"
      },
      "message": "Add granular profiling to every SystemServer step.\n\nIn attempt to speed up Android Boot time we need better understand parts\nthat are taking long time during boot phase. SystemServer accounts to\n~30-40% of boot time, so profiling and monitoring it should help\nidentify problematic parts.\n\nAlong with systrace logcat messages were added to simplify on the glance\ncheck of boot process timing without the need to collect systrace.\n\nChange-Id: Ice203eb3e6aa662d1a7cefc8bcd76f372347f4a0\n"
    },
    {
      "commit": "d79d203b357b8ac54c36e028d8bb80e3a39165f5",
      "tree": "e7c62a5adaf8da567f9713ee08e27fd6f47b1da6",
      "parents": [
        "5a0bd2296bd8115dd26b8c8ab7ed13cb8362efe8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 13:39:07 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 15:19:18 2016 -0600"
      },
      "message": "Bring back wtf() for missing services.\n\nPublish DropBox extremely early during boot process so that it can\npick up wtf() calls while booting.\n\nBug: 28634953\nChange-Id: Ie71d53fc125ebc47fa08ef59a8b7e4f66f2e805c\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": "8ff1e193acc1d9946f877332547c7706cfcf12f4",
      "tree": "5f41e644138dffa415c31a0524f9a08d9332f7c0",
      "parents": [
        "da3addda02138e5dfbd8ff42f69b7c3c1d646ba6"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Jun 03 11:31:55 2016 -0700"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Aug 19 13:50:55 2016 +0100"
      },
      "message": "Add KeyAttestationApplicationIdProviderService to SystemServer\n\nAdd getKeyAttestationApplicationId and the Parcelables\nKeyAttestationPackageInfo and KeyAttestationApplicationId,\nneeded by keystore.\n\nBug: 22914603\nChange-Id: I89a88cd9cd80e9b132ca67fc452e9cae8b8ad241\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": "4d24cfe6ceb0dcf46c333129cc877840dfa5dddb",
      "tree": "c145cab4bafe00e9a0a863d7945d55b8f11d5b2f",
      "parents": [
        "e2fc1055c5a3b8ca1f852059ad5fff6bcfcc8f5c",
        "73ea0ae15fafd66ab8a8e2679723715c189bbba3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Aug 11 18:52:43 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 18:52:44 2016 +0000"
      },
      "message": "Merge \"Fix bugs around manager fetching.\""
    },
    {
      "commit": "88f40ad9a721ee30708be82f66fb58c64f1d36b5",
      "tree": "7fe990c0bcd00830cec061a7a9c60ec2748f6812",
      "parents": [
        "b80b6dabcbaa3ebd9b0889ff932bef9a05691ecb"
      ],
      "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 11 16:43:54 2016 +0000"
      },
      "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"
    },
    {
      "commit": "73ea0ae15fafd66ab8a8e2679723715c189bbba3",
      "tree": "6c63c2f4a70dc67ede4596b37c5c3a7296af5569",
      "parents": [
        "49ca529a850e60482ddcc8c0762105b4aa10f35f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 10 17:30:38 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 11 09:44:34 2016 -0600"
      },
      "message": "Fix bugs around manager fetching.\n\nA recent patch started returning \"null\" when a Binder service\nrequired to provide a manager wasn\u0027t yet registered.\n\nThis fixes four locations where that new logging was triggered: in\ntwo cases by adjusting the fetching ordering, and in two other cases\nby only fetching when the device supports the manager.\n\nBug: 28634953\nChange-Id: I84dbccffa4ac760c10a2bbcb234f21272bfecb91\n"
    },
    {
      "commit": "19acc9023a0774b2b5505ff5dee01d9bdabe4696",
      "tree": "c5cd8d150d3fe4882c97d20f642b23ae2a134afb",
      "parents": [
        "194b301b1e902a805b33631c06047a460c15fab0",
        "2f51366c1a1a719d1b8e17f3c2e3574edac74380"
      ],
      "author": {
        "name": "joonyoung.cho",
        "email": "joonyoung.cho@lge.com",
        "time": "Mon Aug 08 22:25:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 08 22:25:20 2016 +0000"
      },
      "message": "Merge \"fix safeMode status in AppWidgetService\" am: 78a72f0698 am: cbd4ad1f7e am: 5a3034f8ff\nam: 2f51366c1a\n\nChange-Id: I64ed50a3f2d6fa20650c047bda0da1ad0cd292f4\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": "b699ce0d06eb6be91c0be0a791d8d8d7c68b4f41",
      "tree": "0e85154849bfaa68079c3a4a5a146eb64894c668",
      "parents": [
        "38a9d72c089ea22e93bb9e8f8d372c670986a318"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jul 18 12:05:30 2016 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jul 18 18:47:00 2016 -0700"
      },
      "message": "Added foundation for supporting unit tests in WindowManager\n\n- Check for null where appropriate when using WM from a test\n- Inject WindowManagerPolicy for test can have its own policy\n- Added skeleton for WindowStateTests that will contain tests\nfor WindowState class.\n\nBug: 30060889\nChange-Id: I0cd7d50c98de16c7412759401075c4bb48d13dfe\n"
    },
    {
      "commit": "11b8f8a0180347a3a46feb8d4e3195bd133a6a46",
      "tree": "0dd7f154be7802626301fe17ab822399b39b6d97",
      "parents": [
        "5ddf5109467df37074eb69726cc1a61db1538b06",
        "2885331ceff7d19c13769a158d881ab771d8da01"
      ],
      "author": {
        "name": "Nancy Zheng",
        "email": "nzheng@google.com",
        "time": "Tue Jul 12 01:50:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 12 01:50:03 2016 +0000"
      },
      "message": "Merge \\\\\"Add WearWifiMediatorService to SystemServer.\\\\\" into nyc-mr1-dev am: 0171a6ef8b\nam: 2885331cef\n\nChange-Id: I207eac40616bd5b2e462cc6c2b108cef883c2a9b\n"
    },
    {
      "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": "029c2f4e3f9be621d7f82361decbbcdabeff9861",
      "tree": "145ca55f40337b6dea99f0d59ff7ced0ffc86997",
      "parents": [
        "6d5c9de640ab0c3e25d5d51d496465dc8ebbf84e",
        "1228803cde9fa6bbcf69880aab74d2787ddb7f58"
      ],
      "author": {
        "name": "Justin Klaassen",
        "email": "justinklaassen@google.com",
        "time": "Fri Jul 08 21:46:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 08 21:46:23 2016 +0000"
      },
      "message": "Merge \\\\\"Add Night display feature\\\\\" into nyc-mr1-dev am: 76262b8e14\nam: 1228803cde\n\nChange-Id: I855bf48a271b15f671957b1451caab24d08d8293\n"
    },
    {
      "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": "8f4731db63089a36993318db05d0f0cd57e741cc",
      "tree": "4b485b50ffb7b2c0a89c7446411df6046bae9fc3",
      "parents": [
        "ae9c4cb9aa6fcb01c687c51f6c96f778b54629e6",
        "5c1dc014caf8d71f6c1b9e2562136d0254b518e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 08 18:27:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 08 18:27:10 2016 +0000"
      },
      "message": "Merge \\\\\"Revert \\\\\"Frameworks/base: Refactor UserHandle and Environment a bit\\\\\"\\\\\" into nyc-mr1-dev am: 56177bf81b\nam: 5c1dc014ca\n\nChange-Id: Ia51a5349ea826ca56ec0c5f8baf1c1afac7c6b81\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": "5c1d5461c9e44c48c22819d6985406f056eca35a",
      "tree": "7d3f228f7e57187c8dd21d71eb8658fcc597faa8",
      "parents": [
        "66f496bdd34203e5b34b84fc5e60583fd7e1045b",
        "cb2dce0352634a5632707458fd7c656e2a4d0797"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 07 19:56:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 07 19:56:13 2016 +0000"
      },
      "message": "Merge \\\\\"Remove \\\\\"starting apps\\\\\" boot message.\\\\\" into nyc-mr1-dev am: bb2d9ab98e\nam: cb2dce0352\n\nChange-Id: Ieee93cccfb67ff3e9f28ed76813bc789208492db\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": "df5c966cac913d69068fdcc5becb267688290151",
      "tree": "a1692544f8e926f65f4c69cf23460a320ed4f549",
      "parents": [
        "9ca478b6c30472964cf06c0e7917d6df817d2d97",
        "9b4725d0716c8bd14e087e34bd32b981111ce553"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 06 20:02:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 06 20:02:44 2016 +0000"
      },
      "message": "Merge \\\\\"Frameworks/base: Refactor UserHandle and Environment a bit\\\\\" into nyc-mr1-dev am: e6fcebbf50\nam: 9b4725d071\n\nChange-Id: I2c6c65c9e1445e02c8e0e264090cbb4d62295d39\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": "2e33e0df3c1017b865c2fd6662325a9d203ad4ec",
      "tree": "2f2eed7258c03767312734026adbd4710e60af78",
      "parents": [
        "4c00c6a91e03bb93295b4d6fd1866e5897c0b97d",
        "5c451c08bc51c8fdb033263a701f0397d12ac255"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jun 24 16:42:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 24 16:42:47 2016 +0000"
      },
      "message": "Merge \\\\\"Resetting some settings on starting a new demo session\\\\\" into nyc-mr1-dev am: bb1fb395ca\nam: 5c451c08bc\n\nChange-Id: I7e44f3ec7c29d0e1adfd5e4baff1cbfba7368bcc\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": "274ae72b470270fc61955d033165c0c65c2ae5f5",
      "tree": "b953e5ded7f5628438a672d1d13d55c6a313efbf",
      "parents": [
        "cee145ac40b0193ae8c05b85138927ea9311c3a6",
        "80027e9d9324fae6b34f8af3075cf49d7fecc42b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 16 00:38:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 16 00:38:28 2016 +0000"
      },
      "message": "Merge \\\\\\\"More thorough cleansing of expired users\\\\\\\" into nyc-dev am: 4f2b1b455e am: bf1301f542\nam: 80027e9d93\n\nChange-Id: I9f6040fb97c55aa5e01d00d5221a2c678227dab2\n"
    },
    {
      "commit": "80027e9d9324fae6b34f8af3075cf49d7fecc42b",
      "tree": "11ee5d7697c64fc54cd525f7a7e9f6ccd0390e3f",
      "parents": [
        "fbc259e066f154f389258922883a9025b6064122",
        "bf1301f5427d3081982b99408b646761f23b7500"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jun 16 00:28:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 16 00:28:45 2016 +0000"
      },
      "message": "Merge \\\\\"More thorough cleansing of expired users\\\\\" into nyc-dev am: 4f2b1b455e\nam: bf1301f542\n\nChange-Id: Ie4250ddaa0175ff25a85abdbaa59a31b61003752\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": "7d0a6b47740c807c271c05ba8097341e472c1384",
      "tree": "b1f317499bf8cb786cafdc3a3dfd6f99be357fb2",
      "parents": [
        "86ba501e5e3efd8008c755335ad5fad3ba535423",
        "f9dc08e9444f772c61205b969867be2215240445"
      ],
      "author": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Tue Jun 14 19:46:08 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 14 19:46:08 2016 +0000"
      },
      "message": "Merge \\\\\"Added customizable default system theme.\\\\\" into nyc-mr1-dev am: e57e9e5096\nam: f9dc08e944\n\nChange-Id: I17ebe9ec5aeef7c97bee43730dec76a71d456da1\n"
    }
  ],
  "next": "9c7274c796df70906a38fcfb299b6113fb8e6cc9"
}
