)]}'
{
  "log": [
    {
      "commit": "ca48eb7fa94521f4f83c3f93b6ce884b91bc3b22",
      "tree": "238c842678bb49ed1e049202c599dd1a1c5ad694",
      "parents": [
        "984fc6eae12a52cb09a15f31021c261ba0047373",
        "bc38909bf3790331532c329a867d5a22fbf94016"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 27 11:40:06 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 27 11:40:06 2018 +0100"
      },
      "message": "resolve merge conflicts of bc38909bf3790331532c329a867d5a22fbf94016 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ib06f2869e5aa1788c8d5fc281a8565420e93d8f7\n"
    },
    {
      "commit": "e01a7adf5ac0113edc15699d8e45b376f368be76",
      "tree": "62067f0c7980783b94a04fcd2af83eae0dab4100",
      "parents": [
        "1239734050b0dbc40d5b06148d2d49fb8fb8e3c8",
        "55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "message": "resolve merge conflicts of 55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ie524607cabc6688911eee7e4f61c50fd406c71f4\n"
    },
    {
      "commit": "b3d6abbe6fbf5147cb5d8aa2320b11fa9c6cca81",
      "tree": "6a00c0e2ebe56124f420fb25c6db2e138393debb",
      "parents": [
        "b1fc5a4c7ee9dffe48f143c580d88ee4862f3c2e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 15:16:36 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 09:46:32 2018 +0100"
      },
      "message": "Prepare for migration to the time detector service\n\nPaves the way for moving more behavior to the time detector\nservice from the NetworkTimeUpdateService.\n\nThe NewNetworkTimeUpdateService is effectively identical to\nthe OldNetworkTimeUpdateService in this initial commit.\n\nBug: 78217059\nTest: build / boot\nMerged-In: Ica9fa9b61c849e034d76c0faae5693b60a4a197f\nChange-Id: Ica9fa9b61c849e034d76c0faae5693b60a4a197f\n"
    },
    {
      "commit": "cccc48d0fe07349e1804dd7803db604d37a6d450",
      "tree": "5074de619835716126f01e71c1e5f55dd5559cdd",
      "parents": [
        "3b0eba44994cf35b743a09cba351427a1f700c5f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 19 12:53:47 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 09:30:34 2018 +0000"
      },
      "message": "Minimum viable TimeZoneDetectorService\n\nThis is a do-nothing TimeZoneDetectorService that can be\npopulated in following commits. A temporary method has been\nadded so the service has one method.\n\nUnit tests can be run with:\n\natest FrameworksServicesTests:TimeZoneDetectorServiceTest\n\nTest: build / boot\nTest: See above\nMerged-In: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\nChange-Id: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\n"
    },
    {
      "commit": "79d42a61e4c0832d8ec03da24f342de93341225c",
      "tree": "ec2bcbc1a012ab08c711cd81b40f2d067c8694a9",
      "parents": [
        "b57dfe26cfb1dc5eae20653d6490464d977c07bc",
        "5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:14:13 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:23:51 2018 +0100"
      },
      "message": "resolve merge conflicts of 5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ic5527b29cbe8c84d2053be849cf09df5341e4790\n"
    },
    {
      "commit": "b557907f51a8a92954b60fe1d181e7f4e9f5c803",
      "tree": "c82bd687ee073b95f2ec5bb7ed363e27435917e7",
      "parents": [
        "20e243d627586ec727384aacf2cf5aa94e38b779"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 30 14:35:24 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 11 15:29:57 2018 +0100"
      },
      "message": "Minimum viable TimeDetectorService\n\nThis is a do-nothing TimeDetectorService that can be\npopulated in following commits. A temporary method has been\nadded so the service has one method.\n\nUnit tests can be run with:\n\natest FrameworksServicesTests:TimeDetectorServiceTest\n\nTest: build / boot\nTest: See above\nMerged-In: I9e4eac70b944441f34491315cd1ce7fa2b9ae150\nChange-Id: I9e4eac70b944441f34491315cd1ce7fa2b9ae150\n(cherry picked from commit feeee682a23f25760c4a1aa07c00945901911ba3)\n"
    },
    {
      "commit": "7dbefdcb9268375f3636ffdfb0d14b2ceca3a61e",
      "tree": "8a7084cb7141716ca1843347ad8b6519de98e003",
      "parents": [
        "c218182fcd2e77c86ad2b55e32ad6d30f1c95041",
        "26119befba89e1d656e6c2237f15e2b3a74865fd"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 07 20:02:59 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 07 20:02:59 2018 +0100"
      },
      "message": "resolve merge conflicts of 26119befba89e1d656e6c2237f15e2b3a74865fd to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Iea64af5a88c9bf399fb26468e931be3c73061bac\n"
    },
    {
      "commit": "d2f29d7a6fa988c6752cbb0a3779d9b42a329ace",
      "tree": "dd76bf99b1c6717c30bb55782010cad82bdc68ca",
      "parents": [
        "b044b885cf51ef350745e9178e763c0b4db8a86a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 04 15:35:31 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 06 17:03:55 2018 +0100"
      },
      "message": "Remove CommonClock / CommonTimeManagementService\n\nThe service and associated code is unused.\n\nBug: 80462439\nTest: build / boot\nMerged-In: Ibdfab1b7d2951a0c45e07bd47850af037990841b\nChange-Id: Ibdfab1b7d2951a0c45e07bd47850af037990841b\n"
    },
    {
      "commit": "712886fd979f58b0de7cefc3bce885ad7f4493b6",
      "tree": "e473baec06ba56a09fa2e3a0a4d7c32f95293c5d",
      "parents": [
        "5d8dfe17c814abbdb3268041b2f319697632cfa2"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Apr 27 15:22:50 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Apr 27 17:15:46 2018 -0700"
      },
      "message": "Log slow message delivery on Looper\n\nSample log:\n04-27 15:30:17.306  1000   942   942 W Looper  : Dispatch took 222ms on main, h\u003dHandler (com.android.server.job.JobSchedulerService$JobHandler) {42042fc} cb\u003dnull msg\u003d7 start\u003d48162 end\u003d48384\n04-27 15:30:17.306  1000   942   942 W Looper  : Delivery took 235ms on main, h\u003dHandler (com.android.server.job.JobSchedulerService$JobHandler) {42042fc} cb\u003dnull msg\u003d4 start\u003d48149 end\u003d48384\n04-27 15:30:17.773  1000   942   942 W Looper  : Dispatch took 445ms on main, h\u003dHandler (android.app.ActivityThread$H) {5df4c77} cb\u003dandroid.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA@badd538 msg\u003d0 start\u003d48406 end\u003d48851\n04-27 15:30:17.828  1000   942   942 W Looper  : Drained\n04-27 15:30:24.389  1000   942   942 W Looper  : Dispatch took 718ms on main, h\u003dHandler (android.hardware.soundtrigger.SoundTriggerModule$NativeEventHandlerDelegate$1) {d7e9947} cb\u003dnull msg\u003d4 start\u003d54749 end\u003d55467\n04-27 15:30:24.389  1000   942   942 W Looper  : Delivery took 621ms on main, h\u003dHandler (com.android.server.media.MediaSessionRecord$MessageHandler) {5851574} cb\u003dnull msg\u003d7 start\u003d54846 end\u003d55467\n04-27 15:30:24.499  1000   942   942 W Looper  : Drained\n\nBug: 78590632\nTest: Boot and check log\nTest: setprop log.looper.1000.android.bg 1 and runtime-restart and check log\nChange-Id: Ief1fc65b40b8a3d583879f55a76288e3dba6be7d\n"
    },
    {
      "commit": "54271901cd9ea10ff4a9ef71823db3a41e52ef2c",
      "tree": "4f2b62743ebcf9efd3c861c75e5b98e40c93c5be",
      "parents": [
        "5e09e0a34bab23cbaa9ba70b00be8365ccb9ffdf"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Apr 13 12:31:22 2018 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Apr 13 21:21:45 2018 +0000"
      },
      "message": "Fix FDE\n\nWifi services crash if run during crypto bounce and are\nunnecessary. Disable.\n\nTest: Cherry-pick ag/3898232. System boots, can set pattern, system\n      reboots. Wifi works at all points.\nBug: 76452634\n\nChange-Id: Id345082f455617386de7fac23fe84e44a8dee6d9\n"
    },
    {
      "commit": "ce2d963d2ee74435105d25265641a4769563806d",
      "tree": "bfb77eece2f23cfca8a7b36a2d7e5cba3ba96718",
      "parents": [
        "893c5e0c70179fc8c000508afe9f89a6af8e220d"
      ],
      "author": {
        "name": "Mehdi Alizadeh",
        "email": "mett@google.com",
        "time": "Wed Mar 28 17:34:24 2018 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Apr 06 17:08:59 2018 +0000"
      },
      "message": "Update NetworkScoreService to use SystemService\n\nBug: 29118511\nTest: runtests.sh\nTest: Ran integration tests\nTest: Verified wifi assistant still works (Uses NetworkScorer).\nChange-Id: I50a6bd5ab59fc69fcb331102ad80ec4bb0988c70\n"
    },
    {
      "commit": "163a57d71e6844856b2c7a3a1dc9ce3b5e2100b5",
      "tree": "6581b5311bc6dbe5fe2217f496d97cb0903ebeda",
      "parents": [
        "96fd5d9ed2f5ff2d2944e843144d7f467fa8af7b",
        "ca34851eadffb3a557cb8d03a83d5c78eb35483a"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Mar 21 23:02:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 23:02:58 2018 +0000"
      },
      "message": "Merge \"Added BinderCallsStatsService\" into pi-dev"
    },
    {
      "commit": "0b08926fcb0391f47a07073553dd06c71d43ea4f",
      "tree": "8573ebe8a5f81358b0234c948c4d6b1a7eea0f10",
      "parents": [
        "fa23f8e30eed331f3cce779f41eb93a15682db4c",
        "59a9488f507cf494092bcd9ce1cf2c1c88937ee4"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Tue Mar 20 21:56:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 21:56:40 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add setting for enabling CPU frequency scaling.\"\"\" into pi-dev"
    },
    {
      "commit": "59a9488f507cf494092bcd9ce1cf2c1c88937ee4",
      "tree": "433b1ecfceafd8531350c1bb946718fee0d80a78",
      "parents": [
        "6750352248bcce6668eabd1911d092b7fe31a1cd"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 23:46:56 2018 +0000"
      },
      "committer": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 23:46:56 2018 +0000"
      },
      "message": "Revert \"Revert \"Add setting for enabling CPU frequency scaling.\"\"\n\nThis reverts commit 6750352248bcce6668eabd1911d092b7fe31a1cd.\n\nReason for revert: Added SElinux policy to allow the service to be started. Verified by local testing on the latest pi-wear-dev.\n\nBug: 74018496\nBug: 75974893\nChange-Id: I9bd8939f6292be9c160e19ebdf934023792059ba\n"
    },
    {
      "commit": "7723aed494798afa0ac01998226eec8c6397fb78",
      "tree": "6b811a7485f4ca14bec0a25ea0be0383fd3a50eb",
      "parents": [
        "f4f317798b05634bac9fe94e33b71806e21ff6b8",
        "6750352248bcce6668eabd1911d092b7fe31a1cd"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 22:38:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 22:38:25 2018 +0000"
      },
      "message": "Merge \"Revert \"Add setting for enabling CPU frequency scaling.\"\" into pi-dev"
    },
    {
      "commit": "6750352248bcce6668eabd1911d092b7fe31a1cd",
      "tree": "21ffd693e5fb1b172466a0ae8d139d4f2af3196c",
      "parents": [
        "2e8afd8736cba3352bcbf585461becb20a7c7600"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 22:36:12 2018 +0000"
      },
      "committer": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 22:36:52 2018 +0000"
      },
      "message": "Revert \"Add setting for enabling CPU frequency scaling.\"\n\nThis reverts commit 2e8afd8736cba3352bcbf585461becb20a7c7600.\n\nReason for revert: SELinux Boot crash\nBug: 75974893\n\nChange-Id: I4751530a1b460842130a495efe688aaf19b92638\n"
    },
    {
      "commit": "1799f2b878e635120ad6f0846b82296baa8ffe47",
      "tree": "4b1cf8718a2d1bc4570e5a14513d60c89cbe252d",
      "parents": [
        "fd7d9c5710ea7dfb23f465967422181444f2d6b7",
        "2e8afd8736cba3352bcbf585461becb20a7c7600"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 19 18:41:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 18:41:40 2018 +0000"
      },
      "message": "Merge \"Add setting for enabling CPU frequency scaling.\" into pi-dev"
    },
    {
      "commit": "ca34851eadffb3a557cb8d03a83d5c78eb35483a",
      "tree": "9d33ab7b898ee70f87592d2bb4b6966623f56ef8",
      "parents": [
        "9531b70cae96e8e59d38bd91d636cbe084574f3a"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jan 10 18:05:53 2018 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Mar 16 23:17:03 2018 +0000"
      },
      "message": "Added BinderCallsStatsService\n\nIt tracks binder calls into the system server and reports\nstatistics about CPU time spent per call on multiple dimensions,\ne.g. uid or call description.\n\nUsage: dumpsys binder_calls_stats\nOverhead: ~0.5% per binder call (if enabled)\n\nTest: manual\nBug: 75318418\nChange-Id: I13b854f67f8fd1c9f985b8e45f74dcba2e73b9cb\n"
    },
    {
      "commit": "b8bbdaf0226670645d112d7bca1c2838a27deee7",
      "tree": "99913b64664ccd26f412f6b417e8f3f3f6e03649",
      "parents": [
        "41b5ece1359db36c59a38629225c75da7513e9cd"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Mar 14 18:04:52 2018 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Mar 14 18:04:52 2018 -0700"
      },
      "message": "Delay DropBox until SettingsProvider becomes ready\n\nIt turns out that we are still not ready to publish\nDropBoxManagerService at an extremely early boot phase as we attempted\nso [1].  Our best right now is to publish DropBoxManagerService\nimmediatelly after SettingsProvider is installed.\n\nOtherwise, if WTF logs are generated in a too early boot phase, it is\nindeed possible that two different instances of SettingsProvider can\nbe created.\n\nThe first SettingsProvider instance, created by the\nDropBoxManagerService access to Settings, is still present, and a\nreference is held in Settings.ContentProviderHolder, such that\nframework API access hits this instance.\n\nThe second SettingsProvider instance, created by the SettingsService\nstartup, also still exists and is referenced by\nSettingsService.mProvider -- this instance is hit by \"settings\" shell\ncommand access via SettingsService.onShellCommand().\n\nThis creates a situation where settings modifications made via shell\ncommand cannot be seen by the usual frameworks APIs, and vice-versa.\n\n [1]: Ie71d53fc125ebc47fa08ef59a8b7e4f66f2e805c\n      d79d203b357b8ac54c36e028d8bb80e3a39165f5\n\nBug: 72399950\nFix: 72450122\nFix: 73505784\nTest: atest CtsTextTestCases:android.text.format.cts.DateFormatTest#test_is24HourFormat\nTest: atest CtsInputMethodServiceHostTestCases\nTest: Manually verified as follows\n      1. Boot a certain device that has neither /proc/wakelocks nor /d/wakeup_sources exists\n      2. adb shell settings get secure enabled_input_methods\n         -\u003e shows non-empty result\nChange-Id: I66b68e7f456c4e0e8f5933e65202c61ed862088d\n"
    },
    {
      "commit": "2e8afd8736cba3352bcbf585461becb20a7c7600",
      "tree": "433b1ecfceafd8531350c1bb946718fee0d80a78",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Mon Mar 12 14:11:49 2018 -0700"
      },
      "committer": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Tue Mar 13 09:42:08 2018 -0700"
      },
      "message": "Add setting for enabling CPU frequency scaling.\n\nBug: 74018496\nChange-Id: I97a6828b6248ae6850e615a4840469420dbaf918\n"
    },
    {
      "commit": "e8edbcf76518c1f15f3e1a5a4fac6c47a0ab2db9",
      "tree": "cd994da686def8584708e37049bbed82368b94f7",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 02 16:49:29 2018 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 06 13:23:47 2018 -0800"
      },
      "message": "Show system uptime in bugreport (dumpsys alarm)\n\nExample:\n\nRuntimeStarted\u003d2018-03-06 19:33:00.587  (Runtime restarted)\nRuntime uptime (elapsed): +15s375ms\nRuntime uptime (uptime): +15s375ms\n\nTest: dumpsys alarm\nBug: 74126915\nChange-Id: I8e82050b8246725d944829b6488b1946a1b37ba1\n"
    },
    {
      "commit": "3b346fa9b11322e63e14cf0ddf1b86f8c61ebfb6",
      "tree": "84c6e4f033b1fc252ea1939ebb94ef3a2e7af79a",
      "parents": [
        "d59073ab2a9bbb1667a8a54af0955789550db8f2",
        "01ad0aabf29fe7eeca7998471ca206fd2f4f2118"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 21:32:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 21:32:34 2018 +0000"
      },
      "message": "Merge \"Add resources and hooks required for custom wear global actions.\""
    },
    {
      "commit": "3764f4e9f8ba848b812884869a8d8537dc8f6d27",
      "tree": "388905f12f0f533e17204e568526d30eb361762b",
      "parents": [
        "c5ad652629c3f28fcb77ca63f99882554a832cbc"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Mar 02 07:56:44 2018 -0800"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Mar 02 07:56:44 2018 -0800"
      },
      "message": "Dump input service in bugreport critical section\n\n- input service data needs to be in sync with window service data\n- section is generated in under 20 ms well within guidelines\n\nBug: 74098479\nTest: Take bug report and verify contents\nTest: mmm -j56 frameworks/native/cmds/dumpstate \u0026\u0026 \\\n adb sync data \u0026\u0026 adb shell /data/nativetest64/dumpstate_smoke_test/dumpstate_smoke_test \u0026\u0026 \\\n printf \"\\n\\n#### ALL TESTS PASSED ####\\n\"\n\nChange-Id: Ida087fa6b0b2e1509b6d9570ab216bacbb1a1863\n"
    },
    {
      "commit": "01ad0aabf29fe7eeca7998471ca206fd2f4f2118",
      "tree": "0b47e60d90ea897d34de7fb3ae74b4d1031fca05",
      "parents": [
        "5395a3cec7b81c7e859966448cc61366cc671a16"
      ],
      "author": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Wed Feb 28 15:19:04 2018 -0800"
      },
      "committer": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Fri Mar 02 05:53:42 2018 +0000"
      },
      "message": "Add resources and hooks required for custom wear global actions.\n\nBug: 31802693\nTest: manual test\nChange-Id: Ie5e2082e2121f6f3a7ca847f40e5cebab52aab0d\n"
    },
    {
      "commit": "b0613dceb0db9d75edc19f104af4cd198745d991",
      "tree": "40d06795612dbd57c457e739a56b7b81c861774b",
      "parents": [
        "d0f517b9df46926d803c7d9963c70791b2af1c01"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 27 14:38:04 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Feb 28 23:06:04 2018 +0000"
      },
      "message": "Force loading of safe labels in system_server.\n\nIt\u0027s too easy for code to accidentally use loadLabel() when building\nstrings for security sensitive contexts, so add ability for a process\nto always force loading of safe strings.\n\nTest: builds, boots\nBug: 73657770\nChange-Id: I1c7645bd7bebed0cfb6bc3e5bfd36c8cb11d4838\n"
    },
    {
      "commit": "725024bb2a4488ef90de86ea4f70f3c4a1d4fc7c",
      "tree": "e4fc9fdf790b7f800304c9418f4dad9bcc651441",
      "parents": [
        "f6ff0f88eed8fa3b1e12bb6d95fe2c7ca625330c",
        "e0c2995d0f16246336d4385d5ebe631a60e12e86"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Feb 23 16:28:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 16:28:58 2018 +0000"
      },
      "message": "Merge \"Name specific app for rapid data usage.\""
    },
    {
      "commit": "e0c2995d0f16246336d4385d5ebe631a60e12e86",
      "tree": "7a91be48313ada0edbddf6edf2b35f34e2a9165d",
      "parents": [
        "f66699314c762ea8ee3bcfbd6654b02e4e6b7c98"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 20 17:24:55 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Feb 23 16:27:39 2018 +0000"
      },
      "message": "Name specific app for rapid data usage.\n\nWhen a single app is responsible for more than half of the data usage\nthat caused us to trigger a \"rapid usage\" alert, name that app in the\nnotification.  Tests to verify.\n\nMove NPMS-\u003eNSS direct calls to \"Internal\" pattern, following\nbest-practices to avoid unnecessary AIDL exposure.\n\nRemove 3G/4G split mobile plan support, which has been deprecated for\nyears and was never supported in a shipping product.\n\nMove MultipathPolicyTracker in tree to reflect its package name.\n\nTest: bit FrameworksNetTests:*\nTest: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest\nBug: 69263587, 64221505, 73431080, 72746951\nExempt-From-Owner-Approval: approved in previous PS\nChange-Id: I3e4ec1ae2222d51b232f76f32faca93d4f8cd272\n"
    },
    {
      "commit": "25d49463d546867230b4b92a5faf35dad70793da",
      "tree": "6e5661b1f6cce827e519679fe3ee15cc4fa87ac6",
      "parents": [
        "72e94b6556a3a019e3b908e1d82ff8bdeba53702"
      ],
      "author": {
        "name": "Yahan Zhou",
        "email": "yahan@google.com",
        "time": "Wed Mar 15 16:04:58 2017 -0700"
      },
      "committer": {
        "name": "Yahan Zhou",
        "email": "yahan@google.com",
        "time": "Wed Feb 21 16:01:44 2018 -0800"
      },
      "message": "Start UsbService in emulator\n\nWe need to start usb service in emulator even when we do not have usb\nfeature. It is used for adb authentication.\n\nBUG: 73644752\nTest: manual\n\nChange-Id: I7ac6c5a20777be5ab5f286a02b73211b5e76898d\n(cherry picked from commit dfe6a40d8a8d4806d77773961e137edb1fbcbb0e)\n"
    },
    {
      "commit": "3cda1cf7b423fd0f0f0645bbfcd7b5558ac033b2",
      "tree": "0d6b0509618bbbb6495d9b93cb00331d0a563b15",
      "parents": [
        "25e38fd4d1a538b2bb5d8eb716605a1a03fa9999"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 14 13:57:07 2018 -0800"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Wed Feb 14 18:26:01 2018 -0800"
      },
      "message": "Move WearConnectivityService package.\n\nTest: make checkbuild\nBug: 73355637\nChange-Id: Iaef9d3bfc7ed3e94edd9ef742fd183796786697c\n"
    },
    {
      "commit": "f19cbe201e79410c58777dd0f431de3d5202aec3",
      "tree": "8dea9aa0dabe131cba1c715c695c51a38544e685",
      "parents": [
        "bc48bd8f6137955b99f51562ab4959783f827e22"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Fri Feb 02 15:09:21 2018 -0800"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Fri Feb 09 08:02:00 2018 -0800"
      },
      "message": "Restrict DisplayContent creation.\n\nThis changelist limits DisplayContent the display\ncontainer/controller creation. All other callpoints now can only\nretrieve existing DisplayContents. This removes the chances of\narbitrary calls generating a DisplayContent without the related\nActivityDisplay on the ActivityManager side.\n\nSince display creation is now driven on the ActivityManager side,\nthe ActivityManagerService must be initialized and associated with\nthe WindowManagerService before the WindowManagerService can be fully\ninitialized. This is reflected in changes to SystemServer.\n\nFixes: 72228411\nTest: go/wm-smoke-auto\nChange-Id: I8dddb5fc109be4363de5ba87faff9d9885009042\n"
    },
    {
      "commit": "9accbba1b7c3a47fdb16c47287844f7063acda46",
      "tree": "7ffad77734e4e405deb7cd30fd490c968cdb853f",
      "parents": [
        "28ddc0a68ec32691544d4255f72776ce942cfcb1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Jan 30 16:41:00 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Feb 07 12:36:05 2018 -0800"
      },
      "message": "[RTT] Remove the legacy RTT service\n\nRemove the legacy RTT service. RTT requests are already directed to\nthe new API by a previous CL.\n\nBug: 65108579\nTest: unit tests\nTest: WifiRttManagerTest:test_regular_scan_then_rtt_ranging_stress\nChange-Id: I436e8bcd2f4e2ba6056870d887eea141fbebae85\n"
    },
    {
      "commit": "94292a388ce5ed17a7df4c19482f4c9f98fce310",
      "tree": "92509cb27bc7ce2762c706fb06cb7df0efaa8bd1",
      "parents": [
        "400e08ddc70191930734fa77f356b738c86b7196"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Fri Jan 26 17:16:53 2018 -0800"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Tue Feb 06 11:55:10 2018 -0800"
      },
      "message": "Move CarServiceHelperService (again)\n\nMove CarServiceHelperService.java and ICarServiceHelper.aidl from\nframeworks/base to frameworks/opt/car/services.\n\nBug: 72571496\nTest: Complies and runs\nChange-Id: I0f09c84e25a372dab3f170bd623f25a92f9b0f73\n"
    },
    {
      "commit": "bfb43ea9e684e62644cecf7f037c4087bfaa1e0f",
      "tree": "cc3073a12e102c231e0f67c9ddfa5366d45fdc6e",
      "parents": [
        "4a740846223aa58af065e2256fb0caa0ce6f9c53"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Feb 03 12:08:16 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Feb 03 12:49:30 2018 -0700"
      },
      "message": "Polished rapid data usage alerting.\n\nSwitch to reading limit information from NetworkPolicy, which is\ntypically populated from SubscriptionPlan.  This lets users have\ndirect control over the limits we\u0027re using to trigger rapid usage\nalerts, and makes the feature work without requiring that the carrier\nwire up SubscriptionPlan information.\n\nLet the user \"snooze\" the rapid usage alerting for a day at a time,\nso we\u0027re less annoying to them.  Send the snooze broadcasts as\nforeground, so that we don\u0027t re-post notifications while working\nthrough a long background broadcast queue.\n\nFix notifications to use the \"ALERTS\" channel, since these alerts\nreally are higher priority than simple \"STATUS\" updates; this also\ngives us HUN behavior when in full-screen apps.\n\nUpdate both service and unit tests to work directly with\nNotificationManager, instead of the raw AIDL.\n\nTest: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest\nBug: 72444638, 72436702\nChange-Id: I8d9138522a7779cc68eb9fa4777b50facb6567b7\n"
    },
    {
      "commit": "640734f43fb3cdd11dd8406b8427ae8e2b245ad8",
      "tree": "fb59e7e29b817756be7bfca851ce21c1fb6660ec",
      "parents": [
        "25a50edc6e6693f304c245ade6e591a6231b22f3"
      ],
      "author": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Mon Jan 29 13:57:44 2018 -0800"
      },
      "committer": {
        "name": "Erik Wolsheimer",
        "email": "ewol@google.com",
        "time": "Fri Feb 02 08:54:02 2018 -0800"
      },
      "message": "Unify configs that prevent select services from being run on watches\n\nBug: 72444680\nTest: Manual build and boot\nChange-Id: Iea247422a02dbd5fe09b17d85bcdf2a0c6f30233\n"
    },
    {
      "commit": "d32906c202db3b84151c310ecd89a07bb41208f7",
      "tree": "96f9d30087d29ed9c8e777883a8bb24d2a96c1a7",
      "parents": [
        "7933daec0a23366ef6a57aa1d7d5cbf3646a5943"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu Jan 18 04:34:44 2018 -0800"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Jan 29 17:16:21 2018 -0800"
      },
      "message": "Introduce a TextClassifierManagerService.\n\nApps wanting to use a TextClassifier service (instead of an\nin-app-process TextClassifier) bind to this service. The service\nbinds to and reroutes calls to a configured system TextClassifierService.\n\nTextClassifierManagerService manages the lifecycle of the configured\nTextClassifierService and binds/unbinds to preserve system health.\n\nA configurable TextClassifierService extends TextClassifierService,\ndeclares an android.textclassifier.TextClassifierService intent, and\nrequires a permission that is only granted to the system so only the\nsystem may bind to it.\n\nThe TextClassifierManagerService implements a similar interface to\nTextClassifierService (i.e. ITextClassifierService) but doesn\u0027t have to.\nThis is done for simplicity sake and things may change in the future.\n\nThe configuration of the default service is in config.xml.\nOEMs may change this with a config overlay.\nIf no TextClassifierService is specified, the default in app process\nTextClassifierImpl is used.\n\nBug: 67609167\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: tbd\nChange-Id: I8e7bd6d12aa1a772897529c3b12f47f48757cfe6\n"
    },
    {
      "commit": "fe4ae0c5b1bc3b31adc4cc2c5a0197e29e97b6bc",
      "tree": "be5ee1a4cb2113a220cf4a8a7fdfcb33fd1f2dd4",
      "parents": [
        "1caef5b882111f1911fd3438fb11fbf5793a89a5"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Jan 25 15:24:00 2018 +0000"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Fri Jan 26 10:37:32 2018 +0000"
      },
      "message": "Rename RefactoredBackupManagerService to BackupManagerService\n\nThe interface will be removed in a subsequent CL, it will be\neasier to deal with merge conflicts.\n\nTest: 1) m -j RunFrameworksServicesRoboTests\n      2) runtest -p com.android.server.backup frameworks-services\nBug: 65823538\nChange-Id: I37c4c6758c646e1b18889ed05aa1b1d7c6129cf0\n"
    },
    {
      "commit": "c6f994207dc7ec1e699415526c71dd96ec24f6b2",
      "tree": "7524a79b2ce22a0b5e2935bca7dbd06b446b70fe",
      "parents": [
        "388090fbdd1f38dedf49b12dac425a0807215a02",
        "07342dc1755706d26e614e18fa5ab3b32c435d38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 20:12:43 2018 +0000"
      },
      "message": "Merge \"Add pending system update info system APIs.\""
    },
    {
      "commit": "07342dc1755706d26e614e18fa5ab3b32c435d38",
      "tree": "6f4f58ea7f3d24821d91d6eae9cee7b67c13288f",
      "parents": [
        "022320cb57c39bddab00fda7b8e14840ad503e23"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jan 24 15:08:21 2017 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Jan 18 14:41:41 2018 -0800"
      },
      "message": "Add pending system update info system APIs.\n\nThis CL adds system APIs in android.os.SystemUpdateManager. The APIs allow\nsystem updater apps (RECOVERY permission required) to publish the pending\nsystem update information, and allow other apps to query the info\naccordingly (requiring RECOVERY or READ_SYSTEM_UPDATE_INFO permission).\n\nDesign doc in go/pi-ota-platform-api.\n\nBug: 67437079\nTest: Use test apps to call the new APIs to query and set the update info\n      respectively.\nChange-Id: Id54b4a48d02922d2abd906dd7e2ec80a656fc9b1\n"
    },
    {
      "commit": "b0d22627e9e11bd40d305742dd4d2fe77f179a22",
      "tree": "1bf03709c64b4cc749185339edadfec642b884ea",
      "parents": [
        "e8ffec166131d27e47fbf21c9db9f6812051b15f"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 18 12:49:49 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jan 18 21:07:50 2018 +0000"
      },
      "message": "Rename CrossProfileApps API as per API council feedback\n\nThree changes:\n1. android.content.pm.crossprofile - \u003e android.content.pm\n2. getProfileSwitchingIcon -\u003e getProfileSwitchingIconDrawable\n3. startMainActivity “user” parameter should be named “targetUser”\n\nTest: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest\nTest: atest frameworks/base/core/tests/coretests/src/android/content/pm/CrossProfileAppsTest.java\nTest: atest cts/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CrossProfileAppsHostSideTest.java\n\nFIXES: 71818128\n\nChange-Id: Icf9a6d1f8b6808935ffd79b43185c7b12235f349\n"
    },
    {
      "commit": "569da9ff5a34d900e34eb4c669e88907c9c9f8da",
      "tree": "c578b428b2c8d915fc56e02bc01396dd2565bd19",
      "parents": [
        "39a57e7a97cb3f77ddd957c328d7cffcc2bcae59"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 06 09:53:52 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 12 18:02:49 2018 -0800"
      },
      "message": "Add MediaUpdateService in SystemServer\n\nTest: play mp4 file and install \u0026 uninstall media update apk.\nBug: 67908547\nChange-Id: I17f91a85994da9a43e08734f7e79311bee62eab1\n"
    },
    {
      "commit": "7fcd659705fc77114fd96e179d6b7fd8a61f71e7",
      "tree": "43e23a5df7b3bd05140d0e2893611c79a91a4653",
      "parents": [
        "a629e4c393e5ac52c07598a5d3b4ed120115c97d"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Dec 15 11:56:36 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Dec 15 17:34:52 2017 -0800"
      },
      "message": "Enabled SQLiteCompatibilityWalFlags class\n\nIn system_server, it should be deactivated until InstallSystemProviders\nis finished.\n\nTest: SQLiteCompatibilityWalFlagsTest\nTest: setting put global ... + verify that dumpsys dbinfo has the new flag\nBug: 70226732\nBug: 70517616\nChange-Id: Iec6a5e61a5d7e4cc0ac602f2b630357c54bb4456\n"
    },
    {
      "commit": "91f757b50ce20261df2ac454e825bcf75541192e",
      "tree": "4efd35dcff288068a54ea0452f0b54ca7c714bc6",
      "parents": [
        "02775c7852273db2122b7daef8c0efc3178f17c1"
      ],
      "author": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Mon Dec 11 11:54:40 2017 -0800"
      },
      "committer": {
        "name": "bohu",
        "email": "bohu@google.com",
        "time": "Tue Dec 12 23:01:44 2017 -0800"
      },
      "message": "Check wifi feature before starting wifi service\n\nOtherwise, Wifi service could crash SystemServer;\nfor example, on emulator system image where wifi\nfeature is missing, starting wifi will cause boot\nfailure.\n\nBUG: 70378659\n\nChange-Id: I82546c2c63fb6736e8216a7942fba2d3c9affb13\n"
    },
    {
      "commit": "8f5f7ff5faa46d4daca3d99f591567a21c591079",
      "tree": "761989a44ffdbcdc783cbe86a13fa7b401ba1387",
      "parents": [
        "d52efa56adaca0bc70fb72082c7c663adcb669cc"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Oct 17 14:12:42 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Dec 05 13:37:37 2017 -0500"
      },
      "message": "Add system service for slices\n\nWill be used to manage permissions and possibly pinned state for slices.\n\nTest: manual\nChange-Id: Ie53f4988f817ac5b920087567dbac751e2857dbf\n"
    },
    {
      "commit": "a81b8c0932fa6a2198558b164a1aebdad0fcecc3",
      "tree": "5f91be321f5c0d673f32948c725c1054120d0ee3",
      "parents": [
        "2a64dbce69cbea3a79c153596faa1bdd1de5f6eb"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Nov 13 15:51:03 2017 -0800"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Nov 14 14:31:32 2017 -0800"
      },
      "message": "Provide remote stack trace information\n\nThe stack is truncated up to 5 lines at parcel time. When unparceling,\na separate RemoteException will be created and set as a cause of the\nexception being thrown.\n\nPerformance results(in nanoseconds):\ntimeWriteExceptionWithStackTraceParceling  4168\ntimeWriteException                         2201\ntimeReadException                         15878\ntimeReadExceptionWithStackTraceParceling  23805\n\nTest: manual + ParcelPerfTest\nBug: 36561158\nChange-Id: I18b64a6c39c24ab067115874ddb5bd71f556a601\n"
    },
    {
      "commit": "3bba35111e844fbc906255e2dead386a96520ae4",
      "tree": "dfc94035e21a30e8d9baa0c5f6853ecaff9f75c4",
      "parents": [
        "e33bc3b967aef6f10df82e5b374e4b701ce6ca69",
        "1b708e68b3cc1eedecd6201286393edbc7a8aa73"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 13 06:43:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 13 06:43:44 2017 +0000"
      },
      "message": "Merge \"Introduce CrossProfileApps API\""
    },
    {
      "commit": "69dde2ed8d626fecfef32790e324398dcb7f3cad",
      "tree": "63edcd22a6daf1c8801774d255effb52a486ab7c",
      "parents": [
        "ee6786f63b8fb8a5ed108ce910a608758ab465e4",
        "5397f0353ab95be8b7dd6905a4a9749804a8c90b"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Thu Nov 09 17:50:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 17:50:11 2017 +0000"
      },
      "message": "Merge \"Rename NightDisplayController and -Service\""
    },
    {
      "commit": "1a6e667cb6e9211908d02eb21c50c006473376f9",
      "tree": "302d161f3ca154978de4359d670e10705729c5d2",
      "parents": [
        "7c0abe1920d1e8d413e5c11252f02ccc4d4d7ca7"
      ],
      "author": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Fri Oct 27 14:46:01 2017 +0100"
      },
      "committer": {
        "name": "Ricky Wai",
        "email": "rickywai@google.com",
        "time": "Wed Nov 08 18:57:46 2017 +0000"
      },
      "message": "Add Network security watchlist service\n\nNetwork security watchlist service is a service to monitor all potential\nharmful network traffic. By setting a network watchlist, any connections\nthat visit any site from watchlist will be logged.\n\nLogs will be aggregated everyday and encoded using differential\nprivacy before exporting it from framework.\n\nThis feature is disabled now, run \"setprop ro.network_watchlist_enabled true\" to enable it.\n\nAll network events are handled in an async bg thread, it should not\ncause any delay in netd. Also, it uses the hooks in enterprise network logging,\nso we can run netd_benchmark to measure the impact to netd.\n\nHere are the things not included in this CL:\n- ConfigUpdater to get and set watchlist\n- Differential privacy encoding logic and reporting\n- CTS\n- Memory and performance optimization for internal watchlist data structure\n\nTest: manual - turn on the feature, hard code a watchlist xml, process\nthat visited that domain is being logged in sqlite.\nTest: run netd_benchmark - seems no obvious performance change.\nTest: bit FrameworksCoreTests:android.net.NetworkWatchlistManagerTests\nTest: runtest frameworks-net\nTest: runtest frameworks-services -p com.android.server.net.watchlist\n\nBug: 63908748\n\nChange-Id: I09595178bac0070a867bc5e0501a7bf2c840e398\n"
    },
    {
      "commit": "5397f0353ab95be8b7dd6905a4a9749804a8c90b",
      "tree": "58e85788ddb908334daf0d699644752750029575",
      "parents": [
        "eac26194e8890e5e2b0f47ca3c0dee40e0882f92"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Wed Nov 01 18:35:16 2017 -0700"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Wed Nov 08 10:29:01 2017 -0800"
      },
      "message": "Rename NightDisplayController and -Service\n\nBug: 68258004\nTest: make -j100 \u0026\u0026 runtest -x\nframeworks/base/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoTileManagerTest.java\n\u0026\u0026 runtest -c com.android.server.ColorDisplayServiceTest\nframeworks-services\nChange-Id: I2b89942bd412e4d6958e65b62bc345fb1e60176f\n"
    },
    {
      "commit": "89182980450298763af9d5f46989f6239fa7a2da",
      "tree": "7a59487bda07ac562b60c59d975bf25ae92c707d",
      "parents": [
        "e4595d58b6c8d0a4495d089a826f42cb3ca46b85"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 01 19:02:56 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 03 17:36:35 2017 -0600"
      },
      "message": "Narrower StrictMode defaults.\n\nUntil now, userdebug and eng builds have tracked StrictMode\nviolations on all system apps, including prebuilts that we have no\ncontrol over, which results in a lot of unactionable noise.\n\nThis CL narrows the set of enabled apps to only \"bundled\" system\napps, which gives us a much higher chance of burning these violations\ndown to 0 and keeping them there.  We don\u0027t have a good proxy for an\napp being \"bundled\", so we detect it based on being in the \"android.\"\nor \"com.android.\" package namespace.\n\nClean up the entire flow of applying StrictMode defaults to make it\nmuch more human-readable.  This resulted in us fixing a bug where\nStrictMode was never actually enabled for jank-sensitive threads in\nsystem_server!\n\nRelax I/O checks in a few places where we know we\u0027re interacting with\nprocfs or sysfs.  Add internal \"allow\" methods that avoid object\nallocation by returning raw mask.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.StrictModeTest\nBug: 68662870\nChange-Id: I536e8934fbcdec14915fcb10995fc9704ea98b29\n"
    },
    {
      "commit": "f9ba65ac52062c9719c78b3a8503f77e84b756ce",
      "tree": "00091f092ce13c5eb3b49df439b5faf9c8bc2812",
      "parents": [
        "dceb42a1eeb782641c3ac4b33cf31bf2cee9fdff",
        "bc839a3957bae1beeba16a345b5e6770ea2b7dcc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 03 21:49:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 03 21:49:54 2017 +0000"
      },
      "message": "Merge \"Switch display control betw. Android and Sidekick\""
    },
    {
      "commit": "d906cc0901685d59345b207b96fc6e940bfba4f5",
      "tree": "aa3e767660f0c1a1f0be45d7668859740f24f4e7",
      "parents": [
        "51c05d23b4c5957c0b62f3f73510fbc2cf10ec62",
        "6f7a9e13a476f4d83637fabce08182f17c31b3da"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 03 21:23:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 03 21:23:48 2017 +0000"
      },
      "message": "Merge \"Revert \"SystemServer: spawn hwbinder threads before BatteryService\"\""
    },
    {
      "commit": "bc839a3957bae1beeba16a345b5e6770ea2b7dcc",
      "tree": "ddaafda34e95a4390c269b00174e19e43276db00",
      "parents": [
        "637c1ba196e0b4bb16766fafd1959b710f20847f"
      ],
      "author": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Sat Oct 21 14:46:15 2017 -0700"
      },
      "committer": {
        "name": "Chris Phoenix",
        "email": "cphoenix@google.com",
        "time": "Fri Nov 03 16:27:29 2017 +0000"
      },
      "message": "Switch display control betw. Android and Sidekick\n\nTest: builds; Sidekick animates watch faces\nChange-Id: I6ef1e91ed33b1790eed9a7b9af9bc6b6441c7de9\n(cherry picked from commit 40f6f257f537b270be06a09a959202260cb53267)\n"
    },
    {
      "commit": "6f7a9e13a476f4d83637fabce08182f17c31b3da",
      "tree": "5301743edb949fe971020d6f99ec941752888794",
      "parents": [
        "889902c9f9abb8ff4d74655850d282e2a5e7edb6"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Nov 02 20:23:08 2017 +0000"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Nov 02 20:58:11 2017 +0000"
      },
      "message": "Revert \"SystemServer: spawn hwbinder threads before BatteryService\"\n\nThis reverts commit 889902c9f9abb8ff4d74655850d282e2a5e7edb6.\n\nReason for revert: b41e87ae680beefd0d39a127d1ea0b2614caa5f9 fixes \nthe root issue. Revert the workaround.\n\nChange-Id: I2f5dfaee8bda17b1d6aeb8418b4a64084b6a6b56\nTest: multiple boots\nBug: 68785531\nBug: 68765551\n"
    },
    {
      "commit": "daca7ce5e7f1eff7f615958a26303763cedcedc5",
      "tree": "658d157f295f5f640f055b8d06080d0fe9d95b05",
      "parents": [
        "0978e7f592c5e665ffad88b56a4e6495e56962c0",
        "1c888f6d44ab39079b499f28666123826a71e658"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 02 10:22:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 02 10:22:20 2017 +0000"
      },
      "message": "Merge \"SystemServer: Get rid of some unused config.* knobs.\""
    },
    {
      "commit": "889902c9f9abb8ff4d74655850d282e2a5e7edb6",
      "tree": "204bb82b97a8f71832ee15014d958f5a02f1108e",
      "parents": [
        "80f05cee869995286acf7230f1733c7fbc12f308"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Nov 01 20:19:27 2017 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Nov 02 04:34:08 2017 +0000"
      },
      "message": "SystemServer: spawn hwbinder threads before BatteryService\n\nBatteryService is the first service that uses a hwbinder\ncall, so we need to spawn the threads for BatteryService to receive\ncallbacks prior to starting BatteryService.\n\nTest: boot test\nTest: manually sleep in SensorDeviceUtils, still boots\n\nBug: 68765551\nBug: 68217725\n\nChange-Id: Iadd88897d4cf9e0e37af706452c15318115f2149\n"
    },
    {
      "commit": "1b708e68b3cc1eedecd6201286393edbc7a8aa73",
      "tree": "779c81f259ff1466e0fdd0d95dd647e6bc9b8a8e",
      "parents": [
        "378f389b7585c9a71ec7096613d5b54b0cd815da"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Oct 12 10:59:11 2017 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Nov 01 10:11:51 2017 +0000"
      },
      "message": "Introduce CrossProfileApps API\n\nCTS will be in next CL.\nAPIs for labels/ icons of profile switching are not implemented yet.\n\nTest: Wrote a test app to play around the APIs\nTest: bit FrameworksServicesTests:com.android.server.pm.crossprofile.CrossProfileAppsServiceImplTest\nBUG: 67765768\n\nChange-Id: I27714aa4a8d61c6df398cbc5112cb4c35316a3fb\n"
    },
    {
      "commit": "1c888f6d44ab39079b499f28666123826a71e658",
      "tree": "4061615e70e22ba1eea6f930805b9dbaf9a2f63a",
      "parents": [
        "0de586a4ef82f7e551e26dbcd0f2689978364a1e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 30 14:35:15 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 30 14:35:15 2017 +0000"
      },
      "message": "SystemServer: Get rid of some unused config.* knobs.\n\nThey are untested and were committed as part of a legacy refactoring\nthat appears incomplete.\n\nThe Wear team have added a few new config.* flags to disable services\nthey don\u0027t need on watches. These should probably be unified since we\ndon\u0027t really need this fine level of granularity.\n\nTest: make \u0026 flash\nBug: 64052650\nChange-Id: I5c8ed3f0e78c2ed0d2e733939a82e1ab8940de22\n"
    },
    {
      "commit": "4b34000a21e5d3e3eb75c69e9d2e511a814aff13",
      "tree": "71f76903eb52bb66858196fdcc02bbb3da31bebf",
      "parents": [
        "87d2ba36d18212692a4426bf0fe0773e9dff4a8b",
        "e78b01ad2d7779ad3a6acfe5acd0068e4840665c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 26 23:45:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 26 23:45:46 2017 +0000"
      },
      "message": "Merge \"Add proto dump flag to services (2/2)\""
    },
    {
      "commit": "e78b01ad2d7779ad3a6acfe5acd0068e4840665c",
      "tree": "637bde2856e2231a98359d16ef15f9b544e02c19",
      "parents": [
        "a5da2cf57d581ea87481612e2a7b5e4f83119071"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Oct 26 10:11:54 2017 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Oct 26 10:11:54 2017 -0700"
      },
      "message": "Add proto dump flag to services (2/2)\n\nAdds new PROTO flag which requests services to dump sections in proto format. Modifies PriorityDumper helper class to parse proto arguments and set asProto flags. Registers WM and AM with proto dump supprt.\n\nBug: 67716082\n\nTest: frameworks/base/services/tests/runtests.py -e class \"com.android.server.utils.PriorityDumpTest\"\nTest: adb bugreport ~/tmp/bug.zip\nTest: adb shell dumpsys window --proto\nTest: adb shell dumpsys activity --proto\n\nChange-Id: Icfc6857c8a9340110a43343734a27e48d0b5a229\n"
    },
    {
      "commit": "5c010903b1602db5f1712ccc8a9284331f00d219",
      "tree": "0b9751a9692e53a7f20f6687376118cdeaf3a41f",
      "parents": [
        "fe0c2c4506cf79a313b6f9cacd9746badd6c9b3a"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Oct 26 10:08:50 2017 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Oct 26 10:08:50 2017 -0700"
      },
      "message": "Register ConnectivityService with dumpsys priorities\n\nRegister service with HIGH and NORMAL priority suppport. Dump network diagnostics as part of the HIGH priority bucket.\n\nTest: adb shell setprop dumpstate.version \"2.0-dev-priority-dumps\" \u0026\u0026 \\\n                adb bugreport ~/tmp_new.zip\nTest: adb shell dumpsys --priority HIGH\n\nChange-Id: I1ad263efbc264c3328e70dc9f7ddeb2d31bc4d41\n"
    },
    {
      "commit": "ffac772f9225339b94231db2d0d92d4e025d942a",
      "tree": "8f513b589436e914e3026a9f92911c0d1b895250",
      "parents": [
        "5b1c33e45f84c34e1a78796a8550f17abf989a6d"
      ],
      "author": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Mon Oct 23 22:59:10 2017 +0000"
      },
      "committer": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Mon Oct 23 22:59:10 2017 +0000"
      },
      "message": "Revert \"Removing stats service registration in system server\"\n\nThis reverts commit 5b1c33e45f84c34e1a78796a8550f17abf989a6d.\n\nChange-Id: I4958b8e466a15b0dbaaa21ddcd592caa479d1850\n"
    },
    {
      "commit": "5b1c33e45f84c34e1a78796a8550f17abf989a6d",
      "tree": "d258d714b82799376cdfe28f31843e2739dfbc92",
      "parents": [
        "e059b0f5851bb334a3d07d6b17365052d42d2761"
      ],
      "author": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Fri Oct 20 10:28:24 2017 -0700"
      },
      "committer": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Fri Oct 20 12:49:48 2017 -0700"
      },
      "message": "Removing stats service registration in system server\n\nIntroduced in ag/2837473, this stats service is not actually up and\nrunning fully. It is creating boot time selinux denials due to lack of\npermissions for system server to start the service. Since it cannot run\ndue to system server being unable to register it with servicemanager, the\nregistration code is being removed for now to clean up boot denials.\n\nRemoving this boot denial will allow boot-time presubmit tests for SELinux to be\nput into place. Service definition and sepolicy for this feature can be\nadded when the feature is approved in the future.\n\nBug: 67468181\nTest: servicemanager does not generate denials on boot\nChange-Id: Id6a29cc6abb8ebf5a3f41da4311a555f41dd80b3\n"
    },
    {
      "commit": "2d3365e1ae5ce5efe29a4e5fc3edfec2db35ab84",
      "tree": "5aa22ba6c30ee7039038bcd9232db5ac99b7cebf",
      "parents": [
        "c35ca6de375a1a17a3e070f85e7cf15272d92181",
        "1bfe59d17955bf75b44600b18927d07552e2378c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 19 18:47:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 19 18:47:02 2017 +0000"
      },
      "message": "Merge \"Start IoT System Service from SystemServer\""
    },
    {
      "commit": "edfcb00fda47a0959733e8ee52363963f68bb296",
      "tree": "c0a926242441dc1e5ec75f26ccd57fb87f2c18e3",
      "parents": [
        "0f2512db60d8b0a217b882e6230421600eeef68f"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Oct 10 17:22:58 2017 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Oct 18 09:38:52 2017 +0900"
      },
      "message": "Add config resource to specify device specific services\n\nThe new string resource contains class names of device specific services\nand referred by SystemServer.java.\n\nBug: 63893131\nTest: Manually added device specific service and see if it\u0027s launched\nChange-Id: I0cf88de5dfcf86dad459c0909073dce7fbfa57b9\n"
    },
    {
      "commit": "1bfe59d17955bf75b44600b18927d07552e2378c",
      "tree": "c9905e6ef6cae925dce66b6d28ca2fdfb6c959dd",
      "parents": [
        "1a1cee7268a675438c69f0e02433560517d18f4f"
      ],
      "author": {
        "name": "Nick Felker",
        "email": "fleker@google.com",
        "time": "Thu Oct 12 13:27:02 2017 -0700"
      },
      "committer": {
        "name": "Nick Felker",
        "email": "fleker@google.com",
        "time": "Sat Oct 14 00:07:33 2017 +0000"
      },
      "message": "Start IoT System Service from SystemServer\n\nFor feature type \"embedded\", launch IoTSystemService from\nSystem Server.\n\nTest: Wrote a IotSystemService and ensured that the service is\nsuccessfully started on an iot device.\n\nBug: 67641069\nChange-Id: I5aa0408f35fb4a5b0787cf9b20454720d8ae130f\nCherry-picked and refactored from oc-iot-dev branch\n"
    },
    {
      "commit": "e9852f5245d8b137750075a48303514d5e757185",
      "tree": "440728b023680d4c2269e16f0bff5dd44cd5fd5a",
      "parents": [
        "96a30ab84c9e856cd7152d66d603205c3daff36e"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed Oct 11 18:09:55 2017 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed Oct 11 18:09:55 2017 -0700"
      },
      "message": "Register wm, am, cpuinfo, meminfo services with dumpsys priorities\n\nRegister services to be called as soon as a bug report is taken so relevant debug info can be captured.\n\ndumpsys --priority CRITICAL times: adb shell dumpsys --priority CRITICAL | grep \"was the duration\"\n0.005s was the duration of dumpsys SurfaceFlinger\n0.002s was the duration of dumpsys cpuinfo\n0.003s was the duration of dumpsys activity\n0.025s was the duration of dumpsys window\n\nBug: 31774394\n\nTest: adb shell setprop dumpstate.version \"2.0-dev-priority-dumps\" \u0026\u0026 \\\n                adb bugreport ~/tmp_new.zip\nTest: adb shell dumpsys --priority CRITICAL\nTest: adb shell dumpsys --priority HIGH\nTest: adb shell dumpsys --priority NORMAL\nChange-Id: Ic656a05dd9a838f0b13043b4387dae7b5c691f7e\n"
    },
    {
      "commit": "c56106a13edde7404275bcf97ae143f600857d7c",
      "tree": "9963c933233c64ab72b0b2aebebb637ede502fc9",
      "parents": [
        "9eb155567d911516ed23bad643b47486d6cc6fcd"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Oct 06 17:02:21 2017 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Oct 09 14:27:47 2017 -0700"
      },
      "message": "Crash if not all privileged permissions are whitelisted\n\nTest: reboot device - no crashes\nTest: Ran privapp_permissions.py for fugu/marlin/taimen\nBug: 64693550\nChange-Id: I9522ccaa75858b9a3d153c95c529eff70cd13994\n"
    },
    {
      "commit": "5b8273e4655da5c8f6a1fb38f073a0caba342e73",
      "tree": "0b614695be3bb3dc5b95e2d7d81d945e08856823",
      "parents": [
        "dcc0ee2dd65129b2701a70446cf8ef6a00e03e08",
        "692e68e7a2b8d7028d5b4e7d44da6697974f8d2f"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Oct 03 20:14:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 20:14:31 2017 +0000"
      },
      "message": "Merge \"[RTT2] Add API for testing whether feature exists on platform\""
    },
    {
      "commit": "dffe6733b23625d6bc2fb256441e2e863bc77128",
      "tree": "a422ec23a1e847da4970e79b998694be54e660b0",
      "parents": [
        "62b4cf99a9f759d30ca1301f53dfecf59113a14d",
        "ff937ac226c73f992df79b61a16973b41b406772"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 19:35:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 19:35:06 2017 +0000"
      },
      "message": "Merge \"Improve handling of devices without a WebView.\""
    },
    {
      "commit": "48ffde7ed077c8658d5d87a9d1bd100413953ac3",
      "tree": "b01129d94f20c963144823e897506e999246e085",
      "parents": [
        "efed687188dbe4266ac385998bb022663c0e482e",
        "17ba47254ceabc27c3c8ebc8728fa6c0d55975bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 03 15:48:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 15:48:31 2017 +0000"
      },
      "message": "Merge \"[RTT2] New (v2) Wi-Fi RTT framework\""
    },
    {
      "commit": "ff937ac226c73f992df79b61a16973b41b406772",
      "tree": "b1d69caf68bc96f5a5f535b170b7c311db34c43f",
      "parents": [
        "f27d5f0afc5a7badcb16bdcc34a8fa79613f18f4"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Mon Oct 02 17:09:32 2017 -0400"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Tue Oct 03 10:40:20 2017 -0400"
      },
      "message": "Improve handling of devices without a WebView.\n\nUse the presence of FEATURE_WEBVIEW to determine whether a device is\nintended to have a WebView implementation or not, instead of trying to\nfall back to NullWebViewFactoryProvider after loading WebView fails.\nThis removes the need for nullwebview entirely, and eliminates a class\nof possible bug where unexpected exceptions during loading cause the\nfallback mechanism not to work reliably.\n\nOn devices which don\u0027t have the feature, don\u0027t start\nWebViewUpdateService at all. Guard all the places which try to access\nthe service to return reasonable (empty/null) results when this is the\ncase, instead of throwing exceptions.\n\nChange-Id: I839adaaf0abee28f4989e3fbc0c49c0732d0ec1c\nBug: 31849211\nFixes: 28529980\nTest: on wear and non-wear, cts-tradefed run cts -m CtsWebkitTestCases\n"
    },
    {
      "commit": "692e68e7a2b8d7028d5b4e7d44da6697974f8d2f",
      "tree": "925b7c4ca54378cfee49c25c8ac69897a7ba8d38",
      "parents": [
        "17ba47254ceabc27c3c8ebc8728fa6c0d55975bc"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Sep 14 15:42:01 2017 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Oct 03 07:01:05 2017 -0700"
      },
      "message": "[RTT2] Add API for testing whether feature exists on platform\n\nAdd PackageManager API which allows apps to test whether the platform\nofficially supports the Wi-Fi RTT API.\n\nOnly start the RTT service if the device supports it.\n\nBug: 65014628\nTest: integration tests pass\nChange-Id: Ie88bd29ccd592e9a29ff24e8cc346afc360f03b0\n"
    },
    {
      "commit": "17ba47254ceabc27c3c8ebc8728fa6c0d55975bc",
      "tree": "8ee3219ea3bd0470533614dec81635484c9b4a59",
      "parents": [
        "e77a09c7aecca9c5a8c016cfeea85c5516a2131a"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Aug 21 10:52:17 2017 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Oct 03 07:01:01 2017 -0700"
      },
      "message": "[RTT2] New (v2) Wi-Fi RTT framework\n\nReplace existing Wi-Fi RTT manager framework. Creating new framework\nin parallel since there\u0027s code using the new framework - will be\nswitched over once new version ready.\n\nNew version is AIDL-based.\n\nBug: 65014552\nTest: unit tests and integration tests\nChange-Id: Id468c9b2a3c94eb30959f5ac5e4b1688fb8fc633\n"
    },
    {
      "commit": "bef5f4a64f7a4b09609aeb9bec7fbd1224c712c5",
      "tree": "fff008c88503b37f029f2c0b5afa96cc1f92bc74",
      "parents": [
        "de893f3f0a73e453ed3e3eca39df02829db4f0d4"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Wed Sep 27 18:16:30 2017 +0100"
      },
      "committer": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Thu Sep 28 14:10:56 2017 +0100"
      },
      "message": "Switch to use RefactoredBackupManagerService\n\nKeeping the legacy BackupManagerService for now, but we\u0027ll remove\nit in a few weeks if there\u0027s no issues noticed.\nIn case of any problems, this CL can be cleanly reverted as a fallback.\n\nTest: pretty much all we got in store\n1) runtest -p com.android.server.backup frameworks-services\n2) make gts -j40 \u0026\u0026 gts-tradefed run gts -m GtsBackupHostTestCases\n3) make cts -j40 \u0026\u0026 cts-tradefed run cts -m CtsBackupTestCases\n4) make pts -j40 \u0026\u0026 pts-tradefed run pts -m PtsBackupHostSideTestCases\n5) manual: \"adb shell bmgr backupnow --all\" and then cloud restore,\n   D2D scenarios (both as source and target)\nBug: 65823538\nChange-Id: I701764995c4fe2611a4941aecb45315aa457658e\n"
    },
    {
      "commit": "7bbe9c70f308399675783696f4af1c2da5ce4e18",
      "tree": "f47d7674cce11409aabd7a21ce91edf0f11c3f14",
      "parents": [
        "1ff15a961834c7306059324a8386dfbdbd56ec71",
        "458b8cd3024362e285baf1eae1d23cee3b950c29"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Sep 26 22:48:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 22:48:25 2017 +0000"
      },
      "message": "Re-Enable Starting of the IpSecService am: b72821747c am: f434a6d308 am: 686a8282bb\nam: 458b8cd302\n\nChange-Id: Ic492c58b8c9b56f870c99336e82fd8d05c9e8969\n"
    },
    {
      "commit": "458b8cd3024362e285baf1eae1d23cee3b950c29",
      "tree": "0e089b23a82816a27a82a039dcdf585fc1090d86",
      "parents": [
        "e87caf2e920ea0509b3f983b1142c1ed14cf930f",
        "686a8282bbdbc57d67d0ec911d8bcdb0ae08c66c"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Sep 26 22:37:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 22:37:44 2017 +0000"
      },
      "message": "Re-Enable Starting of the IpSecService am: b72821747c am: f434a6d308\nam: 686a8282bb\n\nChange-Id: Ia24348d585b2f1050dafd161eafcdadf0edd82c0\n"
    },
    {
      "commit": "f434a6d308b8b2f25bd786d2118a8487d3ddd9b9",
      "tree": "383c63a3a2a917e5c9e5dec176891d699a1ad80d",
      "parents": [
        "a2161c5ccb4a6f24a6c53d1623624d5c57073558",
        "b72821747cd8cfa9bcaff7f11247ebfce3255fbf"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Sep 26 22:11:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 22:11:58 2017 +0000"
      },
      "message": "Re-Enable Starting of the IpSecService\nam: b72821747c\n\nChange-Id: I1f64aa2fdf1cce6dea91427eda65c4b8ee6f6b02\n"
    },
    {
      "commit": "43b272e20c031f48b0f0d9775723ae962f7d7472",
      "tree": "d1fc16b07b9f92d8139d838bc880a7d6b6061879",
      "parents": [
        "8c85e5ffe65f7ff2e30e405e61a9e64ef3b69b78",
        "0e95909ef0b2aac44f305551ea2aa03209b1eec0"
      ],
      "author": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Sep 20 14:01:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 20 14:01:49 2017 +0000"
      },
      "message": "Merge changes I82fe220e,Iff324c73,I3bd73acd\n\n* changes:\n  indexed priority queue for AnomalyMonitor\n  StatsCompanionService connection to Statsd\n  Set up StatsCompanionService.java\n"
    },
    {
      "commit": "8acdb8aa654d3cc7511ea77420849398487f4fcb",
      "tree": "4fbb70fb34f3092ca940a40003eac14c882dc6cd",
      "parents": [
        "649f3bf73f1fb803d81d32efda88093afad37543",
        "83c367aa5b483bde9b93a156b330714891e41ceb"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 20 13:43:28 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 20 13:43:28 2017 +0100"
      },
      "message": "resolve merge conflicts of 83c367aa5b48 to stage-aosp-master\n\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ia3dc2e0b10bbf5be9c7d8f98b03cf8030bbfff07\n"
    },
    {
      "commit": "933845c4801ae8239604611b7cc92dc973b239cc",
      "tree": "86db6bd2b7bb131bfc703f57c78591aa2930d045",
      "parents": [
        "61faffd75b1226414480c5c2eae77482e8f8c10c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 13 21:59:59 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Sep 19 16:12:57 2017 +0000"
      },
      "message": "Fix reliability triggering\n\nFix reliability triggering in the time zone update\nfeature. The reliability triggering is there to\nresume an update check when things go wrong. For\nexample, if the device is turned off after a\ntime zone data app is updated but before the time\nzone update process has finished pulling the data\nout and installing it in /data. The reliability\ntrigger happens when the device is idle and will\ncomplete the work.\n\nThe idle triggering currently doesn\u0027t work as it\nwas implemented incorrectly.\n\nThe code has been changed to use the\nJobScheduler to trigger on idle and scheduling\nhas been made explicit.\n\nUnit tests run with:\n\nmake -j30 FrameworksServicesTests\nadb install -r -g \\\n  \"out/target/product/marlin/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w \\\n  com.android.frameworks.servicestests \\\n  \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above\nTest: Manual testing: adb shell am idle-maintenance, adb logcat/adb shell dumpsys timezone\nTest: PTS: run pts -m PtsTimeZoneTestCases\nBug: 65657543\nChange-Id: Ibb2c537955d09a5d538c50490dae94a518522f19\nMerged-In: Ibb2c537955d09a5d538c50490dae94a518522f19\n(cherry picked from commit cd1a109b872f58f5baa0ce8438bf3ddd69eec9fc)\n"
    },
    {
      "commit": "782a79f47aea44c0f3124ec3ddce0744c5462ffe",
      "tree": "c24413678ac6881a2ba96a1279f7d7da28238de4",
      "parents": [
        "46af70cad993d4b7d334ecebe3951ee764357334"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 13 21:59:59 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Sep 19 17:10:46 2017 +0100"
      },
      "message": "Fix reliability triggering\n\nFix reliability triggering in the time zone update\nfeature. The reliability triggering is there to\nresume an update check when things go wrong. For\nexample, if the device is turned off after a\ntime zone data app is updated but before the time\nzone update process has finished pulling the data\nout and installing it in /data. The reliability\ntrigger happens when the device is idle and will\ncomplete the work.\n\nThe idle triggering currently doesn\u0027t work as it\nwas implemented incorrectly.\n\nThe code has been changed to use the\nJobScheduler to trigger on idle and scheduling\nhas been made explicit.\n\nUnit tests run with:\n\nmake -j30 FrameworksServicesTests\nadb install -r -g \\\n  \"out/target/product/marlin/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w \\\n  com.android.frameworks.servicestests \\\n  \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above\nTest: Manual testing: adb shell am idle-maintenance, adb logcat/adb shell dumpsys timezone\nTest: PTS: run pts -m PtsTimeZoneTestCases\nBug: 65657543\nChange-Id: Ibb2c537955d09a5d538c50490dae94a518522f19\nMerged-In: Ibb2c537955d09a5d538c50490dae94a518522f19\n(cherry picked from commit cd1a109b872f58f5baa0ce8438bf3ddd69eec9fc)\n"
    },
    {
      "commit": "2780e401c6c8aea5c76e448dbad7666241341adf",
      "tree": "45977a031b16dfb4b87174054b3a318f02b4a069",
      "parents": [
        "096a47d59f418c6dad0caf2d92614249f769d622",
        "cd1a109b872f58f5baa0ce8438bf3ddd69eec9fc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 19 15:36:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 19 15:36:52 2017 +0000"
      },
      "message": "Merge \"Fix reliability triggering\""
    },
    {
      "commit": "cd1a109b872f58f5baa0ce8438bf3ddd69eec9fc",
      "tree": "559b3784bd30e4824bd605a28fab087c916ecdb6",
      "parents": [
        "bcd3f07cc2514f1304580e0a4cb7d140d7178018"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Sep 13 21:59:59 2017 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Sep 19 13:31:12 2017 +0000"
      },
      "message": "Fix reliability triggering\n\nFix reliability triggering in the time zone update\nfeature. The reliability triggering is there to\nresume an update check when things go wrong. For\nexample, if the device is turned off after a\ntime zone data app is updated but before the time\nzone update process has finished pulling the data\nout and installing it in /data. The reliability\ntrigger happens when the device is idle and will\ncomplete the work.\n\nThe idle triggering currently doesn\u0027t work as it\nwas implemented incorrectly.\n\nThe code has been changed to use the\nJobScheduler to trigger on idle and scheduling\nhas been made explicit.\n\nUnit tests run with:\n\nmake -j30 FrameworksServicesTests\nadb install -r -g \\\n  \"out/target/product/marlin/data/app/FrameworksServicesTests/FrameworksServicesTests.apk\"\nadb shell am instrument -e package com.android.server.timezone -w \\\n  com.android.frameworks.servicestests \\\n  \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nTest: See above\nTest: Manual testing: adb shell am idle-maintenance, adb logcat/adb shell dumpsys timezone\nTest: PTS: run pts -m PtsTimeZoneTestCases\nBug: 65657543\nChange-Id: Ibb2c537955d09a5d538c50490dae94a518522f19\n"
    },
    {
      "commit": "54402795b7dd77c834f81d4157fa727b9557d568",
      "tree": "165be38e53ff1f4a180a44b721465ee68720435f",
      "parents": [
        "ff7ac22471868a569faa58ef236a0a568eb076fc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 15 16:05:19 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 18 16:00:33 2017 -0600"
      },
      "message": "Destroy vold socket interface completely.\n\nLong live Binder.\n\nTest: yes\nBug: 13758960\nChange-Id: I08e8c513b1dea217d64d06e9d8bec6171c8afdaf\n"
    },
    {
      "commit": "b72821747cd8cfa9bcaff7f11247ebfce3255fbf",
      "tree": "af7ce959c1283897882767bc89a2e0dd204255dd",
      "parents": [
        "7b625191e2d58ba391b413a068fe6867e9e325ea"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Sep 11 19:50:19 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Sep 12 19:25:09 2017 -0700"
      },
      "message": "Re-Enable Starting of the IpSecService\n\nThis reverts commit 41004ff4113dc9175c993638a47af602af6d8a98.\n\nBug: 64800246\nTest: compilation\nChange-Id: I4f5e3cd23001b9d94b3f6dc9fcfe731a90650e6e\n"
    },
    {
      "commit": "947264128775be7f47d3e170a0fbeb6a14a5241e",
      "tree": "25618b4fde423b42c886a78145b3dfcc9a8795f6",
      "parents": [
        "5feb624495ebe237c14091a9fa66c6a1e61f2cbf"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Aug 31 09:26:15 2017 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Sep 12 14:56:54 2017 -0700"
      },
      "message": "Set up StatsCompanionService.java\n\nIntroduces StatsCompanionService.java and sets it up as a system service.\n\nThis service is a helper for statsd. It will be responsible for setting\nand cancelling alarms related to polling stats and anomaly detection.\n\nIt currently does not have selinux permission, so must be started\nmanually (or with selinux temporarily disabled).\n\nTest: disable enforcing selinux, then set and cancel alarms and make\nsure they work.\n\nChange-Id: I3bd73acdd998ee424696cce40965134c14220d8f\n"
    },
    {
      "commit": "477c36481912734f497ce41d53bdac50a2d6a714",
      "tree": "7d9355ac3147535eddb8951271b712fdc8a1b464",
      "parents": [
        "d509c56d4520e9d6749f53e7d44abccfb05634c6",
        "7bba64935214555f51adce48020827d0ad09ada9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 31 18:31:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 31 18:31:24 2017 +0000"
      },
      "message": "Merge \"Fix issue #65055576: VoiceInteractionManagerService sets...\" into oc-mr1-dev am: 9d484f015f\nam: 7bba649352\n\nChange-Id: I8c97bc1d29dcff6c2a4cafe0ff649d725b1f2266\n"
    },
    {
      "commit": "31cb01d5ddaaaca5d4eec2e960b7457e96ac32ce",
      "tree": "042843cce2827db1ee7eb99e78fc3c388e556781",
      "parents": [
        "61492c85ba8bb1823a52f92e52386a9f6f98f831"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 30 16:21:28 2017 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 31 10:21:22 2017 -0700"
      },
      "message": "Fix issue #65055576: VoiceInteractionManagerService sets...\n\n...VOICE_RECOGNITION_SERVICE that is needed for SearchSpeechServices\n\nSystem setup was incorrectly completely runing off\nVoiceInteractionManagerService if the associated feature is not set,\nbut the service needs to always be running, and instead rely on\nthe existing logic of reducing functionality if it should not be\nrunning full voice interaction services.\n\nTest: manually booted and ran\nBug: 65055576\n\nChange-Id: I9a83216d45689440c71d657ba2721faf0662b0ff\n"
    },
    {
      "commit": "db4eeb5e0f89c612da20b98c08afd301b471af64",
      "tree": "bcdc99bf8d2f20a8a96a550e967ba3f4e5567611",
      "parents": [
        "0388e2c3c90d76b4a729e74ce694b97f25e8ff69",
        "1decec59374d83c5acb5f851d65f2970a4962d01"
      ],
      "author": {
        "name": "Roger 1 Jönsson",
        "email": "roger1.jonsson@sony.com",
        "time": "Fri Aug 25 23:22:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 25 23:22:29 2017 +0000"
      },
      "message": "Merge \"Create new trace object when logging from new thread\" into oc-mr1-dev am: 071edf5b09\nam: 1decec5937\n\nChange-Id: Ie2cb8e2553937eb78f2644ff7f49defe73d147e5\n"
    },
    {
      "commit": "341b2c172f71200e7956ae29e954474c9095923b",
      "tree": "137b286b1e39dc9852fc264e860ef25a858fee7b",
      "parents": [
        "6ebd3594aec051ad426bd6ff35fcd5aea28a8775"
      ],
      "author": {
        "name": "Roger 1 Jönsson",
        "email": "roger1.jonsson@sony.com",
        "time": "Wed May 17 14:21:55 2017 +0200"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Aug 25 13:22:53 2017 -0700"
      },
      "message": "Create new trace object when logging from new thread\n\nCreate new BootTimingsTraceLog object for logging when starting HIDL\nservices from different thread, in order to avoid exception.\n\nBug: 64111691\nTest: Manual - device boots, metrics are logged to system/event log\nChange-Id: I05834b7fe8078fbf772f9b29f0dd3aa4288f8f23\n"
    },
    {
      "commit": "0aef1c98c9b55d18c91216e03b4a53675756e80c",
      "tree": "a0616351d329768b20e806107005a92ea978b6d9",
      "parents": [
        "31fe1bd711e6ebb83da7b295b30d4642516d557b",
        "34cac26ea410d181620494d62dee553dc7dd89f5"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Aug 14 21:25:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 14 21:25:01 2017 +0000"
      },
      "message": "Merge \"Log timings for shutdown stages\" into oc-mr1-dev am: fe97799d5d\nam: 34cac26ea4\n\nChange-Id: Ifedc47b10e7542a0f28bbee1ac00490513cc0e5f\n"
    },
    {
      "commit": "6e3461b67cae27a42a4d77fa277ba2d844ea0cde",
      "tree": "a3adf041c8c171ba753829a53e92bde4dfe55e5a",
      "parents": [
        "a2991d045d549fb7570619ae658a23f10bee172e"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Thu Aug 10 17:00:43 2017 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Aug 14 11:23:29 2017 -0700"
      },
      "message": "Log timings for shutdown stages\n\nRenamed BootTimingsTraceLog to TimingsTraceLog. It is now used for\n boot and shutdown logging.\n\nAdded measurements for main stages of shutdown in the system server:\nShutdownTiming: SendShutdownBroadcast took to complete: 734ms\nShutdownTiming: ShutdownActivityManager took to complete: 203ms\nShutdownTiming: ShutdownPackageManager took to complete: 17ms\nShutdownTiming: ShutdownBt took to complete: 533ms\nShutdownTiming: ShutdownRadio took to complete: 534ms\nShutdownTiming: ShutdownNfc took to complete: 1536ms\nShutdownTiming: ShutdownRadios took to complete: 1538ms\nShutdownTiming: ShutdownStorageManager took to complete: 906ms\nShutdownTiming: SystemServerShutdown took to complete: 3918ms\n\nBug: 64569080\nTest: shutdown/reboot and check logs\nChange-Id: I636c045852cd1ed6be1c58af6608f70e95756389\n"
    },
    {
      "commit": "f32af48069f590a998f7dde188ea5afd3ffe2d96",
      "tree": "04153a73d51d50142072fb275b45e5f935797f52",
      "parents": [
        "ef2d2c60603c12884fb580beab226c6bc4dc9272"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Aug 11 15:00:49 2017 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Aug 11 17:28:12 2017 -0700"
      },
      "message": "Fix parsing enum types in incident report tool as well as adding\nsome additional loggings\n\nTest: manually flashed to device and test calling IncidentManager.java\nfunctions\nChange-Id: I69610414edde865b20ba632837f037fbe43f99db\n"
    },
    {
      "commit": "f96c4d6d76d046dc90a8aca7f1b85af37ab7c249",
      "tree": "c7c1e5a0bb5566dcb64d1bb6b8188e5dbf03b80f",
      "parents": [
        "2096edd6f2b213d619c60008402d840e074ec5a6",
        "eefdc2c6f88b4cd2cd8e139ddfe6f1dca86945ce"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Aug 03 11:04:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 03 11:04:32 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\"\"\" am: 82d2bd4e40 am: f9caecd124 am: be71148d49\nam: eefdc2c6f8\n\nChange-Id: I8aa40435f0ad3477fef8f3c4650cdd30642acc91\n"
    },
    {
      "commit": "eefdc2c6f88b4cd2cd8e139ddfe6f1dca86945ce",
      "tree": "bf4b9ddd0aa63188160c7c3652a84008ea6b0140",
      "parents": [
        "cf96a1b36d00167f912d294a34c9a5151b922832",
        "be71148d49bba5ec612681991d109e83eec66f04"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Aug 03 10:52:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 03 10:52:34 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\"\"\" am: 82d2bd4e40 am: f9caecd124\nam: be71148d49\n\nChange-Id: Ibd4c390c610b20f2809b06045fa38e6231175599\n"
    },
    {
      "commit": "f9caecd124d2da220d13f6e03294d5b5ea6048cb",
      "tree": "a10efc9ee732c09975233a32af416e4b404d6f75",
      "parents": [
        "60c65f1a67ca930505b46f7f98e7b63b0dc3ca9f",
        "82d2bd4e40fd8100c4eb37aa8eb1881ea4c961d1"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Thu Aug 03 10:30:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 03 10:30:05 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\"\"\"\nam: 82d2bd4e40\n\nChange-Id: I8d1fe014fdc3cfd190c5ce95ec963fa8c038552c\n"
    },
    {
      "commit": "a41c839d55510bf91b47cd7e1724ebfc3ed2acf5",
      "tree": "b0e79c06bf1f5fe2ca9edfd2be18ff74da91a5c8",
      "parents": [
        "d30bbfa794a9e1efddc45ed1c544460eb23bbcb2",
        "b7ac4ca5a8997f428bc4c892b87aff70aa80a15d"
      ],
      "author": {
        "name": "Alison Cichowlas",
        "email": "asc@google.com",
        "time": "Tue Aug 01 18:33:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 18:33:41 2017 +0000"
      },
      "message": "Merge \"Move ShutdownThread calls to system ui thread.\" into oc-dr1-dev am: 39a556f1d8\nam: b7ac4ca5a8\n\nChange-Id: I320e50928e251d62fcbe852e13c8d87792aad81c\n"
    },
    {
      "commit": "9e7e827d0592749f813c65fc168b7b9f477b2253",
      "tree": "1ac2e77a45d8dda5c47a3176935569dd90cf1cac",
      "parents": [
        "9b08d7758bb3ffb6e5cc5c0fd3c4372fe0ba73c7",
        "39a556f1d896273bd0ce5ca56300cdafaa4113be"
      ],
      "author": {
        "name": "Alison Cichowlas",
        "email": "asc@google.com",
        "time": "Tue Aug 01 18:18:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 18:18:49 2017 +0000"
      },
      "message": "Merge \"Move ShutdownThread calls to system ui thread.\" into oc-dr1-dev\nam: 39a556f1d8\n\nChange-Id: Idd341f7969c40184327428fc27b9f597dab57905\n"
    },
    {
      "commit": "b7ac4ca5a8997f428bc4c892b87aff70aa80a15d",
      "tree": "6daa3e20631edaf218f890dd9a5f4b11e53d5007",
      "parents": [
        "bd3d2900a3dbea612d7174999f27cee00d963d23",
        "39a556f1d896273bd0ce5ca56300cdafaa4113be"
      ],
      "author": {
        "name": "Alison Cichowlas",
        "email": "asc@google.com",
        "time": "Tue Aug 01 18:18:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 01 18:18:45 2017 +0000"
      },
      "message": "Merge \"Move ShutdownThread calls to system ui thread.\" into oc-dr1-dev\nam: 39a556f1d8\n\nChange-Id: I51580faadf97d828d5b2c4d7adba99cd7d36d4f2\n"
    },
    {
      "commit": "fbe00fa62baa5392ac1358e2028ad92cfb443b08",
      "tree": "607735a01183bbf49d8e77931f5fc8d97ca8c746",
      "parents": [
        "01d686b85ebc5f7eea1a43db33a2f3e3f3becc3e"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Jul 28 13:21:48 2017 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Aug 01 11:48:03 2017 +0000"
      },
      "message": "Revert \"Revert \"Default \u0027persist.sys.timezone\u0027 property to GMT if not set on init.\"\"\n\nThis reverts commit 27c461ab3c683ecb9cce7a0b1950672371b3079f.\n\nI\u0027m taking alternative approach, telephony code will treat \"GMT\" value as it would be unset. This is fine because GMT is a synthetic value that would never be set from other sources. \n\nChange-Id: I889a844bfd75b7730a5d967065d27de03ef3ce2f\nTest: flashed device, tested manually \nBug: 64056758\n"
    }
  ],
  "next": "315def899f542278b1c3095a02a53188e58d400b"
}
