)]}'
{
  "log": [
    {
      "commit": "de86b3754b6871a95057299dfdf1bcbcfeebe8f1",
      "tree": "4bf10491cb14a89a5b32c1a82699b596a9832d2d",
      "parents": [
        "8f49dc3c1321bb2b2270cf0b3555ff6960048a5f",
        "0397c843a3fe6d09626e7a9e1a1c6ce83dac9301"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Sun Feb 10 18:12:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 10 18:12:46 2019 +0000"
      },
      "message": "Merge \"Apply colors extracted from wallpaper to clock faces.\""
    },
    {
      "commit": "0397c843a3fe6d09626e7a9e1a1c6ce83dac9301",
      "tree": "45215234fe5ae7aa0522249e95459db181755305",
      "parents": [
        "1189c0f9e879dbfc1f16e2bfc087a9cd235a4420"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Feb 07 14:25:46 2019 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Feb 07 15:12:00 2019 -0500"
      },
      "message": "Apply colors extracted from wallpaper to clock faces.\n\nBug: 122301289\nTest: Looked at clock faces with various wallpapers.\nChange-Id: I5c0bda2fa1f3da783315a10e1c2f8047d63e1e6d\n"
    },
    {
      "commit": "8fdb533e08098f68fe62ff32351be337c918a979",
      "tree": "7a5735a7ef9462b92532e364a839e36b93471c47",
      "parents": [
        "f86397d721e886412d01c68683266d158f9739e5"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Mon Feb 04 14:29:49 2019 -0500"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Thu Feb 07 14:44:54 2019 -0500"
      },
      "message": "Make StatusBarStateController available to plugins\n\nTest: atest SystemUITests\nBug: 115322193\nChange-Id: I46e4b23c9839720a3eb10e381d7aaf79a74c6b33\n"
    },
    {
      "commit": "2bcd40352628fead2ab7c35e3420cc284835eddd",
      "tree": "ea0bff6ad685b2f2cbfd14cc0de443decfc4193f",
      "parents": [
        "5fbcaf46c15b4392914ee986c0cee919793287f3"
      ],
      "author": {
        "name": "linanson",
        "email": "linanson@google.com",
        "time": "Mon Jan 14 15:22:04 2019 +0800"
      },
      "committer": {
        "name": "linanson",
        "email": "linanson@google.com",
        "time": "Thu Jan 31 14:20:49 2019 +0800"
      },
      "message": "SeamlessMedia button as one of media action button\n\n- Implement the mechanism for Seamless button in the group of media action button.\n- Have a fake Seamless icon in the right of media action button group.\n- Need to bind with MediaOutputSlice that are implementing.\n\nBug: 118428931\nTest: Build pass\nChange-Id: Idc51d416cc1fc85babdc83d138c8558db5ed5d8e\n"
    },
    {
      "commit": "a18dc57f6fd5e65be17e2a5c766f22122eb85470",
      "tree": "9edfc6596c176d0e14a9f4d26c274ca9200abb5d",
      "parents": [
        "57406a7e0e7c225eda69c7c7ebf28f97114073e2"
      ],
      "author": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Mon Jan 14 16:11:22 2019 -0500"
      },
      "committer": {
        "name": "Gus Prevas",
        "email": "kprevas@google.com",
        "time": "Thu Jan 24 14:04:49 2019 -0500"
      },
      "message": "Adds setting for direction of dismiss gesture.\n\nBug: 122314709\nTest: atest SystemUITests, manual\nChange-Id: I829c4148b6d5afc7b106d706d677c6105ec0f078\n"
    },
    {
      "commit": "853fbd373e81a690074d26c1a0126d186fbd8715",
      "tree": "9a21c738e2f699272b668965e66a9d9944d1b832",
      "parents": [
        "2b9930d0b74280db8bc43fd622b1e8c2ad1c45d6",
        "32137e4474c85a87e424cdb7dfd62c9b1f46d7fd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 04 12:57:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 04 12:57:42 2019 +0000"
      },
      "message": "Merge \"Run pending-intent-sent callback on UI thread.\""
    },
    {
      "commit": "1be62f46ab426a0925b9bccaec6f6ae6cdd6b9c3",
      "tree": "c8dc83be5a7a63e32b6e0f0df73687011c0ec00c",
      "parents": [
        "7ee09966e2649a2ab122ef577586e82f40085202"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Dec 19 17:17:48 2018 -0500"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Wed Jan 02 16:13:34 2019 -0500"
      },
      "message": "Make DarkIconDispatcher visible to plugins\n\nTest: manual\nBug: 115322193\nChange-Id: I6204d771e476c504e9070ebc88dd8fd44b268635\n"
    },
    {
      "commit": "6a0140ab959f85f69539c5d3adf8bc56c66d0a41",
      "tree": "22a2de8ca17b2de51815247609412e21b94c29ca",
      "parents": [
        "6fa14abad36ed3197df467831dc3e018b05ec635"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Dec 20 12:46:17 2018 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Dec 20 13:20:39 2018 -0500"
      },
      "message": "Add container for big clock behind NSSL and KeyguardStatusView.\n\nBug: 120497585\nTest: Added tests to KeyguardClockSwitchTest, pass locally.\nChange-Id: Icc1199a67b9a4728e4d0f0b50ea98f5221de904d\n"
    },
    {
      "commit": "732c6ca5947c847fc9355b6d03b59b837dc2af58",
      "tree": "78dab02cc6f2fb7e835b5ad30cd78d029c3d8fc1",
      "parents": [
        "e51dab22aa253a0dae628d7227a388a5ae55bc00",
        "e3b3e783b1729acd63d117ff10ed41ef0378cf1c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 18 18:40:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 18:40:23 2018 +0000"
      },
      "message": "Merge \"Add option for plugins to hide KeyguardSliceView.\""
    },
    {
      "commit": "e3b3e783b1729acd63d117ff10ed41ef0378cf1c",
      "tree": "327c96ef78e0e098ec00adfc424de548c01989d8",
      "parents": [
        "347373655a66cb3f4ab0dd318b1bd8098d31d428"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Mon Dec 17 13:32:15 2018 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Tue Dec 18 10:38:23 2018 -0500"
      },
      "message": "Add option for plugins to hide KeyguardSliceView.\n\nOption defaults to showing the slice view so that it doesn\u0027t break\nexisting plugins.\n\nTest: SystemUIGoogleTests pass.\nTest: SystemUITests pass.\nTest: slice view is hidden when using example plugin.\nBug: 118496011\nChange-Id: I574009170da4703e84fd392e327e1cb84ada6cd0\n"
    },
    {
      "commit": "1ae6cf9118ac5eacaa84d8c7d1f4e99f32f27b95",
      "tree": "72955ce501b3320295f3c818f59e1c6cb2146882",
      "parents": [
        "66f04be168a9329622e1f40e33e2ba180d69b5ab"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Dec 14 18:06:38 2018 -0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Dec 17 09:46:50 2018 -0800"
      },
      "message": "Initial sleep-lock-screen implementation\n\nWe\u0027re now listening for sleep events and forcing the device into\nsleep mode when necessary.\n\nDisplay state is now cached and handled properly for cases where\nthe device wakes up and should go back to sleep.\n\nTest: atest LockScreenWakeUpControllerTest\nTest: manual\nBug: 111414690\nBug: 111405682\nFixes: 120864496\nChange-Id: I3096329e8f6a07a686582d35c4b0e9977bf9ab1b\n"
    },
    {
      "commit": "32137e4474c85a87e424cdb7dfd62c9b1f46d7fd",
      "tree": "3add88b0573566da227290c75823926be8bbc17a",
      "parents": [
        "407396e3492cc97c4a25ef125a89efc55c910ef0"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Mon Dec 17 12:26:46 2018 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Mon Dec 17 14:26:49 2018 +0000"
      },
      "message": "Run pending-intent-sent callback on UI thread.\n\nBefore this CL the callback passed to\nStatusBar.startPendingIntentDismissingKeyguard() was being run on a\nbackground thread otherwise used to run the pending intent. This is not\nobvious to the caller of startPendingIntentDismissingKeyguard(), so with\nthis CL we call the callback to the UI thread and make it clear that\u0027s\nthe case.\n\nBug: 120894295\nTest: atest SystemUITests\nTest: manual - ensure HUN is removed when pressing HUN smart action.\nChange-Id: If106b697527843dd74e37d14de882d5f08187285\n"
    },
    {
      "commit": "9c1074fbaa5f770024308d2e0031773d21159bd3",
      "tree": "e708fb9906a7aae49a7122d04f6917c4c99bfe40",
      "parents": [
        "a14aac8a21665a6701de35f2fc6be1004b3437f0"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Fri Dec 07 17:35:21 2018 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Mon Dec 10 09:33:38 2018 -0500"
      },
      "message": "Send time zone changed event to clock plugin.\n\nThis prevents plugins from needing to register for time zone\nchanged broadcasts. The event can be relayed from\nKeyguardUpdateMonitor.\n\nBug: 120666411\nTest: example plugin updates when time zone is changed\nChange-Id: I84732887527db8575504af27cc8ed537118696c6\n"
    },
    {
      "commit": "7d4b3a5f19a3834ed75a3e61d4fdd20b0b64f9cb",
      "tree": "424936685375d691148d16b761a867c1d43f930c",
      "parents": [
        "d8a9db84862b7f9a8d2dc50373e7642b818862f4"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Nov 27 17:29:36 2018 +0000"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Nov 29 11:43:53 2018 +0000"
      },
      "message": "Add onActionClicked in NotificationAssistantService\n\nThis is added to report clicks on actions buttons to NAS.\n\nBUG: 119010281\nTest: atest SystemUITests\nTest: atest RemoteViewsTest\nTest: atest NotificationManagerServiceTest\nTest: Manual. Tapped on the action (both normal and contextual) and\n      observed the log.\n\nChange-Id: I381994737d8c3185d3fabf9b6c481fd01a89a634\n"
    },
    {
      "commit": "b2d9f48fe16b896381f6d46784349e33d03ca563",
      "tree": "041fc7837c90b694ded8d8113a65aae26155fe72",
      "parents": [
        "b13f29edd05bbfd0252fade500513fc7cd974437"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Nov 16 18:55:13 2018 -0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Fri Nov 16 19:02:33 2018 -0800"
      },
      "message": "Wake-up sensors integration\n\nBug: 111414690\nBug: 111405682\nTest: manual\nChange-Id: I9db42b3e5f1964ebe1e52066b1eecf0754e6e3b7\n"
    },
    {
      "commit": "b4c2dc0c1fc09acabfffa1f239e8fa48c75aecae",
      "tree": "5a3dee986ac70173ca75a187ac20bc103de6daa8",
      "parents": [
        "252c7c43c916aafb1f7d137285b64a4e667ffcbf",
        "86a436efb8ab9898740c3594950eb332d8dd095d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 19:44:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 19:44:42 2018 +0000"
      },
      "message": "Merge \"Refactor QuickStepController into Gestures\""
    },
    {
      "commit": "e32efd76af3cac9616eea2defac3809d59d0ba58",
      "tree": "556e61a8be46a13fa62167aca0f1ce6bd60c9a41",
      "parents": [
        "56b5a1fbe4b3bac3f1418118a8df58528d687e7c"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Mon Nov 12 08:38:34 2018 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Mon Nov 12 09:29:59 2018 -0500"
      },
      "message": "Add setDarkAmount method to ClockPlugin interface.\n\nsetDarmAmount implementations provided by clock plugins\nshould use the dark amount to transition into and out\nof the doze state on AOD. For example, the size of the\nclock could shrink in the Y direction when leaving doze\nto make room for the notification stack scroller.\n\nBug: 119035943\nTest: KeyguardClockSwitchTest passes locally.\nChange-Id: I9968dc2cc5ab8000ff525f3d1d06ffbf73359086\n"
    },
    {
      "commit": "ffbe315d43da0506437be06ed20038bb84b006b6",
      "tree": "959e57bc20e67f3ebe9213180ddbaf63def9f367",
      "parents": [
        "f517f971614315a68af3a5b6842787f9950d3d52"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Nov 08 15:53:27 2018 -0500"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Fri Nov 09 14:21:11 2018 +0000"
      },
      "message": "Add dozeTimeTick method to ClockPlugin interface.\n\ndozeTimeTick implementations provided by clock plugins\nshould update the time of the clock while the device\nis dozing and deal with burn-in related issues.\n\nBug: 119035943\nTest: KeyguardClockSwitchTest passes locally.\nTest: Custom clock updates with time on AOD screen.\nChange-Id: I5c31e6d856c5a80dc3e501831dda5a62c0be5ba0\n"
    },
    {
      "commit": "86a436efb8ab9898740c3594950eb332d8dd095d",
      "tree": "8ccc63821f8cd972c013758a9d35311fee761104",
      "parents": [
        "fe0efe6bd2acae99bdd8039ff2fde11308ea85fa"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Fri Oct 26 16:00:53 2018 -0700"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Thu Nov 08 12:28:13 2018 -0800"
      },
      "message": "Refactor QuickStepController into Gestures\n\nThe refactor allows adding new gestures easier and provides a way to\nreassign triggers to the gestures.\n\ngo/navbar-prototypes-doc\n\nTest: atest QuickStepControllerTest\nBug: 112934365\nChange-Id: I5334947e2ff3f39af890e1f026089b933ff48a3c\n"
    },
    {
      "commit": "21beba8bcdddc03df638153be8ba612882394ee8",
      "tree": "eedfe551b3c7dad20af378ee3139b737e48664c7",
      "parents": [
        "fe878c454ad92f98db770eb51a55ac14ca7fcd08"
      ],
      "author": {
        "name": "Dave Mankoff",
        "email": "mankoff@google.com",
        "time": "Tue Nov 06 16:25:39 2018 -0500"
      },
      "committer": {
        "name": "Dave Mankoff",
        "email": "mankoff@google.com",
        "time": "Wed Nov 07 17:07:22 2018 -0500"
      },
      "message": "New \"FalsingPlugin\" to allow for easier data collection.\n\nBug: 117600098\nChange-Id: I67b634f84a0e168eec269f7804c5169b130db586\nTest: manual testing\n"
    },
    {
      "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": "58d9b86667c3c59d48ff0ffe42b2c6f89e8f2692",
      "tree": "5444921cbd8029e6fddf47a34f6f7b00f47fc352",
      "parents": [
        "c6d5e2db6b6a7617e89a379ad53f9797c4efecb7"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Oct 29 12:27:42 2018 -0400"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Oct 30 12:08:04 2018 -0400"
      },
      "message": "Fixes context for tiles without longClick\n\nQSTile can declare whether it doesn\u0027t support (has no effect) long click\nand then TalkBack will not report it as an available option.\n\nTest: manual \u0026 atest\nChange-Id: Iec21181f4308c7c8c4962f191fa0787e053ae944\nFixes: 117921787\n"
    },
    {
      "commit": "3749d81918e0d906d84f080be73a9bbfd2ea4922",
      "tree": "72851205dad625fb85b60a24d9a1d63bb00dd33a",
      "parents": [
        "8c12dcd11a18081b365d81267c3d29f9848222f9"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Thu Oct 25 10:47:02 2018 -0400"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Mon Oct 29 08:54:37 2018 -0400"
      },
      "message": "Update script to consider code moved to plugin_core.\n\nBug: 118427190\nTest: Used jar from script to build plugin in Android Studio\nChange-Id: Iab7ff5a97822602c7c65863b528345a04820d5e5\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": "f7c3903cdaf2af166ffda0f064118f4baddc2d36",
      "tree": "ae148a98a0b99fffa01c822262b7d0a6bdf3f783",
      "parents": [
        "8a98b40cc0221d3af4c841d4af9b3879550ae57e"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Oct 11 00:44:39 2018 -0700"
      },
      "committer": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Thu Oct 11 09:59:22 2018 -0700"
      },
      "message": "Update SensorManagerPlugin to have vendorType\n\nBug: 111414690\nTest: Builds\nChange-Id: Ice50275160b23bcb60aca1653b570ec9b4565c4e\n"
    },
    {
      "commit": "3d95175dd5b72a1458a9aec96e7791727f1e460d",
      "tree": "38013ddf0d22aa7fa97fcabbe573145bb58a4470",
      "parents": [
        "803a52498b022303e725de72f9eb96b16cb3a898"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Oct 10 12:00:40 2018 -0700"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Wed Oct 10 13:08:28 2018 -0700"
      },
      "message": "Hook up wake-lock-screen with plugin structure\n\nWake-lock-screen gesture now receives signals from\nthe pluggable sensor pipeline.\n\nBug: 111414690\nTest: manual\nChange-Id: I9433d7310fcb9dd9b08a4fedf7d2a8e8779fe386\n"
    },
    {
      "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": "b4593f977b9ea51d4dc3d9f4d22c57b35ddaf753",
      "tree": "a349a39daf786c7dfc4a9be28dd80f43ce262922",
      "parents": [
        "32c554373d268a9f66e49e232ec40c32dbc51f86"
      ],
      "author": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Thu Oct 04 10:45:42 2018 -0700"
      },
      "committer": {
        "name": "Tony Wickham",
        "email": "twickham@google.com",
        "time": "Fri Oct 05 14:36:34 2018 -0700"
      },
      "message": "Move code to plugin core lib\n\nThis contains the core interfaces for plugin support, e.g. Plugin.java\nand the associated annotations. It is reused by the shared library and\nplugin interfaces in both sysui and launcher are built off of it.\n\nTest: atest com.android.systemui.shared.plugins\nTest: cd $ANDROID_BUILD_TOP/frameworks/base/packages/SystemUI/plugin_core \\\n    \u0026\u0026 mma -j32 \u0026\u0026 cd -\nout/target/product/$TARGET_PRODUCT/obj/JAVA_LIBRARIES/PluginCoreLib_intermediates/javalib.jar\ncontains the created jar and is useable in launcher\n\nBug: 115877296\nChange-Id: I82ca7398e882d6432333238e2f77a12e776f1d76\n"
    },
    {
      "commit": "0d3815d98e52e4bd0dd3a98cfdf7608f60024d83",
      "tree": "b8fe55db9fa0a86fb34bf945eb7932ebd6ba5fdd",
      "parents": [
        "1780672b198a24839bf26882f8b2eb3128fd6542"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Sep 25 18:11:54 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Sep 28 21:20:39 2018 +0000"
      },
      "message": "Remove empty NavBarGestureHelper class\n\n- Also add logging for QuickStepController state\n\nBug: 112783625\nBug: 114137554\nTest: Can still swipe up into Overview\nTest: adb shell dumpsys activity service SystemUIservice\nChange-Id: I6a1203d7140e30239e032266680236d090b7682e\n"
    },
    {
      "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": "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": "d2d33da1f69c7260407745839b6708005c517ca8",
      "tree": "3a8ee6ecfed8af90e094a0981ad4c3532f4988ba",
      "parents": [
        "e30dc5112dcecace1ac54ac854273975b0f9d344",
        "a2f2d82f2698ca4d9fcfad2a94b5b683646c085d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 17 03:11:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 17 03:11:10 2018 +0000"
      },
      "message": "Merge \"Convert sysui to bp\""
    },
    {
      "commit": "a2f2d82f2698ca4d9fcfad2a94b5b683646c085d",
      "tree": "2318328045465998936e9b96b0cda2d2b0050525",
      "parents": [
        "4c1651139d0657ef9d998cfdd9eb1298a29e2208"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 13 11:10:48 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Aug 16 19:40:39 2018 -0400"
      },
      "message": "Convert sysui to bp\n\nTest: tests gonna test, builds gonna build\nChange-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264\n"
    },
    {
      "commit": "299c45c85d41975514022263fa6a29329eb5a0bc",
      "tree": "f291d1fd733f59359740032a1cc154b4c09da79d",
      "parents": [
        "ace398c3fb3fb89e368d9b35f5fbcc13924bb2b3"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Aug 16 10:49:48 2018 -0400"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Thu Aug 16 12:08:36 2018 -0400"
      },
      "message": "Never clear QS tile state.\n\nQSTile#clearState puts QS tiles in an invalid state that may not be\nimmediately rectified through QSTile#refreshState. In the case of\nconfiguration changes, if a subclass implementation of\nQSTile#handleSetListening does not trigger a refresh state, the\ninvalid state causes incorrect click handling.\n\nChange-Id: I17eba133cf08c45a768e9e0ed8fda623e85b4370\nFixes: 69738120\nFixes: 110480955\nTest: manual\n"
    },
    {
      "commit": "1b35253f58635a67cb3a31850e3989d3717a3755",
      "tree": "1d60e69dc3abcb8fa858b2fdca7d31b80f914d0d",
      "parents": [
        "b7c4ef8bb02ec203edd2af0ba7bc3892ace7bae4"
      ],
      "author": {
        "name": "Kunhung Li",
        "email": "kunhungli@google.com",
        "time": "Mon Jul 30 18:15:12 2018 +0800"
      },
      "committer": {
        "name": "Kunhung Li",
        "email": "kunhungli@google.com",
        "time": "Wed Aug 08 18:23:35 2018 +0800"
      },
      "message": "Add clock plugin interface\n\nMore flexible to test any clock plugin in the future\n\nBug: 111971817\nTest: manual test\nChange-Id: I45fa2d1ca99446abdb315cc28b58956d8e409283\n"
    },
    {
      "commit": "b3a6aed980c4dddbd8a12799340154b7f64f9476",
      "tree": "1b6e796f527464e7c23fd80f6dbc5f293918d7a0",
      "parents": [
        "90dbb0ed72a9432cd4d853156d8566550c6599c5"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Fri May 11 13:24:07 2018 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon May 14 12:52:22 2018 -0700"
      },
      "message": "Add \u0027Snooze\u0027 to local context menu for notifications\n\nBug: 34840333\nTest: manual - 1. turn talkback on\n               2. have a notification focused\n               3. invoke local context menu, note that \u0027snooze\u0027 is an option\n               4. select snooze, note that notification is snoozed\n\nChange-Id: Id3ea62a0a9e5c2b8893aa5b548e64bb2b341d7a2\n"
    },
    {
      "commit": "4c9048c364abcfa5edd26706f59c306c2ed772af",
      "tree": "a5ed27551dbc3982e2cd2977ecaf2f04acba720d",
      "parents": [
        "7468d361e3fb4597e3a51cd2e2bb666fefbf268c"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Fri Apr 20 11:27:46 2018 -0400"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Fri Apr 20 11:33:20 2018 -0400"
      },
      "message": "Ensure QS tile secondary text marquees.\n\nUpdate the logic to marquee only the currently selected page.\n\nChange-Id: Idc2398e1c67c614414ae4298c43a1609431c62fa\nFixes: 78159844\nTest: visual\n"
    },
    {
      "commit": "b17c2388a5b31b4a0411fda2dac84af06b2478b9",
      "tree": "f57414aae079e96499f9c5433723cdf9fdc8fc2a",
      "parents": [
        "d44712584a22334edc57836b5057353df9bc99ec",
        "0f8ea543c165102e079b0a64afdfc600fe5e0387"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 30 21:13:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 21:13:04 2018 +0000"
      },
      "message": "Merge \"Control the QS label marquees.\" into pi-dev"
    },
    {
      "commit": "ac55e01e1c8b67603134846c9b63002cc28aef48",
      "tree": "1a95bc703cba9ca48894d85f6fbdfbf52d66a790",
      "parents": [
        "8d2b053611fe4a52602c125bf1f577c12083848a"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 27 11:17:30 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Mar 29 16:42:28 2018 -0400"
      },
      "message": "Volume UI updates\n\n- Reorder streams\n- constrain ripples\n- Show an introductory ripple on the ringer toggle\n- Add sound/vibration feedback for the ringer toggle\n- resize some elements\n\nTest: manual\nBug: 76438403\nFixes: 73892482\nChange-Id: I92dd6f5681f1822ae493a5a2b218b15970293e80\n"
    },
    {
      "commit": "0f8ea543c165102e079b0a64afdfc600fe5e0387",
      "tree": "a9068ca66dc8e65fe7affb62b3935ba72c43ce87",
      "parents": [
        "7dd666f4c5ffd9dabaf909e0e58ba20c009e82b9"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Mar 27 11:09:27 2018 -0400"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Tue Mar 27 15:10:30 2018 -0400"
      },
      "message": "Control the QS label marquees.\n\n- Start the marquee when fully expanded and pause when collapsed.\n- Also do not change qs label to multiline once it\u0027s already been resized\nto single line.\n\nChange-Id: I2dd4f6b5473a6a5147999c29441537227751b705\nFixes: 74757991\nTest: visual\n"
    },
    {
      "commit": "2ea93b708dbc49235b42e76a587d5f353638040f",
      "tree": "33ae598c75afc5773d5fa796f40e3fea98c5b8f6",
      "parents": [
        "6d4bdc53814fb99623ab11c9b2b4a1db7f4a4858"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Wed Mar 14 19:43:18 2018 +0000"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Wed Mar 14 13:51:26 2018 -0700"
      },
      "message": "Revert \"Revert \"Centralized quick step/scrub/switch logic (1/2)\"\"\n\nThis reverts commit 0e490d9208de480ed38fe31a12029fc59b0955e9.\n\nReason for revert: Will be merged with fix\nBug: 74726495\nTest: manual\n\nChange-Id: I36ea9c2702107b23eff4adb1f3ba9fdc1be12999\n"
    },
    {
      "commit": "0e490d9208de480ed38fe31a12029fc59b0955e9",
      "tree": "215188b7f387d8915533ceec732e7623762208bd",
      "parents": [
        "b06ae3bf131b0bd0ded398d3a06974a6a9d78a50"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Mar 14 16:08:43 2018 +0000"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Mar 14 19:41:16 2018 +0000"
      },
      "message": "Revert \"Centralized quick step/scrub/switch logic (1/2)\"\n\nThis reverts commit b06ae3bf131b0bd0ded398d3a06974a6a9d78a50.\n\nReason for revert: b/74726495\nBug: 74726495\n\nChange-Id: I4bce8df13f9fa9e1b420382f7a96f9855510196f\n"
    },
    {
      "commit": "b06ae3bf131b0bd0ded398d3a06974a6a9d78a50",
      "tree": "0a7b9458a2c19db73fee29b2cfdb38ba7b88981a",
      "parents": [
        "f78767d2f9ec81e454baa0c637ebe0ad19ca1cf3"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Wed Mar 07 14:23:04 2018 -0800"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Mar 13 17:21:22 2018 -0700"
      },
      "message": "Centralized quick step/scrub/switch logic (1/2)\n\nMoved all the logic for quick step/scrub/switch to QuickStepController\nso touch events can be used for deciding which gesture is used. Once a\ngesture is decided, the rest will not handle the other gestures.\n\nQuickstep will trigger when passing a touch slop on navigation bar. The\nevent onQuickStep (with a motion event) will be sent to launcher when\nthis occurs telling it that systemui is not handling anymore motion\nevents. During quickstep motion events will still be proxied.\n\nUsed raw X and Y motion events for Opalayout and KeyButtonView so that\nthe moving over the touch slop can be detected to ignore button (long)\npress state.\n\nFixes: 73971902\nFixes: 74456391\nTest: swipe up\nChange-Id: I40b931aa0a9f123b810ff9206c9b1ce040a68a56\n"
    },
    {
      "commit": "b586745d86a7335901646da128ef296e80ba0a22",
      "tree": "373a46b1e396ea60f131c9f5c035b497132ed482",
      "parents": [
        "292d895fb2406ac66da0d6cf2c955fd3bf0fd00d"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Feb 28 16:31:35 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Mar 08 01:45:09 2018 +0000"
      },
      "message": "Show app ops guts when tap app ops icons\n\nTest: runtest systemui\nBug: 64085448\nChange-Id: Ia51044f77311ab705ffb9dd1ae204d0131316396\n"
    },
    {
      "commit": "5a169cf2f6495cfd408ae607701f06cb497f6df3",
      "tree": "dd733b853e9f24960b256adcd6d79052d3468dc2",
      "parents": [
        "a3e2d2fed80bdf95dec791e7e796b86910204c31",
        "d696476fb31a203db38c7c31c347b27c8fda84ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 16:39:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 16:39:40 2018 +0000"
      },
      "message": "Merge \"System sounds get its own dnd toggle\" into pi-dev"
    },
    {
      "commit": "d137c872cdc5e157c0ff65076689f7c4552a9013",
      "tree": "3c2dffe6115c25dc65faf975c7d3bc12f397bde4",
      "parents": [
        "aa79f03ca6c4c5a3a262aeaf2b608ffd4807ab13"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 07 11:42:04 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nExempt-From-Owner-Approval: Global cleanup\nChange-Id: I26458e41ecb84de91ac9a356a5d4bafb44f463c1\n"
    },
    {
      "commit": "d696476fb31a203db38c7c31c347b27c8fda84ef",
      "tree": "3427dec1d27a8bdaf7ee0a253567a4ad15645e6a",
      "parents": [
        "0bd7631cea650927efc9b703dc8cc9ef24c2447f"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Fri Feb 16 14:07:03 2018 -0500"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Mar 06 09:08:29 2018 -0500"
      },
      "message": "System sounds get its own dnd toggle\n\n- Added logic for streams to be muted by dnd (unassociated with ringer)\n\nTest: runtest -x frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java\nBug: 73362490\nChange-Id: I1101e67282f7331497e91eb510d2bf4f1ea6b4b1\n"
    },
    {
      "commit": "ba055f8f9d79068eff4e18db0760223d8885ddcc",
      "tree": "ce85d6b87170c243e254897167f25f9c69523186",
      "parents": [
        "0f3f71f41a1cb60fde4ab60d6a4bb1a189ba5920"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Feb 23 09:38:23 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Feb 23 14:52:37 2018 -0500"
      },
      "message": "Import some plugin documentation into the tree\n\nIn the spirit of writing things down\n\nTest: none\nChange-Id: I93371eab99721ace1fd32d07739b861d492e4be6\n"
    },
    {
      "commit": "ee57193bb63ba64db1bfd70d9932588ebee7c5ff",
      "tree": "49fb0ef4e4a5c86245922648157a1ef3181944ee",
      "parents": [
        "cfa8785e1f7713dd0968f0d61d221d9046636151"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Feb 21 11:41:33 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Feb 22 10:10:42 2018 -0500"
      },
      "message": "New small volume dialog\n\n- Remove labels\n- Remove output chooser dialog\n- Reorder icons\n- Add settings affordance\n- Add instructive toast\n\nTest: manual\nChange-Id: I6640fb8147707936fe22e3c756ab29116973fbe3\nFixes: 73719758\nFixes: 73333233\nFixes: 71663761\n"
    },
    {
      "commit": "a840199853836d04a07a3d49b79bdb908d70a8fe",
      "tree": "756d474df024a088c2619ed3c39e733116a8693d",
      "parents": [
        "84783905c03d368352fbd05dfb614251a72f1786"
      ],
      "author": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Thu Jan 25 18:22:44 2018 -0800"
      },
      "committer": {
        "name": "Rohan Shah",
        "email": "shahrk@google.com",
        "time": "Mon Jan 29 12:20:31 2018 -0800"
      },
      "message": "[QS] Fix irritating animation for QS\n\nWe\u0027re animating 2x the icons and, due to the transparent grey\nbackground color, it looked like the icons were getting darker.\n\nFixed by having it exclude the full icon frame while animating.\n\nTest: Visually\nBug: 72173914\nChange-Id: Ie36973ab44a86e6e1edd99b9266420a274d9aaa2\n"
    },
    {
      "commit": "925cde8f745c4cf946d0e215d306d2b134ca44de",
      "tree": "9227a3ada116092130ab8c27bfab00534328d8cc",
      "parents": [
        "f8fc7235d46b605c845552c23912b0f7a9009013"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Jan 23 09:31:23 2018 -0500"
      },
      "committer": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Fri Jan 26 18:39:06 2018 +0000"
      },
      "message": "Alarms and Media visibly muted in PriorityOnly dnd\n\n- if alarms and/or media cannot pass dnd and the phone is currently\nin priority only dnd, then the alarm and/or media volume stream\nwill appear muted in the volume dialog and sound settings\n(Settings \u003e Sound)\n- if all behavior for priority only dnd is not allowed to bypass dnd\n(discluding alarms and media), then ringer is muted when priority-only\ndnd mode is on. If a user clicks this ringer in the volume dialog, then\ndnd ends\n- Updated default zen config to version 3 (added alarms and media)\nTest: manually toggle alarms + media in Settings \u003e Sound \u003e DND \u003e\nBehavior, toggle on/off dnd and then look at volume dialog and\nvolume bars in Settings \u003e Sound\nTest: runtest --path cts/tests/tests/media/src/android/media/cts/AudioManagerTest.java\nFixes: 72052742\n\nChange-Id: Ia9e809ec2be93cb5a9ba6518dce04bf3ce45110b\n"
    },
    {
      "commit": "1d92689eeec1559ab9653f7dfc708f52596fadf4",
      "tree": "36d5ccabe9c7afbb5884d88975af077d218af2ec",
      "parents": [
        "97ce94fce619676cda32703b391c082e6b473d04",
        "231b052d1f04d8b8835addc4f393f0e4fc58d5d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 16:50:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 16:50:16 2018 +0000"
      },
      "message": "Merge \"Add QS scrolling support\""
    },
    {
      "commit": "6692b47d37e21cb0768129bfb875ab8322f08bff",
      "tree": "1b03d58338f71fd055ad2a46b1c8f4a62de6e385",
      "parents": [
        "f5e4182d2fdf7cee3a95ed4734b7b2533bdeddc9"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jan 24 07:23:56 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jan 24 16:59:10 2018 -0500"
      },
      "message": "Display the current connected audio device\n\nIf connected via bluetooth.\n\nAlso fix long press behavior on the ringer footer, and\nchange the output chooser icon.\n\nTest: manual\nBug: 63096355\nChange-Id: I2c4d86fb03f8ac38721b6fc580bba45871d59f5d\n"
    },
    {
      "commit": "231b052d1f04d8b8835addc4f393f0e4fc58d5d2",
      "tree": "135210761a721e3e65f24a0fa662b31884d3ace4",
      "parents": [
        "d12ad36399e271b00d3aa0e98e07c2321e5fd0b2"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jan 04 10:49:55 2018 -0500"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Jan 24 11:30:00 2018 -0500"
      },
      "message": "Add QS scrolling support\n\nThe brightness slider and tile layout are now a scrollview and\ncan handle nested scrolling between the views. There is some\nblack magic which manages the touches to allow a scroll up to\ncontinue into a collapse gesture.\n\nTODO: need to add edge effect colors to theme\n\nTest: visual\nBug: 70799330\nChange-Id: Ief0c1480f001cae62175c8ac4f3784daaa0ed2b8\n"
    },
    {
      "commit": "c17b7d9143c029f5f17232dab6a06137b32aa7ac",
      "tree": "8d2918bcf9633067051376bf78314f177def55dd",
      "parents": [
        "a30e47e2449e6a32641bfec5e28c2b8ad8b28c74"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jan 15 15:59:41 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Jan 16 22:11:25 2018 +0000"
      },
      "message": "Add support for secondary text in QS\n\nTest: visual\nBug: 70799372\nChange-Id: I64b1d050807e69f1755604e0baff94b89c9aeb2b\n"
    },
    {
      "commit": "a8f2426df625915553c3d85af8e6241f47fdf160",
      "tree": "b5d303c08fec98e5f64dcb58d7be561c1d55c619",
      "parents": [
        "32308613b5c93c6ec32feb33dc0c7f0ada659580"
      ],
      "author": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Tue Dec 19 11:54:24 2017 -0800"
      },
      "committer": {
        "name": "Matthew Ng",
        "email": "ngmatthew@google.com",
        "time": "Fri Jan 12 12:24:03 2018 -0800"
      },
      "message": "Beginning implementation of quickscrub (1/3)\n\nWhen enabled via launcher, the home button is able to be be pulled to\nthe right side to send events to launcher via binder calls of when the\nquick scrub operation starts, ends and progress changes between each\ninterval. Launcher will use this information to determine how the\nrecents apps are laid out with vibration feedback.\n\nWhen the home button is pulled and released under 150ms, quick switch\nwill occur. A binder call will tell launcher to switch to the previous\napp used.\n\nWhile quick scrub or switch is active, launcher will not get any nav\nbar motion events, only events for quick scrub and switch.\n\nBug: 67957962\nBug: 70180755\nTest: enable new experience via launcher settings\nChange-Id: I344f5d67f259ff454205ea4d2e95140f783d3b5c\n"
    },
    {
      "commit": "daad3da642c6645082b14b39d45a665a4a502cf0",
      "tree": "541f282e59ba1e07bfe349f3ca2d7c3708308819",
      "parents": [
        "684585c405ada85c5a349099918332c08e05af03",
        "e5d55d52b6ebec7f373c6bbc49f1600aa4360931"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Wed Oct 18 15:13:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 18 15:13:54 2017 +0000"
      },
      "message": "Merge \"Fix incorrect colors for CustomTile in QS\" into oc-mr1-dev am: 859f8c4a21\nam: e5d55d52b6\n\nChange-Id: I7ab8bd9a58a7582286e73f1888b81d4a745eac24\n"
    },
    {
      "commit": "b3daf2b88c86243db85dd8425df8d3a59d3b3d4d",
      "tree": "9ad0d48ec6c796edac71bbba14d38c4c51039784",
      "parents": [
        "0f6e9b5a79ffd82c3276b5e3e7723280884ddb5d"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Oct 17 16:00:29 2017 -0400"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Oct 17 16:00:29 2017 -0400"
      },
      "message": "Fix incorrect colors for CustomTile in QS\n\nAdd support for Supplier\u003cIcon\u003e in QSTile.State, allowing a method for\nCustomTile not to cache the drawable for its IconViews. This fixes the\nproblem that the ImageViews in QQS and QS were trying to use the same\ndrawable and putting it in a bad state.\n\nTest: Add 3rd party tile to first position in QS and turn on/off; visual\nChange-Id: I408d6391a718fcb3f847e72bd303551d2d004dbb\nFixes: 67356768\n"
    },
    {
      "commit": "9851a8da998acdc657c8bc619657f6ff61ef44f3",
      "tree": "144ca69909268d52e7ba00167ae33dd48debb466",
      "parents": [
        "93d703a44afaa9f1fb6934f3717a6ab7a40f3d98"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Oct 10 17:31:30 2017 +0100"
      },
      "committer": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Oct 10 21:04:42 2017 +0100"
      },
      "message": "StatusBar: add DISABLE2_GLOBAL_ACTIONS.\n\nWe add a new StatusBarManager flag to disable the global actions dialog\n(a.k.a. the power button menu), which is required in certain kiosk mode\nscenarios.\n\nBug: 65813398\nTest: runtest systemui\nTest: manual, by using a modified version of TestDPC and\n      DevicePolicyManagerService\n\nChange-Id: Ib7da2f4837281e98e558afcc30be8bae6f2e179a\n"
    },
    {
      "commit": "d2aa1351c99cd8d82b2d826a9caed0706301642b",
      "tree": "47489f56327d6fc79dcd146dd10e2e26494bb05b",
      "parents": [
        "d499ae5a853937fba88196e418f9cfa1b2f583ce"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Aug 25 15:56:03 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Aug 25 16:00:01 2017 -0400"
      },
      "message": "Roll back nav bar interface to version 2\n\nPartial revert of If27641aedcd05ebc834c9dc0b38d18cd20ddae03\n\nTest: make\nChange-Id: I47de1ca026028e16e6c4075e6be5b18a9746962c\nFixes: 65055647\n"
    },
    {
      "commit": "d33fe05c66b8423d956c55f0cc6a74269cd94adc",
      "tree": "10e4dfa428717a8d3b0824ec42c52a1b2803d16f",
      "parents": [
        "c3e7f875b41f78de26d07f6c8ab8fe78747886c0",
        "07fe63e5de3cbc36a213178faede137cf648170a"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 17 14:32:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 17 14:32:40 2017 +0000"
      },
      "message": "Merge changes from topic \"revert-injectors\" into oc-mr1-dev\n\n* changes:\n  Revert \"Add API to allow apps more control over instantiation\"\n  Revert \"Add plugin to swap out recents\"\n"
    },
    {
      "commit": "f6e33b1b3330784ba7386d0c889d68f7f45bb1ae",
      "tree": "cfd0d34792eafd3e8d8d496add59038ad406d6f3",
      "parents": [
        "0990042116c2b9dee647a17b99315b17117bef26"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Aug 15 16:39:33 2017 -0400"
      },
      "committer": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Aug 15 16:45:07 2017 -0400"
      },
      "message": "Revert \"Add plugin to swap out recents\"\n\nThis reverts commit 0ea67d82e39ef4a2a1dfecd4796ab3e901cbc9e1.\n\nBug: 64345190\nChange-Id: I353c064db7bfaf91e98b5fd0d3e7180381a1b2b8\nTest: n/a\n"
    },
    {
      "commit": "98cdafb19192c5554319e0dc5f67a529cdac8640",
      "tree": "16e0603170966b4ebeb2bd73cb253aa19d897668",
      "parents": [
        "d05ac9caf2004deb930cd990fc01821fc5d4751e"
      ],
      "author": {
        "name": "Annie Chin",
        "email": "afchin@google.com",
        "time": "Tue Aug 15 10:07:27 2017 -0700"
      },
      "committer": {
        "name": "Annie Chin",
        "email": "afchin@google.com",
        "time": "Tue Aug 15 11:32:08 2017 -0700"
      },
      "message": "Remove ButtonInterface.setCarMode()\n\nBug: 63444779\nTest: Android Auto still functions\nChange-Id: If27641aedcd05ebc834c9dc0b38d18cd20ddae03\n"
    },
    {
      "commit": "0b99402f87ce1d8275dc60d98c2c12ccc0d9aceb",
      "tree": "44d98e33da54bcdb73b9a9514a52b33d158bc108",
      "parents": [
        "7bec053dffb90f7cd0e39eec7f56fb33d847c3eb",
        "de0c539dd4f19a9a3ea849e970e0bb40ca1d0188"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 08 16:27:14 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 08 16:27:14 2017 -0400"
      },
      "message": "resolve merge conflicts of de0c539dd4f1 to oc-mr1-dev\n\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I3f5eb2a0481fb09b98c0c522c82c233350c06375\n"
    },
    {
      "commit": "b4302182bc916ba0f5ee08756c1b2d15cb845874",
      "tree": "f52e33a41cfbd3f43f8e474846765b789c8f85cc",
      "parents": [
        "9f3bac52ee2590b757929b9c237bbac3c71aa886"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Aug 04 13:39:17 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 08 09:13:51 2017 -0400"
      },
      "message": "Move shutdown UI to sysui (when possible)\n\nTest: click restart or power off in global actions\nChange-Id: I0dc30a9772bbfb3cd3c3568f157e854fef87bf87\nFixes: 63576195\nFixes: 64125291\n"
    },
    {
      "commit": "54daefe3aa8dcdee149ce95fd4f8ecf60632c9f1",
      "tree": "b894c08719d82aecdfde1809531dba15741a783f",
      "parents": [
        "cbbb27bce21844157e57cdb40d665e28f1eb63e0"
      ],
      "author": {
        "name": "Anthony Chen",
        "email": "ajchen@google.com",
        "time": "Fri Apr 07 17:19:54 2017 -0700"
      },
      "committer": {
        "name": "Anthony Chen",
        "email": "ajchen@google.com",
        "time": "Wed Jun 28 14:32:28 2017 -0700"
      },
      "message": "Use custom QS fragment for auto use-case.\n\nUse a custom QS fragment if the UI mode is car. This fragment disables\nthe quick settings row and expansion. Remove the config options that\nused to have disabled this in the phone QSFragment.\n\nTo accomplish this, introduce a new QSFooter interface. The old\nQSFooter.java now implements this.\n\nTest: boot on phone and Android Auto headunit\nBug: 33210494\nChange-Id: I5accc2d27d6725380ca5e271d332a03991c9419b\n"
    },
    {
      "commit": "0ea67d82e39ef4a2a1dfecd4796ab3e901cbc9e1",
      "tree": "1d7e52b2bac00fc3fa816a88add0c5c30d137e9a",
      "parents": [
        "a178205e8bcaf9b4dd75c4618d53d30eb94c8802"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Jun 06 18:05:57 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Jun 27 20:41:45 2017 +0000"
      },
      "message": "Add plugin to swap out recents\n\nAdds new mechanism for activities in sysui to be replaced by plugins\nand allows that to happen for recents.\n\nTest: runtest systemui\nChange-Id: I8b570ce7c57484c58a52afe5e247d24ebfa0c57f\n"
    },
    {
      "commit": "51278d6a279ed28e4092b0975da376f8c89ad499",
      "tree": "d72bcbd69d3bf2c204015fd582a3cb665600a45d",
      "parents": [
        "22ec7b0c4666d81ddeae768df1a690e38e1a464c",
        "920fd89aefee6b39aa634d6bb49c0669a86a63e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 18:31:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 21 18:31:35 2017 +0000"
      },
      "message": "Merge \"Add customs accessibility actions to snooze, allow it to be focused\" into oc-dr1-dev"
    },
    {
      "commit": "644f8e858318867ac5d9caf96cc89f23ed0e9f90",
      "tree": "c6e6a4d6e9fb07ac7190a55cc1a71e939f6f230e",
      "parents": [
        "85c96384381ffc36a739524e787b077b83ecb556",
        "f33a097232f153e8dfeabd222d8809cd6a8d9457"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 13 23:51:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 13 23:51:13 2017 +0000"
      },
      "message": "Merge \"Add plugin hooks to DozeService\" into oc-dr1-dev"
    },
    {
      "commit": "f33a097232f153e8dfeabd222d8809cd6a8d9457",
      "tree": "ab61358bc35cbf41f4e91d151abf7099d49770e0",
      "parents": [
        "6ef238a51c27abbeb90b5e187be2eab9dfdfecbe"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Jun 13 08:16:56 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Jun 13 10:28:40 2017 -0700"
      },
      "message": "Add plugin hooks to DozeService\n\n- Find out when the dreaming starts / stops\n- Request the doze UI to show / hide\n\nBug: 62534409\nTest: manual, have no plugin, check that doze still works as expected (i.e.\n      pick up gesture shows it, noti shows it)\nChange-Id: I11618e47e0bab18423f0d89c8daf285d8c14d238\n"
    },
    {
      "commit": "920fd89aefee6b39aa634d6bb49c0669a86a63e3",
      "tree": "227fa0715752183b294f1c38bae25c21508cccdd",
      "parents": [
        "6ef238a51c27abbeb90b5e187be2eab9dfdfecbe"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Jun 06 09:35:03 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon Jun 12 17:16:58 2017 -0700"
      },
      "message": "Add customs accessibility actions to snooze, allow it to be focused\n\n- Add plumbing for accessibility action IDs, enabling custom\n  accessibility options in the local context menu\n- Allow snooze view to be focusable\n- When option is selected announces the selection via window state change\n\nTest: manual\nBug: 34840333\nChange-Id: Idca0b0e00e792d3e3f71fc6a15b9b26d9136f6da\n"
    },
    {
      "commit": "f3f6ddf7cb9641b40c3eb7ddde4565e06ded8b6c",
      "tree": "2194e35ed9015d339d845e590ae4090061b2b656",
      "parents": [
        "66c8f60eb7883b0515395e14e49dfd3274ebcfa7",
        "4ab2820e6c668ae7c55b300f126bb9f70c202ba3"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon Jun 12 21:48:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 12 21:48:45 2017 +0000"
      },
      "message": "Merge \"Updates to NotificationMenuRowPlugin so that long press may be captured\" into oc-dr1-dev"
    },
    {
      "commit": "4ab2820e6c668ae7c55b300f126bb9f70c202ba3",
      "tree": "20c1634ed8e7eac4e0dd3112252fb6193c60f3d8",
      "parents": [
        "dd0f409b164718aa6631b82f2e29f1761820957e"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Jun 06 11:42:50 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon Jun 12 18:08:19 2017 +0000"
      },
      "message": "Updates to NotificationMenuRowPlugin so that long press may be captured\n\nThis will allow the NotificationMenuRow plugin to do something else\nrather than showing a menu when the view is long pressed.\n\n- Allow menu to intercept touch events\n- If the menu item provided to long press is null, don’t show it\n- Also passes the status bar notification when the menu is created\n  or updated\n\nBug: 62534409\nTest: manual, have no plugin and long press -\u003e see notification info\n      have a plugin that returns null for long press -\u003e nothing happens\nChange-Id: I384c5217d5343e990f4c3506eb2477b015705e5c\n"
    },
    {
      "commit": "8f8b5ac031ca3b2c44341a24e2e6429aa99f83fd",
      "tree": "cd370521c9d51d36031d0ff8155514081ac0c7e0",
      "parents": [
        "1de3fd81e0e34d5a3abfeef85fac30f378454e61",
        "98bf8ba30c51ccfdd5bef1d40123dca40fdf7cf9"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Jun 09 16:57:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 09 16:57:49 2017 +0000"
      },
      "message": "Merge \"Add notification listener plugin hook\" into oc-dr1-dev"
    },
    {
      "commit": "98bf8ba30c51ccfdd5bef1d40123dca40fdf7cf9",
      "tree": "7bcd0ccbd20eab823b98e78b2d8b36cfacbb67f0",
      "parents": [
        "38568aff2224df73f582340c9a013c8633ea5be8"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jun 08 16:24:08 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jun 08 19:23:11 2017 -0400"
      },
      "message": "Add notification listener plugin hook\n\nAllows plugin control over notifications right at the entrance\nto sysui and gives them the opportunity to mess with them how\nthey see fit.\n\nTest: manual\nChange-Id: I569bf37138da66d0524acecfa36ceb409f98fbb4\n"
    },
    {
      "commit": "d7dab0f36f9e6568809b01964a1120f9827cc944",
      "tree": "4e7193c6e21cc895a4485d940d6158e9a7c450dd",
      "parents": [
        "62031b89372bd1b9090573873c994e9f623ad106",
        "a5b457b3bf6f61c482badf36858d7d278befcd70"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jun 08 13:00:40 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Jun 08 13:00:40 2017 -0400"
      },
      "message": "resolve merge conflicts of a5b457b3bf6f to oc-dr1-dev\n\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I2aa49bfdbd2c44684d0edb21b52520fea406e167\n"
    },
    {
      "commit": "01df36f37fc470d3fd8c120b09cc4e7943cfacfb",
      "tree": "4f1526361697c7767d7124b4653dacc2b7031c43",
      "parents": [
        "bb4aeb19be1dbc93e54860430e87473ca69850d2"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Jun 07 13:02:47 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Jun 07 15:00:23 2017 -0400"
      },
      "message": "Move QS cell indicator back into mobile data tile\n\nRemove it from the header and drop it back in its old location.\n\nThis reverts commit 10b4c8a4ab3fc1fd55e5a636066e210ad17cf92b.\n\nTest: runtest systemui\nFixes: 62331189\nChange-Id: I087589c256894e0972656619e665b6a16536ce6c\n"
    },
    {
      "commit": "cbff978fb4b3cf9a00414c1a6afde031eff3df7a",
      "tree": "adc70136f35239f0a2d775df97413820d8bce203",
      "parents": [
        "98c1691c9aa271c685c4c455680b3319281c0189",
        "2cd3e9c500cf0aefdba8135678dedb04369405a8"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Fri May 26 15:13:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 26 15:13:59 2017 +0000"
      },
      "message": "Merge \"Check for false touches when determining if the notif menu should be shown\" into oc-dev am: 70739fb812\nam: 2cd3e9c500\n\nChange-Id: I393a87e48487ec51fc563cc1cb9f50d604970dc0\n"
    },
    {
      "commit": "70739fb812e2acb9880c008941015a467fca2001",
      "tree": "94d11af2e70f58ff4aa12c8843b3310892e0a041",
      "parents": [
        "b8b748b7e6564003217139a8f120ed1b46392b35",
        "bd707492a2ef3641a9e9a64ef72b3b031dac0bb6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 26 14:40:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 26 14:40:27 2017 +0000"
      },
      "message": "Merge \"Check for false touches when determining if the notif menu should be shown\" into oc-dev"
    },
    {
      "commit": "2775a1d82d7382095b1197c4e055f139285b84f4",
      "tree": "98d8b65bb4f1db84e4f7b01cc14d37c34f3fcf27",
      "parents": [
        "33d4411371cf6f87b8ab74574146daa0eacf8616",
        "f4968f3c987769430ecfb6f97e5059da2addaf34"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu May 25 22:00:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 22:00:15 2017 +0000"
      },
      "message": "Merge \"Fix up the QS gutter\" into oc-dev am: 78ee090f78\nam: f4968f3c98\n\nChange-Id: I9b7d99aa2b519c8c9629dbec32d22c906f0456f7\n"
    },
    {
      "commit": "bd707492a2ef3641a9e9a64ef72b3b031dac0bb6",
      "tree": "b41595f4b8dad0260f17cdbde45d9539ee2f1e5a",
      "parents": [
        "e53243cb9246221cbf5e0de1f068a21b8ffa2c95"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Wed May 10 17:51:25 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Thu May 25 13:26:53 2017 -0700"
      },
      "message": "Check for false touches when determining if the notif menu should be shown\n\nIf it\u0027s a false touch don\u0027t show the menu.\n\nTest: manual: try swiping things away on the lockscreen (fast + long)\n     try showing notification menu on the lockscreen\nBug: 38208094\n\nChange-Id: I16ceedd90a5fbc80156a9495d6cfd6fa02771886\n"
    },
    {
      "commit": "4de5d3c03dfc49a1cdf7f9e9a0676c36987cea06",
      "tree": "a53c0125d5a98921861632e8e89f7aab6a8abe89",
      "parents": [
        "b80cffad4bd64daf643302a99a9172c8536c27ff"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed May 24 14:57:10 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu May 25 14:22:07 2017 -0400"
      },
      "message": "Fix up the QS gutter\n\n - Don\u0027t show when collapsed, show divider instead\n - Don\u0027t show when no notifications\n - Animate between states while expanding/collapsing\n - Other visual cleanup\n\nTest: visual\nChange-Id: I923c963fa70d63601b6a181299b04c5fc49922bb\nFixes: 38199857\nFixes: 38483355\nFixes: 38409326\nFixes: 38417776\n"
    },
    {
      "commit": "97d52db8541de930871322847a36467c7a293e3b",
      "tree": "124084e6af39d5d19816221fa8934612878c641a",
      "parents": [
        "bbc764e83af47a09f69a378eefdbd2c500c9889f",
        "d9c2232c9952d204a774041305b1ad5ce3d13715"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue May 09 23:41:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 09 23:41:28 2017 +0000"
      },
      "message": "Merge \"Fixes issue where the notification menu was not visible after RTL changes\" into oc-dev"
    },
    {
      "commit": "395617fd35ef0e712945359a760a00eb1aaf7475",
      "tree": "86bedd16217e4f24f6f735fca3760c4922294b72",
      "parents": [
        "83abc4f26d470ed032d91c65c66eff71a2499f53"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri May 05 14:07:58 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri May 05 14:25:43 2017 -0400"
      },
      "message": "Start drawing QS slashes rather than using AVDS\n\nThese need a bit more work like length control and animations, etc.\nbut this is a decent start.\n\nTest: visual\nChange-Id: I750d777b2b4a19f8c586066712f5a3f7e79befd6\n"
    },
    {
      "commit": "d9c2232c9952d204a774041305b1ad5ce3d13715",
      "tree": "dcb61015263f0aa0d3f7dc5fcae8f7f6fae720aa",
      "parents": [
        "4d09adcef11a4a26126d73ff9f452667303b1db7"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Apr 04 18:45:30 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Fri May 05 00:15:14 2017 +0000"
      },
      "message": "Fixes issue where the notification menu was not visible after RTL changes\n\n- Altered how the menu location is set so that it doesn\u0027t depend on RTL\n  state\n- Also fixes an issue where if you change from landscape to portrait or\n  vice versa then the menu wouldn\u0027t be visible because the placement is\n  based on the width of the notification which changes based on orientation\n\nTest: (1) have notifications and show the menu, toggle the RTL state,\n          show the menu, note that it is visible\n      (2) have notifications and show the menu, rotate the device, note\n          that the menu is still visible\nFixes: 36874498\nMerged-In: I33b8f87e53a3393a2802842ad2196c9d089ec7fc\nMerged-In: I3a3b688f2b301f5ac0446a55b668db79c323a95c\nChange-Id: I3a3b688f2b301f5ac0446a55b668db79c323a95c\n"
    },
    {
      "commit": "767e2fe523706242197391d3aa2afa0a2ba076b4",
      "tree": "32f651e944cccaf248db1e243cb564aab1611eef",
      "parents": [
        "3f6daab8eb1a199f7d88cb6cc2c412560c0a7a17",
        "86cc4bbac5ff0ae7a93036f551c06a6979b3c5f1"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed May 03 19:16:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 03 19:16:35 2017 +0000"
      },
      "message": "Merge \"Fix QS visibility logs missing some info\" into oc-dev am: df9b2e8d80\nam: 86cc4bbac5\n\nChange-Id: Ib765a9aa0807ddd074b3ff4b066c8f79eb2751a8\n"
    },
    {
      "commit": "df9b2e8d808b0ba901575fc0ddff944de4887bfc",
      "tree": "816d24a0310dba96ddac28c55236c62925518da4",
      "parents": [
        "3baad0234bd90667daf6f8e28f8b60aaba8c8778",
        "cb4b31d396df49bd55db64b1c40122656c6ec534"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 19:04:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 03 19:04:35 2017 +0000"
      },
      "message": "Merge \"Fix QS visibility logs missing some info\" into oc-dev"
    },
    {
      "commit": "cb4b31d396df49bd55db64b1c40122656c6ec534",
      "tree": "e3e28d2818b05808993ca25f4458549702f807db",
      "parents": [
        "251894b134a3d1d2bcba5ff9db7e3a4014cd369a"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed May 03 10:37:34 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed May 03 10:37:34 2017 -0400"
      },
      "message": "Fix QS visibility logs missing some info\n\nTest: runtest systemui\nChange-Id: I6deb71576b137dfbd51f863e88ad939d4f3fab1b\nFixes: 35454347\n"
    },
    {
      "commit": "673c07f3da0a7e5f21bd50549c1a3ccbea7deff0",
      "tree": "bdc518c5cff2d5450269414d6c07526b7ad5017c",
      "parents": [
        "60e305ce8ca1e111f382c3b221fd92536e8283b5",
        "825b5748925f30d936b691f335ae3d8133483f31"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed May 03 13:55:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 03 13:55:11 2017 +0000"
      },
      "message": "Merge \"DozePlugin: Remove\" into oc-dev am: b2484f2258\nam: 825b574892\n\nChange-Id: I5994fbdd9cc15c1dc42fbecd63792eb2214ab017\n"
    },
    {
      "commit": "9d03a5254f5c7ac00071d56b91ddc15a3d761ed6",
      "tree": "f09018d75783830f3aa2da312123537c8e8aac4c",
      "parents": [
        "c6d132c11db904238302b7d2199fa2d9995e8390"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Apr 04 18:45:30 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue May 02 14:25:56 2017 -0700"
      },
      "message": "Fixes issue where the notification menu was not visible after RTL changes\n\n- Altered how the menu location is set so that it doesn\u0027t depend on RTL\n  state\n- Also fixes an issue where if you change from landscape to portrait or\n  vice versa then the menu wouldn\u0027t be visible because the placement is\n  based on the width of the notification which changes based on orientation\n\nTest: (1) have notifications and show the menu, toggle the RTL state,\n          show the menu, note that it is visible\n      (2) have notifications and show the menu, rotate the device, note\n          that the menu is still visible\nFixes: 36874498\nChange-Id: I3a3b688f2b301f5ac0446a55b668db79c323a95c\n"
    },
    {
      "commit": "664c9d7d161cd49ec9b71fee6aa29ca5175c2890",
      "tree": "425581226e3b30443f9fdd330d2aef74dcde2d7f",
      "parents": [
        "9870d0bef78949f0429de4f62532d98f2537c258"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Apr 28 15:52:24 2017 -0700"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue May 02 12:12:57 2017 -0700"
      },
      "message": "DozePlugin: Remove\n\nThe DozePlugin has not been able to keep up with the changes to DozeMachine.\nAt this point it is cleaner to just remove it.\n\nBug: 30876804\nTest: make SystemUI\nChange-Id: Ie8cd1488eb862017c54b92b1fba07537c0143bff\n"
    },
    {
      "commit": "4c19760b9131a67b379f9b7060c5830cb5beaad7",
      "tree": "1c60874beb19872dd652eb9be37f9975399f84d6",
      "parents": [
        "4a306894145340a4fe08b70b569eaa31641b38e6"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon Apr 10 17:57:52 2017 -0700"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Mon Apr 10 18:30:27 2017 -0700"
      },
      "message": "Don\u0027t offer snooze for foreground service notifications\n\nAlso updates NotificationMenuRow tests to actually check if menu\nwas created.\n\nTest: Manual, have foreground service, check if snooze is visible\nBug: 37152715\nChange-Id: I09cf60598c3e8991f2da731da1ef7e0a718c3435\n"
    },
    {
      "commit": "e645aee45a7784d772e4bdf846dd2e77335f30f2",
      "tree": "e3054eef48e64866035aab2cf7f886ef1dbf5427",
      "parents": [
        "537fd18eafaac246ae54c90577e7fd60e609cc14"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Mar 31 13:19:26 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Mar 31 13:49:21 2017 -0400"
      },
      "message": "QS: Add transient icon for hotspot\n\nWill make the loading time more clear.\n\nTest: visual\nBug: 32270851\nChange-Id: I0ea7591da132ff65fb7fc16b03b2891891e66598\n"
    },
    {
      "commit": "c7146beabe21c84248c2c62336b0af8c2f19f4f5",
      "tree": "624a777db4040a4b340d9cf381aa68e0957529f7",
      "parents": [
        "92b324282707e7eb4a52e48d9d5af8c75ef6316c"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Wed Mar 29 14:13:03 2017 +0000"
      },
      "committer": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Wed Mar 29 14:58:42 2017 -0700"
      },
      "message": "Make public getFragments() and onGetLayoutInflater() methods\n\nBug 34703669\nTest: I846ef668e3dd7d664cfb56d2b9400467ba9b79f4\nChange-Id: Ie202960ada86b25e964f98a639b5f5740c8fdb79\n"
    },
    {
      "commit": "9d421ba0501535e2824b5b56ca2db84d4f4bb6b4",
      "tree": "8093fd58ff8e54468681fc5686c37bd4b260d5c7",
      "parents": [
        "d52cdfb89f9acfb44f80fc366fd1a4c7337101f1",
        "2b6aa352e5f8b432a934a228df7fe640249b36b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 23:37:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 27 23:37:10 2017 +0000"
      },
      "message": "Merge changes Ia971b2bc,I0001eb3d,I55a6951e\n\n* changes:\n  Remove framework-protos from SystemUI\n  Disable proguard for PluginDummyLib\n  Enable multidex for dx\n"
    },
    {
      "commit": "be976024a847e1f72e1000b36e25729344a8c6cd",
      "tree": "9181ee688f734aa56b7c6c4fcb9b5b80da49f364",
      "parents": [
        "cef238ed70a56400c62b81c0667c6b5792a5a6e3",
        "95d743c38c919dd500d9dcacf9f998500d403d9e"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Fri Mar 24 16:54:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 24 16:54:18 2017 +0000"
      },
      "message": "Merge \"Add plugin interfaces to control notification menu / swipe behavior\""
    },
    {
      "commit": "6a8a4d89120bf6af85c711f01067c65de08a0fb5",
      "tree": "09f17ddb18a71cf1311513a8ec71da5c142b6079",
      "parents": [
        "770324964aa70e59f3974af9fb8812a17cc43819"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 23 12:59:36 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 23 18:08:41 2017 -0700"
      },
      "message": "Disable proguard for PluginDummyLib\n\nProguard fails for jars that contain no class files, disable it.\n\nTest: m -j ANDROID_COMPILE_WITH_JACK\u003dfalse PluginDummyLib\nChange-Id: I0001eb3de7b7cea2fa9f91de0c1e59569d41ae8a\n"
    },
    {
      "commit": "782cd6711bc15e3f03456210b3543a67606d6591",
      "tree": "5b12409def94a75e34977fa651536123329f24c4",
      "parents": [
        "287eb95e68e8e21009a5363f39a762d3b0b8503b"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 22 12:50:57 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Mar 24 00:40:25 2017 +0000"
      },
      "message": "Create plugin interface for volume dialog\n\nVery few logic changes, mostly just breaking out certain interfaces\nand classes to the plugin lib.\n\nTest: make + volume keys\nChange-Id: Ieabc6d35f6ef980842849236a0b8ffd5543b3a2c\n"
    },
    {
      "commit": "95d743c38c919dd500d9dcacf9f998500d403d9e",
      "tree": "2162d018b15a53e1e83da81ca78dc937fd17915b",
      "parents": [
        "fc7f4ceb44c2f18fc112ef53580d5fed520e0f9d"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Tue Jan 10 12:05:27 2017 -0800"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Wed Mar 22 19:04:50 2017 -0700"
      },
      "message": "Add plugin interfaces to control notification menu / swipe behavior\n\n1) Updates the notification menu plugin to do more:\n- The plugin can now supply the view it wants to display behind a\n  notification as the menu\n- Touch interaction (i.e. notification translating on top) is piped\n  through to the plugin so it can update the view behind the notification\n\n2) Makes NotificationMenuRow an implementor of the plugin which moves\n   a bunch of that logic out of NotificationStackScroller\n\nTest: runtest systemui\nChange-Id: I8723b96c195ff7311317d5523418cfcbe2a79b52\n"
    },
    {
      "commit": "361915c727fc2ad137bfeed7ff74b3eadde96597",
      "tree": "55598c5be642e8c843a9aa006e7f976d3f0aa386",
      "parents": [
        "c0e002b43071752dcaf3bd464dc3f1a09cd81b80"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 21 20:33:59 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 22 09:41:34 2017 -0400"
      },
      "message": "Move global actions to sysui and add plugin interface\n\n - Move default global actions ui to sysui\n - Add fallback legacy interface in case sysui breaks\n - Switch to fallback if sysui dies or isn\u0027t responding\n\nTest: Long-press power\nChange-Id: I943522611de5dbbee61e66c67cf3a56379091e97\n"
    }
  ],
  "next": "e5b770e47d44a40d412c7d42010b2cf67920d9e3"
}
