)]}'
{
  "log": [
    {
      "commit": "4ebc0fd0e8a02a2abb88acfcc1d86f5dba664b11",
      "tree": "cffc09e473f0febb4b5f9f7e17ea9caaed48e579",
      "parents": [
        "a3c6949857acb504983624b7f2e1743d86d084af",
        "988ae15e5f60c2128c3ca57670fac4926da566da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 27 08:17:15 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 27 08:17:15 2025 -0700"
      },
      "message": "Merge \"We might have delta zero when we change segment\" into main"
    },
    {
      "commit": "a3c6949857acb504983624b7f2e1743d86d084af",
      "tree": "5f65858f0bf4cbc74aaa9b32e198b79c51800501",
      "parents": [
        "46bf74905bb50df710899d3723b29facdfa504ad",
        "972517ab4e18aa29fccab3fba260ad9285c3d9d5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 27 08:13:31 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 27 08:13:31 2025 -0700"
      },
      "message": "Merge \"MM tests should fail if they produce unexpected wtf logs\" into main"
    },
    {
      "commit": "988ae15e5f60c2128c3ca57670fac4926da566da",
      "tree": "92cc48aea77a36a7a95ee9431c2e0ef36d48821a",
      "parents": [
        "972517ab4e18aa29fccab3fba260ad9285c3d9d5"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 27 13:31:54 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 27 13:37:50 2025 +0000"
      },
      "message": "We might have delta zero when we change segment\n\nThis should not produce a WTF log (or a crash in eng-build).\n\nTest: atest MotionValueTest\nBug: 420622452\nFlag: com.android.systemui.scene_container\nChange-Id: I93748b0d02fb7215874b650bf9bce9212ce4a6ab\n"
    },
    {
      "commit": "972517ab4e18aa29fccab3fba260ad9285c3d9d5",
      "tree": "36a646d4350be3e9903ca82c4a0345d0d0ad436f",
      "parents": [
        "345dac54b6aefd6ea3f7feb1daf92c043e4cb25a"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 27 13:26:15 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 27 13:26:15 2025 +0000"
      },
      "message": "MM tests should fail if they produce unexpected wtf logs\n\nIn eng-builds, some misconfiguration in a MotionValue would cause a\ncrash. However, in tests (and in production), we want animations to\nproceed even with such errors.\nWhen a test ends, we should check loggedFailures, if they were expected.\n\nTest: atest MotionValueTest\nBug: 420622452\nFlag: com.android.systemui.scene_container\nChange-Id: I640c21fde03785bd33920bb8a13b3bb866191d25\n"
    },
    {
      "commit": "46bf74905bb50df710899d3723b29facdfa504ad",
      "tree": "20d7b441b0d63220a670fad5c7d29bda0bdb7fa3",
      "parents": [
        "20bc27dff7654983d7ca417f229379d336859110",
        "0adffcb23a253426e2dc6d266093e66ef6139042"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Fri May 23 10:51:29 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 23 10:51:29 2025 -0700"
      },
      "message": "Merge \"Move coroutine tracing feature to sysprop\" into main"
    },
    {
      "commit": "20bc27dff7654983d7ca417f229379d336859110",
      "tree": "fc99f1db5f81bd5676b53568513da61de9dc2465",
      "parents": [
        "e5d3f4661cea3c64756b7a129e3c692fba01fc20",
        "a444ffb114fa59611489a1746ca84cb369d31e55"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 23 06:42:52 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 23 06:42:52 2025 -0700"
      },
      "message": "Merge \"MM Remove unused libraries in mechanics-compose lib\" into main"
    },
    {
      "commit": "0adffcb23a253426e2dc6d266093e66ef6139042",
      "tree": "5165de52357d8b98f88629c17422189c438620d4",
      "parents": [
        "345dac54b6aefd6ea3f7feb1daf92c043e4cb25a"
      ],
      "author": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Tue May 13 20:48:52 2025 -0700"
      },
      "committer": {
        "name": "Peter Kalauskas",
        "email": "peskal@google.com",
        "time": "Thu May 22 12:15:34 2025 -0700"
      },
      "message": "Move coroutine tracing feature to sysprop\n\nTest: atest tracinglib-robo-test\nTest: setprop persist.debug.coroutine_tracing 1\nFlag: com.android.systemui.coroutine_tracing\nBug: 289353932\nChange-Id: I85a6cc8b11328edc9cd509d680cf1592559919fa\n"
    },
    {
      "commit": "e5d3f4661cea3c64756b7a129e3c692fba01fc20",
      "tree": "81f25574261b620e820e5816ff8f4cf2e66264aa",
      "parents": [
        "26b57af655ae7dc5bb6fd00fbb81dfc71dc94d58",
        "d8e73b5cbaad04b6c5ee9916e5683caab1cefb9b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 22 09:56:32 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 22 09:56:32 2025 -0700"
      },
      "message": "Merge \"Fix semantics missing on segment non-`CanBeLastSegment` segments\" into main"
    },
    {
      "commit": "26b57af655ae7dc5bb6fd00fbb81dfc71dc94d58",
      "tree": "1cd7f1b7d12d40f45c5a72850c18b4d14d4976f6",
      "parents": [
        "a07742d160d4525d141c58473b0a58c2cebb2ec3",
        "10145c115c0098a0d9e25074a5c94baeb0248877"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 22 08:06:34 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 22 08:06:34 2025 -0700"
      },
      "message": "Merge \"Add utility to print debug version of a motion spec\" into main"
    },
    {
      "commit": "d8e73b5cbaad04b6c5ee9916e5683caab1cefb9b",
      "tree": "2ddae24ef1d7d251812c2a33f4f379bf6722ff73",
      "parents": [
        "10145c115c0098a0d9e25074a5c94baeb0248877"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 22 15:39:59 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 22 15:39:59 2025 +0200"
      },
      "message": "Fix semantics missing on segment non-`CanBeLastSegment` segments\n\nTo avoid the mistake in other places, merged `applySemantics` into\n`toBreakpointImpl`\n\nBug: 383631946\nFlag: com.android.wm.shell.enable_magnetic_split_divider\nTest: DirectionalBuilderImplTest\nChange-Id: Ibe0abf8c5f37f559e3b07a1c8feb985a396a46f2\n"
    },
    {
      "commit": "10145c115c0098a0d9e25074a5c94baeb0248877",
      "tree": "ab06c95074d28feab9df200437eebdd3b0d9fe94",
      "parents": [
        "4df44ec76aff71b270555fa947b9906560a71236"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 22 15:09:14 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 22 15:09:43 2025 +0200"
      },
      "message": "Add utility to print debug version of a motion spec\n\nTest: MotionSpecDebugFormatterTest\nFlag: EXEMPT Not used in production\nBug: 391553479\nChange-Id: I4e66fbf54dfbf1256e2dbefa0e6d1d940eee5b35\n"
    },
    {
      "commit": "a444ffb114fa59611489a1746ca84cb369d31e55",
      "tree": "b303ae447cf49c26f37495ff07e73529ccbe08df",
      "parents": [
        "345dac54b6aefd6ea3f7feb1daf92c043e4cb25a"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Thu May 22 09:47:34 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Thu May 22 11:31:08 2025 +0000"
      },
      "message": "MM Remove unused libraries in mechanics-compose lib\n\nTest: Manually verified\nBug: 410524175\nFlag: com.android.systemui.scene_container\nChange-Id: I5d5fe0237005d6260dfce8dcb7faa25ef004772b\n"
    },
    {
      "commit": "a07742d160d4525d141c58473b0a58c2cebb2ec3",
      "tree": "1c65089f7e0fee5f9bece78d5a2909822c728f0b",
      "parents": [
        "4df44ec76aff71b270555fa947b9906560a71236",
        "f222a38a62892fa8b42c0eb751288dc113982394"
      ],
      "author": {
        "name": "Kshitij Gupta",
        "email": "kshitijmg@google.com",
        "time": "Thu May 22 02:18:24 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 22 02:18:24 2025 -0700"
      },
      "message": "Merge \"tracinglib: Update traced runBlocking with default parameters\" into main"
    },
    {
      "commit": "4df44ec76aff71b270555fa947b9906560a71236",
      "tree": "c0fab2a04372986413b4f2b5fa5c0fcd33f74b77",
      "parents": [
        "76e6046fef7ebc11720a4bd020db3492052a057e",
        "57672823595f1da45b8ab03f78f4ecc4691f631d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 21 11:42:08 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 21 11:42:08 2025 -0700"
      },
      "message": "Merge \"Reland cache snow flakes and reduce snow layers It can save ~30% GPU power\" into main"
    },
    {
      "commit": "76e6046fef7ebc11720a4bd020db3492052a057e",
      "tree": "a43628b62907994e1a7956e2a0c885393435498a",
      "parents": [
        "bc88c9f344dd702b3367a54eeccecf58a0dfc1aa",
        "8bc659eb372fc9a5e68a5df812b044988a094449"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 21 10:53:03 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 21 10:53:03 2025 -0700"
      },
      "message": "Merge \"Fix rain weather effect is not showing up after select\" into main"
    },
    {
      "commit": "bc88c9f344dd702b3367a54eeccecf58a0dfc1aa",
      "tree": "06f194d67254f90ef0c3c73881b0b5fd04d7bf47",
      "parents": [
        "345dac54b6aefd6ea3f7feb1daf92c043e4cb25a",
        "975d38a735a7b0ad2adf1d12fc7a951dd2fd920f"
      ],
      "author": {
        "name": "Brandon Dayauon",
        "email": "brdayauon@google.com",
        "time": "Wed May 21 10:14:00 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 21 10:14:00 2025 -0700"
      },
      "message": "Merge \"Null check bitmapInfo in fastBitmapDrawable\" into main"
    },
    {
      "commit": "57672823595f1da45b8ab03f78f4ecc4691f631d",
      "tree": "3f405273e883aa350470145b28b686adec05ee45",
      "parents": [
        "38733e8cc6e20c8c09f9fc775f87a15162587ae0"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Mon May 12 21:57:56 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Wed May 21 17:03:03 2025 +0000"
      },
      "message": "Reland cache snow flakes and reduce snow layers\nIt can save ~30% GPU power\n\nTest: manual test, attached screen recording as comment#6 of b/393240440\nBug: 393240440\nFlag: EXEMPT, magic portrait only\nChange-Id: Ib8e30a8bd0068e065508155e0191650665fe3b65\n"
    },
    {
      "commit": "975d38a735a7b0ad2adf1d12fc7a951dd2fd920f",
      "tree": "27815c1c82098c3e5df80f607ba002f61691cc52",
      "parents": [
        "6800a830a6b435fa5154b4d596ad34a70ce69725"
      ],
      "author": {
        "name": "Brandon Dayauon",
        "email": "brdayauon@google.com",
        "time": "Mon May 19 11:36:49 2025 -0700"
      },
      "committer": {
        "name": "Brandon Dayauon",
        "email": "brdayauon@google.com",
        "time": "Tue May 20 08:05:22 2025 -0700"
      },
      "message": "Null check bitmapInfo in fastBitmapDrawable\n\nThis line during drawInternal crashes as the bitmapInfo is apparently null. Since there are no new repros filed and I can\u0027t repro this issue, this change is made to add null checks incase the root cause isn\u0027t fixed(may have been fixed since there has no repros for two months).\n\nbug: 404578798\nTest: manual -presubmit\nFlag: EXEMPT null check\nChange-Id: Ib8c60c5aa8faacd334905bd7088a5539904fcdc3\n"
    },
    {
      "commit": "345dac54b6aefd6ea3f7feb1daf92c043e4cb25a",
      "tree": "e1a7ea3cef08d1e31e983a6054a6cafff5b9a58e",
      "parents": [
        "4876737b6ad03a3561945d05d86c6aa69caffbd9",
        "5903a73c638dc19684eae79d65e21ec3d7dd1c8c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon May 19 17:06:35 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 17:06:35 2025 -0700"
      },
      "message": "Merge \"Revert \"Cache snow flakes and reduce snow layers\"\" into main"
    },
    {
      "commit": "5903a73c638dc19684eae79d65e21ec3d7dd1c8c",
      "tree": "988ba10ba2578bcbbb9bd7fb95b9afeea688e5ac",
      "parents": [
        "1225f49d1e22feb82ef043e38789ed02456c7deb"
      ],
      "author": {
        "name": "Liana Kazanova (xWF)",
        "email": "lkazanova@google.com",
        "time": "Mon May 19 15:36:22 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 15:36:22 2025 -0700"
      },
      "message": "Revert \"Cache snow flakes and reduce snow layers\"\n\nThis reverts commit 1225f49d1e22feb82ef043e38789ed02456c7deb.\n\nReason for revert: DroidMonitor: Potential culprit for http://b/418838562#comment3 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\n\nFix: 418838562\nChange-Id: Ia16b77d1106af0693a19f0af4255091a8994b852\n"
    },
    {
      "commit": "4876737b6ad03a3561945d05d86c6aa69caffbd9",
      "tree": "d53f69f51b3da8488d6da5ed971bc616def98a39",
      "parents": [
        "2d99467d1764c33cee903c28138d1f52a5a2391c",
        "1225f49d1e22feb82ef043e38789ed02456c7deb"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Mon May 19 08:59:50 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 08:59:50 2025 -0700"
      },
      "message": "Merge \"Cache snow flakes and reduce snow layers It can save ~30% GPU power\" into main"
    },
    {
      "commit": "1225f49d1e22feb82ef043e38789ed02456c7deb",
      "tree": "fb60279b7fd0ee6a19416973bae1a54bb3c05b00",
      "parents": [
        "38733e8cc6e20c8c09f9fc775f87a15162587ae0"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Mon May 12 21:57:56 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Mon May 19 15:59:03 2025 +0000"
      },
      "message": "Cache snow flakes and reduce snow layers\nIt can save ~30% GPU power\n\nTest: manual test, attached screen recording as comment#6 of b/393240440\nBug: 393240440\nFlag: EXEMPT, magic portrait only\n\nChange-Id: Ie095fa754d061f7f232156d282e5d370b8551e50\n"
    },
    {
      "commit": "2d99467d1764c33cee903c28138d1f52a5a2391c",
      "tree": "e1a7ea3cef08d1e31e983a6054a6cafff5b9a58e",
      "parents": [
        "e9eb227ecf6f3caa2543fa06a063d6452518b4a9"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Wed May 07 16:12:15 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Mon May 19 09:54:11 2025 +0000"
      },
      "message": "[MM] Add Modifier.fadeContentReveal()\n\nTest: todo\nBug: 410524175\nFlag: com.android.systemui.scene_container\nChange-Id: Ide524914a9d03b634192bffcafeadc63128cd99b\n"
    },
    {
      "commit": "e9eb227ecf6f3caa2543fa06a063d6452518b4a9",
      "tree": "94e998722a7e03ac72fc268d5bee94d6fd0d7388",
      "parents": [
        "f61abdaf30c0403f421a6f44cac92b991b9229cc"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Wed May 07 16:11:47 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Mon May 19 09:54:11 2025 +0000"
      },
      "message": "[MM] Add Modifier.verticalTactileSurfaceReveal()\n\nThis component remains hidden until its target height meets a minimum\nthreshold. At that point, it reveals itself by animating its height from\n0 to the current target height.\n\nTest: atest RevealOnThresholdTest\nBug: 410524175\nFlag: com.android.systemui.scene_container\nChange-Id: I67f3bacc6ad635ede99df5a26233bb114f88e99c\n"
    },
    {
      "commit": "f61abdaf30c0403f421a6f44cac92b991b9229cc",
      "tree": "875a38983e66d69a5de812eef2b287afec83033e",
      "parents": [
        "609bcdfa6f870a7218aea4ff45cc46bc0351183a",
        "9f734abbfa09e4365075943e321f09060c99c178"
      ],
      "author": {
        "name": "Kean Mariotti",
        "email": "keanmariotti@google.com",
        "time": "Mon May 19 02:05:25 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 02:05:25 2025 -0700"
      },
      "message": "Merge \"viewcapture tracing: flag cleanup\" into main"
    },
    {
      "commit": "9f734abbfa09e4365075943e321f09060c99c178",
      "tree": "32fcf420ded4acdee82d9da9f531c3f9dcaf42b8",
      "parents": [
        "4fb8e634f42f7c697da3904ee87f1e0206361154"
      ],
      "author": {
        "name": "Kean Mariotti",
        "email": "keanmariotti@google.com",
        "time": "Sun May 18 13:22:07 2025 +0000"
      },
      "committer": {
        "name": "Kean Mariotti",
        "email": "keanmariotti@google.com",
        "time": "Sun May 18 13:37:14 2025 +0000"
      },
      "message": "viewcapture tracing: flag cleanup\n\nFlag: EXEMPT flag cleanup\nBug: 323166383\nTest: presubmit\nChange-Id: I170ae04a76210be9e76040b16b5768ae47910ac6\n"
    },
    {
      "commit": "8bc659eb372fc9a5e68a5df812b044988a094449",
      "tree": "12f2ad97e335b87e08a6f95b5403bcd28885ed26",
      "parents": [
        "38733e8cc6e20c8c09f9fc775f87a15162587ae0"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Fri May 16 21:16:35 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Fri May 16 21:19:07 2025 +0000"
      },
      "message": "Fix rain weather effect is not showing up after select\n\nBug: 418198414\nFlag: EXEMPT, Magic Portrait only\nTest: manual test selecting rain effects in Magic Portrait editor\n\nChange-Id: I79ec79e4b7164bfb5c06b18c6aa74daab9d62c41\n"
    },
    {
      "commit": "609bcdfa6f870a7218aea4ff45cc46bc0351183a",
      "tree": "b3912d579ca1eeb5fb6c50956559f4523472ad6f",
      "parents": [
        "d4ba09a994522c3a9a6318c48d4995b90e078e33",
        "76675d9a4174eefb2c4b48fe3f36adf15a6c97ec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 16 09:00:51 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 16 09:00:51 2025 -0700"
      },
      "message": "Merge \"Allow recording the spring state in tests\" into main"
    },
    {
      "commit": "76675d9a4174eefb2c4b48fe3f36adf15a6c97ec",
      "tree": "5e1ebf54770bddb2cf2a2f3e0cd48ffd1a20d410",
      "parents": [
        "0a819fd66b0e82dfe8bd2666902424c421daab9b"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 16 16:15:06 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 16 16:15:06 2025 +0200"
      },
      "message": "Allow recording the spring state in tests\n\nAs part of this work, extracted the capture in a MotionTest-idiomatic\nCaptureTimeSeriesFn. That allowed to fold the\n`semantics: List\u003cCapturedSemantics\u003c*\u003e\u003e` into the same capture function,\n\nBug: 379248269\nTest: existing unit tests\nFlag: EXEMPT TEST_ONLY\nChange-Id: I597fe2b79d379c6dfaa71df9ac437cbda3f1c637\n"
    },
    {
      "commit": "d4ba09a994522c3a9a6318c48d4995b90e078e33",
      "tree": "f2cbc5c351d4e3eee49487f4cbb01e40e1e518f6",
      "parents": [
        "912d5655288bbe4ab430650c7a1e9858bf5db2c0",
        "0a819fd66b0e82dfe8bd2666902424c421daab9b"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 16 04:02:21 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 16 04:02:21 2025 -0700"
      },
      "message": "Merge \"Rename constantValue* into fixedValue*\" into main"
    },
    {
      "commit": "912d5655288bbe4ab430650c7a1e9858bf5db2c0",
      "tree": "e2cc61cdb15ad51e9cd9189c93b8d57062924171",
      "parents": [
        "ff67aee7a73969e6f975dd25f5cafe40254a1bdc",
        "2b1c406bca92684e1ea782f3a038dcaf697b5329"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 15 19:01:47 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 19:01:47 2025 -0700"
      },
      "message": "Merge \"Fix per-display flags propagation in flexiglass\" into main"
    },
    {
      "commit": "ff67aee7a73969e6f975dd25f5cafe40254a1bdc",
      "tree": "9055098ec5e0af5d2e133e638827a721e6c57336",
      "parents": [
        "2dbd54def63a293acfe098076aa45fbff13e0be9",
        "636bdf19cd2d1c74f0b4bd99a5a744fbb808af3e"
      ],
      "author": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Thu May 15 09:44:20 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 09:44:20 2025 -0700"
      },
      "message": "Merge \"Add a new class to notify add/remove sys decor callbacks from wm\" into main"
    },
    {
      "commit": "0a819fd66b0e82dfe8bd2666902424c421daab9b",
      "tree": "5b1d5651cbbd8535820f4101ccbf2c7aed9cd794",
      "parents": [
        "2dbd54def63a293acfe098076aa45fbff13e0be9"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 15 15:11:55 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 15 15:11:55 2025 +0200"
      },
      "message": "Rename constantValue* into fixedValue*\n\nThese are used interchangeably, for readability we should only use one\nof the names.\n\nBug: 417698047\nTest: existing unit tests\nFlag: EXEMPT Strict mechanical refactor (pun intended :)\nChange-Id: If75cc560d90a016f2ec660c96f221ee893bf6adb\n"
    },
    {
      "commit": "2b1c406bca92684e1ea782f3a038dcaf697b5329",
      "tree": "2f7fc4a0c124f8007866c0a2d5adcb0f384ec317",
      "parents": [
        "da6cc4d5e4a5861bfd17c145c590abe14e8f9ba3"
      ],
      "author": {
        "name": "Nicolo\u0027 Mazzucato",
        "email": "nicomazz@google.com",
        "time": "Thu May 15 10:29:41 2025 +0000"
      },
      "committer": {
        "name": "Nicolo\u0027 Mazzucato",
        "email": "nicomazz@google.com",
        "time": "Thu May 15 10:29:41 2025 +0000"
      },
      "message": "Fix per-display flags propagation in flexiglass\n\nFlags were only kept up to date for the default display, causing elements relying on them to broken on external displays (e.g. taskbar visibility)\n\nBug: 362719719\nBug: 417921986\nTest: SceneContainerStartableTest\nFlag: com.android.systemui.shade_window_goes_around\nChange-Id: If769a4a26c7a0aff1e53f7d0b5e0c45b4f2be526\n"
    },
    {
      "commit": "2dbd54def63a293acfe098076aa45fbff13e0be9",
      "tree": "819fc0fad050ddeeaf46b70ff231ea6a3fb8d195",
      "parents": [
        "4fb8e634f42f7c697da3904ee87f1e0206361154"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed May 14 15:35:26 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu May 15 10:40:30 2025 +0200"
      },
      "message": "Nudge immediately when we reach a breakpoint\n\nWith the last change, the velocity might have been absorbed in\n`calculateUpdatedState` already, especially with a stiff spring. Now,\nfolding that together with the first delta animation nudge.\n\nBug: 416691631\nTest: Unit tests\nFlag: com.android.systemui.scene_container\nChange-Id: I7f11ea70f6eb71951335f9b100e46fba75e29b9a\n"
    },
    {
      "commit": "636bdf19cd2d1c74f0b4bd99a5a744fbb808af3e",
      "tree": "ce45507021c3a17344efce0256fcc75d4fba3b99",
      "parents": [
        "da6cc4d5e4a5861bfd17c145c590abe14e8f9ba3"
      ],
      "author": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Fri May 09 15:32:23 2025 +0000"
      },
      "committer": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Wed May 14 13:46:04 2025 +0000"
      },
      "message": "Add a new class to notify add/remove sys decor callbacks from wm\n\nBug: 412580790\nTest: DisplayRepositoryTest\nFlag: com.android.window.flags.enable_sys_decors_callbacks_via_wm\nChange-Id: I1f574479a19656d913bfe18094ebd054852c82f5\n"
    },
    {
      "commit": "4fb8e634f42f7c697da3904ee87f1e0206361154",
      "tree": "14d4a0395f5baf3a9e5f911c9c273e61090690c5",
      "parents": [
        "d9f1302b9edbccb72cc78454542085e7bc94b327"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue May 13 16:41:11 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed May 14 14:44:34 2025 +0200"
      },
      "message": "Allow MagneticEffect to be used in reverse as well\n\nBug: 406969900\nTest: Unit tests\nFlag: EXEMPT not yet used in production\nChange-Id: I0c69251a153b62557148a8245a2e18dd05a47d65\n"
    },
    {
      "commit": "d9f1302b9edbccb72cc78454542085e7bc94b327",
      "tree": "ea7d5d8b4446c814610baaf9ae01e3a4f5bfeb3a",
      "parents": [
        "da6cc4d5e4a5861bfd17c145c590abe14e8f9ba3"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue May 13 13:12:52 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed May 14 11:12:16 2025 +0200"
      },
      "message": "Implement support for before/after semantics and mappings.\n\nBug: 401500734\nTest: Unit tests\nFlag: EXEMPT not yet used in production\nChange-Id: I5413bca9ffacf6ed0997d714a6d5c4fe257dae3c\n"
    },
    {
      "commit": "da6cc4d5e4a5861bfd17c145c590abe14e8f9ba3",
      "tree": "147119468727657a94f55c8ef35bce8a1f66837a",
      "parents": [
        "cd9b58383016268a122a42212e95acfe99d0ad7b",
        "2a78028a5834288f5d381c6bb26696a28ab81b81"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 14 01:59:40 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 14 01:59:40 2025 -0700"
      },
      "message": "Merge \"Reapply \"[MM] Nudge immediately when we reach a breakpoint\" 1/2\" into main"
    },
    {
      "commit": "2a78028a5834288f5d381c6bb26696a28ab81b81",
      "tree": "988ba10ba2578bcbbb9bd7fb95b9afeea688e5ac",
      "parents": [
        "6800a830a6b435fa5154b4d596ad34a70ce69725"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 13 12:07:30 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Tue May 13 12:15:05 2025 +0000"
      },
      "message": "Reapply \"[MM] Nudge immediately when we reach a breakpoint\" 1/2\n\nThis revert ag/33520309\nReason: Updated golden for ContentRevealTest\n\nTest: Rerun all mechanics tests\nTest: Rerun ContentRevealTest\nBug: 416691631\nBug: 417266157\nFlag: com.android.systemui.scene_container\nChange-Id: Iac9c6469180bc8f3775e63243be4693672b85c50\n"
    },
    {
      "commit": "cd9b58383016268a122a42212e95acfe99d0ad7b",
      "tree": "f016f257d2c5f44bb91bc33153807a46e640990d",
      "parents": [
        "6800a830a6b435fa5154b4d596ad34a70ce69725"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue May 13 02:03:07 2025 -0700"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue May 13 02:03:07 2025 -0700"
      },
      "message": "Adds Compose modules mechnics presubmit tests\n\nBug: 417266157\nFlag: EXEMPT TEST_ONLY\nTest: presubmit\nChange-Id: I64047bc8d6f106094b3878c2b3bd37dc79860d33\n"
    },
    {
      "commit": "6800a830a6b435fa5154b4d596ad34a70ce69725",
      "tree": "802bbfbd4a26933e1e795814102d39044f81e5e1",
      "parents": [
        "38733e8cc6e20c8c09f9fc775f87a15162587ae0",
        "ca037c0d6d68e6047b2cd9aead76b9c791f57fa8"
      ],
      "author": {
        "name": "Naresh Kumar Podishetty (xWF)",
        "email": "podishettyk@google.com",
        "time": "Tue May 13 01:34:37 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 13 01:34:37 2025 -0700"
      },
      "message": "Merge \"Revert \"[MM] Nudge immediately when we reach a breakpoint\"\" into main"
    },
    {
      "commit": "ca037c0d6d68e6047b2cd9aead76b9c791f57fa8",
      "tree": "de8aba30255fcf853e83a39113705454c2071598",
      "parents": [
        "386c486c39a776f48619a1eb3b10a87b7c74ad11"
      ],
      "author": {
        "name": "Naresh Kumar Podishetty (xWF)",
        "email": "podishettyk@google.com",
        "time": "Mon May 12 19:45:32 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 19:45:32 2025 -0700"
      },
      "message": "Revert \"[MM] Nudge immediately when we reach a breakpoint\"\n\nThis reverts commit 386c486c39a776f48619a1eb3b10a87b7c74ad11.\n\nReason for revert: \u003cDroid monitor: Likely culprit for b/417266157 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\u003e\n\nBug: 417266157\nChange-Id: I500ac7792e861eefb32829afd5ef010321c57b88\n"
    },
    {
      "commit": "38733e8cc6e20c8c09f9fc775f87a15162587ae0",
      "tree": "988ba10ba2578bcbbb9bd7fb95b9afeea688e5ac",
      "parents": [
        "386c486c39a776f48619a1eb3b10a87b7c74ad11",
        "b3e893429454e2f8c6e6f6e020ab9c714c80ec28"
      ],
      "author": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Mon May 12 15:51:39 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 15:51:39 2025 -0700"
      },
      "message": "Merge \"Create displaylib DisplaysWithDecorationsRepository that uses WindowManager callback for add/remove system decorations.\" into main"
    },
    {
      "commit": "386c486c39a776f48619a1eb3b10a87b7c74ad11",
      "tree": "7aba42c2f45a35d7d0da1714e12802ad2ecdd092",
      "parents": [
        "a8085ae038d2134e8dab04162e7a45d68d263f83"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Fri May 09 13:07:06 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Mon May 12 13:57:02 2025 +0000"
      },
      "message": "[MM] Nudge immediately when we reach a breakpoint\n\nTest: Rerun all mechanics tests\nBug: 416691631\nFlag: com.android.systemui.scene_container\nChange-Id: I745d57117e94e3808c29f16c231b801711b2ba4a\n"
    },
    {
      "commit": "a8085ae038d2134e8dab04162e7a45d68d263f83",
      "tree": "de8aba30255fcf853e83a39113705454c2071598",
      "parents": [
        "11fc2857d2e48d93444b936814179f165754d84f"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 09 15:29:56 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon May 12 09:53:35 2025 +0200"
      },
      "message": "Add overdrag effect\n\nBug: 401500734\nTest: Unit tests\nFlag: EXEMPT not yet used in production\nChange-Id: Ie4200a9f5122c329905feea73403b6b70b6b2cfa\n"
    },
    {
      "commit": "11fc2857d2e48d93444b936814179f165754d84f",
      "tree": "a47b59b8a5f838acde0e6ea5b27c7010045a8ed4",
      "parents": [
        "7947810ea242b25f4093e185430a41c9e8a9f2be"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 09 15:29:11 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon May 12 09:53:35 2025 +0200"
      },
      "message": "Refactor MotionSpecBuilder and Effects to allow directionality\n\nChanges the Effect API to require specifying the placements they\nsupport. During applying the effects, access to the desired placement\nis provided again.\n\nRewrote the placement code for simplicity.\n\nBug: 401500734\nTest: Unit tests\nFlag: EXEMPT not yet used in production\nChange-Id: Ib17c9f0527206c2af1b8128e128cebf23875b2bc\n"
    },
    {
      "commit": "7947810ea242b25f4093e185430a41c9e8a9f2be",
      "tree": "a5e4b2d89edc398c781bd356906d6132c742b822",
      "parents": [
        "bddb575229242483df961583cd0e3c5a1fecaa05"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 09 15:26:26 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon May 12 09:27:23 2025 +0200"
      },
      "message": "Testing utilities for verifying timeseries in code\n\nBug: 401500734\nTest: Unit tests\nFlag: TEST_ONLY\nChange-Id: I623f9d413d671e184dbcd0e49832b763cbac9f97\n"
    },
    {
      "commit": "bddb575229242483df961583cd0e3c5a1fecaa05",
      "tree": "a6cba2ba734a2d8fb7f3b367ccd3436e09ae0332",
      "parents": [
        "47cb56a5a6740d2979f63e944f7af058b5a007d2",
        "36cba118c5bffaa6c5592878f918d3cc65160854"
      ],
      "author": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Fri May 09 16:09:32 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 09 16:09:32 2025 -0700"
      },
      "message": "Merge \"Move widget picker directory to be under launcher3\" into main"
    },
    {
      "commit": "47cb56a5a6740d2979f63e944f7af058b5a007d2",
      "tree": "782bc019eabeff11c46ebc5539cc08b7b6f0d3a7",
      "parents": [
        "9705c430ee551826698520365162a95bf90018cb",
        "793d9772a92331110f226a99cb7fd861beecc119"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 09 12:54:17 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 09 12:54:17 2025 -0700"
      },
      "message": "Merge \"Cache snow accumulation\" into main"
    },
    {
      "commit": "9705c430ee551826698520365162a95bf90018cb",
      "tree": "8cc2f8372dfff8d0dec407eb0f7f5dfebdd85c9a",
      "parents": [
        "679332226a9023b0f2389f707823ea8f5a438555",
        "d13e70bd62cd1368084778d454bdffb7daecf61f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 09 11:35:58 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 09 11:35:58 2025 -0700"
      },
      "message": "Merge \"[MM] MotionSpecBuilder resets maxLimitSemantics during last iteration\" into main"
    },
    {
      "commit": "679332226a9023b0f2389f707823ea8f5a438555",
      "tree": "d9d460eacd17e760e019ae6cfbfd11f27f74ad9c",
      "parents": [
        "17c37a98a4644d0bc81fd7f52f7e03d9e6a8993c",
        "f9e5eb2888e88dab6b50a5b6d75f5468c5ef610e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 09 09:50:20 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 09 09:50:20 2025 -0700"
      },
      "message": "Merge \"Extract min/max breakpoint key, and add Breakpoint factory\" into main"
    },
    {
      "commit": "b3e893429454e2f8c6e6f6e020ab9c714c80ec28",
      "tree": "dfbc405366c970e9bc4df3aad63beffb2b2de086",
      "parents": [
        "17c37a98a4644d0bc81fd7f52f7e03d9e6a8993c"
      ],
      "author": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Wed Apr 30 10:38:28 2025 +0000"
      },
      "committer": {
        "name": "Ebru Kurnaz",
        "email": "ebrukurnaz@google.com",
        "time": "Fri May 09 15:36:17 2025 +0000"
      },
      "message": "Create displaylib DisplaysWithDecorationsRepository that uses WindowManager callback for add/remove system decorations.\n\nBug: 412580790\nTest: DisplayRepositoryTest\nFlag: com.android.window.flags.enable_sys_decors_callbacks_via_wm\nChange-Id: Iaec62a1de3b8f3b1581a04875b12e50966fad496\n"
    },
    {
      "commit": "f9e5eb2888e88dab6b50a5b6d75f5468c5ef610e",
      "tree": "58c5847aed71c4f64d359ea0181fb754d055cdb6",
      "parents": [
        "2acb85fa8293377f9867fb7cbd1234e15c1181a8"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 09 15:25:28 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri May 09 15:25:28 2025 +0200"
      },
      "message": "Extract min/max breakpoint key, and add Breakpoint factory\n\nThis ensures the Breakpoint.min/maxLimit are always the same objects.\n\nBug: 401500734\nTest: Unit tests\nFlag: EXEMPT Strict mechanical refactor\nChange-Id: I3b420b31ce32ae62aaccfcc8180978f3b122f417\n"
    },
    {
      "commit": "36cba118c5bffaa6c5592878f918d3cc65160854",
      "tree": "3e21baa06b1641ff8891651d0dd114ed1f678955",
      "parents": [
        "946917482d84f0cb2b73039d10c6db0607191ecc"
      ],
      "author": {
        "name": "Shamali P",
        "email": "shamalip@google.com",
        "time": "Fri May 09 12:54:48 2025 +0000"
      },
      "committer": {
        "name": "Shamali P",
        "email": "shamalip@google.com",
        "time": "Fri May 09 12:57:12 2025 +0000"
      },
      "message": "Move widget picker directory to be under launcher3\n\nBug: 408283627\nFlag: EXEMPT independent module\nTest: Unit tests\nChange-Id: I5b35684b4010e87814d3f44f07e2adccc2c62a01\n"
    },
    {
      "commit": "17c37a98a4644d0bc81fd7f52f7e03d9e6a8993c",
      "tree": "fc510130f1b298b688db9e21fe08430e02241d7d",
      "parents": [
        "2acb85fa8293377f9867fb7cbd1234e15c1181a8",
        "8a542dc57e3d3ed622efc20b81b0bb23ba302082"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 09 03:45:37 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 09 03:45:37 2025 -0700"
      },
      "message": "Merge \"Cleanup displaylib tests\" into main"
    },
    {
      "commit": "793d9772a92331110f226a99cb7fd861beecc119",
      "tree": "b06322cf744f1bb73d224201fb39feeb979f5fff",
      "parents": [
        "10e8d60cee1d94f266531ee4b9181ef475b2ed48"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Thu May 08 23:02:57 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Fri May 09 02:10:05 2025 +0000"
      },
      "message": "Cache snow accumulation\n\nPreviously, we only precalculate foreground outline, and in this change,\nwe calculate detailed snow accumulation with fluffy noise, and use R\nchannel as a throttler to react to intensity change.\n\nIt will save ~10% GPU power\n\nBug: 393240440\nTest: manual test, attached video in bug thread\nFlag: EXEMPT, Magic Portrait only\n\nChange-Id: Ie31259f58f8443122bc630cf411f3b491ca566cc\n"
    },
    {
      "commit": "2acb85fa8293377f9867fb7cbd1234e15c1181a8",
      "tree": "ce26949e4f2a559f77d781b3fc3ab9422d4227cb",
      "parents": [
        "20e1042d2bf1ff6ff75a0d7bdb025dccfabb12b5",
        "4e2331ebd910e48bdb61ad18d11a832dc1af09aa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 08 12:06:04 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 08 12:06:04 2025 -0700"
      },
      "message": "Merge \"[MM] Add mechanics-compose module 2/2\" into main"
    },
    {
      "commit": "20e1042d2bf1ff6ff75a0d7bdb025dccfabb12b5",
      "tree": "65890a31da5937f8b1a2b959018a941a9c7417f9",
      "parents": [
        "9a1b9bbb8d68696fc19a0201321f0fc8ccf1c2cb",
        "e1c1d5c8c8839e2f0db3d0c18d29ff3de8cb148a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 08 12:05:56 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 08 12:05:56 2025 -0700"
      },
      "message": "Merge \"[MM] Nudge spring only if there was a jump (discontinuity)\" into main"
    },
    {
      "commit": "d13e70bd62cd1368084778d454bdffb7daecf61f",
      "tree": "9f6e6122889b65d55474cc710fc11f8df5289738",
      "parents": [
        "4e2331ebd910e48bdb61ad18d11a832dc1af09aa"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Wed May 07 16:11:21 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Thu May 08 15:52:04 2025 +0000"
      },
      "message": "[MM] MotionSpecBuilder resets maxLimitSemantics during last iteration\n\nMotionSpecBuilder now resets maxLimitSemantics before applying the last\neffect.\n\nTest: atest MotionSpecBuilderTest\nBug: 410524175\nFlag: com.android.systemui.scene_container\nChange-Id: I12d38f0649b619fae4b56c8ffde36a8c5efce418\n"
    },
    {
      "commit": "4e2331ebd910e48bdb61ad18d11a832dc1af09aa",
      "tree": "57a2b922d6715ba41fb1116f4dacba1a9b65b211",
      "parents": [
        "e1c1d5c8c8839e2f0db3d0c18d29ff3de8cb148a"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Mon Apr 14 15:37:58 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Thu May 08 15:52:01 2025 +0000"
      },
      "message": "[MM] Add mechanics-compose module 2/2\n\nNew module for Compose specific features\n\nTest: test_gradle_build.sh\nBug: 410524175\nFlag: com.android.systemui.scene_container\nChange-Id: I94256911e0349e73a3d7ff399400b2833467a36f\n"
    },
    {
      "commit": "8a542dc57e3d3ed622efc20b81b0bb23ba302082",
      "tree": "41cb691549a624c941fb98253d3f7bd11270e104",
      "parents": [
        "946917482d84f0cb2b73039d10c6db0607191ecc"
      ],
      "author": {
        "name": "Nicolo\u0027 Mazzucato",
        "email": "nicomazz@google.com",
        "time": "Thu May 08 09:38:20 2025 +0000"
      },
      "committer": {
        "name": "Nicolo\u0027 Mazzucato",
        "email": "nicomazz@google.com",
        "time": "Thu May 08 09:38:46 2025 +0000"
      },
      "message": "Cleanup displaylib tests\n\n- Moves fakes from systemui to displaylib\n- Makes DisplayRepositoryTest use kosmos for deps\n- Adds docs to the DisplayRepositoryTest in display lib referring to the systemui test class\n- Makes the choice to duplicate pairwiseBy deliberate\n\nBug: 362719719\nBug: 401305290\nTest: DisplayRepositoryTest\nFlag: NONE - Just a cleanup of tests\nChange-Id: I98be434639d2749646d6156a83094da039130e05\n"
    },
    {
      "commit": "e1c1d5c8c8839e2f0db3d0c18d29ff3de8cb148a",
      "tree": "f4967cdf11045cacc170f83db790c19e1198a4c0",
      "parents": [
        "cf7b2e2f7c6e44cb046687da9808493bf455a2b3"
      ],
      "author": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Wed May 07 15:12:59 2025 +0000"
      },
      "committer": {
        "name": "Omar Miatello",
        "email": "omarmt@google.com",
        "time": "Thu May 08 08:59:54 2025 +0000"
      },
      "message": "[MM] Nudge spring only if there was a jump (discontinuity)\n\nWhen an unstable motion value reaches a breakpoint with a continuation\nfunction (there is no jump), we should following the target output\nrather than adding the velocity.\n\nScreenshot: go/416249374#comment2\n\nTest: atest MotionValueTest\nBug: 416249374\nFlag: com.android.systemui.scene_container\nChange-Id: Ic5e47365a8ee97b1f49098ec00ccac9263816932\n"
    },
    {
      "commit": "f222a38a62892fa8b42c0eb751288dc113982394",
      "tree": "b4132dabe2aa917b785b587a5313cf0b2d5c94b7",
      "parents": [
        "946917482d84f0cb2b73039d10c6db0607191ecc"
      ],
      "author": {
        "name": "Kshitij Gupta",
        "email": "kshitijmg@google.com",
        "time": "Wed Apr 16 13:22:49 2025 +0530"
      },
      "committer": {
        "name": "Kshitij Gupta",
        "email": "kshitijmg@google.com",
        "time": "Wed May 07 22:35:16 2025 -0700"
      },
      "message": "tracinglib: Update traced runBlocking with default parameters\n\nThis commit updates an overload for runBlockingTraced that aims to work\nas a drop-in replacement for kotlinx.coroutines.runBlocking while\ntracing its execution.\n\nThis change does the following:\n\n- Default context: Defaults to EmptyCoroutineContext, mirroring\n  runBlocking.\n- Default spanName: Defaults the lambda to `null`, checks this later\n  in `traceSection`\n- Add tests for runBlockingTraced\n\nThis allows easy tracing adoption for runBlocking calls.\n\nBug: 409734069\nFlag: EXEMPT uses traceTag - TRACE_TAG_APP\nTest: atest RunBlockingTracedTest\nChange-Id: I223ba174975a7541e08e70002af4e3c3389b142f\n"
    },
    {
      "commit": "9a1b9bbb8d68696fc19a0201321f0fc8ccf1c2cb",
      "tree": "7ad1903ac5643c3bc3a4ee0d9687964ed112feee",
      "parents": [
        "dd2a90446314b3392d442d77a2aa4013b4923bd5",
        "59c47a2805d72956715f8dd5b1384de8303e0ccc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 06 09:07:25 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 06 09:07:25 2025 -0700"
      },
      "message": "Merge \"Log Set of listener callbacks\" into main"
    },
    {
      "commit": "59c47a2805d72956715f8dd5b1384de8303e0ccc",
      "tree": "bc53990136f69e8a8f4e406f363d9eec15e2933d",
      "parents": [
        "3e86d18585e2aa819c6d0451f65c9c2b0f0592ea"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Mon May 05 14:02:28 2025 +0000"
      },
      "committer": {
        "name": "Beverly Tai",
        "email": "beverlyt@google.com",
        "time": "Mon May 05 12:12:43 2025 -0700"
      },
      "message": "Log Set of listener callbacks\n\nTest: builds\nBug: 394230633\nFlag: EXEMPT bugfix\nChange-Id: I4eab603240c82fe2e263dac8217727f05c3be1ed\n"
    },
    {
      "commit": "dd2a90446314b3392d442d77a2aa4013b4923bd5",
      "tree": "826702aa188bc448f10383dadc7f81fc5aa1d2a8",
      "parents": [
        "946917482d84f0cb2b73039d10c6db0607191ecc"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon May 05 13:31:44 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon May 05 13:31:44 2025 +0200"
      },
      "message": "Make mechanics tests depend on mechanics lib directly\n\nBug: 240432457\nTest: atest mechanics_tests\nFlag: EXEMPT build config clean up\nChange-Id: Icd61a6e1ecb232eed7c88ffc3e25d62d61ef5820\n"
    },
    {
      "commit": "946917482d84f0cb2b73039d10c6db0607191ecc",
      "tree": "d406fab11f626025a39f57304d84fadbc6892e44",
      "parents": [
        "3e86d18585e2aa819c6d0451f65c9c2b0f0592ea",
        "633d730bbfdd928fbe33a2457d04c429b9e687aa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 02 13:58:10 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 13:58:10 2025 -0700"
      },
      "message": "Merge \"Modify PowerSaveController to support adding and removing listeners out of constructor\" into main"
    },
    {
      "commit": "3e86d18585e2aa819c6d0451f65c9c2b0f0592ea",
      "tree": "3daf1f10b7ef5f32bcf307caa579fec78c5e200f",
      "parents": [
        "10e8d60cee1d94f266531ee4b9181ef475b2ed48",
        "1276a2ff868cc7d90e60e60774131ebdcabf16a4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 02 12:34:47 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 12:34:47 2025 -0700"
      },
      "message": "Merge \"Lower min sdk version for mechanics library to make it compatible with Launcher\" into main"
    },
    {
      "commit": "633d730bbfdd928fbe33a2457d04c429b9e687aa",
      "tree": "6dd58bcc579a43612b93cd704ab43dbd2207a9b2",
      "parents": [
        "10e8d60cee1d94f266531ee4b9181ef475b2ed48"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Thu May 01 23:06:41 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Fri May 02 19:23:59 2025 +0000"
      },
      "message": "Modify PowerSaveController to support adding and removing listeners out of constructor\n\nBug: 414646532\nFlag: EXEMPT, add methods\nTest: manual test and atest EngineWeatherViewModelForAppliedWallpaperTest\n\nChange-Id: I1a4167aa8e753c266127e0c86a88f97c51530190\n"
    },
    {
      "commit": "10e8d60cee1d94f266531ee4b9181ef475b2ed48",
      "tree": "501baf6f4dd028b7085cab4ca4d982e14f100903",
      "parents": [
        "c1a2201464ca2234db6b88f74c3be5ad2c9fdc66",
        "4ae0c3fb6f8f307d328c13d2d10f446fc67f3acf"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Wed Apr 30 09:46:20 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 09:46:20 2025 -0700"
      },
      "message": "Merge \"Add tolerance to FPSThrottler to avoid skipped frame when surface frame rate matches FPS limit\" into main"
    },
    {
      "commit": "c1a2201464ca2234db6b88f74c3be5ad2c9fdc66",
      "tree": "53ea4bcc6d3c44b1f6e36012e9c4424f686fd25d",
      "parents": [
        "21e72d19b25c9077fd92b957888a2f808ae4314e"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 30 13:12:46 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 30 13:33:37 2025 +0200"
      },
      "message": "Add ViewMotionBuilderContext (and material spring definitions)\n\nExposes the standard / expressive motion theme springs, by copying the\ndefinitions from the compose world.\n\nAdded a test to guarantee the tokens remain in sync with what Material\npublishes through Android.\n\nBug: 389081766\nTest: ViewMotionBuilderContextTest\nFlag: EXEMPT not yet used\nChange-Id: I60a88905f8c13805cea7ecde78367aac4aa4199d\n"
    },
    {
      "commit": "1276a2ff868cc7d90e60e60774131ebdcabf16a4",
      "tree": "810459e8889d6dbd04b57cdd23a76796dc9a98d7",
      "parents": [
        "cf7b2e2f7c6e44cb046687da9808493bf455a2b3"
      ],
      "author": {
        "name": "Pat Manning",
        "email": "patmanning@google.com",
        "time": "Wed Apr 30 11:11:18 2025 +0100"
      },
      "committer": {
        "name": "Pat Manning",
        "email": "patmanning@google.com",
        "time": "Wed Apr 30 11:11:18 2025 +0100"
      },
      "message": "Lower min sdk version for mechanics library to make it compatible with Launcher\n\nFix: 389081766\nTest: Manual.\nFlag: com.android.launcher3.enable_expressive_dismiss_task_motion\nChange-Id: I31339b3adea29405ce5749de6b2ca15d5a725ff5\n"
    },
    {
      "commit": "4ae0c3fb6f8f307d328c13d2d10f446fc67f3acf",
      "tree": "4e876df9f78b2cfa648fbcf44b180da5b59e60e8",
      "parents": [
        "cf7b2e2f7c6e44cb046687da9808493bf455a2b3"
      ],
      "author": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Tue Apr 29 00:38:47 2025 +0000"
      },
      "committer": {
        "name": "Sherry Zhou",
        "email": "yuandizhou@google.com",
        "time": "Wed Apr 30 01:12:35 2025 +0000"
      },
      "message": "Add tolerance to FPSThrottler to avoid skipped frame when surface frame rate matches FPS limit\n\nBug: 413729750\nTest: perfetto\nFlag: EXEMPT, adding tolerance\n\nChange-Id: Ia37108ca127d6a4e4c1a29e4090def506d30ccc2\n"
    },
    {
      "commit": "21e72d19b25c9077fd92b957888a2f808ae4314e",
      "tree": "82b702312f2640f9a2cd937dae964fe14fe5dd11",
      "parents": [
        "cf7b2e2f7c6e44cb046687da9808493bf455a2b3"
      ],
      "author": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Tue Apr 29 16:16:57 2025 -0700"
      },
      "committer": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Tue Apr 29 16:16:57 2025 -0700"
      },
      "message": "Add a bottom sheet with title and description on top.\n\nActs as a common structure that can be used across all three types of widget pickers.\n- full catalog -\u003e full expanded\n- single app catalog / pin widget -\u003e wraps the content until full size\n\nIn case of extra tall heights, height of sheet is capped at 2/3 size.\n\nBug: 408283627\nTest: On device; an end to end screenshot test will provide automation coverage\nFlag: EXEMPT new lib\nChange-Id: If605104bfcc096de3f04558a818e4fec1d1666ed\n"
    },
    {
      "commit": "cf7b2e2f7c6e44cb046687da9808493bf455a2b3",
      "tree": "41f2a78a6f604dba980f997456b66ad0c4aa4b45",
      "parents": [
        "92333ef4f1b95b13435751b6b281c00c5f762481",
        "c8633482b5979a43dba13433bdee812807d26191"
      ],
      "author": {
        "name": "Juan Sebastian Martinez",
        "email": "juansmartinez@google.com",
        "time": "Mon Apr 28 06:24:04 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 28 06:24:04 2025 -0700"
      },
      "message": "Merge \"[SysUI][Floaty] Add haptic effect flag.\" into main"
    },
    {
      "commit": "92333ef4f1b95b13435751b6b281c00c5f762481",
      "tree": "f5859d941da13648b58b1b4165778911e92c894d",
      "parents": [
        "5c532ab44da57205a1e76f911700dc3952ee1ea8",
        "881aebfcbb6f84dbd511a51cba904d517150fd64"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Apr 28 05:32:45 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 28 05:32:45 2025 -0700"
      },
      "message": "Merge \"Adding wm-cf tests to mechanics presubmit\" into main"
    },
    {
      "commit": "5c532ab44da57205a1e76f911700dc3952ee1ea8",
      "tree": "ce9c77b3f62bc8fbd9edd16d9428628b2cdd7285",
      "parents": [
        "68a2c201f9e350fb0ce2e7b67307e6849244fa8f",
        "b5c56845fabbdf82935947696fd5841a5eed46ed"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Apr 28 05:32:43 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 28 05:32:43 2025 -0700"
      },
      "message": "Merge \"Add SysUI tests to presubmit\" into main"
    },
    {
      "commit": "881aebfcbb6f84dbd511a51cba904d517150fd64",
      "tree": "14d733be15d998aa05ec2312c3855e104b6027aa",
      "parents": [
        "b5c56845fabbdf82935947696fd5841a5eed46ed"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon Apr 28 04:35:53 2025 -0700"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon Apr 28 04:35:53 2025 -0700"
      },
      "message": "Adding wm-cf tests to mechanics presubmit\n\nThis is another attempt on ag/33012141\n\nFlag: TEST_ONLY\nBug: 379248269\nBug: 411073293\nChange-Id: Ib80b433f8f102a6e1b386a70e4b2c7ac71b8e3fd\n"
    },
    {
      "commit": "b5c56845fabbdf82935947696fd5841a5eed46ed",
      "tree": "b1bd5e88af71720f62844e5c226e551980659245",
      "parents": [
        "3815892f05e82fe1c45f0f2b07690768c07faea7"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon Apr 28 04:35:18 2025 -0700"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon Apr 28 04:35:18 2025 -0700"
      },
      "message": "Add SysUI tests to presubmit\n\nThis rolls forward only the SysUI part or the change.\n\nWMShell will be adressed in a separate followup CL\n\n\nFlag: TEST_ONLY\nBug: 379248269\nChange-Id: I1cbf0a8fa66f7cce04bd3f10d8e42678b578b08b\n"
    },
    {
      "commit": "68a2c201f9e350fb0ce2e7b67307e6849244fa8f",
      "tree": "8a46f1ed023076a8c9953fae4ce288631bc61ae9",
      "parents": [
        "acff6f40ec5b52c41d002898a186fca5d154bbca",
        "c60c7355a6ef02cb23120c2be2352d42d9ad9385"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Mon Apr 28 03:47:38 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 28 03:47:38 2025 -0700"
      },
      "message": "Merge changes from topics \"directional_builder\", \"remove_fluent_builder\" into main\n\n* changes:\n  Remove FluentSpecBuilder\n  Add `identity` mapping to `DirectionalBuilderScope`\n  Make buildDirectionalMotionSpec match the style of `motionSpec` builder\n"
    },
    {
      "commit": "c8633482b5979a43dba13433bdee812807d26191",
      "tree": "32a26010e0c40eed8c5132d19e21e7b0fe090303",
      "parents": [
        "6d08892bc9a534c3f96c69b1393b32c97341de15"
      ],
      "author": {
        "name": "Juan Sebastian Martinez",
        "email": "juansmartinez@google.com",
        "time": "Sat Apr 26 11:32:35 2025 -0700"
      },
      "committer": {
        "name": "Juan Sebastian Martinez",
        "email": "juansmartinez@google.com",
        "time": "Sat Apr 26 14:57:36 2025 -0700"
      },
      "message": "[SysUI][Floaty] Add haptic effect flag.\n\nAdding a shared flag to control the haptic invocation effect separately.\n\nFlag: NONE adding new flag\nBug: 412325043\nTest: presubmit\nChange-Id: Ieeb8fc86b7a3fe1942e82fd6962b1c89f4cd70a7\n"
    },
    {
      "commit": "c60c7355a6ef02cb23120c2be2352d42d9ad9385",
      "tree": "fc0b98015e8d7f835cd8ebebaee3a52c44504991",
      "parents": [
        "064e7215d552bd109f30a022176fc7e5d015583e"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 24 16:58:56 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri Apr 25 11:56:48 2025 +0200"
      },
      "message": "Remove FluentSpecBuilder\n\nMigrate all references `directionalMotionSpec`. This is mostly used\nin test currently. The VerticalExpandContainerSpec usage is guarded by\nthe STL flag.\n\nBug: 406734758\nTest: Existing unit tests\nFlag: com.android.systemui.scene_container\nChange-Id: Ib441d5aeda8132d3c553a6ca541a82b2f400df21\n"
    },
    {
      "commit": "064e7215d552bd109f30a022176fc7e5d015583e",
      "tree": "f7fff3dd026b9cec1714cd90ace7d4cd5951a4c7",
      "parents": [
        "d639c1e44ca3df3709922602613b130720bf36ee"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri Apr 25 10:11:58 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri Apr 25 11:56:45 2025 +0200"
      },
      "message": "Add `identity` mapping to `DirectionalBuilderScope`\n\nThis is a common usecase for spatial effects. This will simplify\ndeleting the FluentBuilder in the next CL\n\nBug: 406734758\nTest: DirectionalBuilderImplTest\nFlag: com.android.systemui.scene_container\nChange-Id: Ide47b5a53f636cea1abb1ea5b08b178760c57e3b\n"
    },
    {
      "commit": "d639c1e44ca3df3709922602613b130720bf36ee",
      "tree": "40871621437f9c467267735b256a7c14b6d9efb0",
      "parents": [
        "917d8ee9e250756ed39108c333e2969474e761cd"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri Apr 25 10:33:05 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Fri Apr 25 11:23:14 2025 +0200"
      },
      "message": "Make buildDirectionalMotionSpec match the style of `motionSpec` builder\n\n- Move to the builder sub-package\n- create spatial/effects specific variants on MotionBuilderContext\n- remove the `build` from the name\n\nBug: 406734758\nTest: Existing unit tests\nFlag: com.android.systemui.scene_container\nChange-Id: Id36082ac52f4b1f9765dce354f62edd880f261ab\n"
    },
    {
      "commit": "acff6f40ec5b52c41d002898a186fca5d154bbca",
      "tree": "7eaa1a199a323bf69ea28d265649e3e7874c3c4d",
      "parents": [
        "072ec7cd436b12bc49fd5195d9338aada6436a0c",
        "644927b964ebae173d987f038ab957ab5f507288"
      ],
      "author": {
        "name": "Cameron Yee",
        "email": "cameronyee@google.com",
        "time": "Thu Apr 24 15:58:56 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 24 15:58:56 2025 -0700"
      },
      "message": "Merge \"Cloudy weather v1.0\" into main"
    },
    {
      "commit": "644927b964ebae173d987f038ab957ab5f507288",
      "tree": "3d992ddc3fb745bfbdd8e0883af2dc7fd9214ca7",
      "parents": [
        "6d08892bc9a534c3f96c69b1393b32c97341de15"
      ],
      "author": {
        "name": "Michel Comin Escude",
        "email": "michelcomin@google.com",
        "time": "Tue Nov 05 14:04:37 2024 -0800"
      },
      "committer": {
        "name": "Cameron",
        "email": "cameronyee@google.com",
        "time": "Thu Apr 24 21:24:50 2025 +0000"
      },
      "message": "Cloudy weather v1.0\n\nBug: 409834554\nTest: manual\nFlag: build.RELEASE_PACKAGE_MAGIC_PORTRAIT_WALLPAPERS\n\nChange-Id: Iada02d43664df3c448223f342e65c052e55ec77f\n"
    },
    {
      "commit": "072ec7cd436b12bc49fd5195d9338aada6436a0c",
      "tree": "58d1d523ac2ec50381d4813e889a82b313043748",
      "parents": [
        "917d8ee9e250756ed39108c333e2969474e761cd"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Thu Apr 24 11:14:08 2025 -0700"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Thu Apr 24 11:14:18 2025 -0700"
      },
      "message": "Adding missing aconfig flags\n\nBug: 413397835\nFlag: EXEMPT gradle\nTest: Verified mac build\nChange-Id: I15d4863644334af49f956d41a6669cb6f8448de6\n"
    },
    {
      "commit": "917d8ee9e250756ed39108c333e2969474e761cd",
      "tree": "0d24b111d71b756560b319c9cf98f6b741815354",
      "parents": [
        "bed8baaee3ac20c5ddda0f513d3b111b38ae014f",
        "e1e21b93b4ee6ad8c4d62db436a3e5958f8b357e"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 24 05:12:13 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 24 05:12:13 2025 -0700"
      },
      "message": "Merge changes I9cde0e6d,Ibb63bee5 into main\n\n* changes:\n  Make debug printing more useful\n  Implement reusable `MagneticDetach` effect\n"
    },
    {
      "commit": "e1e21b93b4ee6ad8c4d62db436a3e5958f8b357e",
      "tree": "f1c20eff4ee744298cd024cf166e16f2c795cebe",
      "parents": [
        "26104a85f22897626cdd6764b7eb383981b69082"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue Apr 22 16:41:16 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 24 12:15:13 2025 +0200"
      },
      "message": "Make debug printing more useful\n\nFlag: EXEMPT Not used in production\nBug: 391553479\nTest: Manual, inspected value during debugging\nChange-Id: I9cde0e6d18cf6604f6869e23df6bddf9bbca17d3\n"
    },
    {
      "commit": "26104a85f22897626cdd6764b7eb383981b69082",
      "tree": "6dc034583a160af0c2f829e12b0f30fc2df8f469",
      "parents": [
        "2c9cd8b16a87321ffc42f703ee2b46303ea68452"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue Apr 22 16:39:08 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 24 12:15:13 2025 +0200"
      },
      "message": "Implement reusable `MagneticDetach` effect\n\nTest: MagneticDetachTest\nFlag: EXEMPT Not yet used\nBug: 406969900\nChange-Id: Ibb63bee5ead4f8746a0fcc62df78af321fa98f03\n"
    },
    {
      "commit": "bed8baaee3ac20c5ddda0f513d3b111b38ae014f",
      "tree": "fb808a056f3298659c507b85950e4d9cb308ccfb",
      "parents": [
        "e03ed4287ac3cef8e2d2534d30de704136359a88",
        "e24e7f0a4f770a06c6113609817058d728ce479b"
      ],
      "author": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Wed Apr 23 12:35:02 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 23 12:35:02 2025 -0700"
      },
      "message": "Merge \"Update golden images (auto-generated from Scuba): invocation I33900010389739419\" into main"
    },
    {
      "commit": "e03ed4287ac3cef8e2d2534d30de704136359a88",
      "tree": "7378e21296b79ef2d69443622a1537610ac4ed8f",
      "parents": [
        "13425c543057868b0cb108e423a5136a6367b8a7",
        "b2da81a53a68cb6a387c092f0f26317e1319e333"
      ],
      "author": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Wed Apr 23 12:35:02 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 23 12:35:02 2025 -0700"
      },
      "message": "Merge \"Add a scrollable floating toolbar to display the featured / browse tabs\" into main"
    },
    {
      "commit": "13425c543057868b0cb108e423a5136a6367b8a7",
      "tree": "110ad847805a3a229e3618c3169ee113568caa6f",
      "parents": [
        "247f51f11854fb47adf9a863d15082d660850219",
        "d4cd80c07ac0ce6d40ee47a9b61f1e122c201421"
      ],
      "author": {
        "name": "Jeremy Sim",
        "email": "jeremysim@google.com",
        "time": "Wed Apr 23 11:45:57 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 23 11:45:57 2025 -0700"
      },
      "message": "Merge \"Add some @Jvm annotations for GestureContext and MotionValue\" into main"
    },
    {
      "commit": "b2da81a53a68cb6a387c092f0f26317e1319e333",
      "tree": "8f0cc5903908edd6f0eb6141fa13dbc8686ffbe6",
      "parents": [
        "6d08892bc9a534c3f96c69b1393b32c97341de15"
      ],
      "author": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Wed Apr 23 10:16:53 2025 -0700"
      },
      "committer": {
        "name": "Shamali Patwa",
        "email": "shamalip@google.com",
        "time": "Wed Apr 23 10:16:53 2025 -0700"
      },
      "message": "Add a scrollable floating toolbar to display the featured / browse tabs\n\n- Scrollable such that the selected tab is brought to center of visible area\n- Supports longer titles (See b/408470352 for conversation with material3)\n- Selected tab show prefix icon\n- Wraps content when tabs are small\n- At max goes 348dp wide\n\nBug: 408283627\nTest: Screenshot test\nFlag: EXEMPT new library\nChange-Id: I886e43fb8fda351ecb7e6acd6699eabd28a560df\n"
    },
    {
      "commit": "247f51f11854fb47adf9a863d15082d660850219",
      "tree": "6851354d140b55f500ec989ae65e3e8c060607d9",
      "parents": [
        "2c9cd8b16a87321ffc42f703ee2b46303ea68452",
        "ff6f95519c59b938cd5223e24b21569dfd9bc6a5"
      ],
      "author": {
        "name": "Andrew Xu",
        "email": "andrewxu@google.com",
        "time": "Wed Apr 23 09:26:16 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 23 09:26:16 2025 -0700"
      },
      "message": "Merge \"Fix disappearance of the QS overlay contents\" into main"
    },
    {
      "commit": "2c9cd8b16a87321ffc42f703ee2b46303ea68452",
      "tree": "ef01e9d14b4ca1e15de67996419f488c16ee02e7",
      "parents": [
        "3c812619bd9981139192fbc5aab19b5f08b75df8"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Tue Apr 22 10:31:01 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 23 15:46:44 2025 +0200"
      },
      "message": "use `runMonotonicClockTest` in `ComposeMotionValueToolkit`\n\n- This significantly speeds up tests, compared to launching a compose\n  activity for every test.\n- The duplicate last frame is removed, requiring a golden update\n- Compose and View based versions do now create the exact same goldens.\n\nTest: Existing unit test\nFlag: EXEMPT TEST_ONLY\nBug: 409930448\nChange-Id: Ia416f9528254073fe61906762adbccabd73b7608\n"
    },
    {
      "commit": "3c812619bd9981139192fbc5aab19b5f08b75df8",
      "tree": "ff3eab309d2fb5a4077d4891da5287db90ba2da7",
      "parents": [
        "86c41ff7eaa08ff2ec5f1c4111c4789ea97c331f"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 17 15:49:19 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 23 15:46:43 2025 +0200"
      },
      "message": "Common `MotionValueToolkit` for compose- and view-based MotionValues\n\n- The [ViewMotionValueToolkit] migrates away from using the ActivityScenarioRule, making tests much faster to exectue\n- The output is shifted one frame earlier, matching what the compose version does (required golden updates)\n\nTest: Existing unit test\nFlag: EXEMPT TEST_ONLY\nBug: 409930448\nChange-Id: I502490258d6e191cb18ec17ffbe53ab85fc54001\n"
    },
    {
      "commit": "86c41ff7eaa08ff2ec5f1c4111c4789ea97c331f",
      "tree": "c4c5ee52040e5b600e6878245a2a9ea9aa76b0b0",
      "parents": [
        "4b6c572846c911257d0c09bf07c4dbfe352dcbf0"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Thu Apr 17 09:46:01 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 23 15:46:43 2025 +0200"
      },
      "message": "Move mechanics test utilities in the new testing library\n\nTest: Existing unit test\nFlag: EXEMPT TEST_ONLY\nBug: 409930448\nChange-Id: Id8161d7c03f64b19339b0e3b2e214c0eb17bdd3e\n"
    },
    {
      "commit": "4b6c572846c911257d0c09bf07c4dbfe352dcbf0",
      "tree": "11c65f6d371fd76ffd69e509d6c7ae8c752b65c9",
      "parents": [
        "a2d9f56dbe3f1de619626e52de37c752bd22a0b2"
      ],
      "author": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 16 16:29:54 2025 +0200"
      },
      "committer": {
        "name": "Mike Schneider",
        "email": "michschn@google.com",
        "time": "Wed Apr 23 15:46:43 2025 +0200"
      },
      "message": "`MotionSpecBuilder` to allow composing motion specs from behaviors.\n\nTest: MotionSpecBuilderTest.kt\nFlag: EXEMPT not yet used\nBug: 401500734\nChange-Id: I761996a99d100c048f344ffff75cea64968664e0\n"
    }
  ],
  "next": "ff6f95519c59b938cd5223e24b21569dfd9bc6a5"
}
