)]}'
{
  "log": [
    {
      "commit": "c53fa6bad11deac47ac0f1b64b70268201d3ae81",
      "tree": "0f9a3ef268cd2e2a5ed6839ffff3696051f1331f",
      "parents": [
        "d9f955a5cc02dacff6913310da126f1f1069ed55"
      ],
      "author": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Tue Apr 04 23:06:47 2023 +0000"
      },
      "committer": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Fri Apr 07 02:45:30 2023 +0000"
      },
      "message": "Remember and revert camera compat orientation change when camera closes\n\nAlso, revert rotation after the top activity stops being SCREEN_ORIENTATION_NOSENSOR and add a RotationReversionController to manage the reversion behaviour for camera compat, NOSENSOR and half-fold transitions.\n\nBug: 264186382\nBug: 267751289\nTest: tested locally\nTest: atest WmTests:DisplayRotationCompatPolicyTests\nTest: atest WmTests:DisplayContentTests\nChange-Id: I0033a5de7c4a7b886b241088577c32715ecccc57\n"
    },
    {
      "commit": "11231f4033cf9e8ff582ecd8eb4e357dd9c91c30",
      "tree": "256163e15d70a3192e7acd6adbafd9b497e96788",
      "parents": [
        "4b4bd645634828e69e4bc086281b0e96973cc18e",
        "1db71c40f379e0496abd2f215f9003f639be52fd"
      ],
      "author": {
        "name": "Vali Calinescu",
        "email": "vcalinescu@google.com",
        "time": "Thu Mar 09 12:07:33 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 12:07:33 2023 +0000"
      },
      "message": "Merge \"Skip Size Compat mode when orientation change comes from app\" into tm-qpr-dev"
    },
    {
      "commit": "1db71c40f379e0496abd2f215f9003f639be52fd",
      "tree": "bf76ea34e6b2e9efc18ccc787f5215ba9e1473bb",
      "parents": [
        "abbb1f8341a19fd03c9032fc709e77c78db436a6"
      ],
      "author": {
        "name": "Vali Calinescu",
        "email": "vcalinescu@google.com",
        "time": "Mon Feb 20 12:45:05 2023 +0000"
      },
      "committer": {
        "name": "Vali Calinescu",
        "email": "vcalinescu@google.com",
        "time": "Wed Mar 08 13:56:10 2023 +0000"
      },
      "message": "Skip Size Compat mode when orientation change comes from app\n\nAvoid going into size compat mode and showing a restart button when the orientation change request comes from the app\n\nBug: 259651516\nFix: 256509413\nTest: atest WmTests:SizeCompatTests#testAppRequestsOrientationChange_notInSizeCompat\nTest: atest WmTests:SizeCompatTests#testDisplayIgnoreOrientationRequest_orientationChangedToUnspecified\nChange-Id: Ide316f05d0ba1286ed2583bf8919d0ae94a2899f\n"
    },
    {
      "commit": "85d920cbd3b3eb90a1f591b021add9fea56a7fbf",
      "tree": "fe81495ea4a9702fbc4ec343f19d3198a23e5c4b",
      "parents": [
        "9b204ac5ef548051f877f9a92b91c427f8928792"
      ],
      "author": {
        "name": "Santiago Etchebehere",
        "email": "santie@google.com",
        "time": "Wed Feb 22 13:30:07 2023 -0800"
      },
      "committer": {
        "name": "Santiago Etchebehere",
        "email": "santie@google.com",
        "time": "Tue Mar 07 22:43:05 2023 +0000"
      },
      "message": "Add permissions for default AOSP wallpaper picker app\n\nWe need CUSTOMIZE_SYSTEM_UI to query for SysUI Flags to determine the\napp\u0027s capabilities, and to get the tests to work properly.\n\nBug: 267185017\nTest: atest WallpaperPicker2Tests\nChange-Id: Icd446ec0125cfd9687271ca0e8cfaa325a79ae6f\n"
    },
    {
      "commit": "5d668fd0f6042da1e9dfaf6ca8f783e4a996fb28",
      "tree": "ee1dc37eb8ab9768a24b7331d1db5b8fdf9b7f45",
      "parents": [
        "561bd764bad6d9b772697f31dd2b4100251bbb6a",
        "7eafef30da1e1eeae3d598c5e87878fe2a002d53"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Tue Feb 07 18:27:36 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 18:27:36 2023 +0000"
      },
      "message": "Merge changes I6843e949,Ied9eea84,Id3ae744f into tm-qpr-dev\n\n* changes:\n  [Sb refactor] Rework TelephonyCallback flows\n  [Sb refactor] Implement DataEnabledChangedListener\n  [Sb refactor] CarrierConfigRepository\n"
    },
    {
      "commit": "1248c48a5d6f2a77b8ae5d146def59ce05002ad6",
      "tree": "062ee54124570bbede7a8deb4787b0de54735522",
      "parents": [
        "9705323f41b1c773e21c708b3256d13316706d76"
      ],
      "author": {
        "name": "Aurélien Pomini",
        "email": "pomini@google.com",
        "time": "Thu Feb 02 09:18:20 2023 +0000"
      },
      "committer": {
        "name": "Aurélien Pomini",
        "email": "pomini@google.com",
        "time": "Thu Feb 02 15:37:18 2023 +0000"
      },
      "message": "Add READ_WALLPAPER_INTERNAL to the Shell androidManifest\n\nA permission issue caused a breakage in ContextTest. Granting READ_WALLPAPER_INTERNAL to the test fixes the issue.\n\nThis requires to add READ_WALLPAPER_INTERNAL to the shell\nandroidManifest\n\nIgnore-AOSP-First: fixes a bug in tm-qpr\nBug: 266051928\nTest: atest ContextTest\nChange-Id: I4816caae33ab225af309afac76638ae01a722733\nMerged-In: I4816caae33ab225af309afac76638ae01a722733\n"
    },
    {
      "commit": "fb60e153ffaba4ae1cf66e54eb62ab62b63d0ce3",
      "tree": "740fdee1e9ddd2caac9acf38732dc6b44a1c4922",
      "parents": [
        "e43cc99e308e6a19599c010a057336c4334120c1"
      ],
      "author": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Fri Jan 20 17:35:20 2023 -0500"
      },
      "committer": {
        "name": "Evan Laird",
        "email": "evanlaird@google.com",
        "time": "Wed Feb 01 12:21:23 2023 -0500"
      },
      "message": "[Sb refactor] Implement DataEnabledChangedListener\n\nThis CL changes the behavior of checking for mobile data enabled. The\nold pipeline would await telephony callbacks and then poll for\n`TelephonyManager.isDataConnectionAllowed`. Problem is that there was a\nrace condition with watching the settings and polling this field, so it\nwas often wrong on the first read.\n\nThis change implements the newer\nTelephonyCallback.DataEnabledChangedListener, which can supplant the old\npolling method and simplify our repositories.\n\nBug: 238425913\nBug: 260112365\nTest: MobileConnectionRepositoryTest\nChange-Id: Ied9eea844501cd03100d85286993f85df671b37d\n"
    },
    {
      "commit": "338aeabc52209b51215742c735254226168173ac",
      "tree": "a2239d34f07c2037c331294a833da8b9d74ab5a2",
      "parents": [
        "fdcb4c9fd47712d7ce4cc8c939aaf5ca71e6a8c3"
      ],
      "author": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Tue Jan 17 00:30:36 2023 +0000"
      },
      "committer": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Thu Jan 26 13:30:44 2023 +0000"
      },
      "message": "Per-app controls for using landscape display orientation\n\nOVERRIDE_USE_DISPLAY_LANDSCAPE_NATURAL_ORIENTATION fixes display orientation to landscape natural orientation when the following conditions are met:\n- Task is in fullscreen\n- Opt-out component property PROPERTY_COMPAT_ALLOW_DISPLAY_ORIENTATION_OVERRIDE isn\u0027t enabled\n- ignoreOrientationRequest isn’t enabled for the display\n- Natural orientation of the display is landscape\n\nMain use case for this override are camera-using activities that are portrait-only and assume alignment with natural device orientation. Such activities can automatically be rotated with DisplayRotationCompatPolicy but not all of them can handle dynamic rotation and thus can benefit from this override.\n\nAlso, start caching other overrides in LetterboxUiController\n\nTest: atest WmTests:LetterboxUiControllerTest\nFix: 255940284\nChange-Id: I2a8688e7a033b30ea83db827679c729feaac1c9c\n"
    },
    {
      "commit": "ad26f036f810835b07fa3ebaec881499ce55e7b0",
      "tree": "cd1aeebdd5f6c0cc9bb38b5fa259d9a61261d476",
      "parents": [
        "da4c552378996238e899a84ddcc26be3ebb6ca29"
      ],
      "author": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Mon Aug 22 09:47:45 2022 +0000"
      },
      "committer": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Wed Dec 21 20:29:45 2022 +0000"
      },
      "message": "[3/n] Camera Compat: Refresh activity\n\nIntroduce RefreshCallbackItem that allows to \"refresh\" activity by going through \"stopped -\u003e resumed\" or \"paused -\u003e resumed\" cycle. This allows to clear cached values in apps (e.g. display or camera rotation) that influence camera preview and can lead to sideways or stretching issues persisting even after force rotation in DisplayRotationCompatPolicy.\n\nUsing \"stop -\u003e resumed\" cycle by default due to higher success rate confirmed with app compatibility testing. But introduce ADB commands that allow trying both.\n\nBug: 218352945\nTest: atest WmTests:DisplayRotationCompatPolicyTests\nChange-Id: Iaca54b197937147f93d52297543b106fd5b97322\n"
    },
    {
      "commit": "83c300c0f91395411a7a52288a1fbf255f9cce15",
      "tree": "eb17dc5993a7b9912f2d61df2f5ca51fb9e752ec",
      "parents": [
        "4475e9026c488c7c33be1ed5adccb4a8abe176cf"
      ],
      "author": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Tue Jul 19 11:44:02 2022 +0000"
      },
      "committer": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Wed Dec 21 19:34:19 2022 +0000"
      },
      "message": "[1/n] Camera Compat: Force rotate activities\n\nCamera compatibility treatment that handles orientation mismatch between camera buffers and an app window that can lead to camera issues like sideways or stretched viewfinder.\n\nThe treatment is enabled for internal displays that have ignoreOrientationRequest display setting enabled and when a flag config_windowManagerCameraCompatTreatmentEnabled is true. It\u0027s only applied to activities that have fixed orientation and are in fullscreen.\n\nMain parts of the solution:\n- Listen for the camera changes in DisplayRotationCompatPolicy to trigger orientation update when necessary\n- Incorporate DisplayRotationCompatPolicy#getOrientation in orientation resolution logic in DisplayContent\n- Don\u0027t trigger orientation updates too quickly to avoid orientation flickering during the camera flip or fold-unfold for foldable devices\n\nBug: 218352945\nTest: atest WmTests:DisplayRotationCompatPolicyTests\nChange-Id: Iaa3a3efa4e0fa89fbb58c7dbc59c125600972224\n"
    },
    {
      "commit": "fcb3add08f40bfbded442d40b79fc3a57ae71e2a",
      "tree": "2eca1e8450a28d78a1e1cc11fb99cf3048dde8e7",
      "parents": [
        "596e3f9025a9fdd048a76b0988954a2eb518b142"
      ],
      "author": {
        "name": "William Osborn",
        "email": "willosborn@google.com",
        "time": "Wed Oct 12 16:40:12 2022 +0100"
      },
      "committer": {
        "name": "William Osborn",
        "email": "willosborn@google.com",
        "time": "Mon Dec 19 11:48:50 2022 +0000"
      },
      "message": "Letterboxing improvements for tabletop mode\n\nMove letterboxed apps to the top screen and resize when in tabletop pose and move to the left for book mode.\nAlso allow double-tapping to move the app to the alternative half of the screen.\n\nBug: 245740388\nTest: locally tested\nChange-Id: I14434ad23091de3957f04284e03da8701f159fa4\n"
    },
    {
      "commit": "ff11409051d88308199188acf6f3a1a96595a16f",
      "tree": "12b5d252dfc941e18794ce5557d4b02a4fe1ac51",
      "parents": [
        "2e8ec835909e23c0728491abceed4bd2091bcd9a",
        "67acf672d0d1d293efa319ea3d8ad79625c3c838"
      ],
      "author": {
        "name": "Brian Isganitis",
        "email": "brianji@google.com",
        "time": "Mon Dec 19 03:45:17 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 19 03:45:17 2022 +0000"
      },
      "message": "Merge \"Adding permissions for pinning shortcuts.\" into tm-qpr-dev"
    },
    {
      "commit": "099cdc6ef7138391c9a307a65950e9e3e7b123b9",
      "tree": "7c5e089e17654a9f3cf5aabc3ac6e8f355340a03",
      "parents": [
        "01108976747f380d69c38fbb2be82e8495f0ab32",
        "cc2d539e801ab7aa748c780c41c1a1569bdd112c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 16 18:05:32 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 18:05:32 2022 +0000"
      },
      "message": "Merge \"Respect \"nosensor\" and \"locked\" with ignoreOrientationRequest being set\" into tm-qpr-dev"
    },
    {
      "commit": "cc2d539e801ab7aa748c780c41c1a1569bdd112c",
      "tree": "aeba6e0a4553dae5851aec98d241a19d1cdd786e",
      "parents": [
        "92f296295704d7375a2b784b6d0cbea701c54525"
      ],
      "author": {
        "name": "Massimo Carli",
        "email": "mcarli@google.com",
        "time": "Wed Nov 23 13:48:01 2022 +0000"
      },
      "committer": {
        "name": "Mariia Sandrikova",
        "email": "mariiasand@google.com",
        "time": "Fri Dec 16 14:15:21 2022 +0000"
      },
      "message": "Respect \"nosensor\" and \"locked\" with ignoreOrientationRequest being set\n\nIn this implementation, we always resolve the orientation for a\ncomponent as the ignoreOrientationRequest was disabled. We then\nuse the actual flag when deciding the display orientation and when\nquerying from a descendent to handle the orientation change itself.\n\nMain use case why this is important is Camera apps that rely on those\nproperties to ensure that they will be able to determine Camera preview\norientation correctly\n\nFixes:254691921\nTest: run `atest WmTests:ActivityRecordTests WmTests:TaskTests\n      WmTests:WindowContainerTests`\n\nChange-Id: I96dca18a561e2acf961a462d3a4db484f003be6f\nMerged-In: I96dca18a561e2acf961a462d3a4db484f003be6f\n"
    },
    {
      "commit": "871283572fd0bb613590eb6c0975b8115abda06e",
      "tree": "c1b45cadd54c1f538235670479b4002e5dcabc71",
      "parents": [
        "d411dd57f3ed7296b131a6383a99d1f4960b7d2d"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Dec 12 22:26:55 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Dec 14 15:41:19 2022 +0000"
      },
      "message": "DO NOT MERGE: Add remapping for an Android stylus\n\nThis remapping is used for testing and development purposes.\n\nBug: 262287992\nTest: TBD\nChange-Id: I4cf157fd9c10d62c7ad08ef31ba1b6c4f3a7865e\n"
    },
    {
      "commit": "67acf672d0d1d293efa319ea3d8ad79625c3c838",
      "tree": "a4cf9c0fbbedddda1c8287616f47c4174c5b2e26",
      "parents": [
        "25f934011de2b0f9fe383ee00a006fdfb57f1e14"
      ],
      "author": {
        "name": "Raj Garg",
        "email": "rajgarg@google.com",
        "time": "Sat Jun 25 14:11:24 2022 +0000"
      },
      "committer": {
        "name": "Brian Isganitis",
        "email": "brianji@google.com",
        "time": "Sat Dec 10 01:11:02 2022 +0000"
      },
      "message": "Adding permissions for pinning shortcuts.\n\nWhile pinning shortcuts in DefaultLayoutParser.java a check was failed\nshowing that our launcher LauncherIndiaGoogle or any 3P launcher\ndoesn\u0027t has access to shortcuts. Adding the permissions to pass the\ncheck.\n\nTest: Tested locally on device.\nBug: 227290255, 259601472\nChange-Id: I48ce49775b7005d20ae15b9487f4b0eed64d30a0\n"
    },
    {
      "commit": "3dad16a68c21a21785c30a1fd44f3a8199610d82",
      "tree": "52b09a98cce9bf2adc768e99b54b7a19fe22aaa0",
      "parents": [
        "6a983b1e8316795d0fe62531b7a7ced12244bf80",
        "a057442725aed28464cf21b3bfd3fa2767b456cf"
      ],
      "author": {
        "name": "Lucas Silva",
        "email": "lusilva@google.com",
        "time": "Wed Nov 09 21:26:27 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 21:26:27 2022 +0000"
      },
      "message": "Merge changes Ifece2dc6,Id0c37612 into tm-qpr-dev\n\n* changes:\n  Push active dream component to WindowManager instead of pulling.\n  Implement alternate power button behavior for dreams.\n"
    },
    {
      "commit": "a057442725aed28464cf21b3bfd3fa2767b456cf",
      "tree": "ade451bb76410d96cafe88e72796659d8c9707de",
      "parents": [
        "bffe18bf287807f8cdab3564d8844a8d79df72d0"
      ],
      "author": {
        "name": "Lucas Silva",
        "email": "lusilva@google.com",
        "time": "Fri Oct 28 16:03:38 2022 -0400"
      },
      "committer": {
        "name": "Lucas Silva",
        "email": "lusilva@google.com",
        "time": "Mon Nov 07 20:41:10 2022 +0000"
      },
      "message": "Push active dream component to WindowManager instead of pulling.\n\nInstead of pulling the active dream component, we push the component\nwhen a dream is started. This ensures that the active component remains\nin sync with the currently active dream.\n\nBug: 246091760\nTest: flashed device and verified dreams are working correctly\nChange-Id: Ifece2dc62486b74794f0d333d19bec2ab3bc9229\n"
    },
    {
      "commit": "67db8072d322e64f8e372636a864016b2d4913f4",
      "tree": "61e783635762bf08f4ee9e39992af371f4c57919",
      "parents": [
        "1bbb6923934b1e2bb4869e35a6bf7e4a0b16afa0"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed Apr 27 15:37:03 2022 +0000"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed Nov 02 12:53:29 2022 +0000"
      },
      "message": "Suppress app transition while recents is running\n\nThis fixes conflict between app transition and recents animation in the\nfollowing scenario.\n\n1) App transition animation finishes after app closing animation, which\nis controlled by recents, finishes.\n\nDuring the app closing animation, recents makes the closing app surface\ninvisible, but app transition animation overrides it to visible again.\nThis causes a flicker.\n\n2) App transition starts during recents animation.\n\nWhen a user launches an activity, and immediately after that, swipes up\nthe screen to close the app. Or a user launches an ChooserActivity on\ntop of other activity, and swipes up to move back to home.\n\nWhile recents is running, we assume animation on tasks is controlled by\nrecents, and visibility is commited without animation after recents\nanimation finishes. However starting app transition during recents\nbreaks this assumption, which ends up with playing one more unexpected\nclosing animation (so users see closing animation twice).\n\nThis change also obsolute the logic which exludes launcher activity from\napp transition while recents animation is running, since app transition\nis delayed until recents animation finishes.\n\nBug: 223499269\nBug: 231669960\nBug: 232060413\nTest: atest AppTransitionTest + manual tests\n  Test 1\n   1. Launch Gmail app.\n   2. Click icon on the bottom tab (e.g. Chat).\n   3. Swipe up from the bottom (immediately after step 2).\n   4. Verify closing animation only plays once.\n  Test 2\n   1. Launch \"Google TV\".\n   2. Play a trailer.\n   3. Full screen and PIP mode switch twice.\n   4. Verify PIP window is shown.\n  Test 3\n   1. Change phone to portlait mode.\n   2. Launch Photo app.\n   3. Swipe up from the bottom.\n   4. Verify no rotation animation on the launcher.\n  Test 4\n   1. Launch photo app.\n   2. Take screenshot.\n   3. Hit share icon to share the screenshot.\n   4. Swipe up from the bottom.\n   5. Verify photo app closes.\nChange-Id: I264b0daf1118b75fae481f0251ed50b556f27c5f\n"
    },
    {
      "commit": "9723cfbc38ba5dc47208584def2711924184a77e",
      "tree": "c54f3a08706138a789d09b6b923f3559055aa29e",
      "parents": [
        "9a0ed1afe1a4ea2c1e8537196d84c8c958a275d5"
      ],
      "author": {
        "name": "William Osborn",
        "email": "willosborn@google.com",
        "time": "Fri Jul 29 16:31:59 2022 +0100"
      },
      "committer": {
        "name": "William Osborn",
        "email": "willosborn@google.com",
        "time": "Mon Oct 10 20:47:26 2022 +0100"
      },
      "message": "Allow rotation when display is half-folded\n\nWhen in \u0027tabletop\u0027 or \u0027book\u0027 mode, allow the display to rotate\neven if it is frozen. Then return to the previously locked rotation when\nthe device is unfolded.\n\nBug: 240146362\nTest: locally tested + ran atest on DisplayRotationTests\nChange-Id: I9869f5b070fecd7df70e08323dfacef8b883f470\n"
    },
    {
      "commit": "5ec702b7b0c1139b2205da35f6fa6f6386d2c693",
      "tree": "00c0f1dd7a6f65545179676d597d5903b4b7097d",
      "parents": [
        "0b180ddbed4d5fa79f6f76d1863bb9eebf00bf54"
      ],
      "author": {
        "name": "Lucas Silva",
        "email": "lusilva@google.com",
        "time": "Fri Sep 16 11:52:17 2022 -0400"
      },
      "committer": {
        "name": "Lucas Silva",
        "email": "lusilva@google.com",
        "time": "Tue Sep 20 00:49:57 2022 -0400"
      },
      "message": "Add additional logging to dream enforcement logic to debug failures.\n\nBug: 246091760\nTest: n/a\nChange-Id: I171225b28e0661bf0a0b1b0ef6bdb3a4e85f64ea\n"
    },
    {
      "commit": "d00861c46efc71ca6b1fe2bcb010b71b39b99085",
      "tree": "4efe6d9b6e19a18b1f2fb79f82005d207dc1b570",
      "parents": [
        "fc9ccbb8a0ac6071ca8413dfc17d28c9e1207a9e"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Mon Aug 29 16:36:49 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Wed Sep 07 08:54:57 2022 +0800"
      },
      "message": "Collect embedded TaskFragment window changes\n\nTo make sure the embedded TaskFragment surface will be updated when\nShell transition is enabled.\n\nBug: 207070762\nTest: testApplyTransaction_collectTaskFragmentBeforeApplyChange\nChange-Id: Id726b67cd30bd68e3ca4bc2665ab0a9024d76dab\n"
    },
    {
      "commit": "2c9b75902eeb545d3328f4ba579c3de505f99346",
      "tree": "3f2b5340fa1ee145f2d308747d4f72d503dcabb0",
      "parents": [
        "ff778d202306b04710230077d41e04b67e4019af",
        "dc7cb3659d21093f3fc6a0b7b242bf1f743d3c67"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Thu Sep 01 06:59:10 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 06:59:10 2022 +0000"
      },
      "message": "Merge \"Add TaskFragmentOrganizer#applyTransaction with request transition\" into tm-qpr-dev"
    },
    {
      "commit": "dc7cb3659d21093f3fc6a0b7b242bf1f743d3c67",
      "tree": "960e1bcb938fa8d0740e8b9acbbea992303e6bb6",
      "parents": [
        "907c1ad88d65af7550a255c6ba9ebc8321acb5a5"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Mon Aug 22 12:04:37 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Thu Sep 01 12:00:31 2022 +0800"
      },
      "message": "Add TaskFragmentOrganizer#applyTransaction with request transition\n\nInstead of having WM Core to \"guess\" when to request transtiion, let the\norganizer to tell whether or not it needs to be applied immediately.\n\nWith the shouldApplyIndependently parameter, we can make sure the future\nruntime API to change split layout won\u0027t affect other ongoing\ntransition.\n\nBug: 207070762\nTest: atest WmTests:TaskFragmentOrganizerControllerTest\nChange-Id: I658b0ba1ae9decc741f09cb53bfff2c45ea076a0\n"
    },
    {
      "commit": "62aecf34aab20486b78202d15ab070434fdaeafe",
      "tree": "da7499f49205c0b7f4ad3c8b620a55c181f8b979",
      "parents": [
        "77338a2cf48e558d312a372344e4e88402ade71d"
      ],
      "author": {
        "name": "Antony Sargent",
        "email": "asargent@google.com",
        "time": "Thu Apr 14 14:33:38 2022 -0700"
      },
      "committer": {
        "name": "Antony Sargent",
        "email": "asargent@google.com",
        "time": "Wed Aug 31 10:21:35 2022 -0700"
      },
      "message": "Make FLAG_KEEP_SCREEN_ON use per-display wakelocks\n\nThis moves from having a single global wakelock held by\nWindowManagerService whenever any window on any display has\nFLAG_KEEP_SCREEN_ON set, to having one per DisplayContent that is only\nheld when a window on that Display has the flag set.\n\nBug: 185157739\nTest: atest WmTests\nChange-Id: I82dcb693ad2bea0a243be4299dae836a1f53930c\n"
    },
    {
      "commit": "e03186af0e9e5a4c23ef0a7b5ab4a98121212d0e",
      "tree": "e09e7483b64725c84ef2e5f943703c3c8f008fd2",
      "parents": [
        "f2826d867b50a897dd1b34b5950660a90171b160"
      ],
      "author": {
        "name": "Alan Huang",
        "email": "alanjhhuang@google.com",
        "time": "Wed Apr 27 13:25:27 2022 +0000"
      },
      "committer": {
        "name": "Alan Huang",
        "email": "alanjhhuang@google.com",
        "time": "Mon Aug 29 18:59:51 2022 +0000"
      },
      "message": "[VolumePanel] Move the Settings\u0027 volume panel into a SystemUIDialog\n\nMove most of the logic of the Settings\u0027 volume panel to a SystemUIDialog\nto make the dialogs consistent with other system dialog.\n\nBug: 202262476\nTest: manual build and launch the new dialog.\nChange-Id: Ic27dcca77072dee2b78827e1eb58c28022b47265\n"
    },
    {
      "commit": "bd4b118acbab4f6330b747e03af4a51da6d1bc64",
      "tree": "7b80bb07e4ec29a4a64157713d535590b2b999cd",
      "parents": [
        "28ecf3e17d9037777e8fe0d5ae494b1689ca8c8d",
        "5ce3e5d6612a5b921c9975b71d770e793f9d2d0a"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Fri Aug 26 01:38:31 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 01:38:31 2022 +0000"
      },
      "message": "Merge \"Fix crash when continueTransitionReady without collecting transition\" into tm-qpr-dev"
    },
    {
      "commit": "0626b32460864be12a9a831ac14bcc4e11836d63",
      "tree": "2e690d1324d3d9f8fef6f31e700514c37f483d9a",
      "parents": [
        "469cbe9037790ea228d44eeeec4e1094c0b7399f",
        "4a06c40b87e953a39e3fe921d3b2750ba4530a42"
      ],
      "author": {
        "name": "Kunal Malhotra",
        "email": "malhk@google.com",
        "time": "Thu Aug 25 16:29:53 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 16:29:53 2022 +0000"
      },
      "message": "Merge \"Restrict readability of uid state changes so that uid states of other users uids are not exposed to those that do not have permission.\" into tm-qpr-dev"
    },
    {
      "commit": "5ce3e5d6612a5b921c9975b71d770e793f9d2d0a",
      "tree": "0d18aecb79d2d8cea0b5cc9f622aeae9bc22c882",
      "parents": [
        "38a3a662784aca77a5f5fb287876dfe9a6fbbf7a"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Wed Aug 24 12:01:25 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Thu Aug 25 10:12:34 2022 +0800"
      },
      "message": "Fix crash when continueTransitionReady without collecting transition\n\n1. When deferTransitionReady is called, it should un-ready the sync\n   group.\n2. Do not call continueTransitionReady when the transition is no\n   longer collecting, such as transition timeout or abort.\n\nBug: 207070762\nTest: atest WmTests:TransitionTests\nChange-Id: I33a211d574da54ed220c7d0f7c12e201c5e1f681\n"
    },
    {
      "commit": "f2e3e58c55fcc42337a230a7ec98c3e4014d09da",
      "tree": "8c933cbc53f7da31a0472324fbf95dbeca6e5ff4",
      "parents": [
        "bca9adf5b26e7c270d9e4ccc7e4a79032d29465c",
        "9110a8af742af44e490548b129df282a20ee1ecb"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Wed Aug 24 23:12:36 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 23:12:36 2022 +0000"
      },
      "message": "Merge \"Add a non-blast mode to sync-engine\" into tm-qpr-dev"
    },
    {
      "commit": "cbe2a51d60e0487c5e5bc79b7c73d02c78ff2884",
      "tree": "8c40f0edddf11c6102bf3fb874eee689b1600185",
      "parents": [
        "e16a86cf1c82f35fd86c230e4e6fa07ddcb55634",
        "92aa9080eb1fa02c2a74841b26d565eea33aa9f1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 24 14:40:58 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 14:40:58 2022 +0000"
      },
      "message": "Merge \"Require CONFIG_HID_PLAYSTATION for DualSense key layout\" into tm-qpr-dev"
    },
    {
      "commit": "9110a8af742af44e490548b129df282a20ee1ecb",
      "tree": "3dce1ec3fd839687d63ea9b2c0b469bd43afe84d",
      "parents": [
        "c24db189bfb083ce2cae6c83d80d70e6cf810e65"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Mon Jul 18 15:24:53 2022 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Tue Aug 23 16:51:43 2022 -0700"
      },
      "message": "Add a non-blast mode to sync-engine\n\nThis adds a \"method\" to sync-engine where an app just draws\ninternally and reports (no sync).\n\nThe transition system can then use this to implement its own\nscreenshot-based sync mechanism. For now, this uses legacy logic\naround \"changeTransition\" to decide which levels to take\nscreenshots at (since screenshots are slow).\n\nThis also adds a per-window method override to handle situations\nwhere one window/sub-hierarchy needs to use or not-use a\nmethod (specifically, seamless-rotation needs BLAST even if\nthe rest of the transitions are screenshot).\n\nBug: 242056267\nTest: atest TransitionTests SyncEngineTests\nChange-Id: Iee6ee85bafb8967e2e1e662cd3275fba1efbbdea\n"
    },
    {
      "commit": "4e9c5b44b1f2effbd3c1450ef7887d614349d7ff",
      "tree": "2602f51cfa39750e4ed5983c77a90c10aa81aef7",
      "parents": [
        "c3cad7c7f31c363ddd2ef889ea60921a283694d3"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Tue Aug 09 13:51:10 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Tue Aug 23 09:46:05 2022 +0800"
      },
      "message": "Wait for TaskFragmentOrganizer to finish handling transaction\n\nWhen a TaskFragmentTransaction is sent to the organizer during a\ntransition, have the transition wait for the organizer to finish\nhandling the transaction.\n\nBug: 207070762\nTest: atest WmTests:TaskFragmentOrganizerControllerTest\nChange-Id: I4b7955171cd8ce386686ff2cd64b7c04a6436ddf\n"
    },
    {
      "commit": "92aa9080eb1fa02c2a74841b26d565eea33aa9f1",
      "tree": "2ff6328239b7ddb3aafbf8bc0a4fbb98a0689a29",
      "parents": [
        "08990cade2d15b668e06007200803be63dace7d4"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed May 18 13:34:55 2022 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Aug 23 01:23:29 2022 +0000"
      },
      "message": "Require CONFIG_HID_PLAYSTATION for DualSense key layout\n\nSome olders kernels don\u0027t yet support HID_PLAYSTATION. While they are\nworking on supporting this driver, provide this temporary solution.\n\nBefore this patch, if the key layout is loaded, but there is no\nHID_PLAYSTATION, then the mappings on the device will be incorrect.\n\nWith this patch, this key layout will not be loaded unless there is a\nCONFIG_HID_PLAYSTATION enabled on the device.\n\nInstead, when the main layout cannot be loaded, we make another attempt\nto load a fallback layout. This way, the mappings on DualSense can be\ncorrect even if the HID_PLAYSTATION module is not loaded.\n\nIn this CL, the fallback layout was tested using controllerTester.\n\nBug: 228005926\nTest: tested mappings with a DualSense controller on a device that does\nnot have CONFIG_HID_PLAYSTATION\n\nChange-Id: I7e46ae1943cd2c63b8c0b03fdf5d71adeea89f6f\n"
    },
    {
      "commit": "4a06c40b87e953a39e3fe921d3b2750ba4530a42",
      "tree": "b272a38a524f9a459c334337bb3650eeeadbcf95",
      "parents": [
        "bef8a5be14eb744c4be91fd22a0e7d15cb4552e9"
      ],
      "author": {
        "name": "Kunal Malhotra",
        "email": "malhk@google.com",
        "time": "Tue Jul 12 22:28:45 2022 +0000"
      },
      "committer": {
        "name": "Kunal Malhotra",
        "email": "malhk@google.com",
        "time": "Wed Aug 17 17:07:32 2022 +0000"
      },
      "message": "Restrict readability of uid state changes so that uid states of other users uids are not exposed to those that do not have permission.\n\nTest: manual test\nBug: 217934898\nChange-Id: I3f52d4ca32c22c54fa9b1663954a43b44d9000a0\nMerged-In: I3f52d4ca32c22c54fa9b1663954a43b44d9000a0\n(cherry picked from commit c69aa1be70009c10e76196f71023f229cc667b7a)\n"
    },
    {
      "commit": "0d9ba1c04a89a8849030356efc3b4e506ba3553f",
      "tree": "71e3af76ace32146b352570c9f4bd20405511919",
      "parents": [
        "65ca888c567513b3deb010c307a44f1eb41afe4e"
      ],
      "author": {
        "name": "Naomi Musgrave",
        "email": "nmusgrave@google.com",
        "time": "Wed Jul 06 09:09:44 2022 +0000"
      },
      "committer": {
        "name": "Naomi Musgrave",
        "email": "nmusgrave@google.com",
        "time": "Thu Aug 11 18:03:53 2022 +0000"
      },
      "message": "[Partial Screenshare] Respond to task changes\n\nDestroying the MediaProjection notifies the client app through the\nMediaProjection callbacks that the app should handle the session\nending prematurely.\n\nThis may happen if setting up task recording failed, or if the\nuser exited the task that is being recorded.\n\nRegistering a listener to the task for configuration changes\nalso enables handling of the task entering/exiting split\nscreen.\n\nFixes: 219761722\nFixes: 237526949\nFixes: 236971595\nTest: atest WmTests:ContentRecordingControllerTests\nTest: atest WmTests:ContentRecorderTests\nChange-Id: I415fb70433a031889f0486e99bb7d3b664333414\n"
    },
    {
      "commit": "3544e25a4e314622e49b55154ec4ae00c1f35c4f",
      "tree": "9fa377d7b431b9c9657d49356e0a439bc5f291ea",
      "parents": [
        "110cd7aa33031afaaf36654629e96eda4148870e",
        "540a7c32d856f9513ea26ffc4c2b9327f5a3a1b5"
      ],
      "author": {
        "name": "Yanli Wan",
        "email": "yanliwan@google.com",
        "time": "Wed Aug 03 19:18:52 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 19:18:52 2022 +0000"
      },
      "message": "Merge \"Stop app pinning if lock task is requested from allowedlisted app\" into tm-qpr-dev"
    },
    {
      "commit": "0dfebbe4d711d80ae16aa99be2d5c80e1b5fa963",
      "tree": "819d1145f59e716899724a5aa4c2925e2609faa7",
      "parents": [
        "bbb516199e96b0eed7a56c6ad31a17d0e4465db6"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Mon Jul 18 17:29:57 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Wed Jul 27 01:30:52 2022 +0000"
      },
      "message": "Fix open ActivityEmbedding split with Shell transition\n\n1. Collect the TaskFragment when reparenting an activity into it.\n2. Check adjacent TaskFragment for transition flag FLAG_TRANSLUCENT.\n3. Offset the relative position for default animation.\n\nBug: 207070762\nTest: pass existing\nChange-Id: I62b533dbb087007e3ef126170691a59929eb75e1\n"
    },
    {
      "commit": "540a7c32d856f9513ea26ffc4c2b9327f5a3a1b5",
      "tree": "d2be3782fb46ba3cbf342cb7bb501f7b5ce75a35",
      "parents": [
        "7d3188b7c3a8608d93c369d976d4a1437f5945e7"
      ],
      "author": {
        "name": "Yanli Wan",
        "email": "yanliwan@google.com",
        "time": "Tue Jul 19 11:54:10 2022 -0700"
      },
      "committer": {
        "name": "Yanli Wan",
        "email": "yanliwan@google.com",
        "time": "Tue Jul 19 16:11:23 2022 -0700"
      },
      "message": "Stop app pinning if lock task is requested from allowedlisted app\n\nBug: 213942596\nTest: Manual\nChange-Id: I86c71bef4f8c374fab01aa0a5f3997ba1a2b27cf\n"
    },
    {
      "commit": "5b949326268f75e993ee36061fdc540063b115bd",
      "tree": "c3e949d1f148164248dda01030d267a1c5315c0f",
      "parents": [
        "fecc3b13390952b9eab87c84e8b34612d2cced4c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Jul 04 14:02:03 2022 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Jul 19 00:35:39 2022 +0000"
      },
      "message": "Revert the line of NotoSansLao post script name\n\nBug: 235922054\nTest: N/A\nChange-Id: I4af08ba06d12afdf0753f07b4a757d9dd89df3bb\n"
    },
    {
      "commit": "ae2fbd47a00b4c00d3081e674832f16131339254",
      "tree": "9d32423eefdba105cb6c6d2974ba792f1f666b11",
      "parents": [
        "de765a95ea981b7b578c976c67ad8907448687df"
      ],
      "author": {
        "name": "Ming-Shin Lu",
        "email": "lumark@google.com",
        "time": "Mon Jun 27 16:45:29 2022 +0000"
      },
      "committer": {
        "name": "Ming-Shin Lu",
        "email": "lumark@google.com",
        "time": "Mon Jul 11 13:12:34 2022 +0000"
      },
      "message": "[Shell-Transition] clean-up some isAnimating call points\n\n..to reflect the app transition animating state when shell-transition\nenabled for below cases:\n\n1) ImeInsetsSourceProvider#isReadyToShowIme will use WS#isClosing -\u003e\n   AR#isClosingOrEnteringPip to check if the IME layering target window\n   is in closing transition. (i.e. It won\u0027t be ready to show IME while\n   the target is in closing app transition.) Also, given isClosing and\n   isClosingOrEnteringPip currently is only used for checking IME target\n   validity, wraping those logic into isImeTargetWindowClosing() for\n   simplicity.\n\n2) With Shell-Transition, the activity will running a transition when\n   it is visible, it won\u0027t be included when fromTransition is true means\n   the call from finishTransition. As a result, in AR#commitVisibility,\n   callback onAppVisibilityChanged(visible, runningAppAnimation) with\n   using the above checking logic and adding logs for tracking. In case\n   a11y controller will always callback onWindowTransition with\n   TRANSIT_EXIT due to runningAppAnimation always being false by\n   isAnimating no-op.\n\nFix: 212570341\nTest: No visible change \u0026 Pass existing tests.\nChange-Id: I9cc77956b3ff61ae83f5bd120c395cc6aca93af9\n"
    },
    {
      "commit": "be9d1c782109a4a69a49ca77a1231b3b2daa7ce3",
      "tree": "5ad99c9681f87f0f490df10e868c3b48cd70e96d",
      "parents": [
        "8d296990a643afbd0e0aaf6d8c8829fffde8cde1",
        "9b71e4551cef015b3ccc40e65f0d7ee14d9bb257"
      ],
      "author": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Tue Jun 28 01:17:30 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 01:17:30 2022 +0000"
      },
      "message": "Merge \"Skip moving the focused Task to top if it is already on top\" into tm-qpr-dev"
    },
    {
      "commit": "b9876970422a640fd764b83862d615eb5b693d8e",
      "tree": "85a7d276ddc2f66842b02f6e92e04307a8782e0a",
      "parents": [
        "0d61ab9e5d21b62ec471b90e8883190ccf4e5444"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu May 26 16:40:33 2022 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Mon Jun 27 10:45:16 2022 -0700"
      },
      "message": "Drop sync buffers for subsequent sync requests\n\nWhen making subsequent draw requests for the same window, drop\nany existing buffers since they will be replaced by the new one.\n\nSometimes the \"old\" buffer will still be \"in-flight\" (either\ndrawing still or in binder). So, also drop incoming buffers\nfor seqIds that are earlier than the latest prepareSync.\n\nAdditionally, immediately apply any applyWithNextDraw that were\nrequested before the sync, but arrive after the sync started --\notherwise they can get put on pending (which waits for sync\napply) and thus also block the buffer queue.\n\nBug: 233625646\nTest: run tests and check for ANRs\nChange-Id: I156a9a73eea8346dc241b5d782a863b99127ca9f\n"
    },
    {
      "commit": "9b71e4551cef015b3ccc40e65f0d7ee14d9bb257",
      "tree": "cb4dacc141a0e7fae4a568734ea444348fa075a5",
      "parents": [
        "acc2838241d27891414b3830fc68f544959ecb70"
      ],
      "author": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Wed Jun 22 04:41:14 2022 +0000"
      },
      "committer": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Fri Jun 24 05:31:12 2022 +0000"
      },
      "message": "Skip moving the focused Task to top if it is already on top\n\nThe Task was moved to front while making an Activity to be the\nfocused app. In that case, the resumed activity will be reset\nto the top-most resumed activity in the Task.\n\nHowever, the top-most resumed activity in the Task should not\nalways be the current focused activity when activity embedded.\n\nThis CL skips unnecessary task movement and making the target\nactivity to be focused if the task is already on top and focused.\n\nBug: 236565088\nTest: atest TaskFragmentTest\nChange-Id: I6cbea10bdfa422e9d51c051595ed592843f5ba79\n"
    },
    {
      "commit": "72a27f37ef850da76032d52e6aa24c74e0d9f17c",
      "tree": "838dec6051012275eaaf2210806864f8f699974c",
      "parents": [
        "fe7e4cb0b2f7a88488c77596e00cd1024eb979a5",
        "bdaf705b8a5d17aca850aa251775d3c6d2528b88"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Tue May 31 19:28:38 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 31 19:28:38 2022 +0000"
      },
      "message": "Merge \"Exclude launcher from app transition animation while recents is running.\" into tm-dev am: 0dfb582d5a am: bdaf705b8a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18492309\n\nChange-Id: I7ae2a50abaa1d16102a4f528cb1d8790445ed316\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0dfb582d5a4da7dddf079c5a0f18bca77411c0de",
      "tree": "46145e8a15d78395ddd0157f4dd184659507ec53",
      "parents": [
        "57e03f3b30dfa4f1e5aa8cadcde8bc2494a30256",
        "05cd2b61044ab66f8c2f23b9e91c09f901039148"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Tue May 31 15:48:01 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 15:48:01 2022 +0000"
      },
      "message": "Merge \"Exclude launcher from app transition animation while recents is running.\" into tm-dev"
    },
    {
      "commit": "0135f0a800eae21d79df3ec190e69184cc4cec1e",
      "tree": "ddcee5ec3bcdef12dc11a560a2da499bb7335998",
      "parents": [
        "645973a3d8fc0b6c07b6f60209221a736e7263ae",
        "89b687bcf3e0d363f4ec82cdfbd40598b8aaadd4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 26 20:57:08 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 26 20:57:08 2022 +0000"
      },
      "message": "Merge \"Update security_log_writer group name\" into tm-dev am: 8135158f39 am: 89b687bcf3\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18616465\n\nChange-Id: Ic8d588ae932ed790d6fe198c6ca60bab2259647d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4130b736c83823971e5952777329b9e05ce76de7",
      "tree": "2d18e75e29676f56d06725ec0dc32db9fd5224d5",
      "parents": [
        "5ee0e5c31bc4b2e22cd56bdab243ce57ba4a7a85",
        "597056d1b030a31f962a620506ce4459c59c1ab6"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu May 26 17:47:52 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 26 17:47:52 2022 +0000"
      },
      "message": "Merge \"Map WRITE_SECURITY_LOG permission to gid\" into tm-dev am: f76cae7532 am: 597056d1b0\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18603750\n\nChange-Id: I6cabdbf5d790f907380424380439af943677ce1c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "07df5c4d161f68f92a397a1999ce09737a344006",
      "tree": "e390c47bd89f8d53669d66038009f7df3888ea8c",
      "parents": [
        "f76cae7532289c300da8a9cbc1e539ee04e63102"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu May 26 12:44:55 2022 +0100"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu May 26 17:45:49 2022 +0000"
      },
      "message": "Update security_log_writer group name\n\ngroup name was changed during review but not updated\nin the permission mapping.\n\nBug: 232283779\nTest: manual\nChange-Id: Ib7df61fa4fd49c8419f0543fd6c54186a33ebeb6\n(cherry picked from commit 4486314be61922813b346732a9b563c7b7c274b7)\nMerged-In: Ib7df61fa4fd49c8419f0543fd6c54186a33ebeb6\n"
    },
    {
      "commit": "bcb0741c91ae9af3b65b8fc7a07e3f4dec54e7f5",
      "tree": "495aad02248176111e1fc1df9abf6d666bd001d1",
      "parents": [
        "c56fb0fdebdb77b0ad32d53f41def89c9c45a811"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue May 24 23:23:10 2022 +0100"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed May 25 20:54:27 2022 +0000"
      },
      "message": "Map WRITE_SECURITY_LOG permission to gid\n\nMap WRITE_SECURITY_LOG to AID_SECURITY_LOG_WRITE which is how logd\ncontrols access to security log buffer.\n\nBug: 232283779\nTest: manual\nChange-Id: Ifde2e5192326f0811807dcb05563b1b5b63077ce\n(cherry picked from commit e806776e54bf9c9972022e326626d95e9ba71129)\nMerged-In: Ifde2e5192326f0811807dcb05563b1b5b63077ce\n"
    },
    {
      "commit": "05cd2b61044ab66f8c2f23b9e91c09f901039148",
      "tree": "01845c92497c7466c160cb12e8ab59d188b6f64a",
      "parents": [
        "e2049a89685ef6fa80429fcfc80b678b5265b24f"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Fri May 20 16:28:36 2022 +0000"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed May 25 13:44:47 2022 +0000"
      },
      "message": "Exclude launcher from app transition animation while recents is running.\n\nChanged approach to handle conflict between app transition and recents.\n\nIn order to fix flicker which happens when recents and app transition\nstart in a short time, we delayed app transition while recents was\nrunning. However this approach brought side effects such as b/232984498.\n\nWhen recents starts, we just want to wait that the launcher activitiy\nfinishes rendering and commit its visibility without animation. Added a\nflag DisplayContent#mExcludeLauncherFromAnimation flag, so that we can\nnow explicity declare whether we want to apply animation on the launcher\nor not.\n\nBug: 223499269\nBug: 231711212\nBug: 232984498\nTest: atest com.android.server.wm.AppTransitionTests\nTest: atest AppTransitionTest + manual tests\n  Test 1\n   1. Launch Gmail app\n   2. Click icon on the bottom tab (e.g. Chat)\n   3. Swipe up from the bottom (immediately after step 2)\n   4. Verify closing animation only plays once\n  Test 2\n   1. Launch \"Google TV\"\n   2. Play a trailer\n   3. Full screen and PIP mode switch twice\n   4. Verify PIP window is shown\n  Test 3\n   1. Change phone to portlait mode\n   2. Launch Photo app\n   3. Swipe up from the bottom\n   4. Verify no rotation animation on the launcher\n  Test 4\n   1. Install 3P launcher and set it default.\n   2. Launch Gmail app\n   3. Swipe up to go back home\n   4. Launch Chrome app\n   5. Swipe up and hold to go to overview.\n   6. Scroll to Gmail app and click.\n   7. Verify Gmail app is launched without delay.\nChange-Id: I0ccb99479684d17453ce57e8797024c0cd233ac3\n"
    },
    {
      "commit": "ce8f9488f26c0f24c339eeeaef882af86d7f059c",
      "tree": "7421d4b169807002ad5f4272e01e61a5e7a59d80",
      "parents": [
        "96aabf1116b1daf99a6b6efa78f980baf06aab22",
        "d0cd381a0bec2d430803f0971dca562a9828a4a9"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed May 18 22:47:35 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 18 22:47:35 2022 +0000"
      },
      "message": "Merge changes I1978ce3a,I79160004 into tm-dev am: 35640f948e am: d0cd381a0b\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18385451\n\nChange-Id: I80e97f57ea58634ecc647bccded63ef15615c558\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7b52f23021af91dbe28fe6c6949bf0a103942959",
      "tree": "f4038c4baf2561bb78718fd8912feef3f4025f01",
      "parents": [
        "c31d8ad7246bd39089210c3edf5a94f533c3d607",
        "b5d25971f9f85c2ef7ee5b4aea32137a5b04a9a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 18 21:51:40 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 18 21:51:40 2022 +0000"
      },
      "message": "Merge \"Remove duplicate allowlist entries for Bluetooth\" into tm-dev am: 5ea9ade689 am: b5d25971f9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18080601\n\nChange-Id: I91ce49042ff421fb80035a1b34795319fb61168c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "35640f948e248324401defb4e39a62928509bc28",
      "tree": "224aace7fb7cd4d4fb18c5c60acb4d856236ec8e",
      "parents": [
        "c3b917ad972f7a0417022e5201fe3a9ab9c332dd",
        "03df66775f830c42899b8b599d03fafe6a8bbceb"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed May 18 17:23:38 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 18 17:23:38 2022 +0000"
      },
      "message": "Merge changes I1978ce3a,I79160004 into tm-dev\n\n* changes:\n  Add workaround for new back flow with legacy recents animation\n  Ensure recents input consumer can be focused in Overview\n"
    },
    {
      "commit": "97b292f62708afd88f63209b41850f762f3a2b40",
      "tree": "f660de645670c525d68dd7d4d53b2656536e75ce",
      "parents": [
        "43ad687b92b642157bf8a6a47e2bb4bbe8853837",
        "046ec8336e8c7a997f8a85e564ed3dd363d44045"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Tue May 17 17:06:00 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 17 17:06:00 2022 +0000"
      },
      "message": "Merge \"Fix pip bundling\" into tm-qpr-dev"
    },
    {
      "commit": "5ea9ade6896139e13dac80bbae7f8b44b4979d63",
      "tree": "6190ecbd28051fad38360e2b0edf2ad972816ab0",
      "parents": [
        "05e61e90c5614d7b84de7c9605dad2a16c3115d6",
        "7a8010b205e4913e34106e9ada1770c25450a4e8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 16 20:59:24 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 20:59:24 2022 +0000"
      },
      "message": "Merge \"Remove duplicate allowlist entries for Bluetooth\" into tm-dev"
    },
    {
      "commit": "046ec8336e8c7a997f8a85e564ed3dd363d44045",
      "tree": "4f52934fbaaec6e28a58691f48d682b89bf5305e",
      "parents": [
        "e269e8e7ca8676ffce2301d62e1f9306cdcfd5f6"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu May 12 22:35:56 2022 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Mon May 16 11:56:15 2022 -0700"
      },
      "message": "Fix pip bundling\n\nNot all pips should be their own transition. This CL\nchanges the rules so that any pip originally requested\nby the system (even if done via the app -- eg legacy\npause+userLeaving) will not get their own transition\nand instead be bundled into the current one.\n\nThis also fixes an issue where transient launch\ncommittal was only entering pip for the new auto-enter\ncase but not the legacy userLeaving case.\n\nBug: 220196913\nBug: 231150615\nTest: launch a legacy userLeave-enters-pip app and\n      then go home (swipe or button).\nChange-Id: I3c20341971ab4512509daa70314742f84c1ccd6b\n"
    },
    {
      "commit": "03df66775f830c42899b8b599d03fafe6a8bbceb",
      "tree": "81326557b200b3f516bbed1ea430e78e4773ec71",
      "parents": [
        "34a280bc45a7afcf6c8bfd9d416ada4c8309f813"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sat May 14 00:08:43 2022 +0000"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sat May 14 00:09:13 2022 +0000"
      },
      "message": "Add workaround for new back flow with legacy recents animation\n\n- Override the callback to inject back as we do today while in Overview.\n  We can\u0027t rely on the client side compat callback because the Launcher\n  window is not focused in this current state.\n\nBug: 223750399\nTest: Open overview, swipe back\nChange-Id: I1978ce3a91cba3e57c0f8bab366691b48a9d5921\n"
    },
    {
      "commit": "7c001fabf2e1194382847a6a04dabd9bcd6c81d7",
      "tree": "3ff8b6a42a016d5b0c99b94e03583974f25b1f8e",
      "parents": [
        "5baf5662ed5b21d147d478c4f6b3d3c57a242cdb",
        "d260e1cbcdd3834331978d00a349d5fb55432169"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Fri May 13 18:17:43 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 13 18:17:43 2022 +0000"
      },
      "message": "Merge \"Ensure move-to-back has its own transition.\" into tm-qpr-dev"
    },
    {
      "commit": "d260e1cbcdd3834331978d00a349d5fb55432169",
      "tree": "1a430b7895f4d0df1b917128be185230d144f9de",
      "parents": [
        "03ffb3babed398dd67cface64f2a43fd742b469b"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Mon May 09 15:15:53 2022 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu May 12 10:51:00 2022 -0700"
      },
      "message": "Ensure move-to-back has its own transition.\n\nIn general, we need to move to a model where each transition is\na \"fixed\" transaction (rather than absorbing everything within\na specific time-window).\n\nBug: 232020248\nTest: PinnedStackTests#testMovePipToBack*\nChange-Id: Icf5d36e507bc70736e7760c50d5de297bfe4d8f4\n"
    },
    {
      "commit": "343260adfa03fed62e51ac9ab424db49e6e1ac24",
      "tree": "1c5d008ddebf2c0948380807b179180d4a091c0f",
      "parents": [
        "b8ea1e4b7b4a8c6f36381eb48ac6427566d35867",
        "0e1d4e23cb91ee650cdb161f2d6eca5d2df1aaad"
      ],
      "author": {
        "name": "Nick Chameyev",
        "email": "nickchameyev@google.com",
        "time": "Thu May 12 16:55:06 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 12 16:55:06 2022 +0000"
      },
      "message": "Merge \"Synchronize display change with the Shell\" into tm-qpr-dev"
    },
    {
      "commit": "735dc5d336a979adca37b775349c60d937a93767",
      "tree": "1e7834cad86f77113429f28a57d4f5bf336cdc3d",
      "parents": [
        "f4246c5738e131431e8e41a53a0e103038b2d479",
        "bc33153bb5661f318606fdc750b949bb9afea744"
      ],
      "author": {
        "name": "Galia Peycheva",
        "email": "galinap@google.com",
        "time": "Wed May 11 20:48:56 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 11 20:48:56 2022 +0000"
      },
      "message": "Merge \"Set TvBottomSheetActivity as unrestricted keep-clear area\" into tm-dev am: 7a662cfbf9 am: bc33153bb5\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18177605\n\nChange-Id: I15294f4498203f660fb506ccabbb84cf09f933e3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7a662cfbf9e08ce490627f389b467f33176fb34d",
      "tree": "8e5ba7a3b863b95c19687c185b113be7b59aa8b8",
      "parents": [
        "32667b28c6b908005297aa2f3b54672d91e4a2ec",
        "557fc354c138b5b22dca865531dc087086a1e52c"
      ],
      "author": {
        "name": "Galia Peycheva",
        "email": "galinap@google.com",
        "time": "Wed May 11 07:43:24 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 11 07:43:24 2022 +0000"
      },
      "message": "Merge \"Set TvBottomSheetActivity as unrestricted keep-clear area\" into tm-dev"
    },
    {
      "commit": "006fa97387a58f65eb188d658d7052a30c9764bb",
      "tree": "625b09795c967b5f0ca5667d2d89bf5a554e7481",
      "parents": [
        "7a6a65f5a22853cde39b7b9210c84f930ba06549",
        "b1050a102feb98afb1aa424d4cc07eb533944135"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Tue May 10 21:41:32 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 10 21:41:32 2022 +0000"
      },
      "message": "Merge \"Suppress app transition while recents is running\" into tm-dev am: fca1e25c59 am: b1050a102f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18232543\n\nChange-Id: Ida53de8a528cd005ff997280c47ef1afac74fdce\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0e1d4e23cb91ee650cdb161f2d6eca5d2df1aaad",
      "tree": "d30f0429ea25513210b6268a22605a4ce4bee308",
      "parents": [
        "c3565a503dc37bdc51d479bd07ae3fd77b8a87d3"
      ],
      "author": {
        "name": "Nick Chameyev",
        "email": "nickchameyev@google.com",
        "time": "Tue May 03 11:17:15 2022 +0000"
      },
      "committer": {
        "name": "Nick Chameyev",
        "email": "nickchameyev@google.com",
        "time": "Tue May 10 09:50:34 2022 +0000"
      },
      "message": "Synchronize display change with the Shell\n\nThis CL adds synchronization of applying of the window\ncontainer transaction with split-screen layout changes after\nthe display size change. This is needed for the unfold\nanimation to have the split screen layout ready\nfor the first frame of the unfold animation on foldable\ndevices.\n\nThe flow is similar to the display rotation synchonization,\nnow it is triggered on both physical display change and\nrotation.\n\nBug: 204925795\nTest: folding/unfolding, rotating with a split layout\n  when Shell transitions enabled/disabled\nChange-Id: I30f391dae69cf38768daf49361660d87165f886d\n"
    },
    {
      "commit": "ada19dd903a82ea2eefd060b72063e00a5c1f914",
      "tree": "4cfe1c61a015687b2d87b33799627cdde961acc0",
      "parents": [
        "5d05d5a49b554d94f3b2b8983626f2da71df5e98",
        "005860c14cc2f6051539cd66376b6bb4280d1833"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Mon May 09 15:21:06 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 09 15:21:06 2022 +0000"
      },
      "message": "Merge \"Revert \"Suppress app transition while recents is running\"\" into tm-dev am: d2303d97a4 am: 005860c14c\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18204686\n\nChange-Id: I9f6c2f5259b242a158d87f2f5047a12b234e8870\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d49b5d442dd8e473f4f980a41ea83dcbeec27345",
      "tree": "86c74850afcca4ad0d571621b75ba869236813bd",
      "parents": [
        "9c9916e4d9a4f9e8c68c23f251a48e5b6da1f3ce"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed Apr 27 15:37:03 2022 +0000"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Mon May 09 14:10:14 2022 +0000"
      },
      "message": "Suppress app transition while recents is running\n\nThis fixes conflict between app transition and recents animation in the\nfollowing scenario.\n\n1) App transition animation finishes after app closing animation, which\nis controlled by recents, finishes.\n\nDuring the app closing animation, recents makes the closing app surface\ninvisible, but app transition animation overrides it to visible again.\nThis causes a flicker.\n\n2) App transition starts during recents animation.\n\nThis can happen when a user launches an activity, and immediately after\nthat, swipes up the screen to close the app.\n\nWhile recents is running, we assume animation on tasks is controlled by\nrecents, and visibility is commited without animation after recents\nanimation finishes. However starting app transition during recents\nbreaks this assumption, which ends up with playing one more unexpected\nclosing animation (so users see closing animation twice).\n\nBug: 223499269\nBug: 231669960\nTest: atest AppTransitionTest + manual tests\n  Test 1\n   1. Launch Gmail app\n   2. Click icon on the bottom tab (e.g. Chat)\n   3. Swipe up from the bottom (immediately after step 2)\n   4. Verify closing animation only plays once\n  Test 2\n   1. Launch \"Google TV\"\n   2. Play a trailer\n   3. Full screen and PIP mode switch twice\n   4. Verify PIP window is shown\n  Test 3\n   1. Change phone to portlait mode\n   2. Launch Photo app\n   3. Swipe up from the bottom\n   4. Verify no rotation animation on the launcher\nChange-Id: Ic18d00812308903db08d3564136f33f1eccf408c\n"
    },
    {
      "commit": "d2303d97a41c15e8a52f5d8d547da4014d17466a",
      "tree": "7c96aed39ec7f264852bbc7b31074f8dadb45664",
      "parents": [
        "003535ddbe13e96eaf7be5b3490a2c99cdb5ba8c",
        "a2e0455cd971bf0316265d87907fbb5e78c5bde7"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Mon May 09 10:00:41 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 09 10:00:41 2022 +0000"
      },
      "message": "Merge \"Revert \"Suppress app transition while recents is running\"\" into tm-dev"
    },
    {
      "commit": "a2e0455cd971bf0316265d87907fbb5e78c5bde7",
      "tree": "f4508c2dcc64609c3ca352e5238f34148b1eb719",
      "parents": [
        "c34693dcac1fd5b8298b296956f258ec41e9d9a8"
      ],
      "author": {
        "name": "Neha Jain",
        "email": "jainne@google.com",
        "time": "Fri May 06 20:39:40 2022 +0000"
      },
      "committer": {
        "name": "Neha Jain",
        "email": "jainne@google.com",
        "time": "Fri May 06 20:40:28 2022 +0000"
      },
      "message": "Revert \"Suppress app transition while recents is running\"\n\nThis reverts commit c34693dcac1fd5b8298b296956f258ec41e9d9a8.\n\nReason for revert: Causing PiP to fail b/231669960\nBug: 231669960\nChange-Id: Ib16cf999071fd06bd9a574859f8fb18d6fede3fa\n"
    },
    {
      "commit": "4f7be5bd52247f3f46a847945063ec0dc6e5d354",
      "tree": "7cb7f76c3808f31f8257ff49872a4e50cdfa37a7",
      "parents": [
        "ded5484e2e914c46bde7871491db7875e006e764"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Wed May 04 16:23:54 2022 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Fri May 06 13:03:03 2022 -0700"
      },
      "message": "Fix PiP transition ordering\n\nFirst, this cancels the existing pip animation if it is\ntold to exit. Without this, an exit animation that\nstarts before an enter animation finishes will have its\nstate clobbered by the exit\u0027s finishTransition call.\n\nNext, make pip-enter transitions queue-up so that they\ndon\u0027t interleave before other queued transitions (very\ncommon during CTS).\n\nBug: 231150615\nTest: atest PinnedStackTests\nChange-Id: I7f162c0b1f24ab845770b805c8fae2252814945e\n"
    },
    {
      "commit": "c9818a57ba3ea55f3b69bb82337b99821a87ac1e",
      "tree": "faad4481ee1473ffed906297b38d2bc872fdeb31",
      "parents": [
        "33973f29633011a96cc360d1a302d183081f4693",
        "5aa8c0d2a9ca339bc0ee4f101203d2e6967af281"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Fri May 06 18:38:51 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 06 18:38:51 2022 +0000"
      },
      "message": "Merge \"Set focus to WMS computed focus when embedded window drops focus\" into tm-dev am: 823b164edd am: 5aa8c0d2a9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18143057\n\nChange-Id: Icf5c842fd5c783803c346284c6f78d349af756f0\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "823b164edd8c8fbbf7898403d81c827eaed83de2",
      "tree": "193832530091fb36c7df6f57cdae2460cb234873",
      "parents": [
        "9525088a524ddd501d1721623c5894830398510b",
        "02f564f331c95710928b56b2ae928fc7ffa67c98"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Fri May 06 18:07:46 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 18:07:46 2022 +0000"
      },
      "message": "Merge \"Set focus to WMS computed focus when embedded window drops focus\" into tm-dev"
    },
    {
      "commit": "30998190bbf6c489fb5e185f8643d801805d2b3b",
      "tree": "03c547af3b3d7fe5ad05ffc975c90ffaf7061ebb",
      "parents": [
        "e437099db4c24265b3e091795b39b9f5d887c7bf",
        "340bd0eeaf5568a19f5490d94badcdbf5f132b0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 06 15:56:16 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 06 15:56:16 2022 +0000"
      },
      "message": "Merge \"Complete Reference RCU keylayout with all buttions\" into tm-dev am: db2310a284 am: 340bd0eeaf\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17803125\n\nChange-Id: Ie92b753a02d152d3d1ff40493d4fceb5e9507a54\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ab569bcef3a2d918a52bf4671e07a1d9e140e78b",
      "tree": "795108cb31bce789c9fd5c644c1887648835bf36",
      "parents": [
        "29089f718514011621bb9de0229fa7f38cc4c33d",
        "48fd600e172a6524f1cdfaeec58b0395b2d74c5b"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Fri May 06 15:39:38 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri May 06 15:39:38 2022 +0000"
      },
      "message": "Merge \"Suppress app transition while recents is running\" into tm-dev am: 0d83eb099d am: 48fd600e17\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18140343\n\nChange-Id: If7fc42f59a1ea05b017fd2033b4b105a6c1295b3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "db2310a284655ddda35437d15bf9f788e36639ed",
      "tree": "f5f1fd85a8f3ef69ef141591e58848fafb8f8ff4",
      "parents": [
        "4bf81d5758008a1cbffebc622a9984375977ba0a",
        "df6c116b9a681c752f6dcbc2ffe1bbd500e246bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 06 11:44:05 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 06 11:44:05 2022 +0000"
      },
      "message": "Merge \"Complete Reference RCU keylayout with all buttions\" into tm-dev"
    },
    {
      "commit": "557fc354c138b5b22dca865531dc087086a1e52c",
      "tree": "112265e67bf07c33e2811d1b809f917e10a31753",
      "parents": [
        "a512a9b95584576d71bed77c34596d5267fcbf28"
      ],
      "author": {
        "name": "Galia Peycheva",
        "email": "galinap@google.com",
        "time": "Thu May 05 10:51:10 2022 +0200"
      },
      "committer": {
        "name": "Galia Peycheva",
        "email": "galinap@google.com",
        "time": "Thu May 05 18:11:09 2022 +0200"
      },
      "message": "Set TvBottomSheetActivity as unrestricted keep-clear area\n\nThis makes the Tv Pip move away from the dialog in order to not cover\nits content\n\nBug: 227596282\nTest: manual: start activity in Pip; start Duo and send:\n      adb shell cmd sensor_privacy enable 0 microphone \u0026\u0026 \\\n      adb shell appops start com.google.android.apps.tachyon 27\nChange-Id: Ifb0a11cc6c09b2b088d8a28c6016b831f5c57ac9\n"
    },
    {
      "commit": "02f564f331c95710928b56b2ae928fc7ffa67c98",
      "tree": "1b20bb32eb0e057a831a5340efbb9fb34d7c18e0",
      "parents": [
        "a512a9b95584576d71bed77c34596d5267fcbf28"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue May 03 11:37:25 2022 -0500"
      },
      "committer": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Thu May 05 15:42:46 2022 +0000"
      },
      "message": "Set focus to WMS computed focus when embedded window drops focus\n\nIf an internal system window wants to drop focus from an embedded\nwindow, requestFocusTransfer doesn\u0027t need to be called and instead we\ncan directly call setFocusedWindow. This fixes the case where transfer\nfocus fails if the old focused window loses visibility by the time the\ntransfer request arrives. The transfer won\u0027t be allowed because the old\nwindow isn\u0027t focused anymore so we can\u0027t honor the transfer request.\n\nThis fix is fine for internal system windows because there\u0027s no security\nissue with transferring focus from embedded to something WMS computes.\nHowever, there\u0027s still a race condition for cases where apps want to\ntransfer focus from embedded back to host when they are setting\nvisibility on the embedded window since the embedded window can become\ninvisible before the transfer goes through.\n\nTest: Pip Menu focus lost\nFixes: 230851770\nChange-Id: I09db0bbdf4db6eeaffa30275233811b13ea31132\nMerged-In: I09db0bbdf4db6eeaffa30275233811b13ea31132\n"
    },
    {
      "commit": "40395751a92a1405d8678cd363cd99750784fff9",
      "tree": "a177a73267d6a561a34ba2deb050ebdbfc91d6bd",
      "parents": [
        "b5054e3547f4fc64fba08428b30cd0e71073003d"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Tue Apr 12 17:41:20 2022 +0200"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed May 04 09:58:49 2022 +0000"
      },
      "message": "Disable overriding task animation through windowAnimationStyle attribute.\n\nBug: 211624533\nTest: atest ActivityTransitionTests\nChange-Id: Ia6844ab4397a54dc510f34f06edc4d8a188db1fc\n"
    },
    {
      "commit": "c34693dcac1fd5b8298b296956f258ec41e9d9a8",
      "tree": "a5a89dd2fa0757e526d2c84d5b960708fbf78ef1",
      "parents": [
        "239f082d758252b5bbf1e908f4d28b1b9d1141e7"
      ],
      "author": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Wed Apr 27 15:37:03 2022 +0000"
      },
      "committer": {
        "name": "Issei Suzuki",
        "email": "issei@google.com",
        "time": "Tue May 03 14:23:18 2022 +0000"
      },
      "message": "Suppress app transition while recents is running\n\nThis fixes conflict between app transition and recents animation in the\nfollowing scenario.\n\n1) App transition animation finishes after app closing animation, which\nis controlled by recents, finishes.\n\nDuring the app closing animation, recents makes the closing app surface\ninvisible, but app transition animation overrides it to visible again.\nThis causes a flicker.\n\n2) App transition starts during recents animation.\n\nThis can happen when a user launches an activity, and immediately after\nthat, swipes up the screen to close the app.\n\nWhile recents is running, we assume animation on tasks is controlled by\nrecents, and visibility is commited without animation after recents\nanimation finishes. However starting app transition during recents\nbreaks this assumption, which ends up with playing one more unexpected\nclosing animation (so users see closing animation twice).\n\nBug: 223499269\nTest: atest AppTransitionTest + manual\n  1. Launch Gmail app\n  2. Click icon on the bottom tab (e.g. Chat)\n  3. Swipe up from the bottom (immediately after step 2)\n  4. Verify closing animation only plays once\nChange-Id: Id0a8b472b9a3d7cf5b55852de83cbd50b985b834\n"
    },
    {
      "commit": "7a8010b205e4913e34106e9ada1770c25450a4e8",
      "tree": "4d6abd3487260dcd27e7d479bac89dbd9d3acd5b",
      "parents": [
        "a3193ed1db1b077635d95d0983bec7685ab8176e"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Apr 29 12:10:14 2022 +0000"
      },
      "committer": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Apr 29 12:10:14 2022 +0000"
      },
      "message": "Remove duplicate allowlist entries for Bluetooth\n\nThese allowlist entries are already bundled in the Bluetooth apex.\n\nTest: boots\nBug: 230449777\nChange-Id: Ife22ecbfd36882720e9059d8144cdaf6c410268c\n"
    },
    {
      "commit": "df6c116b9a681c752f6dcbc2ffe1bbd500e246bb",
      "tree": "cf011fdba8d54b0632b2b89f76d5b812bd422a47",
      "parents": [
        "a63651d43e15856fc26a0dacb77f479965cc621a"
      ],
      "author": {
        "name": "Max Zhang",
        "email": "zhangmax@google.com",
        "time": "Tue Apr 19 06:57:40 2022 +0000"
      },
      "committer": {
        "name": "Gaëtan Delcroix",
        "email": "delcroix@google.com",
        "time": "Wed Apr 27 09:24:53 2022 +0000"
      },
      "message": "Complete Reference RCU keylayout with all buttions\n\nReference RCU has 2 models with different numbers of keys.\nAnd some keys have multiple HID key IDs used by different\npartners.\nThis change lists all possible HID key values of reference RCU.\n\nChange-Id: I9c3c93c17701f39b415989ccf066744fb314d29c\nbug: 229692045\ntest: manually tested on tm-dev build\n"
    },
    {
      "commit": "88d29695860f90fbd7fbf0cab07237b7ce771cab",
      "tree": "9fc29bdb48d1e0e40238dcc2eb726eef81289fd6",
      "parents": [
        "a52e653202676c9e397367d98338c7db9c2b8352",
        "067613587089f47a4190796a896183aa0dba2f41"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Mon Apr 25 10:56:38 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 25 10:56:38 2022 +0000"
      },
      "message": "Merge \"Add TaskFragmentOrganizer#onActivityReparentToTask\" into tm-dev am: 0b91be7283 am: 0676135870\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17817304\n\nChange-Id: I44fd3e54bc9e0f786df4bf3f7873ac12135cd819\nIgnore-AOSP-First: this is an automerge\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9e08260cce7ea6ab24407718cf8e92893bbcd724",
      "tree": "b022938da1cba6a3d055f8b703160e6087616c8d",
      "parents": [
        "701b3f759c8efc7515b2b24386a44f81f1dfee97"
      ],
      "author": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Mon Apr 18 17:28:35 2022 +0800"
      },
      "committer": {
        "name": "Chris Li",
        "email": "lihongyu@google.com",
        "time": "Fri Apr 22 17:36:02 2022 +0800"
      },
      "message": "Add TaskFragmentOrganizer#onActivityReparentToTask\n\nWhen the activity exits PiP and is reparented to the original Task, the\norganizer should handle it as a new launch.\n\nBug: 225371112\nTest: atest WmTests:TaskFragmentTest\nTest: atest WmTests:TaskFragmentOrganizerControllerTest\nChange-Id: Ia7e32e995a35e167b0d76e701c972b269ae068cc\n"
    },
    {
      "commit": "5deb763e687bb702fdb1f52603a4341686dfa3ad",
      "tree": "0415c12560e45a222b65ed5c93e18d24881506d3",
      "parents": [
        "8116d48598fddc51e9779b2438a023eb607a452e"
      ],
      "author": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Apr 15 21:17:18 2022 +0800"
      },
      "committer": {
        "name": "Riddle Hsu",
        "email": "riddlehsu@google.com",
        "time": "Fri Apr 15 21:19:24 2022 +0800"
      },
      "message": "Do not reset surface for forced layout\n\nIn general this removes commit b2e3780. Because since rotation\nis a part of configuration, it is enough to redraw according to\nthe configuration change.\n\nOtherwise because forceRelayout is also used for syncRedraw,\nthat will cause to drop pre-allocated buffers and increase the\ntime of the initial frames for reallocation.\n\nBug: 229366100\nTest: ActivityRecordTests#testLandscapeSeascapeRotationByApp\nTest: Rotate 180 degree with various apps and no upside down\n      afterimage remains on the screen.\nChange-Id: I3f03f7c8674ddc4a8c0b9c0b0528816114075732\n"
    },
    {
      "commit": "9e9a9d36acd5d80ec3479522db183f39e59bc688",
      "tree": "3f186a76c20afe62dbfb53ba6d217fae94926c9f",
      "parents": [
        "246ecfd41229eac4ecb30ff02710aafd83870126",
        "fe1f5828f98213d9cf8709a45051fae3307c3ac6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 13 05:04:39 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 05:04:39 2022 +0000"
      },
      "message": "Merge \"Apply transaction when starting back nav\" into tm-dev"
    },
    {
      "commit": "43f42ced370338f4139c42a6aed3493d5ddcdb5e",
      "tree": "a61865d7b841a3fea3a017a405f7c9823d57a3e2",
      "parents": [
        "f5e3cd3ec6174e9fd6e2cec18902ad3758948a31",
        "9db4acd3420101ec698b5ae833db8d8c4fbaf5bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 13 00:51:33 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 00:51:33 2022 +0000"
      },
      "message": "Merge \"Add keylayout mapping for Xbox360 compatible controllers.\" am: e9e88881a2 am: cbd6b9bbab am: 9db4acd342\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2026303\n\nChange-Id: Id90b29c3072080c8cbc08ce26be1c92b77a80ab5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cbd6b9bbabaa9bec0ea4a1beda205d64ad33d4b6",
      "tree": "76482ae77d2fd117e64a09c90afcc7782e417d2e",
      "parents": [
        "43567ad45130bb3e8f201e1a99a03ceb4c577211",
        "e9e88881a22f5e45fd8c5b4195a941d768c8ef84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 12 23:12:30 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 12 23:12:30 2022 +0000"
      },
      "message": "Merge \"Add keylayout mapping for Xbox360 compatible controllers.\" am: e9e88881a2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2026303\n\nChange-Id: I46558bef859c120a55658afa2512494d7081677d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e9e88881a22f5e45fd8c5b4195a941d768c8ef84",
      "tree": "b3df84c69cb0800d4b0e809492697d324e3c372f",
      "parents": [
        "b1fb01e8b5d0b6e3cf9c806c387c934c959cd783",
        "8809a21668b10e159bd611374dc22d50569d85a5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 12 22:52:03 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 12 22:52:03 2022 +0000"
      },
      "message": "Merge \"Add keylayout mapping for Xbox360 compatible controllers.\""
    },
    {
      "commit": "11000cfd99065335e27aec22a07c81de7d4c7fd7",
      "tree": "8ba05e9bde60e1e72b6dfc92233a1c23afe9a99a",
      "parents": [
        "3ad3650181fcbd7b006563c0fb223a47fa6b7b1e",
        "4eaf39219ba94606d08e6dc68eda8214978ab7b9"
      ],
      "author": {
        "name": "Tyler Lacey",
        "email": "tlacey@google.com",
        "time": "Tue Apr 12 16:08:44 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 16:08:44 2022 +0000"
      },
      "message": "Merge \"When adding overlay to a task, emit an immediate inset update\" into tm-dev"
    },
    {
      "commit": "fe1f5828f98213d9cf8709a45051fae3307c3ac6",
      "tree": "94f363bb792d5d86a83610dd09821624c1955646",
      "parents": [
        "012dcb8b1a77b2c716b2053a48a1ca7124a26b5c"
      ],
      "author": {
        "name": "Vadim Caen",
        "email": "caen@google.com",
        "time": "Mon Apr 04 18:05:17 2022 +0200"
      },
      "committer": {
        "name": "Vadim Caen",
        "email": "caen@google.com",
        "time": "Tue Apr 12 13:49:02 2022 +0200"
      },
      "message": "Apply transaction when starting back nav\n\nThe transaction was not applied anymore after the refactor and the\nend of animation callback was not correctly set.\n\nBug: 228202811\nTest: com.android.server.wm.BackNavigationControllerTests#backNavInfo_HomeWhenBackToLauncher\n\nChange-Id: Id4635f2988a23ad7e214fb37739ba8dc2c394ee4\n"
    },
    {
      "commit": "efb263d1a4d2787c6cac6c1794e4e7e3aef6da39",
      "tree": "e1f62c4dc81234295a2c441f36504a6188945bc2",
      "parents": [
        "fd01ec1577de932217f789c9119a448460221fff",
        "b9438a8dce895c69c70acd5db88e307ac781a6e7"
      ],
      "author": {
        "name": "Jerry Chang",
        "email": "chenghsiuchang@google.com",
        "time": "Mon Apr 11 05:37:04 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 11 05:37:04 2022 +0000"
      },
      "message": "Merge \"Include all not occluded leaf tasks while wrapping animation target\" into tm-dev"
    },
    {
      "commit": "012dcb8b1a77b2c716b2053a48a1ca7124a26b5c",
      "tree": "e1f435c19ad440e646476cd4401e1a0dd1a685a0",
      "parents": [
        "16b3ddf421f9846d53de4fd84fc1252a7a53e26c",
        "226a5e3b6607a1c7e5f0b6e72ae6b61b8448b885"
      ],
      "author": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Fri Apr 08 12:31:26 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 12:31:26 2022 +0000"
      },
      "message": "Merge \"Changing the name densityMap-\u003edensityMapping due to framework changes\" into tm-dev"
    },
    {
      "commit": "be460cbac4506b03b16bf9df5c5135f85e56bcd6",
      "tree": "360289374834c64330d3d498137740716f2ce9ed",
      "parents": [
        "1a3b4ca6f8885762b88ddc813f867d66568a4fe6",
        "b353af038727a3ca6c553c98e4330d77d7565f84"
      ],
      "author": {
        "name": "Shan Huang",
        "email": "shanh@google.com",
        "time": "Fri Apr 08 04:07:53 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 04:07:53 2022 +0000"
      },
      "message": "Merge \"Create OnBackInvokedCallbackInfo to wrap callback and its priority.\" into tm-dev"
    },
    {
      "commit": "226a5e3b6607a1c7e5f0b6e72ae6b61b8448b885",
      "tree": "71d1bd0cda3846b7fc939b4485814dd3a668068b",
      "parents": [
        "fdf328c2b528b9239e394ebe97625568dcf3b0a3"
      ],
      "author": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Thu Apr 07 16:24:29 2022 +0200"
      },
      "committer": {
        "name": "Kriti Dang",
        "email": "kritidang@google.com",
        "time": "Thu Apr 07 16:25:49 2022 +0200"
      },
      "message": "Changing the name densityMap-\u003edensityMapping due to framework changes\n\nBug: 228268712\nTest: Tested manually\nChange-Id: I15bdf7a1bb5c1dbd4596d85d15f964bb81ceae4a\n"
    },
    {
      "commit": "b353af038727a3ca6c553c98e4330d77d7565f84",
      "tree": "9b98a0b148c18d667a4daada84697875fd72e087",
      "parents": [
        "d0923a21976ec9946601fe4450d135510578d578"
      ],
      "author": {
        "name": "Shan Huang",
        "email": "shanh@google.com",
        "time": "Mon Mar 21 20:33:00 2022 +0000"
      },
      "committer": {
        "name": "Shan Huang",
        "email": "shanh@google.com",
        "time": "Thu Apr 07 05:11:42 2022 +0000"
      },
      "message": "Create OnBackInvokedCallbackInfo to wrap callback and its priority.\n\nMain motivation is to store a back callback\u0027s exact priority value in WM. This is required by the IME migration (ag/17076160) to compare the priority levels of IME window callback and focused window callback in BackNavigationController.\n\nThis also consolidates the WindowState#mSystemOnBackInvokedCallback and WindowState#mApplicationOnBackInvokedCallback fields into one field, as tracking two fields for one callback was error prone. We had to remember to clear the application / system field when the other field is set, and failing to do so has resulted in bugs such as b/222675481.\n\n\nBug: 224856664\nTest: atest BackNavigationControllerTest\nTest: atest WindowOnBackInvokedDispatcherTest\nTest: m -j and test back behavior throughout the system on apps that\nopted in and out.\n\nChange-Id: Ic57113610d934f33d2c9ca4cef59f39a9b87e832\n"
    },
    {
      "commit": "3ed030804664b89bfc3a97fd6594a0d345988f4f",
      "tree": "576512043f1a924637ac115ac5b7e3526a8655f9",
      "parents": [
        "4c8378aa628f3c4b4101f9b1b1abf6ec38c32f5e",
        "fafd819b671b1518f004dd88883da41972cf301f"
      ],
      "author": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Thu Apr 07 00:45:21 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 00:45:21 2022 +0000"
      },
      "message": "Merge changes from topic \"bluetooth-certificate-change\" into tm-dev\n\n* changes:\n  Make permissions Bluetooth needs role-available\n  Adding bt permissions to the priv app allowlist\n"
    },
    {
      "commit": "4eaf39219ba94606d08e6dc68eda8214978ab7b9",
      "tree": "132d2260f3971ceaf2451a33ae39670dc5752aa9",
      "parents": [
        "0340a16437e17f36f750bac23f2c976c170ae87a"
      ],
      "author": {
        "name": "Tyler Lacey",
        "email": "tlacey@google.com",
        "time": "Wed Apr 06 13:41:11 2022 +0000"
      },
      "committer": {
        "name": "Tyler Lacey",
        "email": "tlacey@google.com",
        "time": "Wed Apr 06 13:41:11 2022 +0000"
      },
      "message": "When adding overlay to a task, emit an immediate inset update\n\nTest: Manual testing no longer reproduce b/227202029\nBug: 227202029\nChange-Id: I73dd21e027c5fff66185f03d3ffd4e2f4b3f61fb\n"
    },
    {
      "commit": "a2df99e5eb11bf136f4ae0092ec7075500c2f86d",
      "tree": "5702f5c9495ee1b53874e3c6fb372f694e261b9a",
      "parents": [
        "08009d5e02ac54e26e9337851b821972667906b7",
        "7479cbc372126925c447c38ade628139264f355f"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Apr 05 02:23:55 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 02:23:55 2022 +0000"
      },
      "message": "Merge \"Allow Shell to have permission for CTS.\" into tm-dev"
    },
    {
      "commit": "0928332272359126b3d82d4890c54de321930aec",
      "tree": "c4c2ebf25ca8bd4ca7157f8398001c39a2d42842",
      "parents": [
        "29a39d8de0d3fd3b7af10c3f974fa1383fac11c3"
      ],
      "author": {
        "name": "Roopa Sattiraju",
        "email": "sattiraju@google.com",
        "time": "Tue Mar 29 21:04:51 2022 -0700"
      },
      "committer": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Mon Apr 04 16:19:54 2022 -0700"
      },
      "message": "Adding bt permissions to the priv app allowlist\n\nBUG: 226403247\nTest: build and boot\nChange-Id: I5dbe5c4a17675ee8ac6c8f24ba53b05c26c17898\n"
    },
    {
      "commit": "b061e2e60efb82647bdf1428931c145a3c0ddcb2",
      "tree": "0c897744b39302f2259783aff8fdcf6ab6a33a1b",
      "parents": [
        "a0fd4b8bbbf49e3d5de342e4479978afcdb149b2",
        "b20414b8bd2c58b8fea050778d8a5393a7df8852"
      ],
      "author": {
        "name": "Hui Wu",
        "email": "huiwu@google.com",
        "time": "Fri Apr 01 21:50:00 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 01 21:50:00 2022 +0000"
      },
      "message": "Merge \"Adds more roles to the protectionlevel\" into tm-dev"
    }
  ],
  "next": "b20414b8bd2c58b8fea050778d8a5393a7df8852"
}
