)]}'
{
  "log": [
    {
      "commit": "b2b90207d716080bd9b1cafa5bf36ddd6bb644e7",
      "tree": "66270b10163a322a400b119eb1881720d26ee3c1",
      "parents": [
        "2e96a44f27d1c173d698bc65e1c90eb80d534ab8",
        "33ce6d97fddbb78688d261450af0f9a65be5eaa6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 20:51:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 20:51:32 2018 +0000"
      },
      "message": "Merge changes from topic \"plugin\"\n\n* changes:\n  Remove view from existing clock plugin when new plugin connects.\n  Update script to consider code moved to plugin_core.\n"
    },
    {
      "commit": "2daf457f4ba4e9acdb79d2104cc40286d91e57a8",
      "tree": "86fde69701da862c1d85752a7f69e2d7df6c0bd9",
      "parents": [
        "2e9f863406fc79f44fea4208807b2af5cfd47fd7",
        "43c970436de94f2e702103993a0285bbe070658e"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Thu Nov 01 16:19:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 16:19:12 2018 +0000"
      },
      "message": "Merge \"Adding shared element transitions support in AppWidgets\""
    },
    {
      "commit": "8a57b4d4faa8d6a48df15e6f29aba6676b05918f",
      "tree": "d516b5aee471c8c33e4fa169f5b82fbc2445d75a",
      "parents": [
        "2a566ecb6ff601fed856bbe17db66d2c7713aeae",
        "d0a52b60137abb6563014ba0731dcf682e2785c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 01:21:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 01:21:23 2018 +0000"
      },
      "message": "Merge \"Revert \"Proxy notification improvments\"\""
    },
    {
      "commit": "d0a52b60137abb6563014ba0731dcf682e2785c6",
      "tree": "13fa1306a70c260e7d0789ecc8df90c6c93122a2",
      "parents": [
        "ac98aea2ed4de69a25cb72f389b999fa8ff5d4d2"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 31 20:13:22 2018 +0000"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 31 20:14:02 2018 +0000"
      },
      "message": "Revert \"Proxy notification improvments\"\n\nThis reverts commit ac98aea2ed4de69a25cb72f389b999fa8ff5d4d2.\n\nReason for revert: b/118700922 (broken CTS test)\n\nBug: 118700922\nChange-Id: I7d55365b3f64acd82e377dc973e2de5d654cc352\n"
    },
    {
      "commit": "e481d138fea50c34f26b3aa51483c027885555ab",
      "tree": "a94b4b06caf81ac26338e99b66ab1c745be06a06",
      "parents": [
        "3ec28cb7c71408a7e9899807cc48b5d5ae89bd3b",
        "61331ceab2ea90a3a3427bdeb2c34c031b69740c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 31 18:08:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 18:08:09 2018 +0000"
      },
      "message": "Merge \"Fix pulse wake-up transition\""
    },
    {
      "commit": "23a8d3bba6c705c6de31f6c937ed02d42c358a5e",
      "tree": "7a4ce913a2ca2878e2440b6a283afc54c22e0eb9",
      "parents": [
        "3875001f5988958d0dbac1ad94f768a3eef8898d"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 08 20:57:35 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 30 18:01:53 2018 -0700"
      },
      "message": "Notification icons on AOD status bar\n\nBug: 111405682\nFixes: 118421265\nFixes: 113352017\nTest: visual\nChange-Id: I439d9533b2b0e28ecb696c5a2eda92e9312b027a\n"
    },
    {
      "commit": "61331ceab2ea90a3a3427bdeb2c34c031b69740c",
      "tree": "d8b46ddae1cecb8f317d53a332d336cd26c92c6e",
      "parents": [
        "9b74c075171c437407a000ba7a8430584ad66938"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 02 17:57:17 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 30 18:26:02 2018 +0000"
      },
      "message": "Fix pulse wake-up transition\n\nScrimController was transitioning to the wrong state because\nfingerprint would take the device to a dozing but not pulsing\nstate before unlocking. And since I was already touching this\narea, I used the oportunity to remove ScrimController references\nfrom DozeScrimController.\n\nChange-Id: Iaa1274eedc9cfb808a71b49a9184de39009e981c\nFixes: 115305153\nTest: Manually unlock with fp while pulsing\nTest: Unlock with fp\nTest: Unlock with bouncer\nTest: Wait for pulse to go away\nTest: atest DozeScrimControllerTest\n"
    },
    {
      "commit": "8775b65952e2a23b2b5d6c10198c95751286fa4c",
      "tree": "29a21c1a321f15df66b19a8d8980776a0bb31c87",
      "parents": [
        "0b4e17bee2792c21eb0c40f7ce87b98a0f73f1b6",
        "ac98aea2ed4de69a25cb72f389b999fa8ff5d4d2"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Oct 30 17:02:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 30 17:02:24 2018 +0000"
      },
      "message": "Merge \"Proxy notification improvments\""
    },
    {
      "commit": "33ce6d97fddbb78688d261450af0f9a65be5eaa6",
      "tree": "bd687dc062347791994c31682e6901543a718c1f",
      "parents": [
        "3749d81918e0d906d84f080be73a9bbfd2ea4922"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Fri Oct 26 10:52:38 2018 -0400"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Tue Oct 30 11:29:14 2018 -0400"
      },
      "message": "Remove view from existing clock plugin when new plugin connects.\n\nAssuming that the most recently connected plugin is the active\nclock face. This should be updated when it is possible for\nthe user to select a clock face.\n\nBug: 118440898\nTest: Added tests to KeyguardClockSwitchTest.\nChange-Id: I1c38005b4d7d32a27a8d41806390338ebcab458b\n"
    },
    {
      "commit": "43c970436de94f2e702103993a0285bbe070658e",
      "tree": "20cf5cd2797716f76de2f220083014eca4aee8fb",
      "parents": [
        "7cc7662d6f50eb3bc484c282814b7453ce3a5b78"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Thu Aug 23 15:21:26 2018 -0700"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Mon Oct 29 17:04:33 2018 -0700"
      },
      "message": "Adding shared element transitions support in AppWidgets\n\nBug: 113071278\nTest: atest frameworks/base/core/tests/coretests/src/android/widget/RemoteViewsTest.java\nChange-Id: I0d7698faa8d9e61913b55d34de8b7cfbb32863b1\n"
    },
    {
      "commit": "ac98aea2ed4de69a25cb72f389b999fa8ff5d4d2",
      "tree": "c41b9a882663bc8d83583a60fa424564d73968f3",
      "parents": [
        "b6bd93d960676a407ef04cb58a15e9b3b187a42e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Oct 25 16:54:27 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Oct 29 14:16:03 2018 -0400"
      },
      "message": "Proxy notification improvments\n\n- Fix a bug where the notifications weren\u0027t being posted\n- Add attribution to the notification guts\n\nBug: 111452544\nTest: atest\nChange-Id: I58d104fe0ad8450a4722585335011ea633fee52a\n"
    },
    {
      "commit": "ed00262486e5c4b6ae9ef902633eca8958ddf80f",
      "tree": "56de13cfe0c6083fe053b82ad95f3645507a4dce",
      "parents": [
        "80665469f50a0cf276b6834861f64d1be3e62988"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Oct 25 18:12:15 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 29 11:07:00 2018 -0700"
      },
      "message": "Remove obsolete lock screen UI\n\nRemoves obsolete KeyguardSliceView title area and adds doze callbacks\nnecessary to support new lock screen design.\n\nBug: 111405682\nTest: manual\nTest: atest KeyguardSliceViewTest\nChange-Id: I07e96dbde68d4e5e38e1371526bedf59fc925b86\n"
    },
    {
      "commit": "2dbcf0973bd04c2b66e6280a3ce7363876ce7108",
      "tree": "44a70a300413f7468decf4639b5fa907b080d125",
      "parents": [
        "f95d6a17f5721144ac207b91307ce5146a64eab7"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Oct 24 13:00:41 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Oct 26 10:15:50 2018 -0700"
      },
      "message": "Moving SysUI with legacy Recents to another build target\n\n- Move all legacy recents code out of the core sysui code\n- Add separate target for products which still depend on it\n- Move overview proxy implementation into another implementation of the\n  recents interface\n\nTest: atest SystemUITests\nTest: Push SystemUiWithLegacyRecents to the system image\n      adb shell pm disable com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService\n      and ensure that the old recents implementation still works (and split\n      screen)\n\nChange-Id: Iad67218ec37c13c79b6393d87f6bdc4f3996e2c6\nSigned-off-by: Winson Chung \u003cwinsonc@google.com\u003e\n"
    },
    {
      "commit": "ffe3226069984e6c8e3f7bf08941d74c2afd3fdc",
      "tree": "e99f15c86073d99a9a5e6f5cdcdff97f546a837d",
      "parents": [
        "91559181e41e1008536f6be1785b95cb8638186c",
        "1f32cf0c09a295937a6d4bc97136e42f2629047d"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Fri Oct 26 14:46:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 14:46:20 2018 +0000"
      },
      "message": "Merge \"Adds a AppOpsController that can be suscribed to.\""
    },
    {
      "commit": "29c64fb09614a560635a9106217ad323aa31a411",
      "tree": "5d9b0ac83fdc9db11193a365198c4072826d2b77",
      "parents": [
        "bd70ed4cfaa7d86395e68c6613af34432af37761"
      ],
      "author": {
        "name": "Alison Cichowlas",
        "email": "asc@google.com",
        "time": "Thu Oct 25 09:32:16 2018 -0400"
      },
      "committer": {
        "name": "Alison Cichowlas",
        "email": "asc@google.com",
        "time": "Thu Oct 25 11:27:15 2018 -0400"
      },
      "message": "Suppress flaky test\n\nTest: This is it\nBug: 118400112\nChange-Id: I60be79618f4fd5b22438d47f1b8ce0756d486dee\n"
    },
    {
      "commit": "1f32cf0c09a295937a6d4bc97136e42f2629047d",
      "tree": "aa348b00b19f3b58a32b80ae8d28a05493fc8d35",
      "parents": [
        "bd70ed4cfaa7d86395e68c6613af34432af37761"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Oct 23 12:23:31 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Thu Oct 25 11:23:07 2018 -0400"
      },
      "message": "Adds a AppOpsController that can be suscribed to.\n\nThis is a dependency that replaces AppOpsListener asuming all its\nresponsibilities and functions. Additionally, it can handle arbitrary\ncallbacks for an activeChanged notification indicating the uid that had\na change.\n\nIn the case of location updates, they are removed if they haven\u0027t been\nupdated in 5 sec.\n\nTest: atest\nChange-Id: I647e86418e552721f1a1098d611538ef09654243\n"
    },
    {
      "commit": "beacda215f3a12957b79628d68e1cb7983f4e81a",
      "tree": "9a44c3bebce47f4cb9b20278c2b9f942016c4cf8",
      "parents": [
        "5f75c2d17421e8de3cdbe5068a1cb250fabee213",
        "38ce6fa2a05c23c0e9af6bce426394da6c3d1bc4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 24 22:14:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 24 22:14:57 2018 +0000"
      },
      "message": "Merge \"Only inflate public view when notif is redacted.\""
    },
    {
      "commit": "38ce6fa2a05c23c0e9af6bce426394da6c3d1bc4",
      "tree": "a3f3d170cf764c9bb4ae95da3e389eca8a5cb3d2",
      "parents": [
        "fc1d7e58370eb849ccda69c22dd5b0181308e339"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Oct 17 16:00:14 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Oct 24 11:16:36 2018 -0700"
      },
      "message": "Only inflate public view when notif is redacted.\n\nThis CL changes notification inflation behavior to only inflate the\npublic content view when the notification needs to be redacted in the\nfirst place (i.e. the setting to hide sensitive notifications is on and\nthe notification would be hidden under the setting). This saves around\n.1 MB per notification.\n\nBug: 111809944\nFixes: 111809944\nTest: runtest systemui, manual tests (toggled hide sensitive on and off,\ntested ambient pulses under both)\n\nChange-Id: Ia1d00db00c5164f043c999578f0be4b55f223f8e\n"
    },
    {
      "commit": "d9aa3fa6e934ff8cf5bd0d2ddde015618ed690e2",
      "tree": "9dcc09f48a11f553964b6f9abbfd661ccecf3303",
      "parents": [
        "c63d1cc434ea7422d6f9ef2bd396e1b0b0ec7cac",
        "cea7deea4c7315e4a11f8d68f6a5bf11e2bb21a7"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Oct 24 17:19:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 24 17:19:45 2018 +0000"
      },
      "message": "Merge \"Restore KeyguardBottomAreaView state\""
    },
    {
      "commit": "366d890f6db280fe238128e281f991373632a50e",
      "tree": "669b28d6e7400a92b098bbe73a89975f257110d6",
      "parents": [
        "74a8e734c2fa2b879404cf11dd1dd4316e8be445",
        "47ff478e51e4c4d33cc6b8d7d4918d8fcc9bc15b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 24 03:21:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 24 03:21:18 2018 +0000"
      },
      "message": "Merge \"Workaround to safely show ambient/HUN views.\""
    },
    {
      "commit": "47ff478e51e4c4d33cc6b8d7d4918d8fcc9bc15b",
      "tree": "ee9399dcbd91751fd35a32eff1ad5b5fcf695939",
      "parents": [
        "095513c4d929a22babf1f118b6d312d1b0328ecd"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Tue Oct 23 15:37:24 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Tue Oct 23 17:25:41 2018 -0700"
      },
      "message": "Workaround to safely show ambient/HUN views.\n\nTemporary workaround to get things rolling while a greater fix is\nincoming.  This reverts behavior to essentially inflating all\nHUN/ambient content views.\n\nBug: 117933032\nBug: 117894786\nTest: manual, runtest systemui\nChange-Id: I731ec6e320d1813a8bbca52ceb21c1d8bb4e73ff\n"
    },
    {
      "commit": "761562d86857abff949e83559e2941cce27185d3",
      "tree": "0ef275cadcef59398e636eb5cc72c52645c6e746",
      "parents": [
        "a941ce732672430998bb7bf5c91455cd8201d785"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Mon Sep 17 11:13:21 2018 -0700"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Oct 23 15:20:56 2018 -0700"
      },
      "message": "Refactored rotation code from nav bar fragment to its button\n\nMoved the rotation button in nav bar logic to its own button.\n\nTest: atest NavigationBarRotationContextTest\nBug: 116041410\nChange-Id: I7bb3c4c4a1637b52a7219c1074c09403c9505734\n"
    },
    {
      "commit": "297c04ee5376d8bca84bc8e876d6ecc88e84a999",
      "tree": "01e9a2093ecfb34be59690e02c2eaae75c7902ca",
      "parents": [
        "c2896a27fadc416458e883282bb0d8a0f81ee13a"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Aug 23 17:16:59 2018 -0400"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Oct 23 11:19:15 2018 -0400"
      },
      "message": "Make StatusBar not be a NotificationPresenter\n\nBreak the NotificationPresenter out of the StatusBar and most of\nthe logic with it.\n\n - Break RemoteInput Callbacks out of NotificationPresenter\n - Break Environment Callbacks out of NotificationPresenter\n - Add ShadeController interface for StatusBar (abstraction\n   layer from StatusBar)\n - Add InitController to allow for post-init tasks (dependency\n resolution should not go here)\n - Make some dependencies (ShadeController, NotificationEntryManager,\n NotificationLockscreenUserManager usually) lazily-resolved to break\n some dependency cycles\n\n - Lots of other cleanup\n\nTest: Existing tests do not pass\nChange-Id: Ic043c6b15a4ffe551fc27f99b25d5c3caa1be582\n"
    },
    {
      "commit": "55c6e809a3b54eec08a751448c0ada06704dcf38",
      "tree": "f5a882c25803489914793679e237c4f58c1b23e6",
      "parents": [
        "f7994fe65d87146d07b308fc83a5649624de46d1"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Sep 27 18:07:36 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 22 14:29:20 2018 -0700"
      },
      "message": "Support for passive interrupts\n\nBug: 111414690\nTest: manual, lift, swipe down, go to shade locked\nTest: adb shell setprop persist.sysui.expand_shade_on_wake_up 0\nTest: adb shell setprop persist.sysui.go_to_shade_on_wake_up 0\nChange-Id: I59018a72b85cfcf75344d83bbf9e3a122a66c018\n"
    },
    {
      "commit": "cd944dc66532b4e166356ca53142d23d4be68f3a",
      "tree": "6c98fbaead44791dce82a86d897c4cb76e968ec3",
      "parents": [
        "294ade62bf2aa76d3ed7e9e33a7b214e7e3bdece"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Mon Oct 01 16:31:08 2018 -0400"
      },
      "committer": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Thu Oct 18 14:14:58 2018 -0400"
      },
      "message": "Clean up interfaces for StackScrollLayout.\n\nTest: Automated tests should pass.\nChange-Id: Ibf2718bfaacff0adcfca7ef8ca2f3eb2b867debf\n"
    },
    {
      "commit": "cea7deea4c7315e4a11f8d68f6a5bf11e2bb21a7",
      "tree": "97b0833c9e433de6942de44ca93bdd78b3b9c0f3",
      "parents": [
        "a7998431d4f41fe88e23e4e88cb39314f6e9d6ed"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 16 12:43:37 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 16 12:52:03 2018 -0700"
      },
      "message": "Restore KeyguardBottomAreaView state\n\nKeyguardBottomAreaView will be re-inflated when the theme changes,\nit\u0027s necessary to also restore some of its internal state, otherwise\nwe\u0027ll have NPEs.\n\nTest: manual\nTest: atest KeyguardBottomAreaTest\nFixes: 117121386\nChange-Id: Idac8192877b65f8ad00cd60a2bb0c1ce75476cf1\n"
    },
    {
      "commit": "6e7ece7e4daa59dad2009e4a2318de6826edfe9e",
      "tree": "0389e4edd70e4b7f93de6cef34be270f9e891471",
      "parents": [
        "29077124e9bce23e4ffc1d4d3d0f8bac07016cc4",
        "d5022f9728f7d3a9decc433e64411ddf2eb61624"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 16 00:08:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 00:08:21 2018 +0000"
      },
      "message": "Merge changes from topic \"heads-up-ambient-inflation\"\n\n* changes:\n  Fix heads up views freeing too early.\n  Inflate ambient + heads up view as necessary\n"
    },
    {
      "commit": "d51095555f945d2faa5e516e2c6cc653097c7586",
      "tree": "cc803f199d29d141c9e537ece0dac4d69e9cec49",
      "parents": [
        "bea71a2fa3230d773ed4614e19b2f6f88ac47f50",
        "ff6628d45de24563533e04604e3a141a34581dfb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 15 22:17:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 15 22:17:27 2018 +0000"
      },
      "message": "Merge \"Always show transient indication in AOD\""
    },
    {
      "commit": "ff6628d45de24563533e04604e3a141a34581dfb",
      "tree": "05c10f9e41236cc0fc99cc95bbe38b5799378938",
      "parents": [
        "a7998431d4f41fe88e23e4e88cb39314f6e9d6ed"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 15 10:12:37 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Oct 15 11:05:25 2018 -0700"
      },
      "message": "Always show transient indication in AOD\n\nTest: visual\nTest: atest KeyguardIndicationControllerTest\nFixes: 117749848\nChange-Id: Ifeb71b7d385764d630bc74e9abed78cc2511c86d\n"
    },
    {
      "commit": "3e0f1b46e41c6a3cc3cbba45d8c30ba1148d0e8d",
      "tree": "e23e281511916f41672af682d26fe25408ebe80b",
      "parents": [
        "03fc4a7f68142013aa1dfa80dfe6abc93622af42",
        "66ce2386a38bdd4d9fdd837d6ea5065955923f52"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Oct 15 16:28:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 15 16:28:39 2018 +0000"
      },
      "message": "Merge \"Rename system-api wm flags to SYSTEM_...\""
    },
    {
      "commit": "908d785aaaef94f2d310d60887bb7d87f59758b2",
      "tree": "d6cc592bbbb0e62b7f0d5803ef509e077ce5395d",
      "parents": [
        "3e3f9f0f5f5fe9114bcab2a90a54786618d4f3fa",
        "ce9645b17a2a3b7bc32c027c3ab2bf841fdbe680"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Oct 12 21:04:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 12 21:04:48 2018 +0000"
      },
      "message": "Merge \"Fix overlap between operator name and heads-up notification\""
    },
    {
      "commit": "dbc63bff09667beb2330cf9407084e9640e5533a",
      "tree": "37926139e19f80608de7705ffd483e71d550db5a",
      "parents": [
        "8f63b17282c0d93aefc58f534c3723b6087e48a2",
        "4235b2a80261ea801c5eb71d28c7ef186c38da14"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Fri Oct 12 19:41:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 12 19:41:13 2018 +0000"
      },
      "message": "Merge \"CastTile becomes unavailable when not connected to Wifi\""
    },
    {
      "commit": "849935420c7116fa527c942f0b3a554c3aa3cf48",
      "tree": "58f82345e3cffe68dec9a1ad9a9978cf3ec6da01",
      "parents": [
        "a7998431d4f41fe88e23e4e88cb39314f6e9d6ed"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Oct 11 19:23:45 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Oct 11 19:23:45 2018 -0700"
      },
      "message": "Hide back button on bouncer as user swipes down\n\nTest: atest KeyguardBouncerTest\nTest: go/sysui-bouncer-tests\nChange-Id: I3d0fa71896be1dbe0cb433bf3bd6eecdc64e299a\nFixes: 110852045\n"
    },
    {
      "commit": "ce9645b17a2a3b7bc32c027c3ab2bf841fdbe680",
      "tree": "57ddc2a77236c50161a8e86b444a33f9aee4f506",
      "parents": [
        "4a38f23240a039478db9ecc805256316ce92c264"
      ],
      "author": {
        "name": "Tetsutoki Shiozawa",
        "email": "tetsutoki.shiozawa@sony.com",
        "time": "Wed Sep 05 13:17:01 2018 +0900"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Thu Oct 11 21:18:20 2018 +0000"
      },
      "message": "Fix overlap between operator name and heads-up notification\n\nThe title of heads-up notification was shown incompletely\nbecause it\u0027s covered by operator name.\nTo fix this issue, the operator name should be hidden\nwhen a heads-up notification is shown.\n\nFixes: b/116533819\nTest: atest SystemUITests\nTest: manual - enable config_showOperatorNameInStatusBar\n               and show a heads-up notification\n\nChange-Id: Id3318cd7cb2c9b6950392fadd11d02ab873d84c5\n"
    },
    {
      "commit": "4235b2a80261ea801c5eb71d28c7ef186c38da14",
      "tree": "b875425a58d045c4248b9f0b432dd072e2251baa",
      "parents": [
        "a4b1fe65470ea4c015207fa8b2016d95603e5931"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Thu Oct 04 17:46:59 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Thu Oct 11 16:41:02 2018 -0400"
      },
      "message": "CastTile becomes unavailable when not connected to Wifi\n\nCastTile registers with NetworkController and shows unavailable\nstatus when not connected to WiFi (regardless of internet connectivity).\nIncludes accessibility context for this state.\n\nAdded tests for behavior.\n\nTest: manual \u0026\u0026 atest\nChange-Id: I3004ed18e545d8d8c448f01d33eb70bcfd9831b2\nFixes: 78152102\n"
    },
    {
      "commit": "d5022f9728f7d3a9decc433e64411ddf2eb61624",
      "tree": "8e37aa82d30876e50645fa37a98ad764df651fed",
      "parents": [
        "d4660b27bf2abe44e1caf0e8a6a747f0522bd852"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Mon Oct 08 18:30:26 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Thu Oct 11 10:47:44 2018 -0700"
      },
      "message": "Fix heads up views freeing too early.\n\nIn the previous CL, heads up views were freed while they were still\nanimating away.  As a result, there could be a sudden shift in the view\nthe notification uses (most easily reproducible if you tap on a HUN with\nactions as the actions disappear).  This CL introduces an API to set a\na listener for when the content view becomes inactive and remove it then.\n\nBug: 111809944\nTest: runtest systemui, manual (HUN with full screen intent, tap, see\nthat it goes away without visual jank)\n\nChange-Id: Ib27bcf993f6be41aa4fde50b39817004610f5fd4\n"
    },
    {
      "commit": "d4660b27bf2abe44e1caf0e8a6a747f0522bd852",
      "tree": "7029e691a969def88c9325844f1a97adc60ba12b",
      "parents": [
        "20c6621d823a343734332e6adbd8e0ea129ead75"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Thu Sep 27 10:57:35 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Oct 10 17:34:16 2018 -0700"
      },
      "message": "Inflate ambient + heads up view as necessary\n\nIn order to save memory, this CL introduces API to set a subset of the\ncontent views of a notification to inflate instead of all of them.\nIt also changes the default views to inflate to the contracted,\nexpanded, and public views.  Heads up and ambient views are only\ninflated if the respective notification will heads up or pulse.  In\naddition, these views are freed up once the heads up/pulse ends.\n\nThis saves a significant amount of memory.  While 50 notifications would\ntake up around 50 MB before, they take up around 27 MB after this\nchange.\n\nBug: 111809944\nTest: runtest systemui, manual\nChange-Id: I970420943a3ecfac3e53d83a342b29636e32a51d\n"
    },
    {
      "commit": "bbcfda0d35e83b95b2acc742c36ced3f92700ce9",
      "tree": "1f336038fbe6ed361321d0fbf29241d9caa5b6c6",
      "parents": [
        "ea6c89b7cfe0ded8bdd6a8b1e1e344cb78d736fd",
        "c6b50c6601839a4c8b13ae6bc3af2792da629214"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 10 18:25:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 10 18:25:25 2018 +0000"
      },
      "message": "Merge \"Fix regression where promptReason would dissapear\""
    },
    {
      "commit": "ac56f746f065bc173a49a80f4272c83c810b40b2",
      "tree": "7fefd0436ff6278b41abc05d79b78678af26a662",
      "parents": [
        "167aa777b038a9833127a975c747d90f35aa5069"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Oct 09 16:20:25 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Tue Oct 09 20:09:57 2018 -0700"
      },
      "message": "SensorManager Plugin for trigger events\n\nBug: 111414690\nBug: 111479454\n\nTest: atest AsyncSensorManagerTest\n\nChange-Id: I141d756e9184418d494285ad1a6ce801c00581c0\n"
    },
    {
      "commit": "c6b50c6601839a4c8b13ae6bc3af2792da629214",
      "tree": "c85641d08476576be6a5a135a1f8dc5ca3c2dbc3",
      "parents": [
        "ce10f9b15f3acf3543ce21d443cf03033232bb7f"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 09 20:00:35 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Oct 09 20:00:35 2018 -0700"
      },
      "message": "Fix regression where promptReason would dissapear\n\nBug: 111850911\nTest: visual\nTest: atest KeyguardPatternViewTest\nChange-Id: I10dc09e369f962786dd108bafca3c21ed21a8481\n"
    },
    {
      "commit": "66ce2386a38bdd4d9fdd837d6ea5065955923f52",
      "tree": "fe0622a295a129f665bdc9c134e7507b93f52524",
      "parents": [
        "421f1a152c44192bff66ff99a13af8080c6b618c"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Oct 09 13:46:11 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Oct 09 14:08:22 2018 -0700"
      },
      "message": "Rename system-api wm flags to SYSTEM_...\n\nAlso add a special API to set them. Internally they are still just\nregular private flags\n\nTest: Built\nBug: 116798569\nChange-Id: I687b751fa18c7fbcc9bf95aa44d94d8a5614a88f\n"
    },
    {
      "commit": "e83a96c89a2baaea97ff2d7f6a6baff26af2c704",
      "tree": "43acb1507c30c6e07785d2105affb559fc78cc64",
      "parents": [
        "002f63d0ffb25d261cccee48690d3c945924eb43",
        "32c554373d268a9f66e49e232ec40c32dbc51f86"
      ],
      "author": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Mon Oct 08 18:16:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 18:16:56 2018 +0000"
      },
      "message": "Merge \"Refactor code to PluginEnabler\""
    },
    {
      "commit": "32c554373d268a9f66e49e232ec40c32dbc51f86",
      "tree": "6e121bd5324200ac708474fb8bb1e4835ce51773",
      "parents": [
        "01b46f8ffd0071ea57cc8e6622a0fdc2086499c6"
      ],
      "author": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Thu Sep 27 17:21:23 2018 -0700"
      },
      "committer": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Fri Oct 05 14:32:04 2018 -0700"
      },
      "message": "Refactor code to PluginEnabler\n\nSystemUI uses PackageManager to enable/disable plugin components.\nLauncher cannot do this, so we abstract this logic into an interface;\nLauncher will have a different implementation.\n\nTest: \"atest com.android.systemui.shared.plugins\"\n  build succeeds and all tests pass\n\nBug: 115877296\nChange-Id: Ie6f11572026dafa369c99722d63d4daa0ea44fb5\n"
    },
    {
      "commit": "8a1707e02126f9906090666ee29be79ed01ecc16",
      "tree": "22269f0aa7a5047262bb9578cd76d57a8772d83c",
      "parents": [
        "aeeb3f5eda649bc6d88f2dfcd1215c7a8cd579fa"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Fri Oct 05 13:16:50 2018 -0400"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Fri Oct 05 13:16:50 2018 -0400"
      },
      "message": "Fix DozeConfigurationTest\n\nSettings.Secure.putString() was failing to remove the setting for\nconfig_dozeAlwaysOnEnabled, so the test would only pass if the default\nsetting matched what was currently set on the device.\n\nThe fix seems to be to use\nSettings.Secure.putStringForUser(UserHandle.USER_CURRENT), because\nsystemui tests are now running as the system\n\nTest: atest com.android.systemui.doze.DozeConfigurationTest#alwaysOn_followsConfigByDefault\nChange-Id: I482e1b72b4a3567d5448ded0aa110f2e3e05c515\n"
    },
    {
      "commit": "cda0e83faf2701741c2a9a5ffceadda5801a1199",
      "tree": "f5e4afa259270901b0d2f459271ace3309d85391",
      "parents": [
        "b49951053543ad337194177fb44c465ce6cfe273",
        "99ba4bac9ef985466e52549665cff95256779bfb"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Thu Oct 04 13:26:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 13:26:35 2018 +0000"
      },
      "message": "Merge \"Fixes icons in shelf scrolled due to exposed menu.\""
    },
    {
      "commit": "495de00e0a27879be709ba0a615b38571b8e0327",
      "tree": "cfc560f3c955ac56c008cc4b1ff0760d8d4dac31",
      "parents": [
        "bddeea865c7965eabe4310565fc96023cca6da72",
        "43190bdf403bb4e5098bf4fdfec575eabaa7d433"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Thu Oct 04 08:43:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 08:43:54 2018 +0000"
      },
      "message": "Merge \"Refactor DisplayCutout to use Rect instead of Region.\""
    },
    {
      "commit": "99ba4bac9ef985466e52549665cff95256779bfb",
      "tree": "ee6028cc4b4674e6d0883a45ee952f4cc7723a7d",
      "parents": [
        "5d61fb371866cc61e1bc2e7918b06355992269ee"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Mon Oct 01 16:40:23 2018 -0400"
      },
      "committer": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Wed Oct 03 15:29:11 2018 -0400"
      },
      "message": "Fixes icons in shelf scrolled due to exposed menu.\n\nThis change modifies NotificationStackScrollLayout to reset the exposed\nmenu state in the following cases:\n\n- transitioning to AOD\n- scrolling via a touch on the exposed notification\n- shade height changing, causing footer to clip the exposed notification\n\nThis prevents the notification\u0027s icon from having its scrollX set (which\nis how we keep it lined up with the translated notification) when it\u0027s\nin the shelf.\n\nTest: manual\nChange-Id: Ie2d179c9275ec457ee46c6a40859310610a6d9d8\nFixes: 112304611\n"
    },
    {
      "commit": "43190bdf403bb4e5098bf4fdfec575eabaa7d433",
      "tree": "1551d0cb7eb63c4d6661bf047f253a02e40f4f02",
      "parents": [
        "f322456bd82a2f7107e9f06122d209432ceb9718"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Mon Aug 20 17:28:41 2018 +0200"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed Oct 03 18:52:33 2018 +0900"
      },
      "message": "Refactor DisplayCutout to use Rect instead of Region.\n\nTest: unittest\nBug: 112296834\n\nChange-Id: I4245543c26f99afa59a34f5b6e6650b93d052a6e\n"
    },
    {
      "commit": "25041bcec830d6ce00cc40573d4b72ff05cc4b7e",
      "tree": "9fb9ae8eea8fd5dc319ecea878a49d3c65ab8a5c",
      "parents": [
        "d538e6b8fb5e7989857695448f1c349d08af2100",
        "88b0d501debba9e0db85f95c7037b6a41a7db193"
      ],
      "author": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Tue Oct 02 19:52:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 02 19:52:17 2018 +0000"
      },
      "message": "Merge \"Update triggering to not double trigger at severe threshold\""
    },
    {
      "commit": "88b0d501debba9e0db85f95c7037b6a41a7db193",
      "tree": "51935ab2d9f1b01982e305fb386b44736029303e",
      "parents": [
        "960165c0d786c08eaacb3427b33753623754207b"
      ],
      "author": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Mon Oct 01 11:31:43 2018 -0700"
      },
      "committer": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Mon Oct 01 14:48:41 2018 -0700"
      },
      "message": "Update triggering to not double trigger at severe threshold\n\nIf the low threshold is not shown for any reason and we reach the\nsevere threshold and it does show it will double trigger. This CL\njust makes it so both are marked as \"shown\" if the severe warning\nis shown regardless of whether the low warning was shown or not.\n\nTest: runtest systemui\nBug: 116716293\nChange-Id: I7fff2d7beba7b37312b9a4c4951a68c3d1f1ba3f\n"
    },
    {
      "commit": "cca4ee0895b8681d29984cf3cdbedf4c30aeb038",
      "tree": "fe9f12fb6f787a9fe6c023d49d4e48e66474c6d5",
      "parents": [
        "eb93fd9b27aba5e499c403ade095d075905bef54",
        "e3137e35a492d1fbbb978883d911919543ebc70d"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Oct 01 20:16:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 01 20:16:35 2018 +0000"
      },
      "message": "Merge \"Fixes NPE when trying to expand QSPanel with wrong name of tile\""
    },
    {
      "commit": "e3137e35a492d1fbbb978883d911919543ebc70d",
      "tree": "da6cc3fc49c5fc6775735d079df8bc08d9f56abf",
      "parents": [
        "e0ef793d0af5fa08a2f9ff49e8a810b181131ecf"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Fri Sep 28 11:20:04 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Oct 01 12:21:30 2018 -0400"
      },
      "message": "Fixes NPE when trying to expand QSPanel with wrong name of tile\n\nFixes promise of StatusBarManager#expandSettingsPanel to document what\nhappens on invalid tile name.\n\nAdded test to verify correct behavior.\n\nChange-Id: I057210eb47411cf2a7dfefdd4efe49b96fd33f69\nFixes: 111128728\nTest: runtest \u0026\u0026 manual\n"
    },
    {
      "commit": "023cb195be427ebd02e06d1d7e27f4cfff121399",
      "tree": "1998b20b27b9b9605a1772de36a8530ee8ee13b7",
      "parents": [
        "58131839f0d4b1202a71de9123fa783c9a529d5c"
      ],
      "author": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Thu Sep 13 15:23:04 2018 -0700"
      },
      "committer": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Fri Sep 28 10:04:09 2018 -0700"
      },
      "message": "Move plugin support to shared lib\n\nIn addition to changing imports, this required some changes to use java\n7, since that\u0027s what the shared lib needs to be for launcher.\n\nSee bug for more details on this project.\n\nTest: \"atest com.android.systemui.shared.plugins\"\n  build succeeds and all tests pass\n\nBug: 115877296\nChange-Id: Ib79ede0a61664df0ba1a194632a345d2229777fc\n"
    },
    {
      "commit": "7913b20eb0b4be37981a9dd319ef0b5397445d30",
      "tree": "556b4941a597981e31bd5f435d8e9d452eb987d5",
      "parents": [
        "48af76d641c36e6aebfe7fd5fb9054f3087b321c",
        "c87a66b1cc21a09b4a0f549df2a63ebcca3a2a0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 27 22:32:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 22:32:23 2018 +0000"
      },
      "message": "Merge \"Fix test failure in NonPhoneDependencyTest.java.\""
    },
    {
      "commit": "328099b0ad389022ee277655184229e8edcab5b2",
      "tree": "ff6dad071be525fa87168fd652af9aad386014e5",
      "parents": [
        "a2cdb1bf4e94d281efb3c9dd35a5522ff4ce2632",
        "45d20bed1dc236968e4042f27c6efdcdf4319378"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 27 20:54:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 20:54:28 2018 +0000"
      },
      "message": "Merge \"Extract NotificationSwipeHelper and related state from NSSL.\""
    },
    {
      "commit": "45d20bed1dc236968e4042f27c6efdcdf4319378",
      "tree": "b19eb130e451283f2733638f37aa6f12da1bebc9",
      "parents": [
        "82b66a4fda0098002e364fc64c9dfdacc8aef7a1"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Tue Sep 18 13:47:26 2018 -0400"
      },
      "committer": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Thu Sep 27 15:25:42 2018 -0400"
      },
      "message": "Extract NotificationSwipeHelper and related state from NSSL.\n\nChange-Id: Ic0a1178e4f3d6f2addd9bae1c31ec57dffee8eba\nTest: Automated tests should pass. Manual testing should also show that notifications behave the same as before (swiping, tapping, dismissing, snapping/unsnapping menu, etc.)\n"
    },
    {
      "commit": "c87a66b1cc21a09b4a0f549df2a63ebcca3a2a0e",
      "tree": "43f3ef5d42fb01682589f9894b58321f7d16d123",
      "parents": [
        "c3c71728cee2d4054a165e2e664302e6d99bab5e"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Sep 26 16:28:57 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Sep 26 16:28:57 2018 -0700"
      },
      "message": "Fix test failure in NonPhoneDependencyTest.java.\n\nThe recent change to NotificationGroupManager to use\nHeadsUpManager.isAlerting over the row causes a NPE to occasionally\nsurface if NonPhoneDependencyTest runs long enough.  When it sets up\nthe listener, it eventually gets a callback that adds a notification and\ncalls into NotificationGroupManager even though it hasn\u0027t had its\ndependencies properly set up.  This CL fixes that by setting its\nHeadsUpManager to the mock.\n\nTest: ensure in all tests that NotificationGroupManager has its\ndependencies set when NotificationEntryManager adds a notification\nFixes: 116495228\n\nChange-Id: I7b82eedbf46fde5c8709dd03fdd36059041ef911\n"
    },
    {
      "commit": "67f5c8b2d0de7ba67d3bdb71510eb0fae2febd61",
      "tree": "6fecf6467733c58cb06bb6c9e9660a977b5085e3",
      "parents": [
        "c3c71728cee2d4054a165e2e664302e6d99bab5e"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Sep 24 12:09:19 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Sep 26 14:14:08 2018 -0700"
      },
      "message": "Removing dependencies on recents-specific code in SysUI\n\n- Removing references to SystemServicesProxy (to be removed) for\n  AM/WMWrapper\n- Removing unused code for old nav bar swiping logic, and also unused\n  and quickstep-incompatible code for dragging in recents\n- Removing all event bus logic from outside recents subpackage\n- Exposing PipUI component for bridge caller\n\nBug: 114137554\nTest: Can still swipe up\nChange-Id: Ibcfbe06acae06ea5950615cabd52243279fee16d\n"
    },
    {
      "commit": "e0f7f211d5bbecd4e5ffc5fd273a053e65d39e45",
      "tree": "86d38f627a9c188d170a35396233865249671ffb",
      "parents": [
        "abdaf5b51f798a4d9a1bae7b515df6ae40c2d591",
        "92e6c89fbbdaa986478c09c52d232347f4375b1e"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Sep 25 22:46:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 22:46:15 2018 +0000"
      },
      "message": "Merge \"Debug hook for changing display brightness\""
    },
    {
      "commit": "92e6c89fbbdaa986478c09c52d232347f4375b1e",
      "tree": "a1918ea8a64d6c3b4f30ebbcd09394f5fc6d1e5c",
      "parents": [
        "8750eebfe2ece32f2ed7d8547ac14d464f5de147"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Sep 25 08:58:24 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Sep 25 09:43:38 2018 -0700"
      },
      "message": "Debug hook for changing display brightness\n\nadb command that allows the AOD brightness to be changed:\nadb shell am broadcast -p com.android.systemui\n-a com.android.systemui.doze.AOD_BRIGHTNESS\n--ei brightness_bucket {BUCKET_HERE}\n\nFixes: 116060647\nTest: adb shell am broadcast -p com.android.systemui -a com.android.systemui.doze.AOD_BRIGHTNESS --ei brightness_bucket 2\nTest: atest DozeScreenBrightnessTest\nChange-Id: I57de0801aac17a3df466899aec2cf4f37a017d33\n"
    },
    {
      "commit": "b16030f305f1d204dc25c81c8ee03bdccf18c073",
      "tree": "260dd00d0802785d5a787830c3c4c0a1bb5844cc",
      "parents": [
        "828478dac01f29656294293069b9e981f2d65b47",
        "1fc01dcd49636123eb4bbf4133e299be2113ab35"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Sep 25 16:19:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 16:19:27 2018 +0000"
      },
      "message": "Merge \"Clear pattern message when showing it again\""
    },
    {
      "commit": "deaeae425d059a9096f2315e3785fcd722f5db63",
      "tree": "377d7635c08f0c840f420abb577867945de5b3c1",
      "parents": [
        "8a12650f101defe048fbe4413754ede0789afe5b",
        "533836ac7265b4f731f25fcc849378e9976a9fd5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 25 15:40:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 15:40:26 2018 +0000"
      },
      "message": "Merge \"Checks keyguard earlier when blocking notifications.\""
    },
    {
      "commit": "d79170be261dc5f5241cc37f5329dce3cc0f0dda",
      "tree": "1f58df2b9cbd2d4a99fdc12e2cdd56f0a4eee790",
      "parents": [
        "e36375ecf1394a5f232269e0fbd5d467b0f552e6",
        "db601aa2e61f19fc12fce252e84de678a67f250c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 25 14:48:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 14:48:29 2018 +0000"
      },
      "message": "Merge \"Remove updatePublicMode from StatusBar.java\""
    },
    {
      "commit": "1fc01dcd49636123eb4bbf4133e299be2113ab35",
      "tree": "549c88558b57437e5d24772139eb6024f6a5b41e",
      "parents": [
        "8750eebfe2ece32f2ed7d8547ac14d464f5de147"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Sep 24 16:43:06 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Sep 24 16:46:50 2018 -0700"
      },
      "message": "Clear pattern message when showing it again\n\nChange-Id: Ic68d78babbbd5f2c3fa2b97f49847c7f028c4210\nFixes: 111850911\nTest: atest KeyguardPatternViewTest\nTest: manual\n"
    },
    {
      "commit": "63cc5a64660ca47f7fde4f036f41ccff78852b47",
      "tree": "0123b86139c49f211f1461ec39b77ec705d4ef33",
      "parents": [
        "08096662d6989ff4042b82d98339b367656f8eb7",
        "4a38f23240a039478db9ecc805256316ce92c264"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Sep 24 22:39:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 22:39:22 2018 +0000"
      },
      "message": "Merge \"Fixed an issue where a notification may not be updated\""
    },
    {
      "commit": "533836ac7265b4f731f25fcc849378e9976a9fd5",
      "tree": "8bd85af10244f9f3432a95b47c0cb01685985faa",
      "parents": [
        "4dc09a4b82b8bd063105d1376c0c8b5cd95d7ab3"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Mon Sep 24 17:15:32 2018 -0400"
      },
      "committer": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Mon Sep 24 17:28:31 2018 -0400"
      },
      "message": "Checks keyguard earlier when blocking notifications.\n\nThis change modifies NotificationInfo to call the provided keyguard\ncallback when the \"Stop notifications\" button is tapped, rather than\nwhen trying to save the new importance value after the undo timeout.\n\nTest: updated test cases in NotificationInfoTest.\nBug: 111416533\nChange-Id: I89b4715d0d41be4587753f554862e51c4e1d43c3\n"
    },
    {
      "commit": "4d2eeb5bf9420990577f3d12031452077dcab917",
      "tree": "86c01827f10485f2ca2be7292912072ae790d3e9",
      "parents": [
        "de92184b8ce98d4b16174da6b5e0f1e6f4d577a5",
        "25593cc9b8e0fe13da8bf7bbf5683cc5f09c2a79"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 22 02:26:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 22 02:26:30 2018 +0000"
      },
      "message": "Merge \"Refactored the contextual group of buttons that appear on the nav bar\""
    },
    {
      "commit": "4a38f23240a039478db9ecc805256316ce92c264",
      "tree": "2827e4cc765f011774f918e9675078be0e3c9731",
      "parents": [
        "4f797ff273d1b5a3a93bec223599f6aaff520c1c"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Jun 22 13:48:33 2018 -0700"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Sep 21 19:05:00 2018 -0700"
      },
      "message": "Fixed an issue where a notification may not be updated\n\nWhen timing out, we need to update the notifications in\ncase any of the updates have been blocked.\n\nChange-Id: Idea862f7faae136feea650d292694475973fd3cf\nFixes: 80571494\nTest: use test app provided\nTest: runtest -x packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/ActivityLaunchAnimatorTest.java\n"
    },
    {
      "commit": "a48d662edd09d986bcb8537b4e4004df517b671c",
      "tree": "0b3d0d1192bbd10e33075a182fae2fe83684cde1",
      "parents": [
        "b23ae220918603276ded98bc054025830b2a7541",
        "c293d8fe5b6b369d2423789b34f9e19fa47cf4a8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 22 01:12:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 22 01:12:30 2018 +0000"
      },
      "message": "Merge \"Allow whitelisted plugins on user builds\""
    },
    {
      "commit": "25593cc9b8e0fe13da8bf7bbf5683cc5f09c2a79",
      "tree": "44d1ce48ba6e0179c3f421fde0de2717d6211203",
      "parents": [
        "c95add6ddc8902e6b5b30afccae1b16aa0f06a18"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Wed Sep 12 16:05:41 2018 -0700"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Fri Sep 21 17:40:27 2018 -0700"
      },
      "message": "Refactored the contextual group of buttons that appear on the nav bar\n\nRefactored NavigationBarView\u0027s contextual buttons to keep track of just\none button\u0027s visiblity with its container group. The visiblity is\ndetermined by the priority of the buttons. For example, accessibility\nhas the highest priority, if that is visible, no other buttons can take\nits place, however if menu button is visible, then rotation can appear\ninstead.\n\nBug: 116041410\nTest: atest NavigationBarContextTest\nChange-Id: Ic0762c7b7121a313b7c08989f9ab761426372c5c\n"
    },
    {
      "commit": "b981efa912e8efa0ec2f6f4e7c88c040a3e72ea4",
      "tree": "92ac8ae3d2874c60c6ff2cbfffeb7bfab70d15c7",
      "parents": [
        "174a48b5b2df819c70a0bf468c37ee771ab239a0",
        "266cb3485ca74b824c598820dab8ff1cb0bf3d1d"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Fri Sep 21 15:30:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 15:30:30 2018 +0000"
      },
      "message": "Merge \"Remove references to SwipeHelper from NotificationMenuRow.\""
    },
    {
      "commit": "266cb3485ca74b824c598820dab8ff1cb0bf3d1d",
      "tree": "662489191b255112ec528bbbcaf40a79a065b8c6",
      "parents": [
        "bf954233c66155146371867b4f95a30a032cc62e"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Fri Sep 07 14:52:04 2018 -0400"
      },
      "committer": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Thu Sep 20 15:54:16 2018 -0400"
      },
      "message": "Remove references to SwipeHelper from NotificationMenuRow.\n\nThe intent here is to move gesture processing out of NotificationMenuRow and into NotificationSwipeHelper.\n\nTest: Automated tests should pass, and manual experimentation with dismissing/tapping/replying to notifications should work as expected.\nChange-Id: Icd32f14769f1b494ecc1dedb2cc37ee129ed21f7\n"
    },
    {
      "commit": "7f1d0dc731c77bc66615932c83acc3e4dd5bb505",
      "tree": "d4d3236240e51dfeee05f218e361308a83dffcf4",
      "parents": [
        "4435742cd1d061a5c61c17d554313a591aaa8830",
        "a97ea059b5789389021d4fdc463b82b4120d87eb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 20 17:42:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 17:42:46 2018 +0000"
      },
      "message": "Merge \"Split ambient pulse notif logic from heads up.\""
    },
    {
      "commit": "a97ea059b5789389021d4fdc463b82b4120d87eb",
      "tree": "6afd216501cc681b899cb88bcf070ec8bf015548",
      "parents": [
        "a01a180991bb047f75956f68265095792d575ae6"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Tue Sep 11 13:53:18 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Sep 19 17:48:03 2018 -0700"
      },
      "message": "Split ambient pulse notif logic from heads up.\n\nThis CL aims to split the ambient pulse logic from the heads up logic as\na lot of the logic is specific to one or the other.  This CL introduces\nthe following major changes.\n\n1. Introduces AmbientPulseManager which manages notifications that pulse\nwhile the screen is dozing or on AOD and manages their lifetime.\n\n2. Ties pulse duration for notifications more tightly with the lifetime.\nThis means DozeScrimController does not control the pulse time but\ninstead AmbientPulseManager.  This is because previously, having two\nseparate lifetimes (one for the pulse, one for the notification) caused\nsome strange issues to occur if one ended before the other.\n\n3. Divide out logic for heads up and ambient pulse, so they are no\nlonger both tied to shouldPeek in NotificationEntryManager.\n\n4. Multiple naming refactors for readability (e.g. contains -\u003e\nisAlerting, mShowAmbient -\u003e mOnAmbient, etc.).\n\nAlthough this is a refactor, some of the behavior does change in some\nplaces where I thought the current behavior was not intended.  In\nparticular:\n\n* Ambient notifications are no longer marked as seen immediately on\npulsing.  We should reserve this for when we are confident the user has\nseen the notification.\n* Ambient notifications are no longer disabled or snoozed when heads up\nnotifications are disabled or snoozed respectively.\n* Removing/cancelling a notification that is pulsing no longer keeps\nthe pulse going awkwardly with no notification in the middle.  Instead,\nthe pulse ends (provided it was shown for a minimum amount of time).\n\nChange-Id: I26af6f7e7ad7fa71d2d43f7c4d86fb34551151b0\nTest: manual, runtest systemui\n"
    },
    {
      "commit": "500420ce55dfd72bfec41864f256dfde46711673",
      "tree": "8f48adda35846530c17c7a157de96befcba74012",
      "parents": [
        "a500ceab71ee514f850518ed5edbeb603538342c",
        "a099cc8bb1f03f381b46e4f2d52d7d50ebf32441"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 18 23:49:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 23:49:32 2018 +0000"
      },
      "message": "Merge \"Fixes tapping home button on right edge with quickstep layout\""
    },
    {
      "commit": "4648bd252758048d4daeaebafdfb3b1d9ab85384",
      "tree": "8fc0d9cef6c41a289390d910d6b8a137d0b58679",
      "parents": [
        "d71c238a67acb14692c4e452d1a14d87f5ae26a9",
        "fec7766594cc8117ce6d9f01a21ed11e7074b4c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 18 22:44:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 18 22:44:27 2018 +0000"
      },
      "message": "Merge \"Fix broken NSSL tests\""
    },
    {
      "commit": "c293d8fe5b6b369d2423789b34f9e19fa47cf4a8",
      "tree": "1852530fc5e35c9c26658cca0044df9239ee6cf3",
      "parents": [
        "50df226b69c76f7ed0edd5e31b0dd8e639162150"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Sep 13 16:23:41 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Sep 18 15:26:56 2018 -0700"
      },
      "message": "Allow whitelisted plugins on user builds\n\nPlugins should only run on user builds if explicitly whitelisted.\nIt\u0027s also necessary to hold a signature permission:\n  com.android.systemui.permission.PLUGIN\n\nTest: atest PluginInstanceManagerTest\nTest: atest PluginManagerTest\nTest: manually try to install plugin on user build (whitelisted or not)\nBug: 111414690\nChange-Id: If17b13f4caef677d641cba84b491b65c8135679b\n"
    },
    {
      "commit": "a099cc8bb1f03f381b46e4f2d52d7d50ebf32441",
      "tree": "c5364e1bdfe4b15df419578fc01f9706b6564105",
      "parents": [
        "2518b2899ca62f2135adbd1fc512fe34e9ef6b93"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Wed Sep 05 14:03:20 2018 -0700"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Sep 18 14:54:07 2018 -0700"
      },
      "message": "Fixes tapping home button on right edge with quickstep layout\n\nReverted ag/4731597 since it was causing issue and instead hides the\nmenu container when none of its children are visible.\n\nChange-Id: Ie48ef32f8a66392796cb0330faed6dff499bc1b1\nFixes: 114099654\nTest: tap around the right edge\n"
    },
    {
      "commit": "db601aa2e61f19fc12fce252e84de678a67f250c",
      "tree": "032180067c3f88f7eeeb66ad62f8e710fe6978ef",
      "parents": [
        "91d0f10a36667ba9fec5caff620560792534f3ee"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Sep 18 17:47:46 2018 -0400"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Sep 18 17:47:46 2018 -0400"
      },
      "message": "Remove updatePublicMode from StatusBar.java\n\nThere is still one place where status bar needs to notify\nNotificationLockScreenUserManager to updatePublicMode (for the\nnotification showing sensitive info bug).\n\nOtherwise, this commit removes udpatePublicMode from StatusBar and\nshould have the exact same call semantics as before.\n\nTest: `atest SystemUITests`\nBug: 112656929\nChange-Id: I4fe6bc1d6519ae12581f3c17f14c2fcb505eb5f5\n"
    },
    {
      "commit": "fec7766594cc8117ce6d9f01a21ed11e7074b4c6",
      "tree": "1f501a03567e63cccb9dbea039be756624f4cfb2",
      "parents": [
        "fb59cfa0cab1d3cb7fbb8aff549084bc50245eca"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Sep 18 16:56:50 2018 -0400"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Sep 18 17:28:08 2018 -0400"
      },
      "message": "Fix broken NSSL tests\n\nI don\u0027t see a reason why we would constrain mBarState.addListener to\nhappen only once, because the whole point is that other classes listen\nto those changes as well, and will subscribe unless we mock literally\neverything.\n\nChange-Id: Id6aed68c48fbc4f94f78fcd38b9fe0ec83d49c7e\nFixes: 115742174\nTest: `atest NotificationStackScrollLayoutTest`\n"
    },
    {
      "commit": "fdbfc545d4318a485466b8e7e26e19b0aefbeb54",
      "tree": "3a2020b49b0ce6355def2dcfece6d15c1acc8e86",
      "parents": [
        "7db3ae4f31861edaf1641051530efbbf163907b2"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Sep 17 15:56:09 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Sep 17 16:06:16 2018 -0700"
      },
      "message": "Defer theme flags when view isn\u0027t attached\n\nChange-Id: Ie042da18b8c84d9067bb4d951f9dd35fe4ea9d19\nFixes: 113530582\nTest: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java\n"
    },
    {
      "commit": "7c6ca7679312cd8a28ff6c1b69d6d2cb5f5296a4",
      "tree": "ac4e72173e360eb627082b489a4438254479dd74",
      "parents": [
        "ce77caf677acbee69211c0891e32fc670e95ba63"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Sep 13 11:54:30 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Sep 14 17:18:54 2018 +0000"
      },
      "message": "Allow protected broadcasts in tests\n\nSysUI must send protected broadcasts to avoid system impersonation.\nOur tests should also allow these types of broadcasts, otherwise\nthey will be dropped/skipped on -user builds and functionality\nwill be broken.\n\nThis CL also protects the flashlight broadcast.\n\nFixes: 110825884\nTest: atest com.android.systemui.qs.external.TileServicesTest\nChange-Id: I5a3dfc569c1695366e5f0e48cda8a7a32e287e7d\n"
    },
    {
      "commit": "d4092c189716e97d768f434ffa53721bd55f86a2",
      "tree": "0b60b6a68a46e56975abe5754d127264a3e38876",
      "parents": [
        "7ae5a1e47fd4b1bb51a7418e04fc08d418d6736a",
        "96eed64a0916c872f18dfb5513a9055313c6f447"
      ],
      "author": {
        "name": "Kevin Han",
        "email": "kevhan@google.com",
        "time": "Fri Sep 14 01:16:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 14 01:16:36 2018 +0000"
      },
      "message": "Merge \"Add NotificationGroupManagerTest\""
    },
    {
      "commit": "96eed64a0916c872f18dfb5513a9055313c6f447",
      "tree": "2222652d9552da6ef6e94ea61fb6129f45bea90a",
      "parents": [
        "e006ff31414a3d2f24ecba5ede6d5f6d4cb1bf4c"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Wed Sep 05 18:53:33 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Tue Sep 11 15:49:27 2018 -0700"
      },
      "message": "Add NotificationGroupManagerTest\n\nAdd some unit tests for NotificationGroupManager testing some basic\nfunctionality and also some of the complex heads up logic.\n\nBug: 79705024\nTest: runtest systemui\n\nChange-Id: I73f01827063d2704a4e1b1d18d479d4e9375447e\n"
    },
    {
      "commit": "4fd6b783e3fa28f648460fd06a6b5a6b4fa13f64",
      "tree": "c03bcad667737736ace69922e9ed8f2d95454e77",
      "parents": [
        "e006ff31414a3d2f24ecba5ede6d5f6d4cb1bf4c"
      ],
      "author": {
        "name": "Ying Zheng",
        "email": "yizheng@google.com",
        "time": "Tue Sep 11 12:55:04 2018 -0700"
      },
      "committer": {
        "name": "Ying Zheng",
        "email": "yizheng@google.com",
        "time": "Tue Sep 11 13:51:49 2018 -0700"
      },
      "message": "Migrate sysUI and carSysUI to the separated car user lib.\n\nBug: 113868873\nTest: build\nChange-Id: I48fb69aab7092d256c6839377c905340f9059165\n"
    },
    {
      "commit": "e9e938c945e8285022037f9d9d32245b2fc64959",
      "tree": "7cdcdd342f9d0f3f7aa976ab97590e01017d52d8",
      "parents": [
        "d4378f7a26f9b5a3ca0aa7e57c98608cc61697b1"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Thu Sep 06 13:38:11 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Thu Sep 06 13:52:39 2018 -0700"
      },
      "message": "Rename setShouldExtendLifetime in LifetimeExtender\n\nRename NotificationLifetimeExtender.setShouldExtendLifetime to\nsetShouldManageLifetime.  This is more clear in what the logic actually\nis and reads better.\n\nTest: runtest systemui\nChange-Id: Ic5792322ef0a557812d58f07285acee32cce0c1a\n"
    },
    {
      "commit": "90a38dd7f7b7c6dbbd31eafb8afeab90858f6aa6",
      "tree": "082dcd177f0976494eaae17ac74df0c49f335028",
      "parents": [
        "322a8b214ccd59072c7eb343a628d4b5a10b6250"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Sep 05 09:37:37 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Sep 05 09:37:37 2018 -0700"
      },
      "message": "Removed shade drawing optimization\n\nWhy?\n- This optimization has caused many glitches, it easy to break and\n  we\u0027ve done so a few times (technical debt.)\n- It\u0027s unclear if not calling glClear() is still an optimization.\n  Most graphics cards actually expect a glClear and are optimized\n  to discard old frame buffers when the method is invoked\n\nChange-Id: If1bb9b8bf4c907ca907dc1205ad05dabfefeba1b\nFixes: 113286511\nTest: manual\nTest: shalac@ is keeping an eye on the performance dashboard\n"
    },
    {
      "commit": "32d786fb73ec4da8f892c716555675d6948a04ca",
      "tree": "56d7b00662c33b9c34962857f80320aa129be2b7",
      "parents": [
        "50f913614afeee936f0e2f7a93f821dd7ecf56c8"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Aug 01 17:08:26 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Sep 04 21:48:10 2018 -0400"
      },
      "message": "Do not animate QS state changes when not in view.\n\nSkip QS state change animations when the target view is not fully\nvisible on screen.\n\nSome tiles require extra time before the status is fully changed and\ntherefore will be animated later.\n\nChange-Id: I08e76e0fdeab2b260cb7a41a117a6ff484ca3329\nFixes: 111680760\nTest: visual and runtest systemui\n"
    },
    {
      "commit": "efc032f61e13f3a3618a9168b929846418a531ac",
      "tree": "87ba60ff84de28fa9a298a40d879edda9e31d879",
      "parents": [
        "e643be009a3e6d30b9fa5126a1ce3b63cdbcf531",
        "a5ff1fafb3948f5022793cb24aaf956ead682c30"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 04 23:46:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 04 23:46:58 2018 +0000"
      },
      "message": "Merge \"Refactor managers that defer notification removal\""
    },
    {
      "commit": "a5ff1fafb3948f5022793cb24aaf956ead682c30",
      "tree": "ad3d01bcbbfa84a46a03fe61b9e3973f730f1bc4",
      "parents": [
        "f5121c964b5cc7ca4c71313b7a25abdd81377e36"
      ],
      "author": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Tue Aug 21 16:35:48 2018 -0700"
      },
      "committer": {
        "name": "Kevin",
        "email": "kevhan@google.com",
        "time": "Fri Aug 31 15:17:28 2018 -0700"
      },
      "message": "Refactor managers that defer notification removal\n\nThis CL introduces NotificationLifetimeExtender, an interface for the\nvarious notification managers to implement to say that a notification\nshould stay around even after being removed.  This provides greater\nconsistency/standardization as opposed to having the same\nimplementation done differently and scattered throughout different\nclasses.\n\nAlso implements small refactors to try to reduce coupling where possible\n(in particular reduce references to NotificationEntryManager) and move\nlogic to more appropriate locations (in particular move a lot of remote\ninput logic from NotificationEntryManager to\nNotificationRemoteInputManager.)\n\nTest: manual (see below); runtest systemui\n* heads up + cancel\n* guts active + cancel\n* ambient pulse + cancel (UI here is janky even on master)\n* have a remote input active + cancel\n* have remote history, send, see that the notification stays\nChange-Id: I24d345a1f2d8751827e367d1432918b3db7fa5f3\n"
    },
    {
      "commit": "6239e53794724034d9d90d0dc227bfb201723df6",
      "tree": "6712026d28920804b7a635cf2f62aa870dec710a",
      "parents": [
        "589ce41dd33b6ce385158d97196a59475cd77c95"
      ],
      "author": {
        "name": "Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Fri Aug 24 17:17:26 2018 +0200"
      },
      "committer": {
        "name": "Valentin Iftime",
        "email": "valiiftime@google.com",
        "time": "Fri Aug 31 14:36:33 2018 +0200"
      },
      "message": "Resize image wallpaper surface to match bitmap size in order to optimize memory\n(on AndroidTV there is no need for wallpaper and RAM is wasted)\n\nBug: 74517029\nTest: Push a low resolution wallpaper to the device (adb push new_wallpaper /data/system/users/0/wallpaper),\nreboot and check the buffer size for com.android.systemui.ImageWallpaper (adb shell dumpsys SurfaceFlinger)\n\nChange-Id: I992175997ed09360e8fc9c2cabf354fb4fabd1f9\n"
    },
    {
      "commit": "ae7ced2f95425b997b9b62d1c89fd86d496bac13",
      "tree": "d7a0afef7f0032dd48b1ca8524a6c5ca616e1696",
      "parents": [
        "d5796dd4f1cce3860241ab179e0bd07fbaf19864"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 22 16:56:58 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Aug 23 12:49:08 2018 -0400"
      },
      "message": "First kotlin\n\nConvert one class to kotlin and provide a slight amount of guidance.\n\nTest: existing tests\nChange-Id: Ie8659765b674ac7b2d82ed3d343f387195c07d83\n"
    },
    {
      "commit": "e59dc4040af88c6eb599087075e2512919691b2e",
      "tree": "0adac0ac63bc7ba5e76cdacbfabb2f5fe78e0256",
      "parents": [
        "83f8d6d2e1b7690dbb30f17254db2da5e70bd280"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Aug 16 12:05:01 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 22 20:42:53 2018 -0400"
      },
      "message": "Remove stack scroller references from StatusBar\n\nTry to move as much logic up over into stack scroller as possible.\n\nThings that can\u0027t move, funnel through NotificationPanel to make the\ninterface between StatusBar and NotificationPanel more explicit.\n\nTest: Existing tests\n\nChange-Id: I5fa36a9d5d0a8c7f76b9d1843c0733a5758b5838\n"
    },
    {
      "commit": "1fd3fc3e647aaca6352bc8d03b627dc5b4fb5326",
      "tree": "08f3ecf989e46014bab4836ff54914a28e2d20d2",
      "parents": [
        "0eaa26adc5acac23472cf4624c5a8525e11cae27"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 14 17:20:09 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 22 12:32:30 2018 -0400"
      },
      "message": "Refactor StatusBarState out of StatusBar\n\nTest: tests gonna test\nChange-Id: Id8d8eb5124e542eac9f3b785a7011a22e758e20b\n"
    },
    {
      "commit": "af7a8f48b204c7fcc0d762bfe968847a004568b6",
      "tree": "d03ea852d66198a8885673ea313044a288087a9e",
      "parents": [
        "8dbdc91ef1f14c6fb30263572d86eefe62413822",
        "1f90c98891bd09e91f8b6beade4b7fd5b1757309"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Aug 21 18:42:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 21 18:42:13 2018 -0700"
      },
      "message": "Merge \"ScreenDecorations: Update corner radius when configuration changes\" into pi-dev am: 2c9fd5fbbb\nam: 1f90c98891\n\nChange-Id: I5304f627f5fe4577ee4b68317bb94b2b1ac645a4\n"
    },
    {
      "commit": "c892e59dcd78161795d505ff43d4bd9e88b19bf3",
      "tree": "a1bb94808b0abfd233fcf8b961cae527ebe18a8a",
      "parents": [
        "9c12bd8472b2965bb667b917f8074d6d111200dd",
        "a3e3627375ec076eb94ca7eae5470da825072f9d"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Aug 21 22:52:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 21 22:52:52 2018 +0000"
      },
      "message": "Merge changes Ib6e4bbd4,I22f9b929\n\n* changes:\n  Hide system overlays on AOD\n  Rename StatusBarWindowManager to  StatusBarWindowController\n"
    },
    {
      "commit": "a3e3627375ec076eb94ca7eae5470da825072f9d",
      "tree": "6f7ad167db5d210c197ab2e525b713599cd40458",
      "parents": [
        "1a8588d19f75eda4e802763d6725d8c0e1e39341"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Aug 21 13:22:33 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Aug 21 13:22:33 2018 -0700"
      },
      "message": "Hide system overlays on AOD\n\nTest: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowControllerTest.java\nChange-Id: Ib6e4bbd4652f8c01460884602def97eb65ad4e98\nFixes: 110990354\n"
    },
    {
      "commit": "1a8588d19f75eda4e802763d6725d8c0e1e39341",
      "tree": "6181557fa05df3390e7c7f9031f8d3fe2d2bd248",
      "parents": [
        "dee54a448ba7068cea61a3259d91190b56ec1c55"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Aug 21 12:18:47 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Tue Aug 21 13:20:30 2018 -0700"
      },
      "message": "Rename StatusBarWindowManager to  StatusBarWindowController\n\nFor consistency with the rest of the system since StatusBarWindowManager\nisn\u0027t neither a system service or part of Window Manager.\n\nTest: sysuitests\nChange-Id: I22f9b929cb3e2fb0c68e1960267855f5e56b2a01\n"
    },
    {
      "commit": "64c9d90a63a0712018c0ecadc541d7d8b38ea49b",
      "tree": "968a6222f713b8794da9465d8d639fede2b164e7",
      "parents": [
        "c05c2d1e48c650ab80d751941dfd2076736ba016"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Aug 20 13:43:38 2018 +0200"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Aug 21 16:13:15 2018 -0400"
      },
      "message": "ScreenDecorations: Update corner radius when configuration changes\n\nBug: 112876936\nTest: atest ScreenDecorationsTest\nChange-Id: I4359b3da4a47dcf434f018fe3e62e18354d1be47\n"
    },
    {
      "commit": "aacde1473e69331a0004b4fd91e68d2add622b6d",
      "tree": "5756778dcf1bbfe618bd5336ba13f705fb4c25c0",
      "parents": [
        "8a8f138d1df36cb0de80cc08bcec2685060f6c5c"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Aug 20 17:54:24 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Aug 21 13:41:56 2018 -0400"
      },
      "message": "Added Lock for mCallbacks and test for Concurrency\n\nmCallbacks in CastControllerImpl is now\nthread-locked by a guard of the same name.\n\nThe test implemented in CastControllerImplTest fails\nin previous builds (bug 79419738) and passes now.\nIn order to properly test,\nCastControllerImpl::fireOnCastDevicesChanged is\nnow VisibleForTesting.\n\nChange-Id: I4160938b2da1749a4370d902e314deaf445cda1a\nFixes: 79419738\nTest: CastControllerImplTest::testConcurrencyOnMCallback\n"
    }
  ],
  "next": "b13b17d8fbe6c69473a364816c2d1dc1759ba061"
}
