)]}'
{
  "log": [
    {
      "commit": "c0819d206660c7a2578b585fbd8e88565d6b4627",
      "tree": "8df4ee1a31056ade23d24dc193c8408d6c5dea35",
      "parents": [
        "d708a4564fcabddce209987fafd4c5ddeddf6b4e",
        "e1f06b88e8a5c01a405bf00af4ef5e9e8046161a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 07 19:42:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 19:42:58 2018 +0000"
      },
      "message": "Merge \"Add an optional reason field to vibrator service\""
    },
    {
      "commit": "9e795d828af09cb27bf9b60a48b5a00c479291de",
      "tree": "bd8480082f84886eb1ac0b3e05cd926bcd66b7e0",
      "parents": [
        "7f766434504edbcc82e4de0c382d77fb907ca00c",
        "1418a6b07ff2922001a761f4ef80d93230f4d358"
      ],
      "author": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Fri Aug 03 01:23:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 01:23:38 2018 +0000"
      },
      "message": "Merge \"Magnification isn\u0027t reset when service is disabled\""
    },
    {
      "commit": "c8280ca86a2194eef348e3d837fe78b26b350f81",
      "tree": "f9e31ddd0d683acb8e7c12535ab34f35929bbb19",
      "parents": [
        "e4c7d37e03146ada9becbc30468a9e4f9ad9c9eb",
        "e084604e63c0f3ac129b2e2d7d220e3ededa2949"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 21:16:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 21:16:56 2018 +0000"
      },
      "message": "Merge \"Bootstrap freeform external displays.\""
    },
    {
      "commit": "e4c7d37e03146ada9becbc30468a9e4f9ad9c9eb",
      "tree": "d40772d0b61ab2dc6266bc1386d340c54a56609e",
      "parents": [
        "2ff6ee5eebcf741ac6e7ffb594cbfa70f1ac11b5",
        "e643910a33777cb9fb2466c8b2d31aee1ec87e0d"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Aug 02 21:08:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 21:08:56 2018 +0000"
      },
      "message": "Merge \"Expose method to clear all visible recent tasks\""
    },
    {
      "commit": "e084604e63c0f3ac129b2e2d7d220e3ededa2949",
      "tree": "22fa9ad3d6dc72b3343b7f8a61e8dd8b6c9eef2e",
      "parents": [
        "3b388800b57b533260aabd9924f58a9180ae9ede"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Jul 26 13:42:04 2018 -0700"
      },
      "committer": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Aug 02 09:55:37 2018 -0700"
      },
      "message": "Bootstrap freeform external displays.\n\nTo get freeform external display one can:\n1. Enable freeform windows in developer options;\n2. Reboot the device;\n3. Connect an external device.\n\nAll tasks launched in the external display are then launched in freeform\nmode by default, and centered in that display.\n\nThere are a lot to do after this CL. It needs caption and window decor\nso it can be maximized, restored, drag-moved and drag-resized. There is\nno system UI on external display yet so we can\u0027t launch arbitrary\nactivities on it, nor can we minimize anything.\n\nI\u0027m using ActivityView for testing and it uses input forwarder, but we\nneed to solve the use of mouse and keyboard when it goes to a real\nexternal display.\n\nIn addition, tightened the visibility of DisplaySettings class.\n\nBug: 111840884\nTest: go/wm-smoke\nTest: activity launching on external freeform displays.\nTest: atest DisplaySettingsTests\nChange-Id: Ie2a05110ada60b054ac35dae948ad309ea378b1c\n"
    },
    {
      "commit": "c4f2ec7b3a731ddbc0415ca8d56dbcd0be85291e",
      "tree": "c7305b399d30ff23e91f617e47df3d05d58a4e78",
      "parents": [
        "e87edb1810fe47c77c966da680a976b916aa8413",
        "c9acf67886d27e040bcb1bd3e665ab8a4351ae07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "message": "Merge \"Allow NotificationAssistantService to suggest smart replies\""
    },
    {
      "commit": "c9acf67886d27e040bcb1bd3e665ab8a4351ae07",
      "tree": "8e8220db059818dbb1716bed8e4d0a6a5fb05632",
      "parents": [
        "9a64ba2602677e1ec3e0edc94e754d393983362e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 20 13:58:24 2018 +0200"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Aug 02 11:39:35 2018 +0100"
      },
      "message": "Allow NotificationAssistantService to suggest smart replies\n\nIf the apps has provided their own choices, they will be used, as opposed\nto the \"smart replies\" from NAS.\nOtherwise, smart replies will be applied to the notifications\nwith a freeform RemoteInput but without choices.\n\nThe smart reply model is not ready yet, so canned response is hardcoded\nand it is disabled by default. To test it out, run\nadb shell setprop persist.sys.smart_replies_experiment true\nAlso, to get rid of the target \u003e\u003d P SDK requirement, you may want to run:\nadb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n\nTest: atest SystemUITests\nTest: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenerServiceTest.java\nTest:\n1. adb shell setprop persist.sys.smart_replies_experiment true\n2. adb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n3. Send a message to myself, observe the hardcoded smart replies.\n\nBug: 111674540\n\nChange-Id: Ia61a77faef7c4dcba0501abfec80e3e8cc7274e4\n"
    },
    {
      "commit": "a83b79c610991db4477a486f6c9cd69e022d4843",
      "tree": "28650a049c24d6f3d8d75d8caf827d477e465162",
      "parents": [
        "8d177985da7013f0cf480154f62d5a98b63d9067",
        "e8d6d44235c04abdbb709c326982be459c9e39f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 10:18:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 10:18:36 2018 +0000"
      },
      "message": "Merge \"Add helper functions to WindowFrameTests to avoid using assertRect()\""
    },
    {
      "commit": "8d177985da7013f0cf480154f62d5a98b63d9067",
      "tree": "da5cafb2126df5c7bf94f4ee523892d421beca29",
      "parents": [
        "ba07a4168872fe56640967dae7522e330db92002",
        "0749da8c4d7099809d604749ffe5eb4f6989abc0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 10:17:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 10:17:34 2018 +0000"
      },
      "message": "Merge \"Refactor ScreenDecorWindowTests\""
    },
    {
      "commit": "0749da8c4d7099809d604749ffe5eb4f6989abc0",
      "tree": "311bcc2433d478552012f1df74c156cdc8a906aa",
      "parents": [
        "9c19e34d9f475657f8bd1c15ac7f60ee8faf3155"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Mon Jul 30 11:26:39 2018 +0900"
      },
      "committer": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Thu Aug 02 17:46:02 2018 +0900"
      },
      "message": "Refactor ScreenDecorWindowTests\n\nTo override expected values of assertions, we separate some code\ninto functions.\n\nBasically, ARC team wants to override expected values as follows.\n\nprivate void assertTopInsetEquals(Activity activity, int expected) throws Exception {\n    expected \u003d otherValue;\n    waitFor(() -\u003e getInsets(activity).getSystemWindowInsetTop() \u003d\u003d expected);\n    ...\n}\n\nHowever, without this CL, the labmda function generates the\nfollowing error.\n\nerror: local variables referenced from a lambda expression must be final or effectively final\n\nThis CL resolves the error by separating the wairFor part into another\nfunction.\n\nBug: 110906754\nTest: ScreenDecorWindowTests\nChange-Id: Id46557afdbc5cde4683d8ba33a84e5ec951cc27a\n"
    },
    {
      "commit": "e8d6d44235c04abdbb709c326982be459c9e39f7",
      "tree": "2ac71d7093e0660165cb9d45b2045e2841064d38",
      "parents": [
        "9c19e34d9f475657f8bd1c15ac7f60ee8faf3155"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Mon Jul 23 17:40:20 2018 +0900"
      },
      "committer": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Thu Aug 02 15:50:22 2018 +0900"
      },
      "message": "Add helper functions to WindowFrameTests to avoid using assertRect()\n\nThis CL introduces some more explicit assert functions to\nWindowFrameTests to handle the difference of behavior between\nphones and ARC in those functions.\nThis CL doesn\u0027t affect the behavior in master at all.\n\nBug: 110907155\nTest: atest WindowFrameTests\nChange-Id: Icc86f18f605fdca82b1f358cb0e9d8cbd5f25b3a\n"
    },
    {
      "commit": "617e29a65ccb3b111c4dad7b01f507ce491d7862",
      "tree": "855e24a44da04e7fdcb852cabfd5a36f07fd0e18",
      "parents": [
        "e9ea3c93196d6d9c51712dfc623615b67d6969db",
        "5ce4bb3396f45feb6d071ad51737f3eb7084b6c0"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Thu Aug 02 02:53:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 02:53:22 2018 +0000"
      },
      "message": "Merge changes I2dfd15ff,I7507e25f\n\n* changes:\n  Support rotation on secondary displays (3/N)\n  Support rotation on secondary displays (2/N)\n"
    },
    {
      "commit": "8ecfcf9ea52f3cb797f4c4150569101bf12d3bc4",
      "tree": "a3e24bf6de2abb4bac75a4dc175ed641525afb94",
      "parents": [
        "0c499ab71f577d10fe751801bd538df30e629878"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Tue Jul 31 14:00:20 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Wed Aug 01 20:41:46 2018 +0000"
      },
      "message": "Disable tests on system audio mode muting.\n\nTest: atest com.android.server.hdmi\nChange-Id: I5c692766e9276f75614cde07951d9681e244cbfa\n(cherry picked from commit 13833f7206c454357b578ac29a02e661355538c4)\n"
    },
    {
      "commit": "e643910a33777cb9fb2466c8b2d31aee1ec87e0d",
      "tree": "d3184ddb2666774666858a418a63d79a60f273dd",
      "parents": [
        "a81d70742f92628f9ffc1c0e8bd295ec51fc3227"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Jul 30 15:48:01 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Aug 01 12:16:51 2018 -0700"
      },
      "message": "Expose method to clear all visible recent tasks\n\n- Atomically remove all the visible tasks so that SysUI doesn\u0027t need to\n  remove each task individually.\n\nBug: 80471073\nTest: atest FrameworksServicesTests:RecentTasksTest#testRemoveAllVisibleTasks\nChange-Id: I23a6e152e94d5462948ab40adc9d7baf593847e1\n"
    },
    {
      "commit": "70b9e55ecbe2c6c158ce48cffdb42313269368e8",
      "tree": "77746422a2a42db880616e5bdc34cac6d066e9a7",
      "parents": [
        "94efa9cb6fad521920ab357dd53833ef16e56281",
        "8c991ea3cf500d2d188fa7a13c009e8cda6d50bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 01 17:13:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 17:13:40 2018 +0000"
      },
      "message": "Merge \"Enforce restricting use of CATEGORY_CAR_* to system calls only\""
    },
    {
      "commit": "8fd602d92388334a1417ac1ad85fd1772360cd52",
      "tree": "8967c2e69be518b9533c10cb3c84a53895e37c6a",
      "parents": [
        "6c73154168c0f2e9e9c67c1f248b9edf3d8a3d9c",
        "70aaea7bb23feff2207ae4cc4627cae62079be7f"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Aug 01 13:57:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 01 13:57:48 2018 +0000"
      },
      "message": "Merge \"Limit cross user adjustments from assistants.\""
    },
    {
      "commit": "5ce4bb3396f45feb6d071ad51737f3eb7084b6c0",
      "tree": "16f83072bd6cf4c62a96b5dcd67f005e18721a09",
      "parents": [
        "ad256a1e164b1b2026bda0ee5d6b8defe2fff59f"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Wed Jul 18 16:11:30 2018 +0800"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Wed Aug 01 15:45:55 2018 +0800"
      },
      "message": "Support rotation on secondary displays (3/N)\n\nMove major operations of rotation/orientation from\nPhoneWindowManager to DisplayRotation.\n\nCreate DisplayPolicy and move partial fields which\nhave dependency with rotation.\n\nBug: 111361251\nTest: go/wm-smoke\nTest: atest FrameworksServicesTests:AppWindowTokenTests\nTest: atest FrameworksServicesTests:PhoneWindowManagerLayoutTest\nTest: atest CtsActivityManagerDeviceTestCases:ActivityManagerMultiDisplayTests\nChange-Id: I2dfd15ffcc41e10a9074087e6aa15975c92b4979\n"
    },
    {
      "commit": "ad256a1e164b1b2026bda0ee5d6b8defe2fff59f",
      "tree": "45c75d06a50fb410955cf8a0003a3198c0669fd8",
      "parents": [
        "11eedb6379fdf81587f43c9d5c077231340841d7"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Wed Jul 18 16:11:30 2018 +0800"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Wed Aug 01 15:44:16 2018 +0800"
      },
      "message": "Support rotation on secondary displays (2/N)\n\nMove partial operations of rotation/orientation from\nPhoneWindowManager to DisplayRotation.\n\nBug: 111361251\nTest: go/wm-smoke\nTest: atest FrameworksServicesTests:PhoneWindowManagerLayoutTest\nTest: atest FrameworksServicesTests:PhoneWindowManagerInsetsTest\nChange-Id: I7507e25f14e7fd1733ffd2a71789673d6a7ee17d\n"
    },
    {
      "commit": "8c991ea3cf500d2d188fa7a13c009e8cda6d50bd",
      "tree": "49b2ec5e5ce7fd2ddc9953ce621b7820b983760c",
      "parents": [
        "9b33424d0b742d3c1314ec2f1a38b14f1c3c475f"
      ],
      "author": {
        "name": "Brad Stenning",
        "email": "stenning@google.com",
        "time": "Tue Jul 31 13:33:01 2018 -0700"
      },
      "committer": {
        "name": "Brad Stenning",
        "email": "stenning@google.com",
        "time": "Tue Jul 31 13:36:23 2018 -0700"
      },
      "message": "Enforce restricting use of CATEGORY_CAR_* to system calls only\n\nBug:111793232\nTest: unit tests added\nChange-Id: Icf7de3b8cb71700e33c47e2b0f083077f829d5b3\n"
    },
    {
      "commit": "ad3841a58b9584b60413ec8fd70133a1e3f261ce",
      "tree": "1dd85e68e23b529be1dc1c3b266ad86f091184e3",
      "parents": [
        "b80d30d88772c7b662b3a7b4be979d111a9cdbf1"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Jul 31 11:23:35 2018 -0400"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Jul 31 16:07:22 2018 -0400"
      },
      "message": "Don\u0027t show zen upgrade notification on restore\n\n- only show the zen upgrade notification if the xml\nversion is old\n- don\u0027t reset the automatic rules to default zen rules\nif they already contain the default rules\n\nTest: manual restore\nTest: ZenModeHelperTest\nChange-Id: Ideaf24478ea754e42902d03fd3df14bcad0da860\nFixes: 111842062\n"
    },
    {
      "commit": "70aaea7bb23feff2207ae4cc4627cae62079be7f",
      "tree": "4df0be31345d3a619cf4ad4118708314e0201e16",
      "parents": [
        "c436cea87b07bffa550a004638ea4bf78ea3d13a"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jul 13 13:38:34 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jul 31 16:07:20 2018 -0400"
      },
      "message": "Limit cross user adjustments from assistants.\n\nAll NotificationListenerService callbacks and methods will\nstill work for managed profiles, but NotificationAssistantServices\nmust operate within their current user.\n\nFixes: 111429721\nTest: runtest systemui-notification\n\nChange-Id: I9747db80f986e172e309f8f17559c943ce265c76\n"
    },
    {
      "commit": "1459074f674c8edfaeb370633dadc606f56b9a84",
      "tree": "925b6dd7ff8da387f88d4ee2bd99c3525975cf21",
      "parents": [
        "00fa840cfa102a1e1b32cca520ec9d0e8bd1e443"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Jul 30 09:25:35 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jul 31 13:16:32 2018 +0000"
      },
      "message": "Rebind to all approved services on pkg change\n\nSo that newly added services are picked up without user\nintervention.\n\nTest: runtest systemui-notification, manual\nChange-Id: I684faafaa4702157c42a66c2daa1a1129081ac5e\nFixes: 111787359\n"
    },
    {
      "commit": "f3e7b9658851897086c4f4549b1cfbdd933cf4d2",
      "tree": "cfb2cf1731ef653e87ccd2ddcb010cb94fe88bf7",
      "parents": [
        "11eedb6379fdf81587f43c9d5c077231340841d7",
        "57831b51cd07bc21fc50be381695df5d90911c25"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 31 09:48:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 09:48:25 2018 +0000"
      },
      "message": "Merge \"Move display order of focused stack to top when updating focus\""
    },
    {
      "commit": "1418a6b07ff2922001a761f4ef80d93230f4d358",
      "tree": "3bb4d7693e7232cdea1793882955272e5e9dc8d5",
      "parents": [
        "6eac8af605ee5d0d6beb7bdbae14540a05efe0df"
      ],
      "author": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Wed Jul 25 14:10:41 2018 +0800"
      },
      "committer": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Tue Jul 31 11:24:29 2018 +0800"
      },
      "message": "Magnification isn\u0027t reset when service is disabled\n\nIf the disabled service is the last service to magnify, reset the\nmagnification.\n\nBug: 28623059\nTest: manual\nTest: atest CtsAccessibilityTestCases\nTest: atest CtsAccessibilityServiceTestCases\nTest: testResetIfNeeded_resetsOnlyIfLastMagnifyingServiceIsDisabled\nChange-Id: I6b12a5251b5fede8d2c9eb06048bf9fa4bd70f8b\n"
    },
    {
      "commit": "3de852662d0898ce565214140b8ae71e9d7faf14",
      "tree": "de675a53290b64409d20c5ad6feafdef148348d5",
      "parents": [
        "b3c62410197e3fb3b77dcd7c8db92f20c3f1e8f2",
        "a29772682eb91ce6a31e7837e67addd43f1aa1df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 30 19:48:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 19:48:48 2018 +0000"
      },
      "message": "Merge \" Replace setFinalCrop with temporary layer\""
    },
    {
      "commit": "03b3be290b0922aaa32d52481f31400d82426731",
      "tree": "be0f3dc4a150e1e49af2f8f839043fc41da138c0",
      "parents": [
        "99334bf938ce9350b518a034fbf458e2e12212b3",
        "77c7c986d8ff1f27edecb42a5f430e0a263abe3d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 30 15:51:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 15:51:50 2018 +0000"
      },
      "message": "Merge \"Implement RequestArcInit and RequestArcTeminate handlers.\""
    },
    {
      "commit": "9016f92178c1128a9439cb3242316c84f2362b07",
      "tree": "5a7b8b3b0677a52ee8df824ba292ac1e6eb1ecb9",
      "parents": [
        "fab85f0fc33da068502c4debc2933f61fcd905fc",
        "561483908c80078d4af9c5de574f99fc4aa85440"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Mon Jul 30 00:41:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 00:41:27 2018 +0000"
      },
      "message": "Merge \"Set return value for mock(IWindow).asBinder() to prevent exception\""
    },
    {
      "commit": "906f9c629ce2a42f5bf6f329e4573e4548564ab0",
      "tree": "3db3c032d72b622d742798a3c290b28281011666",
      "parents": [
        "5d97dd31f0ff192be94f507b8cfb3c339c7f4409"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jul 23 11:23:44 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Jul 29 00:37:56 2018 -0700"
      },
      "message": "Moved input time out handling to ActivityTaskManagerService (14/n)\n\nAlso:\n- Post handling of scheduling GC from WM to AM side.\n- Removed access on package manager through mAm reference.\n\nBug: 80414790\nTest: Existing tests pass\nChange-Id: Ia76c57411fc332ea099adb6ef7975e012b4d744c\n"
    },
    {
      "commit": "77c7c986d8ff1f27edecb42a5f430e0a263abe3d",
      "tree": "55bce680d803817d7ffa1e8800435e15cacce631",
      "parents": [
        "5d97dd31f0ff192be94f507b8cfb3c339c7f4409"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jul 23 18:27:36 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Sat Jul 28 01:07:04 2018 +0000"
      },
      "message": "Implement RequestArcInit and RequestArcTeminate handlers.\n\nTest: atest com.android.server.hdmi\nChange-Id: I7727f54c15138fa3ec89909a0eac1b2ec988eea4\n(cherry picked from commit daaeb7750562bb91a072cb34438c6c4cd88df4aa)\n"
    },
    {
      "commit": "10e52c97ee795cd939c5a8b0988eb735ff63d009",
      "tree": "bd160ab571b8c498680d2445769d84eb1fc8d192",
      "parents": [
        "1afb15913c73a4cef036dbe8cc97a1e0de78e02d"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jul 25 16:07:16 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 27 23:02:41 2018 +0000"
      },
      "message": "Cleanup code format\n\nTest:  atest FrameworksServicesTests:com.android.server.hdmi\nChange-Id: Ica8c41cc97c9818b6b4f2d3a5665460b6d92d16e\n(cherry picked from commit 74db829ac892f569fc9acddd30b79f8d93d0afc1)\n"
    },
    {
      "commit": "0094ef649dbf96a90b8258f36cb8b8a3a4dd425e",
      "tree": "919d8a4aea30f565f7d440762ec95705e0a917f2",
      "parents": [
        "cb0a0c5e03b3d092cc6efa9be474324b0527379d",
        "c448a8e208a5d9bb657f25fccf8cdd6d302f34b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 27 22:06:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 27 22:06:51 2018 +0000"
      },
      "message": "Merge \"Add builder for \u003cRequest Short Audio Descriptor\u003e\""
    },
    {
      "commit": "e1f06b88e8a5c01a405bf00af4ef5e9e8046161a",
      "tree": "a7950a535c1e7a14fb136e5dbe16aaa88440604f",
      "parents": [
        "f94dcd98180b83af193cd6a2602676a06f2978e9"
      ],
      "author": {
        "name": "Alexey Kuzmin",
        "email": "alexeykuzmin@google.com",
        "time": "Wed Jun 20 17:48:43 2018 +0100"
      },
      "committer": {
        "name": "Alexey Kuzmin",
        "email": "alexeykuzmin@google.com",
        "time": "Fri Jul 27 20:32:53 2018 +0100"
      },
      "message": "Add an optional reason field to vibrator service\n\nTest: Run vibration test, see reason written to log and trace.\nBug: 109654229\nChange-Id: I13db6968c125e7c2b2483a14faad5b6ea9b4cda6\n"
    },
    {
      "commit": "21674275d75b861fe36977990553172a836e83c2",
      "tree": "5e3ef81d23fdc12e33f3650b81bf31310c37bf26",
      "parents": [
        "a062beb9cc10a3a888a545b85768b0abbc591670"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Tue Jul 24 16:28:34 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 27 17:11:11 2018 +0000"
      },
      "message": "Add ArcTerminationActionFromAvr and test.\n\nTest: atest com.android.server.hdmi\nChange-Id: I9f017e97eb0159320de94d6a2d38c32a9cd0eb2a\n(cherry picked from commit e41f14271a144f79478671c278d33d9b0bd78e71)\n"
    },
    {
      "commit": "c448a8e208a5d9bb657f25fccf8cdd6d302f34b6",
      "tree": "51eee4d397dbc48ab3e896a500ecb8b97b01dbbc",
      "parents": [
        "dad7d689acf6a646460a94318ba6f05590043a1d"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 26 13:59:33 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Fri Jul 27 13:59:35 2018 +0000"
      },
      "message": "Add builder for \u003cRequest Short Audio Descriptor\u003e\n\nChange-Id: I4c276dd66e0e41e0e63ff7e8fda45c6abe5b1f8a\nTest: atest FrameworksServicesTests:com.android.server.hdmi.HdmiCecMessageBuilderTest\n"
    },
    {
      "commit": "57831b51cd07bc21fc50be381695df5d90911c25",
      "tree": "5b65750f66b46abdba82a6aaf6dd04d5252d0bec",
      "parents": [
        "125633276910b2815804bdd4610d62017240eb4c"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Jul 27 00:31:48 2018 +0800"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Jul 27 18:52:00 2018 +0800"
      },
      "message": "Move display order of focused stack to top when updating focus\n\nNow focused stack depends on the order of display, so if a stack\nis expected to be focused, its display should also move to top.\n\nBug: 111818977\nTest: atest CtsActivityManagerDeviceTestCases:ActivityManagerMultiDisplayTests\nTest: atest FrameworksServicesTests:ActivityStackSupervisorTests\nChange-Id: I38e0aa4a78712561ab796b6522b733421286b7d9\n"
    },
    {
      "commit": "561483908c80078d4af9c5de574f99fc4aa85440",
      "tree": "bb381f15b578ead65443a2e3438af40a3c894bf7",
      "parents": [
        "309adbff03ea6e0dedd232375a9f0583a7a80049"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Fri Jul 27 10:44:25 2018 +0900"
      },
      "committer": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Fri Jul 27 10:44:25 2018 +0900"
      },
      "message": "Set return value for mock(IWindow).asBinder() to prevent exception\n\nIn TestWindowManagerPolicy#addSplashScreen(), mock(IWindow) is\ncreated and it\u0027s passed to the constructor of WindowState. In the\nconstructor, c.asBinder().linkToDeath() is called, but currently,\nc.asBinder() returns null, which ends up throwing an exception.\n\nThis CL sets a proper return value for c.asBinder(). With this CL,\nall the tests in AppWindowContainerControllerTests pass in ARC.\n\nBug: 110906840\nTest: atest AppWindowContainerControllerTests\nChange-Id: I5cacd6635eb11f174d14c7c2a3873dc648d43527\n"
    },
    {
      "commit": "a29772682eb91ce6a31e7837e67addd43f1aa1df",
      "tree": "cbab345aa14a5b95e65f64bb2ea22d9b20191d50",
      "parents": [
        "98d767052a656fe5016a3d0df5cb8df2f526c2bb"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Jul 26 13:31:26 2018 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Jul 26 13:31:26 2018 -0700"
      },
      "message": " Replace setFinalCrop with temporary layer\n\n- Creates a temporary animation bounds layer when setting up the\n  animation in AppWindowToken\n- The leash is parented to this new layer if the appStackClipMode\n   is set to STACK_CLIP_AFTER_ANIM\n\nTest: Manual test - open activity in split screen\nTest: atest FrameworksServicesTests:AppWindowTokenAnimationTests\nChange-Id: I6a9cf99832ee868a6e65da0150291d521f5eca35\n"
    },
    {
      "commit": "ac1a55ca7d0407e5ad33bf4afdb2ed90498dc75f",
      "tree": "e09edcb3fd948801e79b3d08078d3c630d9639e7",
      "parents": [
        "c132a051021d8489202519fbe91c49b2cc9f134b"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 13 16:38:23 2018 -0700"
      },
      "committer": {
        "name": "Shubang Lu",
        "email": "shubang@google.com",
        "time": "Thu Jul 26 19:39:27 2018 +0000"
      },
      "message": "Add system audio control audio port switch check.\n\nTest: make -j18\nChange-Id: I9fdf60277032a8fdd601b90448b560996bf37966\n(cherry picked from commit 6546934edb8e720b5e06b42103651c94074864ce)\n"
    },
    {
      "commit": "590c716f8c158db98a8b958c09c7f9793143d34b",
      "tree": "ce912800be46dd31909d078e3ba1829586893f9d",
      "parents": [
        "a1fa888d3ea98bbc9b4c9b96a49c05917940da59",
        "6d50dcc8afb3b32d0c1c6f4ebf930faa3354ac78"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Jul 26 03:56:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 26 03:56:08 2018 +0000"
      },
      "message": "Merge \"Moved URI grants code out of ActivityManagerService to its own service (13/n)\""
    },
    {
      "commit": "eff3c88372f9f2aeb6a0b4776cd2cbcdbeba77b5",
      "tree": "98117bae0645a18ba8f510ddd84b1c27aaf014b3",
      "parents": [
        "f0c438c35968ff9a83abbe6c71f73acd92919ea7"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Thu Jul 19 16:00:29 2018 -0700"
      },
      "committer": {
        "name": "Shubang Lu",
        "email": "shubang@google.com",
        "time": "Wed Jul 25 22:39:54 2018 +0000"
      },
      "message": "CLEANUP: use message list in FakeNativeWrapper\n\nTest: make; atest com.android.server.hdmi;\nChange-Id: Id3693d93e17bd6b70b305474b0d473b3b4206344\n(cherry picked from commit 47ab0b49ba66f10d8593e1cf6fbce257071ea23f)\n"
    },
    {
      "commit": "e0d010221d33d4849bacbbdc9584811cac1254e8",
      "tree": "9096278f840df282c253603815b0ce23a509eac7",
      "parents": [
        "c27346fa7db17ba23deaf55c564a91616c352c8e"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Mon Jul 23 16:15:10 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jul 25 19:04:50 2018 +0000"
      },
      "message": "Specify physical address in hex, to fix broken test.\n\nChange-Id: I1a47379de23576b91fdb48f77b8b79963aedf99f\nTest:  atest FrameworksServicesTests:com.android.server.hdmi.HdmiCecMessageBuilderTest\n"
    },
    {
      "commit": "819a6d6a10bcbd55c0397ce324757c1e10936c49",
      "tree": "5be37c959102de2998cc48efe3a39d15db718df3",
      "parents": [
        "521a897a70677f697fa743e5fad70203731d5cf9",
        "6c644e620d541e52d3f4e32fddc689aa5e5350e6"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jul 24 20:57:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 20:57:59 2018 +0000"
      },
      "message": "Merge \"Always review permissions before \u003cM app is started the first time\""
    },
    {
      "commit": "521a897a70677f697fa743e5fad70203731d5cf9",
      "tree": "6f79fa565d179e415654e5c41ef0020cfc164f73",
      "parents": [
        "8d7b1f6abc5472f63bb644e6a5e78c10199f1751",
        "152623f994b17e21a2668fc25fa3d97c2feb2dcb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 24 20:56:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 20:56:27 2018 +0000"
      },
      "message": "Merge \"Remove refs to BatteryStats in ProcessRecord\""
    },
    {
      "commit": "6c644e620d541e52d3f4e32fddc689aa5e5350e6",
      "tree": "fa932fbf9d77fd0c721a775d6aa776184568ccdf",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jul 18 15:41:24 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jul 24 11:45:34 2018 -0700"
      },
      "message": "Always review permissions before \u003cM app is started the first time\n\nThis splits the\n- review permissions\n- individually control permissions\n- consent to manage wireleess (wifi + bluetooth)\nproperties.\n\nAlmost all code cares only for the first and it is now always true.\nHence a lot of code can be simplified.\n\nBug: 110431654\nTest: atest PermissionsHostTest\n      started pre-M app\nChange-Id: I733cd476ccd0bf5eaa59e9a9506db34f57c6baee\n"
    },
    {
      "commit": "2afe649714e507a39387df157fc2175053830b1f",
      "tree": "2384466c9788543026be606c5a372314271c255d",
      "parents": [
        "d5e1bf045b3d7f0cb4791c11b2fd183078ca13c9",
        "9ae59f80d9ae7c19323f5de8783ed73ac34b9323"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Tue Jul 24 17:33:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 17:33:05 2018 +0000"
      },
      "message": "Merge \"Prevent default channel inheritance when other channels exist.\""
    },
    {
      "commit": "0502d90f672324cfffc8e1fdd69adafbdec30421",
      "tree": "cdaa41a6038ccada349f248ab4d1c37a6eae4eef",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e",
        "8f05600189b1fbd3953cfcbead03e748394eb2e3"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jul 24 17:04:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 17:04:51 2018 +0000"
      },
      "message": "Merge \"Improve isolation of DND providers\""
    },
    {
      "commit": "9ae59f80d9ae7c19323f5de8783ed73ac34b9323",
      "tree": "9e0adcec4842b5b7f689cf51e5714b6e29655bdb",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e"
      ],
      "author": {
        "name": "Aaron Heuckroth",
        "email": "nesciosquid@google.com",
        "time": "Fri Jul 13 12:23:36 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jul 24 14:27:40 2018 +0000"
      },
      "message": "Prevent default channel inheritance when other channels exist.\n\nTest: runtest systemui-notification\nChange-Id: Ib9216562c2cdc5c26f6920b2b7ada1f1e68d55ab\n"
    },
    {
      "commit": "8f05600189b1fbd3953cfcbead03e748394eb2e3",
      "tree": "5c23502e2e1994a72340a83d6c613d04701a5fad",
      "parents": [
        "f931eb8fd102eac5bf71fa42d31b12fc04f4ee61"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jul 13 15:12:29 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Jul 24 09:31:01 2018 -0400"
      },
      "message": "Improve isolation of DND providers\n\nSpecifically, a change in state from one DND provider\nshouldn\u0027t result in another\u0027s state being cleared if they\naren\u0027t yet bound (or are intentionally unbound).\n\nFixes: 111251709\nTest: cts, cts-verifier\n\nChange-Id: I42a0ba935577e708d9df02e2a6d3620e42395a51\n"
    },
    {
      "commit": "2fd186ea715e2d0f3226eaa091d66edc1e35c301",
      "tree": "91b5d27767ab039aa68c91c1e5d47daeed332807",
      "parents": [
        "e386153b4380ce13760ae52dfa52ec8a23b191cc"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Wed Jul 18 16:53:12 2018 -0700"
      },
      "committer": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Mon Jul 23 17:25:24 2018 -0700"
      },
      "message": "Handle amplifier ends system audio control\n\nBased on spec CEC 13.15.2\n\nBug: 80296770\nTest: make;\nChange-Id: I53ddc0a401e033807424010147b3bc3cd8c9c374\n"
    },
    {
      "commit": "e386153b4380ce13760ae52dfa52ec8a23b191cc",
      "tree": "3310f245bb5f094bf01e4192a9ea790aa8f35815",
      "parents": [
        "17381fe907b6a0cd57c9a9fe1684fa625ba18774",
        "e30f993a808e11fa84891c7a18a97e8cc7ad289c"
      ],
      "author": {
        "name": "Shubang Lu",
        "email": "shubang@google.com",
        "time": "Tue Jul 24 00:05:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 24 00:05:58 2018 +0000"
      },
      "message": "Merge \"Add handleActiveSource() to update atom local active source.\""
    },
    {
      "commit": "6d50dcc8afb3b32d0c1c6f4ebf930faa3354ac78",
      "tree": "148547b798147d66267fdbb4addde0d99fa7f036",
      "parents": [
        "4ec6b12578832c30499073e677755327a08609c6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Jul 21 23:00:40 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jul 23 16:37:46 2018 -0700"
      },
      "message": "Moved URI grants code out of ActivityManagerService to its own service (13/n)\n\nAllows for other services like window manager to call uri grants without\nholding AM service lock.\n\nBug: 80414790\nTest: Existing tests pass.\nChange-Id: Ie5b4ddb19a2cedff09332dbeb56bcd9292fd18ac\n"
    },
    {
      "commit": "152623f994b17e21a2668fc25fa3d97c2feb2dcb",
      "tree": "9946338a3992db0da67221d564343e3ece499638",
      "parents": [
        "2e8c7670b12ce7075bcc34c1502d268a71f99a0d"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Jul 23 15:57:44 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Jul 23 16:19:53 2018 -0700"
      },
      "message": "Remove refs to BatteryStats in ProcessRecord\n\nIt never uses it, so it shouldn\u0027t hold it.\n\nBug: 111763012\nTest: atest FrameworksServicesTests:ActivityStarterTests\nChange-Id: I50bfd87417375c533697aa4cb53b7276f0e8195b\n"
    },
    {
      "commit": "36524c7dbc2843dfb535701f9e5da1a29c592409",
      "tree": "77a5c45d1744aecee8f90e7824f45e1808ab28eb",
      "parents": [
        "9db0d1b8ccf07b8f19eb7265961213c501d5ede9",
        "fe4885e3609e9f518bf6ed6420d5136af4650b3b"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jul 23 21:09:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 23 21:09:28 2018 +0000"
      },
      "message": "Merge \"Fix slice auto grant permissions\""
    },
    {
      "commit": "fe4885e3609e9f518bf6ed6420d5136af4650b3b",
      "tree": "dddc0b11cea16e1ae2d511c554fa2bd7057c3302",
      "parents": [
        "55f098118c3b4be381d48a94817b923e58b72b21"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jul 23 13:31:30 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Jul 23 15:26:04 2018 -0400"
      },
      "message": "Fix slice auto grant permissions\n\nTest: Use auto-grant permissions across processes\nBug: 110958430\nChange-Id: I3100f0655dbeb4ff0cde6407684edaff45961e09\n"
    },
    {
      "commit": "e30f993a808e11fa84891c7a18a97e8cc7ad289c",
      "tree": "8033eaf5aced0d5518edeb535abc05512b691516",
      "parents": [
        "4c436c0f4d6bdea6f4d285b627a4f5618eaffab3"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 13 13:54:52 2018 -0700"
      },
      "committer": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Fri Jul 20 18:24:49 2018 -0700"
      },
      "message": "Add handleActiveSource() to update atom local active source.\n\nTest: atest com.android.server.hdmi\nChange-Id: Ic33a144e4b9c5055a76626b59c2d5293c7b82958\n"
    },
    {
      "commit": "ba557c860a51d1d3c9fc1acb4eaa07f499258bb9",
      "tree": "ffd1052568c863a03c2837ef2420fd481a5ccd26",
      "parents": [
        "3e72c4de15a61444edb7d1176ee5556644ae532c",
        "fd1d729574bb7e98c9f98dadbde170c968dc55af"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 18:53:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:53:40 2018 +0000"
      },
      "message": "Merge \"Increase PerformBackupTask unit coverage 2\""
    },
    {
      "commit": "9efdf42f8d20dfce501633ca7735dbec957b8c1c",
      "tree": "81e3a982cc3931d12487d8f06e81bd8b39dc0653",
      "parents": [
        "3f83ba79313be9ac47ee7353d9a18a8619177e73",
        "ec66896d628bbe04cc0353458b8847af0d8a99b2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 17:40:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 17:40:51 2018 +0000"
      },
      "message": "Merge changes I57ced3b6,Id988ed81,I219bd8f8,I449a775b,I86461203, ...\n\n* changes:\n  Add DetectTvSystemAudioModeSupportAction\n  Add tests for HdmiAudioSystemClient\n  Fix test failure at HdmiCecLocalDeviceAudioSystemTest.\n  Fix test failure for SystemAudioInitiationActionFromAvrTest.\n  Checking SYSTEM_AUDIO_CONTROL_ON_POWER_ON property when power on.\n  Handle atom power off.\n  Add SystemAudioInitiationActionFromAvr\n  Handle atom wake up: bring System Audio Control on.\n  Send audio status at most once per 500 ms\n  Send \u003cReport audio status\u003e CEC commands when it\u0027s changed\n"
    },
    {
      "commit": "fd1d729574bb7e98c9f98dadbde170c968dc55af",
      "tree": "deff0ddc0128b26fc7263a25464e18cd0ac46a9e",
      "parents": [
        "c1b6ca05ef46de3e6f253c86da8013db2d4c1912"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Tue Jul 10 12:54:05 2018 +0100"
      },
      "committer": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Fri Jul 20 18:11:25 2018 +0100"
      },
      "message": "Increase PerformBackupTask unit coverage 2\n\nWith KV Refactor in mind.\n* Split empty queue test into multiple tests.\n* Tests around packages failing backup pre-conditions.\n* Added verifications for event logging.\n* Renamed some tests to better reflect important parts of it.\n* More tests about one package.\n* Introduced PackageData to help mock packages, much like TransportData.\n* Some small refactors.\n\nTest: atest PerformBackupTaskTest\nChange-Id: I23aba2b26e82f8643cc1c90f9408510ab34045fd\n"
    },
    {
      "commit": "c29c4b8ecfa0088ee9386a5305c84feebf1af489",
      "tree": "dff8094ae16687a4e994ea0678b16095edde247f",
      "parents": [
        "07126b4ea632da7db087d74e12e453b2cf3e9d81",
        "cdba9a44f85cf53958efb83c7790a5fcb921b073"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Fri Jul 20 16:50:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 16:50:51 2018 +0000"
      },
      "message": "Merge \"Moved cutout info into WindowFrames\""
    },
    {
      "commit": "07126b4ea632da7db087d74e12e453b2cf3e9d81",
      "tree": "27d541a39969408fb34bbe3c156e119b2b30088d",
      "parents": [
        "41dcc4eac50c2c8ba51b5cd6677b1eac2ef1ce63",
        "83537a7010acad9af8df39c7f98fdbd1550aadb1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 16:48:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 16:48:27 2018 +0000"
      },
      "message": "Merge \"WM: correctly draw the rounded corner / cutout overlay during rotation\""
    },
    {
      "commit": "60d6f269e87ebf9e49d5cde26a7d9c0772b97152",
      "tree": "e24c476d8bb017f8733c1948571ab3c1bfb0bc50",
      "parents": [
        "16391f94488fe5ca74929e198bc0c882e00b5434"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Tue Jul 17 16:57:18 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Fri Jul 20 13:19:47 2018 +0000"
      },
      "message": "Add test for HdmiCecMessageBuilder\n\nTest: atest FrameworksServicesTests:com.android.server.hdmi.HdmiCecMessageBuilderTest\nChange-Id: I694589631171becee837737bc429b01558b86d43\n(cherry picked from commit 41672260add38c200151932ddc901352a361f1b4)\n"
    },
    {
      "commit": "5c2769316548d77a628493550e13a0e684afc53e",
      "tree": "4e2a341981c43df9f11712a01208bc8dd533c03f",
      "parents": [
        "8c8a9a1e3395777efe397ef7d05dfd90fac61727",
        "c2e17bf79994830a0a58edab45ad41415cf627d1"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Fri Jul 20 05:57:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 05:57:13 2018 +0000"
      },
      "message": "Merge \"Change some initializations in am tests for ARC\""
    },
    {
      "commit": "83537a7010acad9af8df39c7f98fdbd1550aadb1",
      "tree": "de42eee131a5dff018e0343744290ee9848e04f2",
      "parents": [
        "5fc7e233a3a7dcaf4efc71f55e17b65207987833"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Jul 19 21:27:48 2018 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Jul 19 21:27:48 2018 -0700"
      },
      "message": "WM: correctly draw the rounded corner / cutout overlay during rotation\n\nWhen we freeze the screen, we really don\u0027t want the overlay to appear\non the screenshot - otherwise this will lead to it rotating with the\nscreen content. This means the overlay currently disappears during the\ntransition. We cannot just draw it over the screenshot, because it\nmight be in inconsistent state.\n\nWe fix this by temporarily undoing the effects of the screen rotation\ntransform on the overlay\u0027s window token. Then, once the window has\nperformed relayout and is redrawn in the new orientation, we switch to\nthat representation. This is mostly seamless rotation, with the\ndifference that we force it always, and it must also work for 180\ndegree rotation (which regular seamless rotation does not).\n\nAlso move the rounded corner overlay from the display overlay layer\nto the root of the hierarchy such that it can draw over the screen\noff animation\u0027s ColorLayer.\n\nCherry picked from ag/4226061\n\nBug: 111504081\nTest: Enable display cutout overlay, rotate phone to all orientations, ensure that emulated display cutout never flashes or disappears.\nTest: atest CoordinateTransformsTest\nTest: atest FlickerTests\nChange-Id: I8c538b4a5402560c63578c954e8ee7d371079d89\n"
    },
    {
      "commit": "d447b5cfc6f9e95ea7238c292033ce19719a208f",
      "tree": "3c170e00d56395dd3345cbc7bca4043eb4e559f2",
      "parents": [
        "014a89593a35c4670bd46316b69c49983febd7b6",
        "79ea482641289547e91d218aee2ca3db33f7b4d7"
      ],
      "author": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Fri Jul 20 03:26:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 03:26:27 2018 +0000"
      },
      "message": "Merge \"Using transformed event for standard gesture detector\""
    },
    {
      "commit": "c2e17bf79994830a0a58edab45ad41415cf627d1",
      "tree": "e27fc5692cd77f36423aa0b24d0982d9dc0d7a6e",
      "parents": [
        "a800f9ab6bf515f0a43dd2ce949e67c76afa4f85"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Tue Jul 17 17:46:38 2018 +0900"
      },
      "committer": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Fri Jul 20 10:40:43 2018 +0900"
      },
      "message": "Change some initializations in am tests for ARC\n\nThis CL upstreams the following changes in ARC. These\nchanges do not affect the behavior on phones, but should be\nupstreamed to avoid future merge conflicts.\n\nChanges to be upstreamed:\n- Fix com.android.server.am.TaskRecordTests(ag/4488735)\nThis Cl initializes task.realActivity, which is used in\nActivityManagerInjectorArc#onTaskCreated().\n\n- Create user as guest in TaskPersisterTest(ag/4477502)\nIn ARC, the maximum number of supported users is one, which is\ndifferent from the ones of most phones (more than 4). This prevents\nTaskPersisterTest from creating another user for test. However,\nsince guest users can be added as much as possible, we create guest\nuser in the test.\n\n- Change taskId in ActivityTestBase from 0 to 1(ag/4474682)\nIn ActivityTestBase, taskId is set as 0 by default. However, since\n0 is reserved in ARC, currently assertion failure occurs in\nwayland_service.cpp. This CL shifts the id to 1 and makes all the\ntests in ActivityStackTests pass.\n\nBug: 72843139\nTest: atest TaskPersisterTest\nTest: atest TaskRecordTests\nTest: atest ActivityStackTests\nChange-Id: I6ba49547ae3b34a752e401150caeb1d786f199cf\n"
    },
    {
      "commit": "ec66896d628bbe04cc0353458b8847af0d8a99b2",
      "tree": "44863405ec6de60fe82e0a45232020ca91f5c8d6",
      "parents": [
        "ed6fb8639119b1d90e8198e34200201c7ee7a7a3"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Fri Jul 13 19:03:19 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Add DetectTvSystemAudioModeSupportAction\n\nBug: 80297382\nTest: make; atest com.android.server.hdmi\nChange-Id: I57ced3b62a455821a66f33624fd069ef88e635a5\n"
    },
    {
      "commit": "fc56efb4846399e7339f618443dadfd99ffdc542",
      "tree": "4a2ea08d344f1dd99e4e01e578254028c4f0e6a3",
      "parents": [
        "0869375b2091eca969a2a7d8cc899d609afc7e55"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jul 09 16:37:07 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Fix test failure at HdmiCecLocalDeviceAudioSystemTest.\n\nTest: atest com.android.server.hdmi\nChange-Id: I219bd8f8276caac162476bc5f457126a016d0089\n"
    },
    {
      "commit": "0869375b2091eca969a2a7d8cc899d609afc7e55",
      "tree": "0a013b51783187e0086b0dc11d49e77a1debbd71",
      "parents": [
        "6506bd662e61114930d861add5ddc826f28cac97"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jul 09 12:55:47 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Fix test failure for SystemAudioInitiationActionFromAvrTest.\n\nTest: atest om.android.server.hdmi\nChange-Id: I449a775bf29e06d59e02d220c908fb29601d8331\n"
    },
    {
      "commit": "6506bd662e61114930d861add5ddc826f28cac97",
      "tree": "93553a09e52fd441550a3e0cfdba0545733cdd9d",
      "parents": [
        "b887fa018cd2ce642b6657ab6a7a109dd1d85d48"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jul 02 17:29:36 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Checking SYSTEM_AUDIO_CONTROL_ON_POWER_ON property when power on.\n\nTest: Local test.\nChange-Id: I86461203481d8f5ffb98038e4836b2ef51619ce7\n"
    },
    {
      "commit": "b887fa018cd2ce642b6657ab6a7a109dd1d85d48",
      "tree": "007b6e9bd71fcb3286dfef82f4677298aa2213cb",
      "parents": [
        "595a183ffe30d019f602570cf97e15de7d86bbed"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Thu Jun 21 11:22:13 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Handle atom power off.\n\nTest: local tested on atom.\n\nChange-Id: I3a682fecf5dfcf9a78e53afb3c4550068fcf299d\n\nBug: 80296334, 80295616\n"
    },
    {
      "commit": "595a183ffe30d019f602570cf97e15de7d86bbed",
      "tree": "83b9ed9c13437ee4da91abf2290db9615719d087",
      "parents": [
        "0fd41e3219c496c76889d61155f0c2eb1dd53680"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Wed Jun 27 17:52:18 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Add SystemAudioInitiationActionFromAvr\n\nTo handle initiating the System Audio Control feature from an Amplifier\nSee CEC 13.15 for details.\n\nBug: 80297602\nTest: make; local tests\nChange-Id: I4772b6878bc1da816eea6c8e8b423c330315b1a8\n"
    },
    {
      "commit": "0fd41e3219c496c76889d61155f0c2eb1dd53680",
      "tree": "3723e86c3787805b0ebad711aee41e2c3f0730df",
      "parents": [
        "2a9993e407ea2454690ad2bd189f764038ed955f"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Thu Jun 21 13:40:27 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Thu Jul 19 17:09:25 2018 -0700"
      },
      "message": "Handle atom wake up: bring System Audio Control on.\n\nTest: Local tested on atom.\nChange-Id: I806ab53a0094f83acc5a1de2a8392127423f0cd9\n"
    },
    {
      "commit": "cdba9a44f85cf53958efb83c7790a5fcb921b073",
      "tree": "4fbbd3a1feb770e05f3c3ba20ca55b702582626b",
      "parents": [
        "492139a70c90a69999887d115db131d36cbc64b7"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Jul 19 11:36:42 2018 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Jul 19 17:01:34 2018 -0700"
      },
      "message": "Moved cutout info into WindowFrames\n\nTest: go/wm-smoke\nBug: 111359087\nChange-Id: I8c27f6323adcd7dbc2f8a247b57fff725e987a21\n"
    },
    {
      "commit": "29d19ddd1c7e12587ca9b1af5c6128696a7ac0e1",
      "tree": "ec039105e29e2d9fe9d9ad516500977982261bc6",
      "parents": [
        "cc74108336538c8d73e5ca0d09162eb0e3d2689e",
        "6a6c4f180ffda4348a82f1cefb5c91d6d748d7aa"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 19 23:43:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 23:43:38 2018 +0000"
      },
      "message": "Merge changes from topic \"per-display_focus_am\"\n\n* changes:\n  Update tests for new focus tracking\n  Rename getFocusedStack methods\n  Per-display focused stacks in AM\n"
    },
    {
      "commit": "0afbfd1182bccbe3913ddee7fb6343c0d450402a",
      "tree": "cb3c755f425b12dc01e9a6b617c7c38b2c5d8682",
      "parents": [
        "9648b158774ada8fc4d771fe383e80b8edbdac9d",
        "492139a70c90a69999887d115db131d36cbc64b7"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Thu Jul 19 20:53:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 20:53:19 2018 +0000"
      },
      "message": "Merge \"Move mFrame and mLastFrame from WindowState to WindowFrames\""
    },
    {
      "commit": "9648b158774ada8fc4d771fe383e80b8edbdac9d",
      "tree": "af48858f9158eacf5685fd2e485953a24d55b53f",
      "parents": [
        "e849fffd96a5c2f2c27bf73dde5b5a549bc61a4e",
        "553b021cb9608dd6429b214795a72d1d1d54ca84"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Thu Jul 19 20:50:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 20:50:20 2018 +0000"
      },
      "message": "Merge \"Created WindowFrames class and moved data from PWM and WS\""
    },
    {
      "commit": "6a6c4f180ffda4348a82f1cefb5c91d6d748d7aa",
      "tree": "83a2c0c86004a8fb1594a082242afc4d57a925c3",
      "parents": [
        "5f750bc6eeb9ee92bd76a50e606c97d2640dd993"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Mon Jul 16 21:23:33 2018 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 19 13:46:18 2018 -0700"
      },
      "message": "Update tests for new focus tracking\n\nSwitch existing unit tests to use getters instead of directly setting\na field in ActivityStackSupervisor.\n\nBug: 111541062\nTest: atest com.android.server.am\nChange-Id: Iacc837e2b5b6ac44e051a1adc30dfb271d253c40\n"
    },
    {
      "commit": "5f750bc6eeb9ee92bd76a50e606c97d2640dd993",
      "tree": "1fd7fc76de8f41116103d736a7320a52059b83d1",
      "parents": [
        "52d255c60718aed010efeaa1be2812a1f878cb34"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue Jul 17 08:57:23 2018 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 19 13:46:14 2018 -0700"
      },
      "message": "Rename getFocusedStack methods\n\nRename ActivityStackSupervisor#getFocusedStack() and related to\ngetTopDisplayFocusedStack() to reflect the current logic executed in\nit.\n\nBug: 111541062\nTest: atest com.android.server.am\nChange-Id: Ib03abd576ef8283d6df7732a8eebfb745573f2a9\n"
    },
    {
      "commit": "52d255c60718aed010efeaa1be2812a1f878cb34",
      "tree": "75064551a3ddaa67d5a813414ec541f53c33b75c",
      "parents": [
        "b4b83d58f56b5634ad4ccf87785829f149aa6604"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Jul 13 11:32:19 2018 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Thu Jul 19 13:40:24 2018 -0700"
      },
      "message": "Per-display focused stacks in AM\n\nThis switches to tracking focused stacks for each display instead of\na single focused stack in the system.\n\nNow ActivityDisplay#getFocusedStack() will return the corresponding\ninstance, if present on display. Previously it was tracked in\nActivityStackSupervisor with a field. Now the getter searches for a\nfocusable stack starting from top. Usually it will be the first one\n- only PiP stack can be on on top and not focused.\n\nActivityStackSupervisor#getFocusedStack() will search across displays\nfor the topmost focusable stack  based on the order provided by WM.\n\nThe assumption that there always exists a focused stack is still true\n- ActivityStackSupervisor#getFocusedStack() should never return null.\nThere always exists a focusable home stack on the default display.\n\nBug: 111541062\nTest: atest com.android.server.am\nChange-Id: I92922e4298ebbe1c68791bf59406e8f387bcd564\n"
    },
    {
      "commit": "0f511ed6e6ceb5ed5b63260b27ebf2dcb4f687dc",
      "tree": "8c8718424b75c2091538ac7175ee81041ae8cd36",
      "parents": [
        "edcc7c6ca3e7ac6d589d8b3f650daf5bce7f5841",
        "bf8a466f8c2b4bd7b12b6d222e66d22918193624"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 19:12:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 19:12:17 2018 +0000"
      },
      "message": "Merge \"Fix onStandby() in HdmiControlService\""
    },
    {
      "commit": "f931eb8fd102eac5bf71fa42d31b12fc04f4ee61",
      "tree": "50a772ac31ccbae2a609591f32ff91fec32b4840",
      "parents": [
        "2c80770f5678693815a3f18f5cc47b89c72e8963",
        "654a6f90b099427e1e99dba52d55511e75943314"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 14:09:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 14:09:57 2018 +0000"
      },
      "message": "Merge \"Support rotation on secondary displays (1/N)\""
    },
    {
      "commit": "2c80770f5678693815a3f18f5cc47b89c72e8963",
      "tree": "7fe0abe14ae859300cc7fee5dc627121683dfcd3",
      "parents": [
        "345f3c0cc34c9a71d0df26ddf1c0b36c3296466c",
        "513d5e1843da104ee836d1bc3e0abd1b341140d8"
      ],
      "author": {
        "name": "Tiger Huang",
        "email": "tigerhuang@google.com",
        "time": "Thu Jul 19 09:32:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 19 09:32:00 2018 +0000"
      },
      "message": "Merge \"Use last focused window to control SysUI while IMC dialog is shown\""
    },
    {
      "commit": "79ea482641289547e91d218aee2ca3db33f7b4d7",
      "tree": "8073a7025629fb2802834cf1e16c891e685fd0bb",
      "parents": [
        "740be2ef8c9c285884bc1b55e46b01d42a96a831"
      ],
      "author": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Fri Jul 13 16:09:09 2018 +0800"
      },
      "committer": {
        "name": "Jackal Guo",
        "email": "jackalguo@google.com",
        "time": "Thu Jul 19 11:33:54 2018 +0800"
      },
      "message": "Using transformed event for standard gesture detector\n\nTouchExplorer uses raw event in both a11y and standard gestures\ndetection, but transformed event in following movement. This\ninconsistency causes significant difference of distance between\ntheir locations when screen is magnified and long press would fail.\nPassing transformed events for standard gesture detector instead.\n\nBug: 67378068\nTest: manually test if double tap and hold works while Talkback\nand Magnification are both enabled.\nTest: manually test if Talkback and Magnification work as expected.\nTest: AccessibilityGestureDetectorTest\n\nChange-Id: I0e1dc59e25bc36f1f99ba6ecdb05c9c488b6f47e\n"
    },
    {
      "commit": "513d5e1843da104ee836d1bc3e0abd1b341140d8",
      "tree": "44a890ecda7ddcf53a6da77a13bf7fb7a4d1888c",
      "parents": [
        "401ea1647ad68f57d317f4eb33b97775533c34a3"
      ],
      "author": {
        "name": "Tiger Huang",
        "email": "tigerhuang@google.com",
        "time": "Mon Jul 16 21:49:50 2018 +0800"
      },
      "committer": {
        "name": "Tiger Huang",
        "email": "tigerhuang@google.com",
        "time": "Thu Jul 19 11:28:34 2018 +0800"
      },
      "message": "Use last focused window to control SysUI while IMC dialog is shown\n\nThis change fixes a bug that if a child window hides the system UI\nbut its parent activity window doesn\u0027t, the system UI may keep\nshowing and hiding infinitely.\n\nBug: b/111490047\nTest: 1. atest WindowManagerSmokeTest\n      2. atest CtsWindowManagerDeviceTestCases:LayoutTests\nChange-Id: Id8bd6e80fe19051b97918089a05f2a12fc1a673d\n"
    },
    {
      "commit": "492139a70c90a69999887d115db131d36cbc64b7",
      "tree": "c6bcc4565ac65827b33ac0a68bc8635e92fa23be",
      "parents": [
        "553b021cb9608dd6429b214795a72d1d1d54ca84"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Mon Jul 16 16:07:35 2018 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Jul 18 17:14:19 2018 -0700"
      },
      "message": "Move mFrame and mLastFrame from WindowState to WindowFrames\n\nTest: go/wm-smoke\nBug: 111359087\nChange-Id: I10df265a5007a2f61d2b884668646abf4ebe7a74\n"
    },
    {
      "commit": "bf8a466f8c2b4bd7b12b6d222e66d22918193624",
      "tree": "8fae3434abc12622cd6f1bd616bf8ea01de1fc08",
      "parents": [
        "edf3e1fa2effc158d3be00a6e75fc06a6925362b"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jul 02 12:34:24 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jul 18 23:16:12 2018 +0000"
      },
      "message": "Fix onStandby() in HdmiControlService\n\nAccording to the CEC 1.4 spec 13.15.2:\n\"If the System Audio Mode is On, then the Amplifier shall send a \u003cSet System Audio Mode\u003e [“Off”]\nmessage just before it goes into the Standby state in order to restore the volume function\nback to the TV.\"\n\nCurrent onStandby() logic in HdmiControlSerive won\u0027t let any device type do their onStandby()\ncallback if any of the device type\u0027s wake lock is held and can\u0027t go standby.\n\nBut this logic is not correct when user turns off the device (by local remote control etc.).\nAudio System should still be able to turn off the System Audio Control and Playback should\nalso be able to do the callback even though it\u0027s wake lock is held.\n\nChanged the logic to:\n1. If any of the device type can\u0027t go to standby and user turn the device off, don\u0027t disable the\ndevice, only call onStandby() in each device to handle the callback.\n2. If everyone can go to standby, no matter the standby is sent by CEC or is controlled by users,\ndisable the device and call onStandby() in each device type.\n3. If device is set to standby by CEC command and any of the device type can\u0027t go to standby,\nreturn directly.\n\nTest: atest com.android.server.hdmi\nChange-Id: I2b1aa5b57d6682bb62fa56a4b4c718a94906ea91\n(cherry picked from commit 9756bddd17c023efd8a27dd9a389f84c5cd02133)\n"
    },
    {
      "commit": "553b021cb9608dd6429b214795a72d1d1d54ca84",
      "tree": "737e26da9ae7666d2973db5e2d5925c83e1efe2e",
      "parents": [
        "78c1e790b3e3de3062897277d2af993b66be1502"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Jul 12 13:37:01 2018 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Jul 18 14:59:41 2018 -0700"
      },
      "message": "Created WindowFrames class and moved data from PWM and WS\n\nMoved frame data from PWM and WS into the WindowFrames class. Created a\nWindowFrames object in both PWM and WS and converted usages of window\nframe info to get data from the WindowFrames instance.\n\nData between PWM and WS is still separate and copied over when\nrequested.\n\nBug: 111359087\nTest: go/wm-smoke\nChange-Id: I95aa9f2f22557e96ad09f08b7fe6d6a2562399c4\n"
    },
    {
      "commit": "7206f3b958f2c6bd4df9a689149bae68fb52c8cd",
      "tree": "378466b7145f38c598c6923d5934c5815d330de5",
      "parents": [
        "7acf09e42eea4b23402f8a26df6a1021f2655d33"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Tue Jun 19 10:17:03 2018 -0700"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jul 18 20:23:37 2018 +0000"
      },
      "message": "Extract a FakeNativeWrapper to share between tests\n\nChange-Id: I666496132e0dcbd4b0d36eb87fc06a99f306ca93\nTest: atest FrameworksServicesTests:com.android.server.hdmi\n(cherry picked from commit f19f1d9f0404586945ba1492ed2d9af172fce761)\n"
    },
    {
      "commit": "4501387821091f4f1047ff629d61978f3db3f9ed",
      "tree": "31c82defcdfabd4ed64b037965851abd6a198b11",
      "parents": [
        "3e2d62bd86e91f3dc62a8c323b84c4b90bf1d79e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Jul 12 14:24:56 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jul 18 12:38:13 2018 -0400"
      },
      "message": "Fix migration of O DND visual effects settings\n\nIn O the settings were in the \u0027allow\u0027 section, not the \u0027disallow\u0027\nsection, so the conditional needs to be reversed.\n\nTest: runtest systemui-notification, manual\nChange-Id: Icfcb328ac1d44b83b11d185be40c4ec696ebfb25\nFixes: 111313535\n"
    },
    {
      "commit": "654a6f90b099427e1e99dba52d55511e75943314",
      "tree": "81de539b0d4988a0f7627811cc7be37ac4af31d1",
      "parents": [
        "d9afa508633dd6863f0845f63383c3e95e8232b2"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Jul 13 22:59:36 2018 +0800"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Wed Jul 18 23:48:13 2018 +0800"
      },
      "message": "Support rotation on secondary displays (1/N)\n\n- Allow to apply rotation animation on non-default display.\n- Separate by display:\n    Rotation related timeout.\n    Pause/resume rotation.\n- Able to get/watch non-default display orientation/rotation.\n\nBug: 111361251\nTest: atest FrameworksServicesTests:DisplayContentTests\nTest: go/wm-smoke\nChange-Id: I9533f1b90b9969d455b6dc235c5318e39f63ab12\n"
    },
    {
      "commit": "4095cd7dbfb41539d50f37fb1cb39087b10b6167",
      "tree": "75e94ec6a6098417bc4006372a953d614134eb5e",
      "parents": [
        "490bab809556a942002a72dacb096cc67c4a1a8f",
        "048e2661ee4e76c1358ea77a9050619f0b960471"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Tue Jul 17 23:56:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 17 23:56:21 2018 +0000"
      },
      "message": "Merge \"Defer always on top state when task gets maximized\""
    },
    {
      "commit": "048e2661ee4e76c1358ea77a9050619f0b960471",
      "tree": "30b4256de2c7ea3fae9b4ca8b82fd0f801803c21",
      "parents": [
        "a800f9ab6bf515f0a43dd2ce949e67c76afa4f85"
      ],
      "author": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Wed Jun 27 17:05:11 2018 +0900"
      },
      "committer": {
        "name": "Kazuki Takise",
        "email": "takise@google.com",
        "time": "Tue Jul 17 16:09:57 2018 +0900"
      },
      "message": "Defer always on top state when task gets maximized\n\nThis CL enables always on top to be restored/deferred when\nstacks switch between freeform and fullscreen.\n\nBug: 110494387\nTest: ActivityStackTests\nTest: DisplayContentTests\nTest: go/wm-smoke\nChange-Id: Iccb9824f845dea4925fac5d5dcb5eeaab2acdfcd\n"
    },
    {
      "commit": "48f8627784ee7caa45cdc87e60651a5e10cf0b82",
      "tree": "cb0625ebe4af88d863f6ce05c50d573c904b59ec",
      "parents": [
        "e72ec1761f576d953c7d362d891f44f4b5432a71"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Jul 03 12:38:49 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Jul 16 13:58:21 2018 -0700"
      },
      "message": "Ensure Notification re-post with setOnlyAlertOnce(true) silences sound.\n\nWhere a notification channel has an associated looping sound, it should\nbe possible to re-post the notification with setOnlyAlertOnce(true) to\ncause the notification channel\u0027s sound to silence.\n\nWhen re-posting the notification, this CL fixes an issue where\nNotificationManagerService wouldn\u0027t call clearSoundLocked to stop playing\nthe sound, resulting in the notification continuing to playing the sound\nassociated with the notification channel.\n\nTest: Manual testing, updated unit test\nBug: 110348674\nChange-Id: I3ec26f0804bcf59f7356a2329b73ba8ed8f7ea51\n"
    },
    {
      "commit": "e72ec1761f576d953c7d362d891f44f4b5432a71",
      "tree": "ddc490023a217cca6963b7fcb95bc67fd5c65f27",
      "parents": [
        "8726b3b84c9ef9d0961d7b594da0aec6bb5a0da9"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jul 16 13:33:36 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Jul 16 13:33:56 2018 -0700"
      },
      "message": "Fixed test case.\n\nBug: 111346876\nTest: m -j FrameworksServicesTests \u0026\u0026 \\\n  adb install -r -t -g \\\n  ${OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk \u0026\u0026 \\\n  adb shell am instrument -e class \\\n  \"com.android.server.locksettings.LockSettingsShellCommandTest\" \\\n  -w \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nChange-Id: I8ad425cb9777934b14eaf3c738411beed0357c99\n"
    },
    {
      "commit": "9b91e8c518c305bbbf249a41c710728a8c35164e",
      "tree": "3c499a1915d9aae1d084d6727afe8b85ffee65d1",
      "parents": [
        "8e63b746ba50d548cea7d81f0f06e38c35515048"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Mon Jun 11 17:26:26 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 13 19:56:20 2018 +0000"
      },
      "message": "Add system audio mode related handlers.\n\nTest: atest com.android.server.hdmi\nChange-Id: I4fd10ceb9e8a5951584f3917dc267a04091049cf\n(cherry picked from commit 714cd0383c639613aa21eabfe3e20bb3b7386244)\n"
    },
    {
      "commit": "4e7ff1a35294e0ca8c6e7ca935ad3ca0133104f8",
      "tree": "63ca0d85693d994f02e52f9a954b682ba04f40bc",
      "parents": [
        "8b06946b223a4baa5102fa406e78972f7c27cf5c"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Thu Jun 07 16:24:31 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Fri Jul 13 17:47:32 2018 +0000"
      },
      "message": "Add partial request arc init/terminate handlers and tests\n\nTest: atest com.android.server.hdmi\nChange-Id: I92ee4598ccb2e6c88863ab0ba3dc3ba682ccd0e2\n(cherry picked from commit 5dc9609a08c43ca4134b1eccaea2f23a1681bd61)\n"
    },
    {
      "commit": "0feaabbf666fbebc91a8292cb06e9905157c186b",
      "tree": "a593fbed2936902fd08788933f2577da82e247ec",
      "parents": [
        "37378c05340b2d9e271cf2abb39bced32dc8f5e0",
        "87eda8298a4999c235fed6ea890afc99dd27d211"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 13 02:05:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 13 02:05:29 2018 +0000"
      },
      "message": "Merge \"GiveSystemAudioModeStatus handler and test.\""
    },
    {
      "commit": "71ebedfe6ec98f5a1f36c0b331b524b9f333b31d",
      "tree": "b9b897b0710d3cd56bf15a1e5b37e1b4c92fc4e4",
      "parents": [
        "7936da99df6484582a05b73c29c27f67ff56ec7f",
        "5131181620be965765d2d50900db3f9796cbaea3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 13 00:34:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 13 00:34:23 2018 +0000"
      },
      "message": "Merge \"WM: Fix broken layout hint calculation\""
    },
    {
      "commit": "87eda8298a4999c235fed6ea890afc99dd27d211",
      "tree": "d24d7c35e2226e592883da20015942fc168d6ad1",
      "parents": [
        "a0b4f4ed5ce4d2506f80a9381c8a2ac6060b90b6"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Wed Jun 06 17:56:39 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Thu Jul 12 22:17:54 2018 +0000"
      },
      "message": "GiveSystemAudioModeStatus handler and test.\n\nTest: atest com.android.server.hdmi\nChange-Id: I8c744044fee9d7330475c3bbd8f97f59628731d2\n(cherry picked from commit 0f86ea93f72f02c81e1643e025ea2280305e65b8)\n"
    },
    {
      "commit": "2a6c3dc72f0ea360a715d1d6633641bc51ea3523",
      "tree": "66a9f96b66770f0f33e27683a484aecdb2eb07a3",
      "parents": [
        "cceb290e4386cc5d706ccc7d849713eec0bac763"
      ],
      "author": {
        "name": "Amy",
        "email": "amyjojo@google.com",
        "time": "Tue Jun 05 17:31:55 2018 -0700"
      },
      "committer": {
        "name": "Amy Zhang",
        "email": "amyjojo@google.com",
        "time": "Thu Jul 12 20:53:49 2018 +0000"
      },
      "message": "GiveAudioStatusHandler and test.\n\nTest: atest com.android.server.hdmi\nChange-Id: I402d3b783783bf9d79f3b7de55fb7a26f6c10be2\n(cherry picked from commit 403a500216047e04fa8aebe8b24d4e3d89d28898)\n"
    }
  ],
  "next": "5131181620be965765d2d50900db3f9796cbaea3"
}
