)]}'
{
  "log": [
    {
      "commit": "e1612d04de3bef0e970165ea80aebb6fba392240",
      "tree": "76edccb4b3007639e81d9bddb47b8258af6db106",
      "parents": [
        "9a99745428f32e75b7a944d02685206ca7afd01c",
        "6bebfa708db1cbaf295c76f57f75ada2c5b38544"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed May 24 22:09:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 22:09:57 2017 +0000"
      },
      "message": "Merge \"[DO NOT MERGE] Do not start the IpSecService\" into oc-dev am: 72cdc9cdae\nam: 6bebfa708d\n\nChange-Id: I5cb366480533afdb767144d760198d8ddfaa3dbd\n"
    },
    {
      "commit": "6bebfa708db1cbaf295c76f57f75ada2c5b38544",
      "tree": "b71cbd9b8df46e51030359df3e625871b4d456d6",
      "parents": [
        "ab0605ceb537bd10f946a41f44d689dc5e88355d",
        "72cdc9cdae6891cc64ad49920106cd15602ba607"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed May 24 21:56:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 21:56:36 2017 +0000"
      },
      "message": "Merge \"[DO NOT MERGE] Do not start the IpSecService\" into oc-dev\nam: 72cdc9cdae\n\nChange-Id: I7c6360ee53e929e0e03dcd1e1a767d98af94f620\n"
    },
    {
      "commit": "41004ff4113dc9175c993638a47af602af6d8a98",
      "tree": "55d36d737c15550c20daa22b8c1462af3c468432",
      "parents": [
        "c1affe14c20a593df4818e927052be4b6b2de1f6"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue May 23 18:40:29 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue May 23 18:40:29 2017 -0700"
      },
      "message": "[DO NOT MERGE] Do not start the IpSecService\n\nBug: 37688915\nTest: build+boot marlin\nChange-Id: I69635c832ac64104d753735a3e22f0442b0fa910\n"
    },
    {
      "commit": "8c52b3fd499c7d45f097ef43d08c119ec9adfdab",
      "tree": "e8b75cc449b70c18acc08829342e92c919a92269",
      "parents": [
        "e89ca4a279ceecc75b17500c92e3cb4ec23529a6",
        "0bdd7ae68eb044daccfea0395652e3cf16d5b758"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 20:22:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 19 20:22:54 2017 +0000"
      },
      "message": "Merge \"Wait for keyguard draw before stopping boot animation\" into oc-dev am: ff4cc4ebb5\nam: 0bdd7ae68e\n\nChange-Id: I53c900ebe66b99fc1596d57e0f43dc32248f8340\n"
    },
    {
      "commit": "0bdd7ae68eb044daccfea0395652e3cf16d5b758",
      "tree": "1d0948c97b17e735ad94c2de473a6325bae8a650",
      "parents": [
        "75f7c57aef510d4c74d585a188fef1b597998ab7",
        "ff4cc4ebb516a39c6f3252a240a57646c3354484"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 20:14:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 19 20:14:50 2017 +0000"
      },
      "message": "Merge \"Wait for keyguard draw before stopping boot animation\" into oc-dev\nam: ff4cc4ebb5\n\nChange-Id: I1c1437f83387aa4974ee991502018f5b59baf248\n"
    },
    {
      "commit": "4136d2d54b986a09b237aee30974d3c00d308338",
      "tree": "5d533560fd58de55b9a4bd983f0f2c9d3439fb0e",
      "parents": [
        "a239ed1c79a55f5dc650a528a21fb696752c8049"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon May 08 14:51:59 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 09:20:28 2017 -0700"
      },
      "message": "Wait for keyguard draw before stopping boot animation\n\n- Add check for keyguard drawn before stopping boot animation.\n  Otherwise blank screen can happen.\n- Bind to keyguard service when sysui is launched to reduce waiting\n  time later.\n- Increase keyguard timeout to 5 secs if it is not boot completed.\n  Otherwise (\u003d normal screen on), keep the current 1 sec.\n  This timeout can still lead into blank screen so use bigger timeout\n  during boot-up to prevent such case.\n\nbug: 37867510\nTest: many reboots\n\nChange-Id: Ibfdc42d295bb1d3f5b4ea316fe5aca9ab875e4be\n"
    },
    {
      "commit": "b59fe93059647990ec0174f35f3de79f4d0cdd2e",
      "tree": "c8a0197f71d14fbb2332c0d048e079dde2eb66f7",
      "parents": [
        "bb8131b1d7350216b30a64c81df8cf19cae717ab",
        "41564af2481ec8d0804ac9daf68b0d479ab9a02a"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue May 09 17:26:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 09 17:26:01 2017 +0000"
      },
      "message": "Merge \"Remove redundant TextClassificationService\" into oc-dev am: 104590844e\nam: 41564af248\n\nChange-Id: Ib7c77dd40de6c72bd843af680f59972708a4b121\n"
    },
    {
      "commit": "41564af2481ec8d0804ac9daf68b0d479ab9a02a",
      "tree": "45c117f086aaec5c572eb2f2c3c3f78969137aa0",
      "parents": [
        "9cbe611f4a6f5551b107172f23d00714f991b7c9",
        "104590844efd896b9311d3d1050930be4f8e4c7e"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue May 09 16:59:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 09 16:59:38 2017 +0000"
      },
      "message": "Merge \"Remove redundant TextClassificationService\" into oc-dev\nam: 104590844e\n\nChange-Id: Ib2881e478819eaff8910f5a0982e4f048e4bb7c1\n"
    },
    {
      "commit": "3de110bbb7f30090b4eae0e4edbf97c5819c4658",
      "tree": "a15106cfee0bb8f464733a91c798575c18f33290",
      "parents": [
        "7cf5f74f3fda19901d8c572f8c47981eda96e091"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu May 04 16:29:04 2017 +0100"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue May 09 13:51:03 2017 +0100"
      },
      "message": "Remove redundant TextClassificationService\n\nText classification is now being done entirely in the app\u0027s proccess.\nSee android.view.textclassifier.TextClassificationManager\nReverts Ic428d00f291e268211866b3fc6b7acbc3eb04e1e\n\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nFixes: 36852122\nChange-Id: Iffff3ab6e7d3b761576eb6bdcd5032db34b7a1b2\n"
    },
    {
      "commit": "0fa80ba8fd8dfab72a0c410540532200712acb6e",
      "tree": "89181a30e1d8c5db50fd8d88e48276821620f2ca",
      "parents": [
        "abb3f115aa96de393d50cea0915e331fac683074",
        "507d11c9353666a75fee014565f900825a907691"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue May 09 09:48:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 09 09:48:53 2017 +0000"
      },
      "message": "Merge \"Move LockSettingsService into locksettings package.\""
    },
    {
      "commit": "056156f616b882ddaf71042b2a8f42569c8740bc",
      "tree": "a3c0b6b914d2722a6d955f53f88917524d2e1071",
      "parents": [
        "fb19563972e775a3fafb3d781dab156d0b73580d"
      ],
      "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": "Fri May 05 17:09:58 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\nThis contains a cherry-pick / conflict resolution of\ncommit 68f666693a465eb8a66d9252b7b7ac035b9f0b7b after an automerger skip.\n(cherry picked from commit 68f666693a465eb8a66d9252b7b7ac035b9f0b7b)\n\nTest: See above.\nBug: 31008728\nMerged-In: I8f82cdcc2b574778a7e0d0184270f305b69ee17b\nChange-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b\n"
    },
    {
      "commit": "328532ab13768a6303231b670708d750c4d7aa5f",
      "tree": "f80b792421915c135618e2a9b0f4142a7d47a911",
      "parents": [
        "009e77a7bb256def8100f432b608e888ca8dffd4"
      ],
      "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:28:49 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\nChange-Id: I8f82cdcc2b574778a7e0d0184270f305b69ee17b\n"
    },
    {
      "commit": "507d11c9353666a75fee014565f900825a907691",
      "tree": "92d5a00e0f70ad8613e74e8e6cbd6c7780a4b308",
      "parents": [
        "eff8ed36b4e2913388a442c70e78bd622143eeab"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Wed May 03 17:19:01 2017 +0100"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Thu May 04 14:46:28 2017 +0100"
      },
      "message": "Move LockSettingsService into locksettings package.\n\nThis service now has a large number of support classes so move them into\ntheir own package to keep things tidy and easier to refactor.\n\nBug: 37090873\nTest: runtest frameworks-services -c com.android.server.locksettings.LockSettingsServiceTests\nTest: runtest frameworks-services -c com.android.server.locksettings.LockSettingsShellCommandTest\nTest: runtest frameworks-services -c com.android.server.locksettings.SyntheticPasswordTests\nChange-Id: Ic3cd00e6565749defd74498a3491c3d9b914ad90\n"
    },
    {
      "commit": "c8dbc86216abf18c7e11067618b04b977bcfffff",
      "tree": "622d2d94f973bcb5dec52339bc59b4383c445648",
      "parents": [
        "3eccc9b7fe47cb1bee30edc141d200be95384bb5",
        "58b0a7d3e988a84811603d50dda4809e0fe5ad65"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Thu Apr 20 13:24:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 20 13:24:59 2017 +0000"
      },
      "message": "Merge \"Move CompanionDeviceManagerService to a place of its own\" into oc-dev am: 992541027b\nam: 58b0a7d3e9\n\nChange-Id: Ief8d667257fec6c14f9626b69431545cb47b5575\n"
    },
    {
      "commit": "5d7027db6e0b82c0ffcb101c3a17997f6aefafc5",
      "tree": "9f25ddb6643b1ffbfc325c818351a3b01fa6d7d9",
      "parents": [
        "a112757e1f53a0f99cacd94d886dca05bbc86519"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Wed Apr 12 11:46:27 2017 +0100"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Wed Apr 19 15:17:34 2017 +0100"
      },
      "message": "Add implementation alternatives for OemLockManager.\n\nThe OEM lock can be implemented with the persistent data block or the\nOemLock HAL.\n\nTest: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest\nBug: 34766843\nChange-Id: I16b31785d9af58212a050a299ef024be3139f0c6\n"
    },
    {
      "commit": "0d3dd12fa0ba38ffedbb18b55886306acf98988e",
      "tree": "49b414539bd72af591896908b154e5e9ec203762",
      "parents": [
        "5b06dbd12bcd28fbc051c88c3ea7f31bcf20d1f8"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Apr 18 10:56:37 2017 -0700"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Apr 18 12:00:11 2017 -0700"
      },
      "message": "Move CompanionDeviceManagerService to a place of its own\n\nFixes: 37473452\nTest: Ensure companion devi9ce functionality still works\nChange-Id: I89624217373b3e77296c71f9429387d99d15e236\n"
    },
    {
      "commit": "1b674659182e5d012f86d75cc6cb0016546a4af9",
      "tree": "84fdab456dea35762db0c7320105cd20e036cbe2",
      "parents": [
        "4df23412c6aa2b2239bda86ff5c4e9f3fd355b7d",
        "d4be031c76a0f451b8f47046d0962178f00c5773"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 14 18:01:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 14 18:01:24 2017 +0000"
      },
      "message": "Merge \"Service for OEM lock management.\" into oc-dev am: e52a1bfede\nam: d4be031c76\n\nChange-Id: I9ab76546a140062940c128abdc2b8b4072d3b0f2\n"
    },
    {
      "commit": "e52a1bfede79f87a75c498730860796ba74dea83",
      "tree": "3360a7aa28e4a192d104ab4db7052d3428c3a42e",
      "parents": [
        "3de36a3cc145ed881e53c25d67338d49bfc1d01a",
        "3b8b46f3a46ccf35a6bb6a828af0f2d011cc9abe"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 14 11:31:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 14 11:31:06 2017 +0000"
      },
      "message": "Merge \"Service for OEM lock management.\" into oc-dev"
    },
    {
      "commit": "cb98d9d6f3d1e01e36b27ad4006059256b6e5ead",
      "tree": "2055feddd558f21a83d777f36710fe1bfa9e2e7b",
      "parents": [
        "7ee8c9a485902fa57e7058f93727e9cd02198d34",
        "bbef731c2df8c8fbbe6483741ea9955edcf2c76e"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 12 22:22:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 12 22:22:39 2017 +0000"
      },
      "message": "Merge \"Add autofill feature API\" into oc-dev am: a402d6dd2f\nam: bbef731c2d\n\nChange-Id: I3d1429fe4d101072200aae522a2bdf00596273de\n"
    },
    {
      "commit": "a402d6dd2f15e179d08cb0d5ffd668916e9a8bfb",
      "tree": "74a98bfa4668bc7b2669484337e5e391e6b9ec2a",
      "parents": [
        "ad6ab44e15a86c1130eef3b638343d47b5ada0e1",
        "43574b03e5604e346f088a1b0da2ab37fb115226"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 21:17:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 21:17:33 2017 +0000"
      },
      "message": "Merge \"Add autofill feature API\" into oc-dev"
    },
    {
      "commit": "43574b03e5604e346f088a1b0da2ab37fb115226",
      "tree": "b19b77a261bc53481edb5dbf934f1b15df0a5211",
      "parents": [
        "19ffd1d0a597385075cef7a436364e8b7aa083f4"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 12 09:25:20 2017 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 12 09:53:38 2017 -0700"
      },
      "message": "Add autofill feature API\n\nWe now have a software feature for autofill which can be used\nby partners to disable it on low-end devices or form factors\nfor which autofill doesn\u0027t make sense.\n\nbug:35956220\n\nTest: manual (requires a custom build)\n\nChange-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722\n"
    },
    {
      "commit": "5fccceb2c5fa8f1d29e96f39a86a968396e71907",
      "tree": "56673bba22e8ccd1800e87fe377c303abd0f51b2",
      "parents": [
        "77838724411edd6ed3d57b8a36c408af5f9df44f",
        "347192e0da1f39347e7ab7b58b002f166b4afaa7"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Apr 12 14:58:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 14:58:41 2017 +0000"
      },
      "message": "Merge \"Initial implementation of Java-based broadcast radio service.\""
    },
    {
      "commit": "4e4c99f9a56f8ff1282708e0ea38e41315429fac",
      "tree": "fae4c45c1109ea7bd4243dcd766e1d7939b16536",
      "parents": [
        "e67e60fad496fd0f0c4e11101679ea25f4020258",
        "069f46ca34162e531229aba04b0099ea1b9df6b1"
      ],
      "author": {
        "name": "Julius D\u0027souza",
        "email": "jdsouza@google.com",
        "time": "Wed Apr 12 03:29:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 03:29:25 2017 +0000"
      },
      "message": "Merge \"Add WearDisplayService to the system server; add a SET_DISPLAY_OFFSET permission.\""
    },
    {
      "commit": "307bec857261e0e3ee9de5af9f30ab289e35ff7b",
      "tree": "5f76c353aa75af9435ca898940882296fd20794b",
      "parents": [
        "1654143680f53f857747e3b26bce8c414921b8cd",
        "558acf96dbffc0f13b414b1a5c5de191f6ffe27a"
      ],
      "author": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Wed Apr 12 00:25:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 00:25:37 2017 +0000"
      },
      "message": "Merge \"TIF: add TvInputManager methods to notify apps\" into oc-dev"
    },
    {
      "commit": "558acf96dbffc0f13b414b1a5c5de191f6ffe27a",
      "tree": "a8037ccffa9c39c5cbce265c6d1b4fd93c2c3281",
      "parents": [
        "810e018e2459cf81f80480fdd61e7355e2fd250e"
      ],
      "author": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Wed Apr 05 17:31:01 2017 -0700"
      },
      "committer": {
        "name": "Conrad Chen",
        "email": "conradchen@google.com",
        "time": "Tue Apr 11 12:03:04 2017 -0700"
      },
      "message": "TIF: add TvInputManager methods to notify apps\n\nAdds TvInputManager methods to notify apps with protected broadcasts\nfor:\n1. Disabling browsable state of preview and watch next programs.\n2. Adding preview programs to watch next programs.\n\nTest: build and verify manually to check if notifications are\n      broadcasted.\nBug: 35881266\n\nChange-Id: I20fd5b63f42b2c74277315bbbd251b71c649e5c1\n"
    },
    {
      "commit": "347192e0da1f39347e7ab7b58b002f166b4afaa7",
      "tree": "3718031c14580fffa4e98da8f058175c33026331",
      "parents": [
        "9ecd02424527e31ace7dd2beb88433595985f7f1"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Apr 04 11:13:44 2017 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Mon Apr 10 15:20:50 2017 -0700"
      },
      "message": "Initial implementation of Java-based broadcast radio service.\n\nIt provides only limited amount of service, without actual interaction\nwith HAL.\n\nAdded config.enable_java_radio switch to use Java-based service instead\nof native. Added FEATURE_RADIO to PackageManager.\n\nBug: b/36863239\nTest: Instrumentation, manual (Kitchen Sink)\n\nChange-Id: I01139d326893c0a437c60cc35d6e5b005da35231\n"
    },
    {
      "commit": "2d314e15c9f0b2efc817b6111d808248a546f48c",
      "tree": "504b3b7c264fff2fcc90bf1710fbf2ccc81be686",
      "parents": [
        "43fed9afe41ee5cf7bc208f37f373d7061b5be19"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Tue Apr 04 16:32:15 2017 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Apr 06 21:19:25 2017 +0000"
      },
      "message": "Set android.display thread to top-app cpusets and schedtune group\n\nandroid.display being in the foreground cpuset group is an issue. As\nseen on M/S, during heavily CPU load it is not given core 3 even though\nit might be free and causes jank. This patch adds the thread to the\ntop-app group to ensure it is placed on all cores during scheduling\ndecisions.\n\nDoing this required a couple of changes:\n- new API to set per-thread cpusets\n- changes to DisplayManagerService to set the thread to top-app group\n- changes to SystemServer to set the policy toward the end, as doing it\n  during start of the DisplayManagerService was in issue (issue being\n  SystemServer calls setSystemProcess.. -\u003e setProcessGroup which overrides\n  the group settings for threads in the system server process, including\n  android.display)\n\nBug: 36631902\nTest: Boot and make sure android.display thread is in the top-app group\n\nChange-Id: Icc394ea0ffcf159d11728ad38de114234a29d20f\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n(cherry picked from commit 474d311cb098e86c078c3f615e1161e2854f1847)\n"
    },
    {
      "commit": "da56341dc6d5708c1f3c02f7aff705dcd77c36cc",
      "tree": "01598692be5ec66ffd23ffee1f95dbbf0f0fa734",
      "parents": [
        "f9a1528e0da4893996dcf079ba73d84e712bb28e",
        "474d311cb098e86c078c3f615e1161e2854f1847"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 06 20:59:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 06 21:00:02 2017 +0000"
      },
      "message": "Merge \"Set android.display thread to top-app cpusets and schedtune group\""
    },
    {
      "commit": "474d311cb098e86c078c3f615e1161e2854f1847",
      "tree": "53c53a24e076a245425be4fcb17d8f9e8dbbdcee",
      "parents": [
        "55ef06b2f481731c98891138d1d18f91c281db6d"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Tue Apr 04 16:32:15 2017 -0700"
      },
      "committer": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Wed Apr 05 20:25:43 2017 -0700"
      },
      "message": "Set android.display thread to top-app cpusets and schedtune group\n\nandroid.display being in the foreground cpuset group is an issue. As\nseen on M/S, during heavily CPU load it is not given core 3 even though\nit might be free and causes jank. This patch adds the thread to the\ntop-app group to ensure it is placed on all cores during scheduling\ndecisions.\n\nDoing this required a couple of changes:\n- new API to set per-thread cpusets\n- changes to DisplayManagerService to set the thread to top-app group\n- changes to SystemServer to set the policy toward the end, as doing it\n  during start of the DisplayManagerService was in issue (issue being\n  SystemServer calls setSystemProcess.. -\u003e setProcessGroup which overrides\n  the group settings for threads in the system server process, including\n  android.display)\n\nBug: 36631902\nTest: Boot and make sure android.display thread is in the top-app group\n\nChange-Id: Icc394ea0ffcf159d11728ad38de114234a29d20f\nSigned-off-by: Joel Fernandes \u003cjoelaf@google.com\u003e\n"
    },
    {
      "commit": "8f032dd16b45f30e1bc2ebd2b63f6d3fa0bc7382",
      "tree": "48ad38acb26391de3dd41dea8954cc18c7f57d61",
      "parents": [
        "4fe5214231bd78b1b5b40ba5194567b130ea4df4"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 10:15:04 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 19:14:49 2017 -0700"
      },
      "message": "Fix Log Traces for IpSecService\n\nBug: 36920223\nTest: boot and see full log\nChange-Id: I1ac53f172094082c53b53a950058c862d257b7e5\n(cherry picked from commit d3e3f1593a523d488c76be2494d94a399e52dc9d)\n(cherry picked from commit a8a74e25ddb27a350c8f643590639b9131fae2e1)\n"
    },
    {
      "commit": "4fe5214231bd78b1b5b40ba5194567b130ea4df4",
      "tree": "3d52ade4567f164240213178768e033533381d29",
      "parents": [
        "59ae42ddb24589a51a455f95b96fcc65de930384"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Apr 04 22:00:01 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 19:14:34 2017 -0700"
      },
      "message": "SystemServer: fix StartIpSecService trace and log\n\nBug: 36920223\nTest: boot and see log\nChange-Id: I9b88564ac7eef6998af465b977fa66c7d0787cf2\n(cherry picked from commit 90f4c0907e8f746f0f840e76057f84ec20adf46d)\n(cherry picked from commit 75ed75c3d7af90f1b3275a126bdce847adcd7b35)\n"
    },
    {
      "commit": "069f46ca34162e531229aba04b0099ea1b9df6b1",
      "tree": "06e09399b34d0b3e15ffe3954fa85b3bcae50e6e",
      "parents": [
        "1c22609438ea352b071a55e2f1507c5962221473"
      ],
      "author": {
        "name": "Julius D\u0027souza",
        "email": "jdsouza@google.com",
        "time": "Wed Mar 22 13:27:00 2017 -0700"
      },
      "committer": {
        "name": "Julius D\u0027souza",
        "email": "jdsouza@google.com",
        "time": "Wed Apr 05 17:39:17 2017 -0700"
      },
      "message": "Add WearDisplayService to the system server;\nadd a SET_DISPLAY_OFFSET permission.\n\nBug: 36515029\nTest: No build failure; SystemServer loads as usual.\nChange-Id: I253766553a507e2ada7d631501d8d32d863a823f\n"
    },
    {
      "commit": "a8a74e25ddb27a350c8f643590639b9131fae2e1",
      "tree": "5a60f06a4974cb508fbf9a3fee3937242d59d9f1",
      "parents": [
        "75ed75c3d7af90f1b3275a126bdce847adcd7b35"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 10:15:04 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 11:21:25 2017 -0700"
      },
      "message": "Fix Log Traces for IpSecService\n\nBug: 36920223\nTest: boot and see full log\nChange-Id: I1ac53f172094082c53b53a950058c862d257b7e5\n(cherry picked from commit d3e3f1593a523d488c76be2494d94a399e52dc9d)\n"
    },
    {
      "commit": "75ed75c3d7af90f1b3275a126bdce847adcd7b35",
      "tree": "feae487a4c949c67f822aa437e5cc3e7551aec47",
      "parents": [
        "f1dad26972dceac86edfc42bc87753b7ad8ad54f"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Apr 04 22:00:01 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 05 11:21:25 2017 -0700"
      },
      "message": "SystemServer: fix StartIpSecService trace and log\n\nBug: 36920223\nTest: boot and see log\nChange-Id: I9b88564ac7eef6998af465b977fa66c7d0787cf2\n(cherry picked from commit 90f4c0907e8f746f0f840e76057f84ec20adf46d)\n"
    },
    {
      "commit": "cbb58ecc866f90b2fe829b808a65652376006c24",
      "tree": "ec541f5e7c3b80d33d649e2e655f29acb7a21964",
      "parents": [
        "c01dd791c331815cfa496548cf535147dedfaa8a"
      ],
      "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 Apr 05 10:23: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: 30984788\nTest: b/34812052, b/34811227\nChange-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92\n(cherry picked from commit 28084d89ec136b56f5012be33a0dea147962f9f6)\n"
    },
    {
      "commit": "086a1961bf6835c738feef6b529c62ed2755dd8a",
      "tree": "549e1d411766052d691dc9195901a65739cb596f",
      "parents": [
        "cae17520fbdbc6e07fe5c8a5eed3a79643bf5647"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Apr 04 22:00:01 2017 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Apr 04 22:00:01 2017 -0700"
      },
      "message": "SystemServer: fix StartIpSecService trace and log\n\nBug: 36920223\nTest: boot and see log\nChange-Id: I9b88564ac7eef6998af465b977fa66c7d0787cf2\n"
    },
    {
      "commit": "de5fa6b3d844603f2c16a335a4d5372b366b7937",
      "tree": "de06fd4bf9d95f98f6ea9effb802e3b1fe03689e",
      "parents": [
        "ce7558003b5012f837e72715d0f496d959a74633",
        "2ac969827115c1b8bc86d9017eb1c7c1d5421b10"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Apr 04 16:56:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 04 16:56:29 2017 +0000"
      },
      "message": "Merge \"Reorganize font enumeration API.\" into oc-dev\nam: 2ac9698271\n\nChange-Id: Ie9bdcdb8d5997db421b783475e1058027cc4bb6f\n"
    },
    {
      "commit": "2ac969827115c1b8bc86d9017eb1c7c1d5421b10",
      "tree": "bf0fdccaef8e5bd12406c70e8194007a94f32bab",
      "parents": [
        "adc160553092883c07ca34490f3f77eb662af562",
        "ff55115121a7a2753ba2265cb3201a3a14c0874d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 16:49:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 16:49:56 2017 +0000"
      },
      "message": "Merge \"Reorganize font enumeration API.\" into oc-dev"
    },
    {
      "commit": "b188c93a452b9d98737143859c3aed939e822bfa",
      "tree": "7344073a11e72d645fd797c72e0ea9e64e3d5392",
      "parents": [
        "bcbf10ffd343edb34ffcb70056c4f19b79bf84c0",
        "a52fc49845d1103dea2380f34b96e2a22ea1801e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Apr 04 03:33:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 04 03:33:42 2017 +0000"
      },
      "message": "Merge \"Themes: Apply themes to system_server safely\" into oc-dev\nam: a52fc49845\n\nChange-Id: I85c390f99600d4f6cf75c9b3a4b1c39e7b874335\n"
    },
    {
      "commit": "ff55115121a7a2753ba2265cb3201a3a14c0874d",
      "tree": "151c60917705792e4afa5bfc5b7820228a72cc50",
      "parents": [
        "be436bdefe1947c01eb4b42bf1b864b1e86b7fb9"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 28 16:16:41 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 03 13:55:07 2017 -0700"
      },
      "message": "Reorganize font enumeration API.\n\nThis CL cleans up APIs around font variation settings.\n- Remove FontConfig and FontManager public API.\n- Remove FontManagerService from system service.\n- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.\n  This is used by Typeface.Builder public API to create new Typeface.\n- Introduce and expose FontVariationAxis utility functions from/to string.\n- Throws if the invalid font variation settings is passed.\n\nTest: android.text.cts.FontVariationAxisTest passes\nTest: android.graphics.cts.TypefaceTest passes\nTest: android.graphics.cts.PaintTest passes\nChange-Id: I9ccafe7a53935960566243e2856e166878ca59ae\n"
    },
    {
      "commit": "3b8b46f3a46ccf35a6bb6a828af0f2d011cc9abe",
      "tree": "7b30ae20e755619f16d0d54f1aae4bd0cd9cf2c6",
      "parents": [
        "ef3a28cb92039c198ed8e78a69d00bd9c8322dab"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Feb 13 18:12:15 2017 +0000"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Apr 03 19:10:59 2017 +0100"
      },
      "message": "Service for OEM lock management.\n\nThe new service separates OEM lock management from the implementation.\nCurrently, a user restriction (DISALLOW_OEM_UNLOCK) and the persistent\ndata block have been used to implement OEM lock management. In future,\nother implemention will be used e.g. a secure element.\n\nThe new API also allows for a signature to be passed when changing\nwhether the device is allowed to be OEM unlocked by the carrier which\ncan be used for cryptographic protection of the flag.\n\nBug: 34766843\nTest: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest\nTest: cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest\nChange-Id: I01660d7605d297f273d43436ca03d64ff611b6cf\n"
    },
    {
      "commit": "560c9ec724bdebc31a35a934a703cd802e0926f4",
      "tree": "0e56b2a11ee369939f5bc89f384311680b10dd87",
      "parents": [
        "fb0ad3705dd83c172cd6915a3e2d0a5df3ef1870",
        "e45e328821badf42dc98c0b37326c73400eef651"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 17:05:10 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 17:05:10 2017 -0700"
      },
      "message": "Merge commit \u0027e45e328821ba\u0027 into oc-dev-plus-aosp\n\nChange-Id: I30ad9038be8faee57e5d6b1391d9e70a966a9a77\n"
    },
    {
      "commit": "e45e328821badf42dc98c0b37326c73400eef651",
      "tree": "5c1e95b2cca470f8223d8dadaf80002e43eeed81",
      "parents": [
        "dfc1264eff5d268fde41c44db7081942ba44ebb7",
        "4fdc7d5ddd05658deec383790f63477df355f3fb"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 23:56:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 29 23:56:06 2017 +0000"
      },
      "message": "Merge commit \u0027ce073d70bedc\u0027 into stage-aosp-master\nam: 4fdc7d5ddd\n\nChange-Id: I4bde8eedc986900096fc8429da2b195f907605c9\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": "a82b62678a0e1eaba50ec5adce93862683dac065",
      "tree": "c924074e7930977fbd901bbe55e0fa3b03b3c908",
      "parents": [
        "881a623e3522e3e4f0905b606ca5c77cf899b21c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 21 16:56:17 2017 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 28 17:31:00 2017 -0700"
      },
      "message": "Themes: Apply themes to system_server safely\n\nCreates a new UI Context for UI based operations.\nThis UI Context is wired up the same way a normal app\nContext would be, and is subject to change when overlays\nare enabled/disabled.\n\nFor this reason, only UI should be using this new Context.\nAll other operations should be using the original system Context\nso that changing themes don\u0027t impact the regular operations of\nsystem_server.\n\nAlso added some sanity checks at key places where we show UI\n(ShutdownThread, BaseErrorDialog).\n\nBug: 36059431\nTest: $ adb shell am crash com.android.settings\nTest: Observe crash and power off dialogs are blue with PixelTheme\nChange-Id: I87227ee2e0be1e72dcde8f482b37725cb687260b\n"
    },
    {
      "commit": "5e01870015c43998398f3679fe04afc9923c1464",
      "tree": "fe274ff94f20df185a867d02a8a5c8d670ca0666",
      "parents": [
        "81ff6ee47a9373430e4c8f30bbe5129ca48643bd",
        "a38fbf63fd2a29884637a59387643c801ed4f663"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 18:43:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 27 18:43:37 2017 +0000"
      },
      "message": "Merge \"Unbind from service on app killed and dedup association requests\""
    },
    {
      "commit": "a38fbf63fd2a29884637a59387643c801ed4f663",
      "tree": "17a41c27bc5b8d2e3dd296bf49df2911f65285a0",
      "parents": [
        "cf0341ec5db251ef3030524c7ca8e51cef45cc40"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Mar 14 10:26:10 2017 -0700"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Fri Mar 24 14:03:17 2017 -0700"
      },
      "message": "Unbind from service on app killed and dedup association requests\n\n1. Listen to calling package binder death stopping the scanning on that.\n2. Don\u0027t restart scanning when a request with the same values was made.\n\nBug: 30932767\nTest: 1.:\n  - Using a test app start scanning and kill the app.\n  - In debug mode ensure that DeviceDiscoveryService#stopScan gets triggered\n2.:\n  - Start scanning and rotate the device while device chooser is visible\n  - Ensure no visible loss of state is happening\nChange-Id: If126a2c963da90172a956fbd88e6b3dcd7ac8b01\n"
    },
    {
      "commit": "b202b5c35c2224ecb24cdef4fc24d1dcb9ae18ac",
      "tree": "1cad009632486c33aafc0e58fb3dc08871cbf3bf",
      "parents": [
        "e219aaae85bc8749b787d27fa9fd741035f7f17f",
        "139354905d30dfd39de299247adbf5b7df341781"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 23 21:36:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 23 21:37:00 2017 +0000"
      },
      "message": "Merge \"Forward package removed broadcast to KeyChainService\""
    },
    {
      "commit": "139354905d30dfd39de299247adbf5b7df341781",
      "tree": "7a59e39b758185419636d0d27c4b202cf8a40337",
      "parents": [
        "229ce701279110080dd9e4241637cc72347eb5d8"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Mar 23 15:28:37 2017 +0000"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Mar 23 15:36:16 2017 +0000"
      },
      "message": "Forward package removed broadcast to KeyChainService\n\nTest: Cts Verifier \u003e Security \u003e KeyChain Test\nTest: Manually uninstall and reinstalling Chrome\nBug: 35968281\nChange-Id: I1692f7042f081d1a743e0e64ea24fe1dbe63192d\n"
    },
    {
      "commit": "bc7875144f710b42baed78e27e80b79b1fd3aa72",
      "tree": "9bb7241a95228acd8bad14b9e7d5bc7871c9ec49",
      "parents": [
        "1e81b7f16604068b5695bc6ff90c0e6a9b0ba1c3",
        "0276998354b36c61446ae0aa4fd3045372e4bf18"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Mar 23 14:35:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 23 14:35:30 2017 +0000"
      },
      "message": "Merge \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\" am: 302b7a7075 am: 2f5a9febf4\nam: 0276998354\n\nChange-Id: I31eb2810b3cbc8a9ce5bf7c23ab821d68c8edbcc\n"
    },
    {
      "commit": "0276998354b36c61446ae0aa4fd3045372e4bf18",
      "tree": "2dba873ac0ed2ba7748b2b20c8f67d904272350f",
      "parents": [
        "88e9c86822ef26a8dcee0a279f2a2b659d34501c",
        "2f5a9febf4f84a268c8e77e45925f650653c46f6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Mar 23 14:29:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 23 14:29:17 2017 +0000"
      },
      "message": "Merge \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\" am: 302b7a7075\nam: 2f5a9febf4\n\nChange-Id: I43c05ca3f139fce4e08c7c40cc3823821341d176\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": "361915c727fc2ad137bfeed7ff74b3eadde96597",
      "tree": "55598c5be642e8c843a9aa006e7f976d3f0aa386",
      "parents": [
        "c0e002b43071752dcaf3bd464dc3f1a09cd81b80"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 21 20:33:59 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 22 09:41:34 2017 -0400"
      },
      "message": "Move global actions to sysui and add plugin interface\n\n - Move default global actions ui to sysui\n - Add fallback legacy interface in case sysui breaks\n - Switch to fallback if sysui dies or isn\u0027t responding\n\nTest: Long-press power\nChange-Id: I943522611de5dbbee61e66c67cf3a56379091e97\n"
    },
    {
      "commit": "9f29617d589b8daccda1d3b37de97662b9147cb1",
      "tree": "678c776caca6abf98832db5de3bc30dac1af0147",
      "parents": [
        "8c97b51abd1ea867289c8439a98b855dba983929",
        "7c3eef2f3d085bc14f736240896523217a448408"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Mar 21 23:58:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 23:58:35 2017 +0000"
      },
      "message": "Merge \"Add system feature for Companion Device Manager\""
    },
    {
      "commit": "9a74e5daf074e77c4085322a8eadef4101b790e1",
      "tree": "4a660c32c4d50027bf0ea7e593d1b6c23700c429",
      "parents": [
        "7ba04df38cb5a797d81a2776ee227d126b7dd157"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 13:46:35 2017 -0700"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 13:46:35 2017 -0700"
      },
      "message": "resolve merge conflicts of 94a93087c68c to master\n\nChange-Id: Ib2e97ef56b78e4492e1f8392ee294cb293941320\n"
    },
    {
      "commit": "94a93087c68cbc66ff3df966f3b8be284b814032",
      "tree": "1e151067d1d90c5ea4c3796ffaec7794f3e8e4f3",
      "parents": [
        "9034b2717c8890477fb19691a9c7902eee865789",
        "9a80c1799cc38a8444dc9c096ed02bf8356c89d7"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 20:28:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 20:28:22 2017 +0000"
      },
      "message": "Remove the now-empty WearBluetoothService from SystemServer am: 3bcc688bce\nam: 9a80c1799c\n\nChange-Id: I5d6bff145f0f77b75184dd9e794130ff70509b58\n"
    },
    {
      "commit": "9a80c1799cc38a8444dc9c096ed02bf8356c89d7",
      "tree": "a3ba6562540676afe59fc9a456dbe6a8c6d30d71",
      "parents": [
        "a01e2212c849a507e84d5cad3e8f0267773d7295",
        "3bcc688bce7d169cf46a75a5efe47503619806e4"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Mar 21 20:18:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 21 20:18:59 2017 +0000"
      },
      "message": "Remove the now-empty WearBluetoothService from SystemServer\nam: 3bcc688bce\n\nChange-Id: Id95770faa65878282d9b49c01fad258b8eb57c06\n"
    },
    {
      "commit": "604c12c06dc4ffccf26945753916257e2f033f0e",
      "tree": "76ee753583bd57ac44ff8732eb3f01eedb96899a",
      "parents": [
        "9367f750712dee2757f0d9fc2cb9a34456f7fa2a"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 10:57:44 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Mar 20 11:30:19 2017 -0700"
      },
      "message": "StartHidlServices wait for StartSensorService.\n\nOtherwise, StartHidlServices waits for more than a second\nwhile holding a lock, delaying window manager.\n\nTest: boots\nTest: SystemServerTiming_StartWindowManagerService does not regress\nLogcat shows:\nSystemServerTimingAsync: StartSensorService took to complete: 55ms\nSystemServerTiming: StartWindowManagerService took to complete: 81ms\nSystemServerTiming: StartHidlServices took to complete: 1ms\n\nTest: lshal shows android.frameworks.sensorservice@1.0::ISensorManager\n\nBug: 36389997\nChange-Id: Iab5cf0ad7059cf9736cc7db0567dff51cc427b58\n"
    },
    {
      "commit": "3bcc688bce7d169cf46a75a5efe47503619806e4",
      "tree": "f3c962a326597e9a7259fa9e7173dfe33d04c97d",
      "parents": [
        "4aff3d53efc552aa30e25bf366bcb6e956d8b0e3"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Fri Mar 17 14:19:29 2017 -0700"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Fri Mar 17 14:19:29 2017 -0700"
      },
      "message": "Remove the now-empty WearBluetoothService from SystemServer\n\nChange-Id: I7ddf213fa90acf84a50a53e7666311132b6b3922\n"
    },
    {
      "commit": "d8f3fe9421a089e4b0a27b0c102d572fc3f8a17b",
      "tree": "5a3c17b497980c3a9a6ae15462150327d9907689",
      "parents": [
        "08153e655afbc5ba010f04077fa282e23abcd5fd",
        "26b421f8e0411f044e13bbdad4b3ab1dab3c17c8"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 17 00:58:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 00:58:14 2017 +0000"
      },
      "message": "Merge \"Start android.frameworks.sensorservice@1.0 in system_server\""
    },
    {
      "commit": "26b421f8e0411f044e13bbdad4b3ab1dab3c17c8",
      "tree": "4c07dfcdc2b14a70932d089e5a304dbac3eb0682",
      "parents": [
        "78ccde1c9d91c7833824970ec73c49214f072a7d"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Mar 10 13:41:11 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Mar 16 12:15:05 2017 -0700"
      },
      "message": "Start android.frameworks.sensorservice@1.0 in system_server\n\nBug: 35219747\nTest: marlin boots\nTest: lshal -ipm | grep android.frameworks.sensorservice@1.0\n\nChange-Id: I67dfb217d1b568e140cefce0bdba3f8f4dbe679c\n"
    },
    {
      "commit": "91d40f1baa2eeed2aa68d2492e20650d5e71dab5",
      "tree": "02950220d998f3255b0bcdfecf83367886fb0b55",
      "parents": [
        "65d1c294b10de101ce29f0bbba2789d63e23dda8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 15 18:38:57 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 15 18:55:25 2017 -0700"
      },
      "message": "Set pm.BackgroundDexOptService as the source of true\n\nThe real dexopt maintainance job is\ncom.android.server.pm.BackgroundDexOptService, and not\ncom.android.server.BackgroundDexOptJobService\n\nPartial revert of commit 096d304ae3d85c1bfcda1a1d9cd4eb13d0815500.\n\nTest: manual inspection\nBug: 36140426\nChange-Id: I983ac91117f107282095fa7eefdbce08e0dcfce3\n"
    },
    {
      "commit": "7c3eef2f3d085bc14f736240896523217a448408",
      "tree": "e9b9b5f2cc58d0a8238edaaadeebd85b6d24ecd9",
      "parents": [
        "40cd0544bc8668a6b1037463847d9245f4b599c5"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Fri Mar 10 14:25:58 2017 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Mar 14 19:50:49 2017 -0700"
      },
      "message": "Add system feature for Companion Device Manager\n\nBug: 30932767\nTest: Add just the feature gating first, ensure Context#getSystemSetrvice now\nreturns null.\nAdd feature in the configuration files, ensure companion device feature works again.\nChange-Id: I4ad2d52f7877eae0e951f43ddbb23881d5de8d8b\n"
    },
    {
      "commit": "2f8fb1f62f2840701e3e16497eb8191f38b72e0b",
      "tree": "a61e4c573e1e1e3a171704fdbeb2b979b9dabdb0",
      "parents": [
        "67916b86e9727f5acd27bf956386f270dc4e69da"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 13 00:21:04 2017 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 13 21:57:10 2017 -0700"
      },
      "message": "Fix a few auto fill ussues\n\n1. Ensure clicking on a focused view brings up autofill if needed\n\n2. Notify the autofill manager in a couple of cases we missed\n\n3. Renamed the AutofillManager app facing APIs to better reflect what\n    they do and added a API for the app to cancel the autofill interaction\n\n4. Fix view structure dispatch where the ordering of children for autofill\n    was mixed with ordering of direct view children - the autofill children\n    may be indirect as views can be marked not important for autofill\n\n5. Show scrollbars only if there are more fill options than want is shown\n\n6. Show only three fill options and the rest can be accessed with a scroll\n\n7. Remove the list divider to allow fill items to control all fill window content\n\n8. Renamed the autofill manager internal service classes to xxAutofillxx\n\n9. Fixed a comment that was not addressed in a previous CL\n\n10. Showing max three fill options - rest needs a scroll\n\n11. Make sure fill UI shown when filter with no matches is changed\n      to filter with some matches\n\n12. Make sure the fill window has a shadow\n\nTest: Autofill CTS tests pass and manual\n\nbug:36038929\nbug:36040101\nbug:36149166\nbug:36034681\nbug:36126001\nbug:36035654\n\nChange-Id: Ic8726146fc3c0a19d3e536becdd63fb65622136e\n"
    },
    {
      "commit": "af759c52ce01fe6b5144957e38da956af01a217b",
      "tree": "1964d3bfde2dc051ee569f25f0591f67f2cb5d1a",
      "parents": [
        "9ac082f8bb0c944513af326bda311cea3d153d56"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Feb 15 09:35:38 2017 -0500"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Mar 01 10:17:15 2017 -0500"
      },
      "message": "Channels for Frameworks notifications\n\nAdapts all notifications used by system services to use channels.\nChannels are initialized by SystemServer after the NotificationService\nhas started.\n\nTest: runtest systemui-notification\nChange-Id: I25c45293b786adb57787aeab4c2613c9d7c89dab\n"
    },
    {
      "commit": "2e0d0f311100d8e0bb40d7d60b8498237f011f0c",
      "tree": "00377afd35d28d384d4ad735b250051481debe31",
      "parents": [
        "8716ef94194ad715ef596de4a38abb5b2a5c8186"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 23 14:01:38 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nChange-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\n"
    },
    {
      "commit": "df0824ad4cd31a3e96653fe82ce969b08cd00be2",
      "tree": "12d8acb544a545a2bf061640de58d4ebfb6f3bad",
      "parents": [
        "6dd3529aa6ba6feaaaedfec3327846cdac0854e8",
        "95459806920dec34abb3214ab6e1a9b9213a2a61"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:36:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 07:36:16 2017 +0000"
      },
      "message": "Merge \"Revert \"OMS: integrate OverlayManagerService into framework\"\""
    },
    {
      "commit": "95459806920dec34abb3214ab6e1a9b9213a2a61",
      "tree": "1e4d0a136606788c633f5b823daca0caa4334499",
      "parents": [
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Feb 23 07:35:39 2017 +0000"
      },
      "message": "Revert \"OMS: integrate OverlayManagerService into framework\"\n\nBug: 31052947\nBug: 35697944\n\nThis reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013.\n\nChange-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3\n"
    },
    {
      "commit": "0f09817859b19054aee3feded1dbf9757a5ec131",
      "tree": "c58d8246d55ef36eedcf1be7c75c7fb039c53782",
      "parents": [
        "a49777092042b1b36712d174bbb469f9fb396e26",
        "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 03:58:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 03:59:01 2017 +0000"
      },
      "message": "Merge \"OMS: integrate OverlayManagerService into framework\""
    },
    {
      "commit": "a49777092042b1b36712d174bbb469f9fb396e26",
      "tree": "135af8fd490daf8a6cd7caca9f8aec14363e0e27",
      "parents": [
        "26a449e62a337eb3c94be42e216734d76a2d517e",
        "a91e5368f06d1f1fc8337d8c71959e924e6d8fe6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 03:43:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 03:44:00 2017 +0000"
      },
      "message": "Merge \"resolve merge conflicts of f17c1d488840 to master\""
    },
    {
      "commit": "26a449e62a337eb3c94be42e216734d76a2d517e",
      "tree": "ea066606f277c518c99eec640c39685edaca40c5",
      "parents": [
        "6f2c1ea250f957b35c76bcc301d3513433de911f",
        "cd824ef3895bd581c9d87d9b010385fd15b41d7e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 03:42:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 03:42:24 2017 +0000"
      },
      "message": "Merge \"Reconcile apps in 2 phases\""
    },
    {
      "commit": "cd824ef3895bd581c9d87d9b010385fd15b41d7e",
      "tree": "b941d112c57fdccbcf25feba35b6a51a4774513f",
      "parents": [
        "24dfce2fbe90967b00f6fa20b544537265982eba"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Feb 07 11:25:14 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Feb 22 15:43:50 2017 -0800"
      },
      "message": "Reconcile apps in 2 phases\n\nDuring boot app data folders are reconciled in 2 phases:\n - in the constructor only core apps are reconciled. prepareAppData\n   for remaining apps is deferred and run on a separate thread (phase 2)\n - Phase 2 must finish before third-party apps can start\n\nAlso moved GC to final stages of system server init. GC alone takes ~200 ms.\n\nOverall boot time improvement: ~1 second\n\nBefore:\n02-17 18:33:33 D/BaseBootTest: successive-boot :\n28835.0,29638.0,30205.0,29793.0,29752.0,28228.0,30125.0,28983.0,28487.0,28865.0,\n02-17 18:33:33 D/BaseBootTest: successive-boot_avg : 29291.1\n02-17 18:33:33 D/BaseBootTest:\nSystemServerTiming_StartPackageManagerService :\n3150.0,3615.0,3515.0,3495.0,3814.0,3158.0,3746.0,3274.0,3222.0,3607.0,\n02-17 18:33:33 D/BaseBootTest:\nSystemServerTiming_StartPackageManagerService_avg : 3459.6\n02-17 18:33:33 D/BaseBootTest: SystemServerTiming_StartServices :\n8244.0,8863.0,9035.0,9832.0,8998.0,8096.0,8719.0,8209.0,8279.0,8754.0,\n02-17 18:33:33 D/BaseBootTest: SystemServerTiming_StartServices_avg :\n8702.9\n\nAfter:\n02-17 17:59:51 D/BaseBootTest: successive-boot :\n27711.0,27607.0,28408.0,28968.0,28397.0,28063.0,27885.0,28483.0,27917.0,29317.0,\n02-17 17:59:51 D/BaseBootTest: successive-boot_avg : 28275.6\n02-17 17:59:51 D/BaseBootTest:\nSystemServerTiming_StartPackageManagerService :\n2467.0,2489.0,2369.0,2548.0,2647.0,2523.0,2497.0,2553.0,2482.0,2657.0,\n02-17 17:59:51 D/BaseBootTest:\nSystemServerTiming_StartPackageManagerService_avg : 2523.2\n02-17 17:59:51 D/BaseBootTest: SystemServerTiming_StartServices :\n7686.0,7538.0,7598.0,7869.0,7884.0,7950.0,7971.0,8370.0,7696.0,7885.0,\n02-17 17:59:51 D/BaseBootTest: SystemServerTiming_StartServices_avg :\n7844.7\n\nTest: manual\nBug: 28750609\nChange-Id: I3543ef577af1365394775318e40907584ddbe950\n"
    },
    {
      "commit": "a91e5368f06d1f1fc8337d8c71959e924e6d8fe6",
      "tree": "f0630978aa7e4d62b98969d68b28db47f74d3083",
      "parents": [
        "f764962b0d58008530955b70af1ebf68beb8d4ba",
        "f17c1d488840a00118be7b93be11bdae66f23189"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 22 15:16:42 2017 -0800"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 22 15:36:53 2017 -0800"
      },
      "message": "resolve merge conflicts of f17c1d488840 to master\n\nOCL: http://ag/1932572\n\nTest: refactoring CL, with unit tests\n\nChange-Id: I5da27ee70afb8bf6e5fe9f6f3b545cd26d5c8d20\n"
    },
    {
      "commit": "f17c1d488840a00118be7b93be11bdae66f23189",
      "tree": "8eb8ca759f9f12c99a261c5de30e60b37913d594",
      "parents": [
        "ba6c607728d8e5cfe8ee51da394d67d0d1146d97",
        "abfd5bccb950c838c56667c9d553b2eeec3d2fa6"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 22 22:48:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 22 22:48:23 2017 +0000"
      },
      "message": "Replace WearWifi/Cell services with WearConnectivityService am: 5555bccc70\nam: abfd5bccb9\n\nChange-Id: If051c765d3ea81cce2bedc2dfa02d64744088054\n"
    },
    {
      "commit": "abfd5bccb950c838c56667c9d553b2eeec3d2fa6",
      "tree": "cb18d275d3c27ed59d002e0479ba5846be6b8634",
      "parents": [
        "d54f3a487bba1dc5008e2e1482ef451a59500752",
        "5555bccc70c032206ba1efe6961e3d021239d51b"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 22 22:41:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 22 22:41:41 2017 +0000"
      },
      "message": "Replace WearWifi/Cell services with WearConnectivityService\nam: 5555bccc70\n\nChange-Id: I5d8c97b8d5c394aeae99b7ddbe0dfdd5706a4293\n"
    },
    {
      "commit": "ed7f54883276b84b02fdba578e64a90cfc15d37b",
      "tree": "9c51596ac77e94fd134e1638b0f8fd8a62d530eb",
      "parents": [
        "1335669b0e23c12a50ef707c80bef2cd53b1208d"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 21 11:35:10 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Feb 22 09:41:41 2017 -0800"
      },
      "message": "Rename CameraService to CameraServiceProxy\n\nBug: 32976450\nTest: on marlin, camera app works fine\nChange-Id: I71890c6814f97e461b0161fed6c31c041c9bfe59\n"
    },
    {
      "commit": "5555bccc70c032206ba1efe6961e3d021239d51b",
      "tree": "1cf7db642eb888c046bfa074532e19a317898d0d",
      "parents": [
        "c61cd1a6354bce0a34f3a44989b4412bef71b7bd"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Feb 21 16:41:43 2017 -0800"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Feb 21 16:41:43 2017 -0800"
      },
      "message": "Replace WearWifi/Cell services with WearConnectivityService\n\ngo/wear-connectivity-service\n\nChange-Id: I2a8214e2965ad63a23dc8c174db256a263102a6f\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": "21a3d1ad686dee97b9cf0ed80389ee2ab0d48013",
      "tree": "79a415bcc73f60cda6dbac4ca414b22741c47266",
      "parents": [
        "f9bd2944694539f1dce74d420156cc50bbb4af14"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Jun 02 09:35:31 2016 +0200"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 21 14:29:43 2017 -0800"
      },
      "message": "OMS: integrate OverlayManagerService into framework\n\nHand over ownership of overlays to OverlayManagerService.\n\nChanges to a package\u0027s overlays are propagated using the activity life\ncycle. Affected activities will be recreated as needed. This provides a\nwell-defined point to modify an application\u0027s assets while the\napplication is paused.\n\nConsolidate how overlays targeting the system and overlays targeting\nregular applications are handled. Previously, system overlays were\nhandled as a special case. Now, everything is handled identically. As a\nside effect, the call to idmap --scan during Zygote boot has become\nobsolete and is removed.\n\nInformation on what overlays to use is recorded in\nApplicationInfo.resourceDirs. The PackageManagerService is responsible\nfor the creation of ApplicationInfo objects. The OverlayManagerService\nis responsible for informing the PackageManagerService in advance about\nwhat resourceDirs to use.\n\nWhen launching an application, the ApplicationInfo is already populated\nwith up-to-date information about overlays.\n\nWhen enabling or disabling an overlay for a running application, the\nOverlayManagerService first notifies the PackageManagerService about the\nupdated resourceDirs. It then tells the ActivityManagerService to push\nthe new ApplicationInfo object to the application\u0027s ActivityThread.\nFinally the application requests its ResourcesManager to create new\nResourcesImpl objects based on the updated paths.\n\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\nChange-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353\n"
    },
    {
      "commit": "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": "039deed1fdbb5c8c4bc394b3000fdf8da31bc0c7",
      "tree": "f0dfb09e9411a3bb41c26f7be2d4d7b017a5b2d9",
      "parents": [
        "04215148cf3282f13c32495eb928fa27d898d876"
      ],
      "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": "Sat Feb 18 13:35:45 2017 -0800"
      },
      "message": "Revert \"Remove outdated emulator check which causes BT to not start\"\n\nThis reverts commit d98a4e502165d76d05e095608da3c795bd56eafd.\n\nChange-Id: Ibd1596584928f2aa2c799501536abc9b384d1cda\n"
    },
    {
      "commit": "705cbc684abb83ba976fe8b43b19ee8acee77dee",
      "tree": "99e86a88b0f0249689a1a693de0137e57f67e7da",
      "parents": [
        "28f99293f74555592af2342095d23be51cbc1b8b",
        "a110feee4cac9d28c213010f325ee95560c8c471"
      ],
      "author": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Fri Feb 17 20:12:29 2017 -0800"
      },
      "committer": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Fri Feb 17 20:13:31 2017 -0800"
      },
      "message": "resolve merge conflicts of a110feee4cac to master\n\nTest: Resolved merge conflict. Built locally.\n\nChange-Id: If8e439d513ac2242b82f67a4c68bc3adfabe2b9c\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": "01432b306de44975c898b7c48ae1e6a3981b3c19",
      "tree": "2c5731443d332884768ab11aed8042399f216669",
      "parents": [
        "75ad8a5b21e21a8750e7535bc6eae5dd22fdb1cd",
        "9355bce0c323632b88620ede174bf023b7381c81"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 10:14:15 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 17 10:47:58 2017 +0900"
      },
      "message": "resolve merge conflicts of 9355bce0c323 to master\n\nTest: none\nChange-Id: Iac65e01d07edf79ec97e7d996f8cfee6f811606b\n"
    },
    {
      "commit": "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": "9778046548772c8d94b8aa2dbdf6529b693aad45",
      "tree": "f6548d89a46763dc52654edf8e0e4a822a164a8c",
      "parents": [
        "4211358c7448147388c5e4af3e0e5472def83a3b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 06 20:24:08 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Feb 15 16:28:45 2017 +0000"
      },
      "message": "Zygote: Explicitly preload secondary zygote resources.\n\nWe now turn on lazy preloading (see companion change 73c7df1bda76a0)\nand explicitly preload zygote resources.\n\nTo provide the most benefit :\n- We start the preload in the system_server, which means the system_server\n  starts quicker since it has one less preload to wait for. Morever, the\n  64 bit zygote also starts quicker because it has one less high\n  priority process to contend with for CPU and I/O.\n\n- We start the preload after the core system services start up, since we\n  know no 32 bit zygote processes will be requested before that point.\n\n- We start the preload ~1s before the webview factory preparation, to\n  ensure that it completes before the 32 bit relro process is forked\n  from the zygote. In the event that it takes too long, the webview\n  RELRO process will block, but it will do so without holding any locks.\n  I have not observed this happening in \u003e 200 runs on marlin / sailfish\n  devices.\n\nThis change saves about 500ms in boot times, and sometimes even more.\n\nAFTER:\nsuccessive-online : 16970.0,16668.0,16391.0,16498.0,17601.0,16736.0,16609.0,16820.0,16310.0,17557.0,\nsuccessive-online_avg : 16816.0\nsuccessive-boot : 28750.0,29520.0,29372.0,28424.0,30683.0,28523.0,29766.0,29779.0,29304.0,31607.0,\nsuccessive-boot_avg : 29572.8\n\nBEFORE:\nsuccessive-online : 16678.0,18105.0,17197.0,16744.0,17453.0,16946.0,18068.0,16719.0,17453.0,16942.0,\nsuccessive-online_avg : 17230.5\nsuccessive-boot : 30855.0,32069.0,31223.0,30918.0,30284.0,29750.0,31036.0,30778.0,30310.0,30908.0,\nsuccessive-boot_avg : 30813.1\n\nNote that successive-online is a little faster, as expected since we do\nless work in the 32 bit zygote.\n\nTest: manual, timings from tradefed.\nBug: 34810190\nChange-Id: I90207a2706afda163b8134ff2af31f6917f3841b\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": "6ed45d8cd33c297e608aba94fc1f61dace7a7cca",
      "tree": "7d62835183a39a490ad2b518b27cdf6c1c232cdf",
      "parents": [
        "556897f7018e1b231d6200e21dd45657f180a63c"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Sun Jan 22 13:52:51 2017 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Feb 06 12:50:55 2017 -0800"
      },
      "message": "CompanionDeviceManager\n\nThis introduces an API for apps that support companion devices to provide a\nmore streamlined flow for pairing and setting up the device\n\nBug: 30932767\nTest: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),\n and go through the flow. Ensure filtering works, and device is returned to\n the calling app. Ensure the calling app can pair to the selected device.\nChange-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a\n"
    },
    {
      "commit": "9b73a5473a36534731cc19501408a6123c8e69a8",
      "tree": "82ef46bb2a61a2bd37d6e2be0f9e56fbc61605fa",
      "parents": [
        "66f66e802e51f5c138a762ca7e3214e3f82d9434"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed Feb 01 12:09:58 2017 -0800"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri Feb 03 15:36:01 2017 -0800"
      },
      "message": "wait for sensor service before starting WMS\n\n- Starting sensor service in separate thread led into occasional 1 sec\n  blocking of WMS inside PhoneWindowManager to get sensor service.\n- Change startSensorService into blocking call and call it from\n  separate thread using SystemServerInitThreadPool.\n- This does not improve best case boot-up time but fixes occasional 1 sec delay\n  which is happening in 10 to 20% rate. So this is potential 100 to 200ms saving for many runs.\n\nbug: 34846045\nTest: multiple reboots.\nChange-Id: Ia08fa3284aed5e576acaac6fbfd74b9db9f7d63c\n"
    },
    {
      "commit": "d80e894b3b7d237c97de1124401caeafc8763afd",
      "tree": "bc75933c6e5efcacdb0f2b9684c30a970af3d22e",
      "parents": [
        "45250aca6d55988a58fdcb4ba0e8a58d36b1f34b"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri Jan 27 11:30:19 2017 -0800"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Jan 31 14:25:50 2017 -0800"
      },
      "message": "run webview preparation in separate thread\n\n- There is no other dependency for webview from system server.\n  Prepare it in separate thread and confirm completion\n  before allowing 3rd party apps.\n\nbug: 33840151\nTest: manual, reboot\nChange-Id: I417b0451c37f663c577295ab07f33474e72fe457\n"
    },
    {
      "commit": "096d304ae3d85c1bfcda1a1d9cd4eb13d0815500",
      "tree": "3ebef505ad00306dc5b9f4385715de5f4721b1ce",
      "parents": [
        "9b07338cb2a1a459312d39e85a38edf92549d072"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 30 16:34:13 2017 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 30 17:52:14 2017 -0800"
      },
      "message": "Add instant cookie APIs\n\nThis change adds APIs for instant apps to store cookie data\nthat is presisted across instant installs and across the\nupgrade from an instant to a standard app. Standard apps\ncan use the cookie APIs but when they are uninstalled the\ncookie is also deleted. The cookies are kept longer than\nthe instant apps as they are much smaller - 16KB by default.\nWe can change the cookie size via a system setting i.e.\nafter we ship we can increase size if needed.\n\nWe also add internal APIs to surface information about\ninstalled and uninstalled instant apps which should be\nused for showing them in the UI. For this puporse we store\nthe icon, permissions, and label of uninstalled apps. If\nthe app is re-installed we drop this meta-data but keep\nthe cookie around. If we have cookie data stored and the\nsigning cert of the app changes when it gets re-intalled\nwe wipe the cookie.\n\nTest: CTS tests pass; hiddent APIs tested manually\n\nChange-Id: If145c0440cc61a5303e2cbb70228d235d36037a5\n"
    },
    {
      "commit": "669b1d6bfe2d737cbd69f75d32378f7e6cab0c30",
      "tree": "b2dd10e9dbfba5c67949ed0b182365cde5b55750",
      "parents": [
        "895fc78ada0f4299d9eb7515305664727f714099",
        "b76e0fdf1ef2767e2d4f0ced2886756ff9556b19"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jan 31 01:19:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 01:19:54 2017 +0000"
      },
      "message": "Merge \"Read SystemConfig on a worker thread\""
    },
    {
      "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": "67024f1b8feac1f59fff6a123f45f18a70e80e4f",
      "tree": "08f14fe708c46cc5c13766b33b7eb497ed119878",
      "parents": [
        "6675bbf093e2d9fdb620ed42602dde2a7902e8ce",
        "c565e1d3cea6f8db4fa0371b3cdb9fe11dbf4483"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Jan 30 19:12:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 30 19:12:50 2017 +0000"
      },
      "message": "Merge \"Implement TextClassification system service.\""
    },
    {
      "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"
    }
  ],
  "next": "4a65687b853a92268f4f0eb52f22e092b16f8ed3"
}
