)]}'
{
  "log": [
    {
      "commit": "6220baa36e0a477432b50ef35125c72b4851494b",
      "tree": "6b702f6b0580bc949d18cc827a7e3d879f3f0a6d",
      "parents": [
        "b9870f9bba699ec5cef6923ba9667d1acafc4a03",
        "c1246e6c364bbfef18d566f6b16f46ca1a5216c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 05 00:00:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 00:00:42 2018 +0000"
      },
      "message": "Merge \"Schematize vold system properties\""
    },
    {
      "commit": "269be44f8ff8bb57c218aee764aaefbebad1f87b",
      "tree": "0dbaa0fc589a8253ef6ce460d2f93a1463a07f43",
      "parents": [
        "d830ca25a19239709b7c644204baeb64d2785080",
        "b5354b7ca9ad4a89484a0cf9be813da6acefaf3d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 04 00:56:36 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 04 00:56:36 2018 -0800"
      },
      "message": "Merge \"Add a service for reporting runtime debug info\" am: 08cbafefdc am: 20547cf20d\nam: b5354b7ca9\n\nChange-Id: I2395418164f3dbcb04bc18647c6cccf7a025c1b4\n"
    },
    {
      "commit": "b5354b7ca9ad4a89484a0cf9be813da6acefaf3d",
      "tree": "240c6ce26035eec2536a43608d5208473000b7a9",
      "parents": [
        "79fa7d39c3568fa83f458e1f5d17a9ad6f7105e4",
        "20547cf20df113c02643737b490c42f384851ec8"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Dec 04 00:36:09 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 04 00:36:09 2018 -0800"
      },
      "message": "Merge \"Add a service for reporting runtime debug info\" am: 08cbafefdc\nam: 20547cf20d\n\nChange-Id: I29e7fe0355c7461ca6b939c669b9e4f3d471c4b6\n"
    },
    {
      "commit": "ab0b81e9210edb68d0bff9e0428a6bd2d95b411d",
      "tree": "43d048b661d216e24353a5cd483188b86c0aa35a",
      "parents": [
        "818a6e70e25cafbc3638beacda5d604a73f50df1"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Nov 20 19:37:22 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Dec 03 15:41:50 2018 +0000"
      },
      "message": "Add a service for reporting runtime debug info\n\nAdd a service for reporting runtime debug info via dumpsys.\n\nWith expected OEM customization / module versions in play\nit makes sense to have runtime and associated \"core library\"\ninformation in bug reports. The dumpsys information can also\nbe used from from host-side tests.\n\nBug: 119026403\nBug: 118242715\nTest: adb shell dumpsys runtimeinfo\nChange-Id: I62637a1c8bfd65d5de9b3e47b8700ead4bc314f2\n"
    },
    {
      "commit": "8c0d41ac2dc5401ab4ba929b21726ed828ebc8d2",
      "tree": "4ff585420942bab56d2bebb3e08b08f7e9d7f545",
      "parents": [
        "d4ef3010915e5ed6d24a0d26e9615c365a962083",
        "384230f9e0e8116bedefbe934d4d46c33646bf9d"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Thu Nov 29 13:36:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 13:36:57 2018 +0000"
      },
      "message": "Merge \"[Multi-user] Rename GlobalBackupManagerService -\u003e BackupManagerService\""
    },
    {
      "commit": "384230f9e0e8116bedefbe934d4d46c33646bf9d",
      "tree": "2e96d07d81ff3f1c6d920319a85017d79ba64e35",
      "parents": [
        "813716b1990d5c1c044ac4d735b9c52eba965e18"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Wed Nov 28 10:58:08 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Wed Nov 28 12:30:21 2018 +0000"
      },
      "message": "[Multi-user] Rename GlobalBackupManagerService -\u003e BackupManagerService\n\nRestore original naming since UserBackupManagerService is now merged.\n\nJust find and replace, no functionality changes in this CL.\n\nBug: 118520567\nTest: 1) atest RunFrameworksServicesRoboTests\n2) atest $(find \\\nframeworks/base/services/tests/servicestests/src/com/android/server/backup \\\n-name \u0027*Test.java\u0027)\n3) adb shell bmgr flows\nChange-Id: Ia37997cec93fac9ebb5102edfff9000c9cff4eb1\n"
    },
    {
      "commit": "178828f259e0ed1bbcab8a5bdfb74bf3219fe036",
      "tree": "5327597f7d48e8909a703afc2854173ee30f7778",
      "parents": [
        "ed3d6070c1763fee6d9f643b08324650a926f506",
        "813716b1990d5c1c044ac4d735b9c52eba965e18"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Wed Nov 28 10:37:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 10:37:18 2018 +0000"
      },
      "message": "Merge \"[Multi-user] Extract BackupManagerService to UserBackupManagerService\""
    },
    {
      "commit": "813716b1990d5c1c044ac4d735b9c52eba965e18",
      "tree": "8be8efa9d1b6976f7a442deff9c40382c6097894",
      "parents": [
        "de93099a3818784297da83e7c6a43d52a86e7e9c"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Tue Nov 20 14:08:21 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Tue Nov 27 14:23:30 2018 +0000"
      },
      "message": "[Multi-user] Extract BackupManagerService to UserBackupManagerService\n\nBMS is split into GlobalBMS and UserBMS.\nUserBMS:\n- Core backup/restore implementations and bookkeeping.\n- Will be per user in a future CL (only one instance in this CL to limit\nscope of changes).\n\nGlobalBMS:\n- System service definition, interaction with Trampoline, user-aware\noperations.\n- Will be renamed back to BMS in a future CL (so BMS history can follow\nUserBMS in this CL).\n\n*** Reviewers, please pay attention to the patchset breakdown to better\nunderstand what is a rename/move vs. new changes ***\n\n* Base -\u003e Patchset 2: BMS splits into GlobalBMS and UserBMS (MOVE ONLY)\n\nPatchset 1: Rename BMS -\u003e UserBMS\nPatchset 2: Move parts of UserBMS to GlobalBMS\nNo new functionality, only moving existing code.\n\n* Patchset 2 -\u003e Patchset 3: New functionality for GlobalBMS\n\n- Switch references from BMS to GlobalBMS in Trampoline.java.\n- Change the definition of the system service in SystemServer.java to\nGlobalBMS.\n- Instantiate one instance of UserBMS in GlobalBMS constructor.\n- Add all IBackupManager methods, which for now just directly calls the\ncorresponding method in UserBMS.\n\n* Patchset 3 -\u003e Patchset 4: Migrate usages of BMS in code (RENAME ONLY)\n\nFind and replace, no new functionality.\n\n* Patchset 4 -\u003e Patchset 5: Migrate usages of BMS in tests (RENAME ONLY)\n\nFind and replace, no new functionality.\n\n* Patchset 5 -\u003e Patchset 6: New tests for GlobalBMS\n\nAdd tests for all the new IBackupManager methods added (just tests\nstraight redirection for now).\n\n* Overall: View Patchset 2 -\u003e [Latest Patchset] for new code.\n\nTODO: Modify art-profile with rename\n\nBug: 118520567\nTest: 1) atest RunFrameworksServicesRoboTests\n2) atest $(find\nframeworks/base/services/tests/servicestests/src/com/android/server/backup\n-name \u0027*Test.java\u0027)\n3) atest GtsBackupHostTestCases\n4) atest CtsBackupTestCases\n5) atest CtsBackupHostTestCases\n6) atest DeviceOwnerTest\n7) \u0027Backup Now\u0027 in Settings\n8) Cloud and d2d restore in SUW; deferred restore\n9) All \u0027adb shell bmgr\u0027 flows\n10) adb backup; adb restore\nChange-Id: Ib5a5837375fe950bc7d33a5e31cca16b605541f9\n"
    },
    {
      "commit": "50f27c4a60e214fa61f30fb25ca1cd5df7524cd4",
      "tree": "ae194cfdd7a634bb979bb4c71f29bcb4b816f7a6",
      "parents": [
        "bae652012f7504c9f6f8c88814c2e819b65765b3",
        "250cb2b97d724b36b5a447589eef33d541f4f217"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 26 16:30:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 16:30:24 2018 +0000"
      },
      "message": "Merge changes from topic \"revert-to-single-threaded-oms-init\"\n\n* changes:\n  Decouple the display manager from the overlay manager\n  Revert: \"Init of OverlayManagerService on a parallel thread\"\n"
    },
    {
      "commit": "29397ce998c82b33df42ad4e8a822e83fa8495a0",
      "tree": "598cfd8c612d85a88aea1cc4a1151224aee373ce",
      "parents": [
        "e4e4432545af0d0ad0b11ad56d35e361b56efb5f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Nov 16 17:30:36 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Nov 16 18:13:30 2018 -0800"
      },
      "message": "Temporarily disabled IntelligenceService.\n\nIt\u0027s not properly ignoring events when the service is not set, which is causing\nissues on some apps.\n\nFixes: 119659731\nTest: manual verification\n\nChange-Id: Ie271b8fcfde0bc2a5d6bf7c73b88bd6c48d50fdb\n"
    },
    {
      "commit": "250cb2b97d724b36b5a447589eef33d541f4f217",
      "tree": "7b2ba7f3eca1c880a018f7676bf205dbf43a42de",
      "parents": [
        "cd78e0f28bb441e6ded0d87805caf54c337136ca"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Nov 02 11:01:44 2018 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Nov 15 16:00:57 2018 -0800"
      },
      "message": "Decouple the display manager from the overlay manager\n\nThe display manager relies on resources that may or may not have been\nmodified via runtime resource overlay. Because the overlay manager is\ninitialized in parallel with the display manager, the two need to\nsynchronize their work so the display manager knows when it can rely on\nits resources.\n\nAn upcoming change will hold off on threading the system until after the\ninitialization of the overlay manager. This means all overlays should be\nsetup before other services start, which in turn means no additional\nsynchronization is required. As a first step towards this, remove the\nsynchronization between the display manager and the overlay manager.\n\nAlso remove unused variable LogicalDisplay#PROP_MASKING_INSET_TOP.\n\nBug: 80150169\nTest: builds, boots\nChange-Id: I844de9e09eb1464ae112e1b480d21cf662a026e0\n"
    },
    {
      "commit": "cb9172a0dbceeb30c7c7f1ddc83b32affc641d73",
      "tree": "4c0aab33652f9c1101d674e2dc3a4646fdbea9ff",
      "parents": [
        "4e998f917c8dff327a99294f81a61852b382b315",
        "927fbf0f279b3bd804147909be471fb294cc2922"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Nov 15 01:59:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 01:59:24 2018 +0000"
      },
      "message": "Merge \"Allow Intelligence Service app to obtain Clipboard permission.\""
    },
    {
      "commit": "c1d607e90d03dfb06fa3be4e65366aa89619832f",
      "tree": "8f96f4393d628363b5988d3e577d90a1c3e3ab67",
      "parents": [
        "9a710dad5f7bebdb09e55ed8fba13608fd757c37",
        "ea7d71b3aa12fb36383c72dd4f29014f92070797"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 15 00:40:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 00:40:26 2018 +0000"
      },
      "message": "Merge \"Add ColorDisplayManager\""
    },
    {
      "commit": "927fbf0f279b3bd804147909be471fb294cc2922",
      "tree": "82cc734c8ae273ef58a53b9cc62afecc360950d5",
      "parents": [
        "e9f5e860547e7314c4c0e03fa4838c5b06164f5d"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 12 17:27:23 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 14 14:32:46 2018 -0800"
      },
      "message": "Allow Intelligence Service app to obtain Clipboard permission.\n\nTest: manual verification\n\nBug: 111276913\nFixes: 119440304\n\nChange-Id: I8dc97e4517367eaf8736741ce04040efaeb84355\n"
    },
    {
      "commit": "f84f1fd2d9bcb7af7b777d237cf36e9185499e83",
      "tree": "72d1279347c587abe1b18ba38fd579daaf459aed",
      "parents": [
        "cfe1988c8139ba0962cc701f4a21d61d39855b22",
        "6d492272b29e8a258ffd13ef082ae3f13ec9f10d"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Tue Nov 13 20:02:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 20:02:27 2018 +0000"
      },
      "message": "Merge \"Add RoleManagerService as a boot phase\""
    },
    {
      "commit": "bae5bea23cfac3769569a230b56ad85cdd000675",
      "tree": "2f65b6e6b91999e42b89d83b5ddd6fe84c7edd73",
      "parents": [
        "b2eb6bd683022f2bab48eaaebdf1afc19dd35681"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Nov 12 15:08:30 2018 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Nov 12 15:20:20 2018 -0800"
      },
      "message": "Introduce multi-client IME for special form factors\n\nAn advanced multi-display support is requested for certain Android\nform-factors so that user(s) can type text on each display at the same\ntime without losing software keyboard focus in other displays. This is\nnot possible in existing Android IMEs that are built on top of\nInputMethodService class, because the assumption that a single IME\nclient can be focused at the same time was made before Android IME\nAPIs were introduced in Android 1.5 and many public APIs in\nInputMethodService have already relied heavily on that\nassumption. Updating InputMethodService class to support multi-client\nscenario is, however, quite challenging because:\n\n 1. doing so would introduce an unacceptable amount of complexity into\n    InputMethodService, which is already hard to maintain,\n\n 2. IME developers still need to update their implementation to be\n    able to support parallel requests from multiple focused IME\n    client, which may require non-trivial redesign in their side\n    (e.g. input decoder, typing history database, ...), and\n\n 3. actual use cases for multi IME clients are expected to be evolved\n    rapidly hence the new protocol is not yet stable and not yet ready\n    to be exposed as public APIs.\n\nThis is why a new type of IME needs to be designed and developed\nspecifically for such special multi-display environments, rather than\nreusing existing InputMethodService public class.\n\nNote that there must be no behavior change unless multi-client IME is\nexplicitly enabled with \u0027adb shell setprop\u0027, which requires root\npermission.\n\nSee multi-client-ime.md for details.\n\nFix: 114662040\nTest: Manually verified as follows:\n  1. make -j MultiClientInputMethod\n  2. adb install -r $OUT/system/priv-app/MultiClientInputMethod/MultiClientInputMethod.apk\n  3. adb root\n  4. adb shell setprop persist.debug.multi_client_ime \\\n       com.example.android.multiclientinputmethod/.MultiClientInputMethod\n  5. adb reboot\n  6. Try multiple text input scenario\nChange-Id: I41dfe854557b178d8af740bc2869c936fc88608b\n"
    },
    {
      "commit": "6d492272b29e8a258ffd13ef082ae3f13ec9f10d",
      "tree": "5dfc67244581b59441d6c2664bca0d7da68ed203",
      "parents": [
        "3c91545b8f86f3ce80503263b3bcfc2a0d8767ff"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Thu Nov 08 16:25:28 2018 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Nov 12 22:18:27 2018 +0000"
      },
      "message": "Add RoleManagerService as a boot phase\n\nFor now it just reads the xml config file on boot\n\nTest: adb logcat | grep -n20 Role # during boot\nChange-Id: Iad907fe9bf52f5ed15066484aec60b3a9f51568a\n"
    },
    {
      "commit": "2112895bb4fa689322134d85b2fb418720865442",
      "tree": "819c1e04c4e443301881d2940748448fde6ba157",
      "parents": [
        "e01fd194262aca57be3e1bbf0c7ed99a289869cd",
        "0a1b32245edcacc77ed38f639f90a0c0fb7d4fbe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 02:11:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 02:11:41 2018 +0000"
      },
      "message": "Merge \"SystemServer: Support deviceSpecificAudioService for ARC\""
    },
    {
      "commit": "a85b4a2d29c6770de65529ecf95cb6ca90fa7a0b",
      "tree": "7e1893c7b6b10be6ea834c01434097c5c05e1f39",
      "parents": [
        "c578d38eb752c9ab3edaada6c4bd53900425f184",
        "e739daf2e844dafa34110dce13008499d3e10aeb"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Fri Nov 09 04:42:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 04:42:35 2018 +0000"
      },
      "message": "Merge \"Return correct error when HW there is no biometric hardware\""
    },
    {
      "commit": "c1246e6c364bbfef18d566f6b16f46ca1a5216c5",
      "tree": "581fdf18356d1f556b0ab61c1163f46ee631ce1a",
      "parents": [
        "f517f971614315a68af3a5b6842787f9950d3d52"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Nov 08 13:13:54 2018 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Thu Nov 08 20:29:13 2018 +0000"
      },
      "message": "Schematize vold system properties\n\nProperties accessed across partitions are now schematized and will\nbecome APIs to make explicit interfaces among partitions.\n\nBug: 117924132\nTest: m -j\nChange-Id: I8e04f643197b6c8a60cc38c6979e41c5de3469f5\n(cherry picked from commit 0cf5fc1433ef113d33d40b62cfca9ce97de12a4b)\n"
    },
    {
      "commit": "355ea855f685bf17f49b796c856848bcc262616a",
      "tree": "1343b414c38b56f2dccb6063297e3c6862e4043b",
      "parents": [
        "3401e9fef2320185044a673f1cfa68a54df70cbe",
        "1f5e53d4a613488ae12a7d17fedfbf702bf2bffa"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Nov 08 14:48:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 14:48:43 2018 +0000"
      },
      "message": "Merge \"Unify Activities and Windows under one lock (38/n)\""
    },
    {
      "commit": "0a1b32245edcacc77ed38f639f90a0c0fb7d4fbe",
      "tree": "b368aba8f12aed6c428aa940e062c8139c7f5efc",
      "parents": [
        "3cbf07268f0ea3f70779a31af61870fea867e4d4"
      ],
      "author": {
        "name": "paulhsia",
        "email": "paulhsia@google.com",
        "time": "Thu Nov 08 18:15:46 2018 +0800"
      },
      "committer": {
        "name": "paulhsia",
        "email": "paulhsia@google.com",
        "time": "Thu Nov 08 18:29:42 2018 +0800"
      },
      "message": "SystemServer: Support deviceSpecificAudioService for ARC\n\nLoad device specific audio service for needed devices.\n\nBug: 119241152\nTest: Apply full topic to test Arc audio functionality\nChange-Id: Ibc1a7844faf5a6e54acc3342cf603023ada74b92\n"
    },
    {
      "commit": "bad7c206063d1d0dc84853d11bc8621d308e9e6e",
      "tree": "342e4dd7816922ed1d1bc1c782000c25c89c7ccb",
      "parents": [
        "630630cf6b1b26b4eaeaf35d0303b5263e8c1fff"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Nov 01 11:57:39 2018 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 07 13:38:57 2018 -0800"
      },
      "message": "Add thermal service into system_server\n\nThis system service will listen to ThermalHAL for throttling events and\ntake actions accordingly, e.g. shutdown device and/or sending\nnotification to registered listeners to IThermalSerivce.\n\nBug: 79443945\nBug: 118510237\nBug: 111086696\nBug: 116541003\nTest: Boot and test callback on ThermalHAL 1.1\nTest: Boot and test callback on ThermalHAL 2.0\nTest: Kill ThermalHAL process\nTest: Change device threshold to trigger shutdown\nChange-Id: I1f4066c9f1cf9ab46c1738a0a4435802512e4339\n"
    },
    {
      "commit": "1f5e53d4a613488ae12a7d17fedfbf702bf2bffa",
      "tree": "4929f7b165a7f9f8d88fb5f0baf2fc8712216601",
      "parents": [
        "38762429f999034ad8a87c8d90963ec6a2f68fad"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Nov 05 05:12:46 2018 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Nov 07 07:09:35 2018 -0800"
      },
      "message": "Unify Activities and Windows under one lock (38/n)\n\nFinal step before we actually start unifing the hierarchy is to have\nactivity and window manager under one lock. This CL makes it so.\nNote, that there are probably areas where this change might lead to dealock\nhowever we can fix those areas as we discover them.\n\nTest: Existing tests pass\nBug: 80414790\nChange-Id: Ie4b71d4ceb986256482031a99065b8d2ef60ebe8\n"
    },
    {
      "commit": "e739daf2e844dafa34110dce13008499d3e10aeb",
      "tree": "dcd824c6cf025a36af21602467da05d27ff14b96",
      "parents": [
        "b95e7b7bc210b142b1d64cf16cf8634d768ac236"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Nov 06 17:11:06 2018 -0800"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Nov 06 20:08:42 2018 -0800"
      },
      "message": "Return correct error when HW there is no biometric hardware\n\nDevices that have no biometric hardware should still get the\nBIOMETRIC_ERROR_HW_NOT_PRESENT error. Currently they get the\nBIOMETRIC_ERROR_HW_UNAVAILABLE error which is slightly wrong.\n\nFixes: 119109074\n\nTest: Builds\nChange-Id: I32134a35fd2844bc6a4a64ded9695ae596496ef2\n"
    },
    {
      "commit": "ea7d71b3aa12fb36383c72dd4f29014f92070797",
      "tree": "50509a15422adba9e10ede3c2873a72062ac3bf7",
      "parents": [
        "3d171b2a0f6c78437e2c529f056f405357a462d7"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Tue Jul 03 14:46:07 2018 -0700"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Tue Nov 06 21:31:15 2018 +0000"
      },
      "message": "Add ColorDisplayManager\n\nAdd ColorDisplayManager class, and shift some functionality from\nColorDisplayController\n\nBug: 111215474\nTest: atest FrameworksServicesTest:ColorDisplayServiceTest\nChange-Id: Ic38a12e1e0b0619fdad42a89b7ac3e878c8128b2\n"
    },
    {
      "commit": "e348dc3486765cc04a66d93d289f36e925eea368",
      "tree": "ecb0691338390e1874bd78480a62d50947e1b423",
      "parents": [
        "e0c2f7e17d2dfb426d1f0f09a5f61c4284fd150e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Nov 05 12:35:29 2018 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Nov 06 10:01:02 2018 -0800"
      },
      "message": "Initial implementation of the IntelligenceService pipeline.\n\nIt\u0027s still full of TODOs, but at leats it now provides an end-to-end\nworkflow from the activity creation / destruction to the service implementation.\n\nTest: mmm -j packages/experimental/FillService \u0026\u0026 \\\n      adb install -r ${OUT}/data/app/FillService/FillService.apk \u0026\u0026 \\\n      adb shell settings put secure intel_service foo.bar.fill/.AiaiService\nBug: 111276913\n\nChange-Id: Id5daf7b8b51e97c74d9b6ec00f953ddb02b48e46\n"
    },
    {
      "commit": "8d45688b6d4d0cb917dd2d198de8ca539cdbbdba",
      "tree": "a2873b5fafdb2f38ed2e6b7d174f5ddf8695465f",
      "parents": [
        "8f126e98b7d28afe7faefbf77639cc5367e85e21",
        "51676d293a1e971646071d57fbd12a7d7b655fe4"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Nov 06 06:29:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 06 06:29:22 2018 +0000"
      },
      "message": "Merge \"Add placeholders for IrisManager/Service\""
    },
    {
      "commit": "51676d293a1e971646071d57fbd12a7d7b655fe4",
      "tree": "6cb0b08556e35c62cd35e3eaa85fb6588592f370",
      "parents": [
        "353eab924f0a00034189caf7142080a1e6cb346f"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Mon Nov 05 18:00:43 2018 -0800"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Mon Nov 05 18:57:15 2018 -0800"
      },
      "message": "Add placeholders for IrisManager/Service\n\nWith the system services in place, we can add SELinux policies\n\nBug: 116530289\n\nTest: Builds\nChange-Id: I0fd0dfbbbf258eb4a0ef9019247baaf323578959\n"
    },
    {
      "commit": "595070969de0a7334d251d5448b641e856e052bc",
      "tree": "a8162d5722120111d0d43dc240c641aad68ec17a",
      "parents": [
        "8be8936abbbdefa5169d096f52412b79686f9fca"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Oct 29 09:00:30 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Nov 03 23:23:06 2018 -0700"
      },
      "message": "Moved Activity management out of ActivityManager to WindowManager (37/n)\n\nWhat could go wrong ;)\n\nNote that ATMS and all other activity management files are still under\nthe AMS lock. We will be changing them soon to use the WMS lock, but\ntill then it is important to take care not to use the WMS lock for\nactivities stuff and AMS lock for window stuff.\n\nTest: Existing tests pass\nBug: 80414790\nChange-Id: I69f5a6e40ad892557a425e1f34be987507102136\n"
    },
    {
      "commit": "f74bfdee01d1100830139529d118ac202be8aad8",
      "tree": "e185106f4a57427d2dfaf385438f47940e046f42",
      "parents": [
        "8429eb923ef972aedeb43fc4902f3dc042f12664"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jan 18 15:42:48 2018 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 31 16:11:01 2018 +0900"
      },
      "message": "Add empty AdbService to SystemServer\n\nCreate skeleton service to migrate functions from UsbService in later\nchange.\n\nBug: 63820489\nTest: make\nChange-Id: I07672fe87cfae188fe77c173fc49119e182c6b05\n"
    },
    {
      "commit": "3c27f0b88df7741178959288cdc65f14ef18540b",
      "tree": "82d09a63818a7a22b4cd0050a53c576e6dea57a8",
      "parents": [
        "018f47a2b045f5941dce29c5101e090ffaf20dee",
        "7bd2e0ce26f661a41c893cb420aabc50403d5d3b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 11 09:15:06 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 11 09:15:06 2018 -0700"
      },
      "message": "Merge \"Frameworks: Add VMRuntime.hasBootImageSpaces check\" am: 9135811848 am: b9da5284fc\nam: 7bd2e0ce26\n\nChange-Id: I1925a99d5f8128caded1c2f11956e3df7d4a9e08\n"
    },
    {
      "commit": "7bd2e0ce26f661a41c893cb420aabc50403d5d3b",
      "tree": "c19be7891f37280385abef222be7b7769c13bf40",
      "parents": [
        "367f6a20983d421a91a0df63822858d656b4db87",
        "b9da5284fc3331cc4aa937b9c92f5c964aeda7d1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 11 08:59:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 11 08:59:08 2018 -0700"
      },
      "message": "Merge \"Frameworks: Add VMRuntime.hasBootImageSpaces check\" am: 9135811848\nam: b9da5284fc\n\nChange-Id: Ib02426fb94ab9fc4b448ebb5f4d928ec2cb7afbf\n"
    },
    {
      "commit": "04618d545622f34d52673acb591ee02d8c9e1efc",
      "tree": "6280afc62568341e6bdc97df934bdad5e1fa1863",
      "parents": [
        "096371b71921d6f25d27c55874d10850a5085c8b",
        "2667c1dfa2798dd28b4dc8fe986f0676c5d48209"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Wed Oct 10 21:23:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 21:23:50 2018 -0700"
      },
      "message": "Merge \"Do not start VrManagerService if VR is not supported\" into pi-dev\nam: 2667c1dfa2\n\nChange-Id: I76eb570e1c08ee57d931221169b503033e466d49\n"
    },
    {
      "commit": "e697a4fc648f5c66a96f6f9450a9e79ba8952101",
      "tree": "831d6daa523e7c7ef4c287ca3ad296905803b096",
      "parents": [
        "0d3f4e61c99057c7e40c9159ba08286c34cf797c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 09 10:40:52 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 09 11:24:24 2018 -0700"
      },
      "message": "Frameworks: Add VMRuntime.hasBootImageSpaces check\n\nLog a wtf in the system server when the runtime does not\nuse a boot image.\n\nTest: m\nTest: system boots\nChange-Id: I087c269dd1e95eeeab5db4250133f9c61e9399c7\n"
    },
    {
      "commit": "20dd431f201104d362f1a3ecffc091685733b494",
      "tree": "360aa2f9bf45e9b41d2da8aeecba59715167c7ee",
      "parents": [
        "918bc902cefacd5de13718a85e1236fe437f14d5"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Oct 08 16:56:49 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Oct 08 16:56:49 2018 -0700"
      },
      "message": "Do not allow to revert setForceSafeLabel\n\nTest: Built\nBug: 116798569\nChange-Id: I3f26d4466c84d3decb1c4962fb45e900ba35f68e\n"
    },
    {
      "commit": "df7e481b2008555c1a8f2f5d29addf9fda7527a6",
      "tree": "0dc2a7b0402cb123894d8b74aa259298efa4e4b3",
      "parents": [
        "d4cf67e2966fd5c577211f37e10a3f69eaf530cf"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Sep 24 14:31:25 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Sep 26 11:51:06 2018 -0700"
      },
      "message": "Add API surface for \"keep SMS app running\".\n\nBug: 109809543\nTest: build \u0026 boot\nChange-Id: Ie9ebf1f34052394a92c3f260413c18596709d3a3\n"
    },
    {
      "commit": "336be262814adb968a0dcd335076f9225503888b",
      "tree": "1a6f4b76fba5e0cd13bee45b400991d98495557b",
      "parents": [
        "47a17eb077944564e84fa8ff47983f39a2ed5d4f"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Sat Sep 08 19:16:45 2018 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Mon Sep 24 12:57:42 2018 +0800"
      },
      "message": "Do not start VrManagerService if VR is not supported\n\nWhen VR mode is not supported by removing the feature of\nandroid.hardware.vr.high_performance, do not start VrManagerService.\nOtherwise, there will be undesired behavior, such as calling into\nPowerHal/VrHal for VR hints.\n\nTest: no undesired behavior observed\nBug: 116427118\nChange-Id: I3e3c1f02c2fad958d8659d7957d005d25d823c3e\nMerged-In: I3e3c1f02c2fad958d8659d7957d005d25d823c3e\n"
    },
    {
      "commit": "352adfec613a74001c72113bed0c2e0bae6ae2e7",
      "tree": "0335bab7aeec3b7659fc6709ee88bd29ac1c32d2",
      "parents": [
        "355c6bfba650ff9e177c9d86ceb4ecb34541e725"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Sep 20 22:28:50 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Sep 20 23:51:40 2018 -0700"
      },
      "message": "2/n: Rename BiometricPromptService to BiometricService\n\nThis is in preparation for BiometricManager. Each Manager should have its\nown Service.\n\nBug: 112570477\n\nTest: BiometricPromptDemo works\nChange-Id: Ibbbd499a0fd5a2050b329ee038776c6c9f49cdb2\n"
    },
    {
      "commit": "229a0718ff31bf83521e3a774485bb48573987f7",
      "tree": "d3ceadf8ece12226b732c428531c0c601dd2c3c8",
      "parents": [
        "0ee549d67b64ef39bad086752dc7f4cebe44623a",
        "eb1e8049c173fb778377f5c9bcee1151eaf3a6e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 15 00:53:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 15 00:53:35 2018 +0000"
      },
      "message": "Merge \"Move TextServicesManagerService to com.android.server.textservices\""
    },
    {
      "commit": "723438885d4e751e85366cfee26d54fb66d990ec",
      "tree": "488fb59dd29d34d191a0da1a5a6c5a406fea71a9",
      "parents": [
        "85b5bf530903e5a0b803a810773e2052aafa64c2",
        "b2875925783b21d587d862d80922cd2004b1f6b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 14 20:00:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 20:00:22 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Do not start VrManagerService if VR is not supported\"\"\""
    },
    {
      "commit": "117fcb06fc0c5986e3fcf94664ee09de43ad8080",
      "tree": "021ecaf97fddcfbe2fefa703846ded98d60910d5",
      "parents": [
        "beb077d987bed4e45a3e6ec7e3b8468ec66e1a0b"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Thu Sep 13 09:43:54 2018 -0700"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Thu Sep 13 17:20:33 2018 +0000"
      },
      "message": "Add disableNetworkTime config property\n\nThis was removed as part of this bug because the config wasn\u0027t used:\n\n    Bug 64052650\n    Change-Id I5c8ed3f0e78c2ed0d2e733939a82e1ab8940de22\n\nThis is now needed by Android Automotive since the network module may\nlive off board in a vehicle.\n\nBug: 110800197\nTest: make \u0026 flash\nChange-Id: I3715602e7fb22503d6867b61c22bdcb963174059\n"
    },
    {
      "commit": "eb1e8049c173fb778377f5c9bcee1151eaf3a6e5",
      "tree": "12657463d749cfe5f0b6de2640fd7e110fb14bd5",
      "parents": [
        "e8f85ab95e0c571fe78903dcac18a6ff3356f1ce"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Sep 12 14:02:00 2018 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Sep 12 14:02:00 2018 -0700"
      },
      "message": "Move TextServicesManagerService to com.android.server.textservices\n\nThis CL moves TextServicesManagerService (TSMS)\n  from com.android.server\n    to com.android.server.textservices\nso that we can mechanically factor out inner classes from IMMS to\nseparate package private classes.\n\nThis is purely a mechanical refactoring of an implementation detail.\nThere should be no observable behavior difference.\n\nFix: 115516399\nTest: manually verified with AOSP spellchecker\nChange-Id: Iaaf627e48e3f040795f58e03b1292a991afb82b4\n"
    },
    {
      "commit": "b2875925783b21d587d862d80922cd2004b1f6b0",
      "tree": "26038fac0711e2ca85788ce2ceba5f752b765067",
      "parents": [
        "f5d99fa7d93f82701c188c4048f0c2a5af122fae"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Wed Sep 12 11:07:25 2018 +0000"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Wed Sep 12 11:07:25 2018 +0000"
      },
      "message": "Revert \"Revert \"Do not start VrManagerService if VR is not supported\"\"\n\nThis reverts commit f5d99fa7d93f82701c188c4048f0c2a5af122fae.\n\nBug: 112064298\nChange-Id: Ib2b595f8f98a577af205d5169af28a185ef00f03\n"
    },
    {
      "commit": "603f4d00c613c464f2ce5b6a831dda811dbf5138",
      "tree": "d285a40937311af294bc35c1c3457360eb4ba68e",
      "parents": [
        "e3427ee4c7fcb1554201a5b514c600641ace66f8"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 11 15:04:58 2018 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 11 15:04:58 2018 -0700"
      },
      "message": "Move InputMethodManagerService to com.android.server.inputmethod\n\nThis CL moves InputMethodManagerService (IMMS)\n  from com.android.server\n    to com.android.server.inputmethod\nso that we can mechanically factor out inner classes from IMMS to\nseparate package private classes.\n\nThis is purely a mechanical refactoring of an implementation detail.\nThere should be no observable behavior difference.\n\nFix: 114660660\nTest: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases\nTest: atest FrameworksCoreTests:com.android.internal.inputmethod\nChange-Id: I023d8f2863601ee54f304988117d8ea750770f70\n"
    },
    {
      "commit": "f5d99fa7d93f82701c188c4048f0c2a5af122fae",
      "tree": "60ef77cfd2743d00670af1d78766563e683b56ae",
      "parents": [
        "82254ae30beb20539d49c4ec6b9eae4c46b783a5"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Sep 10 18:03:34 2018 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Sep 10 16:09:59 2018 +0000"
      },
      "message": "Revert \"Do not start VrManagerService if VR is not supported\"\n\nThis reverts commit af1eda2654cad6aecfbd8fcc02075c01c505c737.\nBug: 112064298\nChange-Id: Ie7912c055e8e27250b0404e337813c0ee670b1de\n"
    },
    {
      "commit": "af1eda2654cad6aecfbd8fcc02075c01c505c737",
      "tree": "b9a4292987a3a8a4144db9f4b04b9aaab9931d97",
      "parents": [
        "ddf1b4b476d6872a27f5e47d5816ab0e1db6b4c6"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Sat Sep 08 19:16:45 2018 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Sat Sep 08 19:21:31 2018 +0800"
      },
      "message": "Do not start VrManagerService if VR is not supported\n\nWhen VR mode is not supported by removing the feature of\nandroid.hardware.vr.high_performance, do not start VrManagerService.\nOtherwise, there will be undesired behavior, such as calling into\nPowerHal/VrHal for VR hints.\n\nTest: no undesired behavior observed\nBug: 112064298\nChange-Id: I3e3c1f02c2fad958d8659d7957d005d25d823c3e\n"
    },
    {
      "commit": "dfdc67d9cf899fab05b8bd6dc11b56479033e3de",
      "tree": "d8f1555e970e3699ab1f57efef998bd129a36a4d",
      "parents": [
        "826a36c19b5ca86bf976f66c45c703fdc8db92ee",
        "6226c2ff3ca5ae39a01e794f18cc067069d77928"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 07 02:19:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 07 02:19:37 2018 +0000"
      },
      "message": "Merge \"Injecting system calls into alarm manager\""
    },
    {
      "commit": "6226c2ff3ca5ae39a01e794f18cc067069d77928",
      "tree": "85415f13a026f2fa11dfb2b980723d7cfc146457",
      "parents": [
        "0d100c0ace3e9a6a6cabeafb70f68b385685d414"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Aug 22 18:15:04 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Sep 06 16:20:30 2018 -0700"
      },
      "message": "Injecting system calls into alarm manager\n\nInjecting and mocking dependencies to make the service unit testable.\nShuffled around initialization to make that possible.\n\nAlso added the first batch of unit tests. The idea is to have extensive\ncoverage of minute pieces of alarm manager logic, which should help us\ncatch any regressions caused by future changes to the code.\n\nTest: atest com.android.server.AlarmManagerServiceTest\natest CtsAlarmManagerTestCases\n\nBug: 111454659\nChange-Id: Ifa1c09646f688cf5c41abe17d98dbc19978eac70\n"
    },
    {
      "commit": "c80c81a516930a61a516291f0ac1d6c9da2854fa",
      "tree": "55d9034c780e00932b5b40edd61e7f6e1142b143",
      "parents": [
        "3680ae6276850d8750170b6364bd5162ecebff2e"
      ],
      "author": {
        "name": "Marcin Oczeretko",
        "email": "marcinoc@google.com",
        "time": "Thu Aug 30 20:15:52 2018 +0100"
      },
      "committer": {
        "name": "Marcin Oczeretko",
        "email": "marcinoc@google.com",
        "time": "Thu Sep 06 10:54:55 2018 +0100"
      },
      "message": "Extract CachedDeviceState from BinderCallsStats\n\nAdd a service that tracks the device state properties which are\ninteresting to System Server telemetry services. Allows the services to\nshare this code and have consistent state information.\n\nTest: Unit tests and manually tested\nChange-Id: Ia5c78c45a55414a0c5c46202db2a37283b50a703\n"
    },
    {
      "commit": "d8cc8593c0cd760092ccc3d83225d9fafdf8e392",
      "tree": "049718a81ebb3c567bfa0013b746a2ce4070d94a",
      "parents": [
        "2af55bf3672db221899aac8742825b09adca2a14"
      ],
      "author": {
        "name": "Marcin Oczeretko",
        "email": "marcinoc@google.com",
        "time": "Wed Aug 22 16:07:36 2018 +0100"
      },
      "committer": {
        "name": "Marcin Oczeretko",
        "email": "marcinoc@google.com",
        "time": "Mon Sep 03 16:06:06 2018 +0100"
      },
      "message": "Collect telemetry data for System Server Loopers.\n\nAdds LooperStats and LooperStatsService which set a static\nLooper.Observer to record the count of dispatched messages and\ncpu/latency information. The aggregated stats are collected by\nWestworld as pulled atoms.\n\nThe collection is disabled by default and requires a manual call to\nenable:\n\nadb shell cmd looper_stats enable\n\nTest: Unit tests and tested manually that the collected data seems\nreasonable.\n\nChange-Id: I7162fbca4e324f62887f95df3405205cbe4416ca\n"
    },
    {
      "commit": "49fa609ba085209845af2881edb9c19123f3b375",
      "tree": "15525898119266cb30d7133fb1090b20e463054f",
      "parents": [
        "34929de73d3e68566dbabb968f050e72d68ae32c",
        "a24e9fd9acf0c7abbdbe40dbc2c2015d28acad49"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 31 01:21:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 01:21:07 2018 +0000"
      },
      "message": "Merge changes from topic \"biometric-prompt-service\"\n\n* changes:\n  Add BiometricPromptService\n  Remove common biometric directory\n"
    },
    {
      "commit": "a24e9fd9acf0c7abbdbe40dbc2c2015d28acad49",
      "tree": "a5407268d03f9a7198161fe786670cffb6106c03",
      "parents": [
        "836f2cfb9eaee16458876f8ddaa2d3f778f02be1"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Mon Aug 27 12:39:17 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Aug 30 14:49:32 2018 -0700"
      },
      "message": "Add BiometricPromptService\n\nThe change introduces the following:\n  - BiometricPrompt communicatates with BiometricPromptService (new)\n    system service. The service does the decision making for which\n    biometric modality to use.\n  - As a result, a lot of logic is moved from \u003cBiometric\u003eManager\n    to BiometricPrompt. FingerprintManager now does not care about\n    BiometricPrompt logic anymore (reverts several P changes).\n\nFace, and all future \u003cBiometric\u003eService interfaces must be protected by\nthe signature-only MANAGE_BIOMETRIC permission. Settings, SystemUI, and\nBiometricPromptService are their only clients.\n\nBug: 72825012\n\nTest: BiometricPromptDemo works\nTest: Keyguard works\nTest: Settings works\n\nChange-Id: I2b7d6eff81bc07950202c50e592d733032523bf0\n"
    },
    {
      "commit": "e24ed79edb937c743b96b3f9baddc689fb694be1",
      "tree": "15c55eae3d20b6e4c32a4d6dc9d465863c54a350",
      "parents": [
        "c3de83e7e4c8fc9310999537c60b0a7b7f6f7a54"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Aug 28 19:10:32 2018 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Aug 28 19:10:32 2018 -0700"
      },
      "message": "Hide IInputMethodManager.{add,remove}Client() from apps\n\nSince IInputMethodManager.{add,remove}Client() are just callbacks from\nWindowManagerService to InputMethodManagerService, we can simply move\nthose two methods to InputMethodManagerInternal instead of having them\nin IInputMethodManager.aidl, which ends up exposing those methods to\nany random user process.\n\nThis enables us to clean up WindowManagerService because it is no\nlonger responsible for obtaining IInputMethodManager and passing it to\neach Session instance.\n\nThis also allows us to get rid of several RemoteException handlers\nfrom Session class, because now the complier knows that those\ncallbacks will never throw RemoteException.\n\nFix: 112670859\nTest: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases\nTest: prebuilts/checkstyle/checkstyle.py -f frameworks/base/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java\nChange-Id: I453200fd5847e9a78876affb6a1caec221525e1d\n"
    },
    {
      "commit": "acfabaa32b99e390abad12a4bc39861fefa69c10",
      "tree": "f2e593ee74449ca2abe37ebcff28ec6ceee4fb15",
      "parents": [
        "a9b4133c724fc399e4aca6cf3747d67940dcfd67",
        "2c68abc9fc99ab12a4951e5da55525ffcfa350ad"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Aug 22 16:38:27 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 22 16:38:27 2018 -0700"
      },
      "message": "Merge \"BootAnimation: Fix boot animation with hidden cutout\" into pi-dev am: e387ce18d8\nam: 2c68abc9fc\n\nChange-Id: I1a0db9f30f7270d49136fa3984dc8d9633ead690\n"
    },
    {
      "commit": "2c68abc9fc99ab12a4951e5da55525ffcfa350ad",
      "tree": "8b023d383865b38c953584cdcc493166d23c8c0b",
      "parents": [
        "507bdec1abe7abcbc38abbde81cf2dc10c127f0d",
        "e387ce18d8487020b80cd454bc1442345128fa8b"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Aug 22 16:20:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 22 16:20:32 2018 -0700"
      },
      "message": "Merge \"BootAnimation: Fix boot animation with hidden cutout\" into pi-dev\nam: e387ce18d8\n\nChange-Id: I55c32ef69c4bb565376946ce65101f37ef0cce8a\n"
    },
    {
      "commit": "9ee5dff83c1cae93dff281735b60134dbd26dd8a",
      "tree": "149228b8475292809b26cc01f0d132567c1cb680",
      "parents": [
        "2c9fd5fbbb43541ce4291c07bf61bdbe5dc70252"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Aug 22 20:19:49 2018 +0200"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 22 21:37:39 2018 +0100"
      },
      "message": "BootAnimation: Fix boot animation with hidden cutout\n\nWe do this by storing the masking inset in a persistent property.\nThe boot animation then animates itself to where it would be if that\nmasking inset were applied, then changes the viewport.\n\nFor this to work, we also need to make sure the DisplayManagerService\nhas the right overlay right at the start.\n\nBug: 112876936\nTest: Hide cutout, then reboot. Verify boot animation is smooth.\nChange-Id: I3e988b2340b2e0d2be3939bdc6878704c234ccc8\n"
    },
    {
      "commit": "2132e0814cf9d7c3515e3e2df1a7c0d97bab9360",
      "tree": "4190cbbf1bec128bf101405b44ded2c668e9bd94",
      "parents": [
        "832d40e084b5d77af1dcc9021f6f3f9d85304e65",
        "30fdcbad9436606df62ceb784160e73c46792cab"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Aug 17 16:48:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 17 16:48:09 2018 -0700"
      },
      "message": "Merge \"Default to FULL synchronous mode for sqlite DBs in system server\" into pi-dev\nam: 30fdcbad94\n\nChange-Id: I0f4b5f91cf0a877bc518b555abb8380487c68d31\n"
    },
    {
      "commit": "962f78649f96d54cb62edb8f35f382bb7fb16510",
      "tree": "13b51075c7627c5e6be95487bc7e2fb4fbaca249",
      "parents": [
        "de2bfe1ddff3112362da388733531afe97caa53a"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Aug 07 15:57:13 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Aug 17 16:35:46 2018 -0700"
      },
      "message": "Default to FULL synchronous mode for sqlite DBs in system server\n\nTest: change pin and immediately crash the kernel with\nadb shell \u0027su root sh -c \"echo c \u003e/proc/sysrq-trigger\"\u0027 and boot\nBug: 112175067\n\nChange-Id: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf\n(cherry picked from commit 50e00c8dc48849280410e38bb05a1f11ce24ef01)\n\nMerged-in: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf\n"
    },
    {
      "commit": "3729e9ce4e17f82ed86566af0e7010b03bab28b5",
      "tree": "cfda9958a4394c8c383418243ec78c905887bbcf",
      "parents": [
        "283f55f7de5b9866bf73ded9a36047637f9251b0"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Aug 07 15:57:13 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Aug 17 21:09:03 2018 +0000"
      },
      "message": "Default to FULL synchronous mode for sqlite DBs in system server\n\nTest: change pin and immediately crash the kernel with\nadb shell \u0027su root sh -c \"echo c \u003e/proc/sysrq-trigger\"\u0027 and boot\nBug: 112175067\n\nChange-Id: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf\n(cherry picked from commit 50e00c8dc48849280410e38bb05a1f11ce24ef01)\n"
    },
    {
      "commit": "50e00c8dc48849280410e38bb05a1f11ce24ef01",
      "tree": "1ce21b25f566934a44b8a931d915439ffd72b828",
      "parents": [
        "7388dd54196ac06311838ea9c8c326dff7c61d30"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Aug 07 15:57:13 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Aug 09 11:00:54 2018 -0700"
      },
      "message": "Default to FULL synchronous mode for sqlite DBs in system server\n\nTest: change pin and immediately crash the kernel with\nadb shell \u0027su root sh -c \"echo c \u003e/proc/sysrq-trigger\"\u0027 and boot\nBug: 112175067\n\nChange-Id: Ia5f43f3118e2297fbea43c805ef2f4577bf8a9bf\n"
    },
    {
      "commit": "f618905a6eff210e09615bb305962b6ed27fd44d",
      "tree": "0d25c9a0857039a53207cefd6a9be73f5c525827",
      "parents": [
        "caf15ef80b541ad22e962c107cde66ff3998d5a3",
        "95b38a906f5f146d2d40d5ca2717c027692834eb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 26 12:06:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 26 12:06:28 2018 +0000"
      },
      "message": "Merge \"Fix WM input limitations on secondary displays (1/N)\""
    },
    {
      "commit": "590c716f8c158db98a8b958c09c7f9793143d34b",
      "tree": "ce912800be46dd31909d078e3ba1829586893f9d",
      "parents": [
        "a1fa888d3ea98bbc9b4c9b96a49c05917940da59",
        "6d50dcc8afb3b32d0c1c6f4ebf930faa3354ac78"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Jul 26 03:56:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 26 03:56:08 2018 +0000"
      },
      "message": "Merge \"Moved URI grants code out of ActivityManagerService to its own service (13/n)\""
    },
    {
      "commit": "95b38a906f5f146d2d40d5ca2717c027692834eb",
      "tree": "a246c9d65ababc1aedde90a53d32b22f1b1ee3f8",
      "parents": [
        "cbb72aabeb2151aafa583b7d7fe969cc3aff44e4"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Jul 20 18:56:12 2018 +0800"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Jul 25 17:47:51 2018 +0800"
      },
      "message": "Fix WM input limitations on secondary displays (1/N)\n\n- One DisplayContent include one InputMonitor.\n- For customized inputconsumers, they can be handled by DisplayContent.\n- Extract InputManagerCallback to communicated InputManagerService.\n- All windows need pass displayId to InputWindowHandle.\n\nBug: 111363643\nTest: atest WindowManagerSmokeTest\nTest: atest DisplayContentTests\nChange-Id: Iaaca7d135a11c55a78bcf1f81918599b3d160106\n"
    },
    {
      "commit": "7f70fc7bef5670bdcbc828dde2189966753fbc58",
      "tree": "0a8b4f14a8c5a698051114959b6199b2dad1ee33",
      "parents": [
        "0502d90f672324cfffc8e1fdd69adafbdec30421"
      ],
      "author": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Fri Jul 20 16:12:19 2018 -0700"
      },
      "committer": {
        "name": "Michael Kwan",
        "email": "mkwan@google.com",
        "time": "Tue Jul 24 17:15:05 2018 +0000"
      },
      "message": "Watch type devices currently do not support instant apps, prevent\nrelated services from launching.\n\nBug: 111598607\nTest: manual test\nChange-Id: I5cc6909ecb287ece5b964ea6c7c685dbe767c895\n"
    },
    {
      "commit": "6d50dcc8afb3b32d0c1c6f4ebf930faa3354ac78",
      "tree": "148547b798147d66267fdbb4addde0d99fa7f036",
      "parents": [
        "4ec6b12578832c30499073e677755327a08609c6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Jul 21 23:00:40 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jul 23 16:37:46 2018 -0700"
      },
      "message": "Moved URI grants code out of ActivityManagerService to its own service (13/n)\n\nAllows for other services like window manager to call uri grants without\nholding AM service lock.\n\nBug: 80414790\nTest: Existing tests pass.\nChange-Id: Ie5b4ddb19a2cedff09332dbeb56bcd9292fd18ac\n"
    },
    {
      "commit": "8a39cef7f820651aa95d2f0489ae6cfdd50cd9dc",
      "tree": "6734b71012ca2fca02e29fd079ec67e71daec4a7",
      "parents": [
        "b411889723918eb5355500b39a08fd4d9133cf29"
      ],
      "author": {
        "name": "Rhed Jao",
        "email": "rhedjao@google.com",
        "time": "Wed Jul 18 11:43:33 2018 +0800"
      },
      "committer": {
        "name": "Rhed Jao",
        "email": "rhedjao@google.com",
        "time": "Wed Jul 18 13:42:35 2018 +0800"
      },
      "message": "Update AccessibilityManagerService to use SystemService\n\nBug: 70221242\nTest: atest CtsAccessibilityServiceTestCases\nChange-Id: Icdf0772d0be93168a954fdd746cada4d5d507eb4\n"
    },
    {
      "commit": "1d7f615eec2076b76f5e7582204df00edd15d941",
      "tree": "7df93e2c298d7052db63fcac85f8a0eb69c81b10",
      "parents": [
        "beac1471aab97797a66542e9fd22e5cfc5447c02"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Tue Jul 03 13:57:58 2018 +0100"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Wed Jul 04 13:36:46 2018 +0100"
      },
      "message": "Add experiment flag to control binder call stats.\n\nFor instance, to enabled detailed tracking locally.\nadb shell settings put global binder_calls_stats detailed_tracking\u003dtrue\n\nAlso adds the ability to turn off data collection completely and\nchanging the sampling interval. Uploading data through westworld can\nre-use the same flag once implemented.\n\nTest: Unit tested\n\nChange-Id: I808c9902b8124ab643d9b197703d537da040ae3e\n"
    },
    {
      "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": "0e44c66e0874f788b35cc29fcd7a1c061fd9666f",
      "tree": "ea172c22f96075c547f6f6a0660be680dafc1785",
      "parents": [
        "dd7b69d3c545233dea708511816faf6346fb022d"
      ],
      "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 10:14:17 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": "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": "4d9f7a8bc34a3944e4b3b4922dfe2be47b46da85",
      "tree": "54180730bfa3e94c65bd2481c011d263cf5eebf6",
      "parents": [
        "67f17cd6903127605cbae91198f52c1c514146ac",
        "7fb88c3928b6fef1f3d559ea23468ccd1379bd49"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 25 18:47:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 25 18:47:39 2018 +0000"
      },
      "message": "Merge \"Minimum viable TimeZoneDetectorService\""
    },
    {
      "commit": "1248d0db95038eff2ce71c48f4d7d8a21b317a63",
      "tree": "0873680c9c4b0843d34b2e3a0a74a1eab9ea0119",
      "parents": [
        "1083a2fb70764e7d4a825b666c390b33eca1b274",
        "9e4f3e077f2e187d9371c1804cace2bdf919021a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jun 23 05:52:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 23 05:52:22 2018 +0000"
      },
      "message": "Merge \"Introduced WindowProcessController/Listener (10/n)\""
    },
    {
      "commit": "9e4f3e077f2e187d9371c1804cace2bdf919021a",
      "tree": "fdb19191858168ddec476d61a6ffe98b99f693d0",
      "parents": [
        "841f7c2f0cbfa387806831d6107899804c9c3bd8"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu May 17 09:35:39 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Jun 22 14:26:24 2018 -0700"
      },
      "message": "Introduced WindowProcessController/Listener (10/n)\n\nOne heavy dependence between the current AMS service and activities\nis process management which is heavy affected by activities and their\ncurrent state. We introduce WindowProcessController and WindowProcessListener\nobjects as a structured way for the process changes in AM package to\nbe communicated to the WM package and WindowProcessListner for activity\nchanges in the WM package to the communicated back to the AM package.\nThe ProcessRecord object in AM will own the WindowProcessController object\nand also implement the WindowProcessListener.\n\nTest: Existing tests pass\nTest: go/wm-smoke-auto\nBug: 80414790\nChange-Id: I9e96e841b0f95e99a597cb4629fa5d2fe45760b6\n"
    },
    {
      "commit": "abe78cd313875032a3411a79dc9b687098fc1db6",
      "tree": "32d546f69f02ad47aed4c0ad95ed5b794c4aee33",
      "parents": [
        "1d4883110664ebb42c915e636b9721b4c220d4a9",
        "2ffadb38bc76a46c38fd64057ab7afa559a3f9a4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 22 18:44:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 18:44:27 2018 +0000"
      },
      "message": "Merge changes from topic \"biometrics-face\"\n\n* changes:\n  5/n: Move FaceService to biometrics directory\n  4/n: Add face authentication framework\n"
    },
    {
      "commit": "2ffadb38bc76a46c38fd64057ab7afa559a3f9a4",
      "tree": "472bc828028696b1710570f7908a41a1704b23a9",
      "parents": [
        "cb51b8b84730413938b3ab614bb3e16642336351"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Jun 19 11:29:38 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Jun 21 17:00:07 2018 -0700"
      },
      "message": "5/n: Move FaceService to biometrics directory\n\nBug: 110387294\n\nTest: builds, observable effect on devices (as expected)\nChange-Id: Iaf0814c3c19aa9fa448e250cb3a161bd11fd935e\n"
    },
    {
      "commit": "cb51b8b84730413938b3ab614bb3e16642336351",
      "tree": "819ca43039957ee5ad1af42a5a1fe2ae3e9886ad",
      "parents": [
        "55a5b59a9bd68a8b1164e1938dab3b0ad4fd9488"
      ],
      "author": {
        "name": "Gilad Bretter",
        "email": "gilad.bretter@intel.com",
        "time": "Thu Mar 22 17:04:51 2018 +0200"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Jun 21 17:00:07 2018 -0700"
      },
      "message": "4/n: Add face authentication framework\n\nThis change is cherry-picked and rebased from AOSP\nhttps://android-review.googlesource.com/c/platform/frameworks/base/+/660242\n\nAdd face recognition as an identification method, following fingerprint\ndesign. Unlike fingerprint, only one face template can be enrolled per\nuser, and a vendor message is passed from the HAL all the way to the\nclient callback to allow GUI indication about the enrolled face\ntemplates.\n\nAdd FaceAuthenticationManager and FaceService.\nAdd face authentication capability to TrustManager and Keyguard.\nModify TrustManager and KeyguardUpdateMonitorCallback fingerprint code\nto support generic biometric method to eliminate duplications.\nAdd BiometricSourceType enum to keep track of the specific biometric\nmethod.\n\nTest: biometric authentication still works on the device\n\nFixes: 110385761\n\nChange-Id: I5d04fe69a112c13d3ef7330b9c08c146e36c5335\nSigned-off-by: Gilad Bretter \u003cgilad.bretter@intel.com\u003e\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": "7fb88c3928b6fef1f3d559ea23468ccd1379bd49",
      "tree": "0fcd5fa4ebbbb69f350032b424fe0f179d65735b",
      "parents": [
        "acda839b9e3fa12d0f0b40ffd8ec3708ad0a6038"
      ],
      "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 10:28:47 2018 +0100"
      },
      "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\nChange-Id: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\n"
    },
    {
      "commit": "551767618e57bb3517ae6088ae47697f41bb5766",
      "tree": "d26b0f1d093679d5ea3414680035239ee1fa60f1",
      "parents": [
        "4cbc36c8276a65ffc12090638deced99b6f1fe31",
        "037c4d5aee449056e999b88ed5939d37468ac027"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Wed Jun 20 03:47:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 03:47:53 2018 +0000"
      },
      "message": "Merge changes from topic \"biometric-refactor\"\n\n* changes:\n  2/n: Refactor out common BiometricService code\n  1/n: Move fingerprint-service related code to biometrics/fingerprint\n"
    },
    {
      "commit": "95d628ef86c694a3f8d28ad4880ca3042bb0fc4d",
      "tree": "cb760ef4227601307648b70a3298f21f4dba213e",
      "parents": [
        "6e735fe16e704406ac20038c38aa202d3eae6d66"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Mon Jun 11 11:58:15 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Jun 19 16:09:06 2018 -0700"
      },
      "message": "1/n: Move fingerprint-service related code to biometrics/fingerprint\n\nBug: 109900227\n\nTest: builds\nChange-Id: I973c816d75c48ed838c1638c45d728b9df4d11ef\n"
    },
    {
      "commit": "16e505a3268b891ca968be3fbd8bd18487638906",
      "tree": "6ae0a7e859a85d2c6ac708247c800776db4748a9",
      "parents": [
        "b44f8b9e0e2799e715661727ebf94b948327b02c"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon May 07 15:00:49 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Jun 17 09:39:46 2018 -0700"
      },
      "message": "Moved mRecentTasks to ActivityManagerTaskService (4/n)\n\nTest: Existing tests pass\nTest: go/wm-smoke-auto\nBug: 80414790\nChange-Id: I7e48eaf66200f689757578461076e9288b862b33\n"
    },
    {
      "commit": "6006f76ad7e15e360141369fb9deef5a76699261",
      "tree": "cbbb224b553bfab482c4aea256528ccad6955a92",
      "parents": [
        "1211216baee03ad882c7e1d7f3e8e0f3362572c0",
        "65ebd955e1b19a0d3c995e66d1d749bae5dc8575"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 12 18:18:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 18:18:48 2018 +0000"
      },
      "message": "Merge \"Split interfaces and service for activities from current AM interfaces (1/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": "ae4cb673430bfb88eb6bee5f35653a496ebac4e4",
      "tree": "133611c2a6b7075588cbae582d1a22a280e18b33",
      "parents": [
        "2e9b8c37532c53a1f2d9a29c8630794302b1b26d"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed May 30 13:28:15 2018 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Thu Jun 07 16:11:34 2018 -0700"
      },
      "message": "Start the WearPowerService with the other Wear system services\n\nThe WearPowerService is in charge of coordinating and keeping track of devices and state concerned\nwith power.\n\nBug: 77293569\nChange-Id: Ia40ad44a53ef6872dd7ebefd58e17179126dde92\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": "65ebd955e1b19a0d3c995e66d1d749bae5dc8575",
      "tree": "8c6b2b82d06e0290816a8de36fc08db8e42b5c83",
      "parents": [
        "3193b1537c9b31b8345cfb98ea7fc1d7d3ee0ac2"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Apr 25 15:41:44 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jun 06 18:26:21 2018 -0700"
      },
      "message": "Split interfaces and service for activities from current AM interfaces (1/n)\n\nFirst step in unifying the window hierarchy that is currently split\nwithin AM and WM packages. We separate the interfaces and service dealing\nwith activities and their containers (tasks, stack, display) from the\nrest of AM interfaces and services. This will allow us to move the new\ninterfaces and services to WM when the internal states are cleaned-up.\n\nTest: Existing tests pass\nTest: go/wm-smoke-auto\nBug: 80414790\nChange-Id: Ide9b3f89123b768cdbd3e3878113c7a8021187f3\n"
    },
    {
      "commit": "59ca58c1f533a8e4887896ec614e49c237717ef9",
      "tree": "35a8240787e0ac56bb534b9ff0e9c5d41049d775",
      "parents": [
        "381678be2f3e6fec94c595317b3c80589429cdff",
        "8385c0d5b516fe9ad807526a559c8abca4babe99"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Wed Jun 06 21:35:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 06 21:35:01 2018 +0000"
      },
      "message": "Merge \"Clean up Wear CPU scaling and swap experiments.\""
    },
    {
      "commit": "8385c0d5b516fe9ad807526a559c8abca4babe99",
      "tree": "d1093acb4650d8eb33986f3677a30c6706b6733e",
      "parents": [
        "df3cf2b39ded7070ae695ff9cfe40992b866919f"
      ],
      "author": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Tue Jun 05 14:58:53 2018 -0700"
      },
      "committer": {
        "name": "Alice Sheng",
        "email": "alicesheng@google.com",
        "time": "Wed Jun 06 09:42:25 2018 -0700"
      },
      "message": "Clean up Wear CPU scaling and swap experiments.\n\nThe experiments are over now, cleaning up code.\n\nChange-Id: I145b66415d96112535b93385bd0613c2d3d33e46\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": "7bb9fcbc4586610a8b20e1c4d11987cc48850e8c",
      "tree": "643f5ff259a1ed296e3975e73dadf6e535c984d4",
      "parents": [
        "4b250f34d91fbf93da86287ef4de29c9b505b28f",
        "ea8a738581ee842d14656e4904a911064d79c228"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 06 15:59:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 06 15:59:44 2018 +0000"
      },
      "message": "Merge \"Remove CommonClock / CommonTimeManagementService\""
    },
    {
      "commit": "ea8a738581ee842d14656e4904a911064d79c228",
      "tree": "a1ffdbefb22b9465dd0fddfe5a830a4d80da2e9a",
      "parents": [
        "22e64ec6116c16b550c51ecafaea31510db97b55"
      ],
      "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": "Mon Jun 04 19:26:29 2018 +0100"
      },
      "message": "Remove CommonClock / CommonTimeManagementService\n\nThe service and associated code is unused.\n\nBug: 80462439\nTest: build / boot\nChange-Id: Ibdfab1b7d2951a0c45e07bd47850af037990841b\n"
    },
    {
      "commit": "feeee682a23f25760c4a1aa07c00945901911ba3",
      "tree": "d1c5851c0b5d89825648ce98e32a01ec0612be72",
      "parents": [
        "ca46c6beea7c35c0e39a2dbaa67526e0138bfbd0"
      ],
      "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": "Thu May 31 09:44:21 2018 +0100"
      },
      "message": "Minimum viable TimeDetectorService\n\nThis is a do-nothing DeviceContextualizerService 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\nChange-Id: I9e4eac70b944441f34491315cd1ce7fa2b9ae150\n"
    },
    {
      "commit": "da44a06ad5c241878a348225e7580ab3145cde8e",
      "tree": "f25ca24f8b08691455089a0b5b00fc671879d13c",
      "parents": [
        "3af768fcfd9bacaebc0ce7f099803d143e82bd3a"
      ],
      "author": {
        "name": "Ng Zhi An",
        "email": "zhin@google.com",
        "time": "Wed May 09 22:34:53 2018 -0700"
      },
      "committer": {
        "name": "Ng Zhi An",
        "email": "zhin@google.com",
        "time": "Wed May 09 22:34:53 2018 -0700"
      },
      "message": "Fix typo in trace tag\n\nBug: None\nTest: logcat\nChange-Id: I592e075f4de911d39ccea967e1b3c0c7dd27fd02\n"
    },
    {
      "commit": "d2c6d48fba11b2db92f87ba294ef6ad389e84835",
      "tree": "416b86b49515d1ed69b6f4cf36cac24094a8f085",
      "parents": [
        "54cbbe46f685d8293c7d40f9ce6d99991e7e8b24",
        "d539b1869476320be95f563a25f0fdb909b7b9d0"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Apr 30 11:13:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 11:13:25 2018 -0700"
      },
      "message": "Merge \"Log slow message delivery on Looper\" into pi-dev am: 14186bfe08\nam: d539b18694\n\nChange-Id: I9a5e02f7b18c63e463d6ff3c4c80d74d18ee7a74\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": "090c2c37ca27da237b8873a03430f9a2d3838ddd",
      "tree": "39c602a7cb8186a8ffd1c2e35ab8c6fbc0ce5fd5",
      "parents": [
        "3ebda73095ec765b35fe724387266ef40a72bbb2"
      ],
      "author": {
        "name": "Ralph Nathan",
        "email": "ralphnathan@google.com",
        "time": "Thu Apr 19 22:19:03 2018 -0700"
      },
      "committer": {
        "name": "Ralph Nathan",
        "email": "ralphnathan@google.com",
        "time": "Mon Apr 23 09:17:00 2018 -0700"
      },
      "message": "Udpate package name for IoTSystemServer.\n\nBug: 78302987\nTest: imx7d boots\nChange-Id: Idd07a54afae95d982a8bfa621e881a9a83f09d1d\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"
    }
  ],
  "next": "ce2d963d2ee74435105d25265641a4769563806d"
}
