)]}'
{
  "log": [
    {
      "commit": "2d5ba921956704d108f8893b87f80f4633a1165c",
      "tree": "f9245461f12afd6fa3b08f36311cd384a40220d0",
      "parents": [
        "d129f1825d3027ca41bfb278757a6a3263c872f3",
        "19f0b98a212892ab05a1a5832e6f2b7f336a0145"
      ],
      "author": {
        "name": "Jack Wu",
        "email": "wjack@google.com",
        "time": "Mon Mar 04 05:05:08 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 04 05:05:08 2024 +0000"
      },
      "message": "Merge \"Fix BatteryService enum inconsistent with BatteryManager\" into main am: 5905aa30cf am: 19f0b98a21\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2982984\n\nChange-Id: I541962bc2783734d9848263683c0bb5ac809c62f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "19f0b98a212892ab05a1a5832e6f2b7f336a0145",
      "tree": "7c40388deab475994927b8d345a776c77f7b91da",
      "parents": [
        "a7b5bdd33bde1509a0bd1a2087a46994d1badd54",
        "5905aa30cf07938dcc298c4fe7b0f2d891ea35c7"
      ],
      "author": {
        "name": "Jack Wu",
        "email": "wjack@google.com",
        "time": "Mon Mar 04 04:24:03 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 04 04:24:03 2024 +0000"
      },
      "message": "Merge \"Fix BatteryService enum inconsistent with BatteryManager\" into main am: 5905aa30cf\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2982984\n\nChange-Id: I85e98370a76786bc11e58b87b66dfa15bbe5df89\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d129f1825d3027ca41bfb278757a6a3263c872f3",
      "tree": "97f1222ea694690964f1291aa8cba9a5c177b6f9",
      "parents": [
        "2e9dd873ec9547f45b3aa89f98223141900754aa",
        "bcc90eeac286323fb2d53cf3b6b505a552ac2b7e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Mar 01 02:03:48 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 02:03:48 2024 +0000"
      },
      "message": "Merge \"Reorganize surfaceflinger_flags aconfig\" into main"
    },
    {
      "commit": "7db0d3481edf72d8bd8bde8750a4b61c348c7273",
      "tree": "123ba860cfff879ce02105d4d9aff574967af854",
      "parents": [
        "f3166e46ed71396cd876c1baae3d3c5a35f005bc"
      ],
      "author": {
        "name": "Jack Wu",
        "email": "wjack@google.com",
        "time": "Fri Mar 01 09:27:07 2024 +0800"
      },
      "committer": {
        "name": "Jack Wu",
        "email": "wjack@google.com",
        "time": "Fri Mar 01 09:27:07 2024 +0800"
      },
      "message": "Fix BatteryService enum inconsistent with BatteryManager\n\nBug: 327686151\nTest: m\nChange-Id: Ie32a094380a62ba56689b4ea008168a6d9c2a820\nSigned-off-by: Jack Wu \u003cwjack@google.com\u003e\n"
    },
    {
      "commit": "2e9dd873ec9547f45b3aa89f98223141900754aa",
      "tree": "8ec18cd4bfba43f16891cf395085c316882c65dd",
      "parents": [
        "5ee9c8d9029ef6a39747db67c589ec71bf69614a",
        "93bec07bd86398eb968a50d415082f5c1b34f7c0"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Fri Mar 01 01:16:03 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 01:16:03 2024 +0000"
      },
      "message": "Merge \"HighHint touch boost fix re. frame rate override\" into main"
    },
    {
      "commit": "bcc90eeac286323fb2d53cf3b6b505a552ac2b7e",
      "tree": "8b6a771515720880cced8d9e56c230eedd22217f",
      "parents": [
        "b6c7f880460c81a6ce49ccb3334e2d2e1e020f81"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Feb 28 15:43:51 2024 -0800"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Feb 29 18:21:20 2024 +0000"
      },
      "message": "Reorganize surfaceflinger_flags aconfig\n\n- Freeze the old flag file\n- Create a new file, alphabetize and annotate\n  brackets to reduce merge conflicts\n\nTest: presubmit\nChange-Id: I6b6a1c81dea39f22eca5dc671e0cfedc7d139b25\n"
    },
    {
      "commit": "93bec07bd86398eb968a50d415082f5c1b34f7c0",
      "tree": "a53bf4447384b0f8acf8948e515056c16e62adfe",
      "parents": [
        "ef9fb68e4c42f98b845d655a524aa7b815589b03"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Fri Feb 23 17:29:34 2024 -0800"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Wed Feb 28 17:18:10 2024 -0800"
      },
      "message": "HighHint touch boost fix re. frame rate override\n\nFix HighHint touch boost regarding frame rate override. The\ntouch boost logic in getFrameRateOverrides should mirror frame rate\nselection in getRankedFrameRates. We decided earlier that HighHint is\nonly ignored when there are ExplicitDefault compatibility votes.\n\nBug: 326666127\nTest: atest libsurfaceflinger_unittest\nTest: jank test cases + manual\nChange-Id: I54ac61f2a174b9a4dea7d67d8b196217b4f60921\n"
    },
    {
      "commit": "c65925ff314d066b15289dfbc55e67d02e391bf3",
      "tree": "4afd5f106f1ba100ee42b1ec4f43ed80cf961591",
      "parents": [
        "910618a2ae9fbd8aec2c1308aa20616c97454098"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jan 16 11:06:59 2024 -0800"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed Feb 28 22:16:02 2024 +0000"
      },
      "message": "Add missing libc++ includes\n\nBug: 175635923\nTest: m checkbuild\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:94a21e9ae2ea8162128fe392f743d523238b7f3e)\nMerged-In: I9cef8d1b0306fab363e2fe4eda39782e21f24d8f\nChange-Id: I9cef8d1b0306fab363e2fe4eda39782e21f24d8f\n"
    },
    {
      "commit": "c8c97d58aa8ebe6fa675e748254e80daa60d003b",
      "tree": "ed00a8cd7dfc637e8e9f54eda89f7082cb6ff657",
      "parents": [
        "e7feba5da3ab1a9cd8ca1c5cb8b60e68e0ec2f93",
        "0dca4864968281711259cb6eb51933ad33556f9f"
      ],
      "author": {
        "name": "Andy Yu",
        "email": "chingtangyu@google.com",
        "time": "Wed Feb 28 18:22:02 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 18:22:02 2024 +0000"
      },
      "message": "Merge \"[SF] Add trace and dump for Game frame rate overrides\" into main"
    },
    {
      "commit": "e7feba5da3ab1a9cd8ca1c5cb8b60e68e0ec2f93",
      "tree": "370d8922b19ca29cf5ff584857792146f20f3c93",
      "parents": [
        "add5fdd1f38f7116c31ad023617a7bebce995ac1",
        "c8377b06441cd45f3124159844b1a2f899dc9cbc"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 28 15:00:00 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 15:00:00 2024 +0000"
      },
      "message": "Merge \"Read pointer choreographer flag at boot\" into main"
    },
    {
      "commit": "e4ddd10846cf2fcf7758a52cbcc04d1b2e3ca6a1",
      "tree": "696daf685cfdacafea3532c55c4e0c473e3c1387",
      "parents": [
        "55397a309fc80bd4a82efb2c96b86a691704de5e",
        "b6c7f880460c81a6ce49ccb3334e2d2e1e020f81"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 28 05:02:40 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 05:02:40 2024 +0000"
      },
      "message": "Merge \"SF: Introduce VsyncTimeline to VsyncPredictor\" into main"
    },
    {
      "commit": "55397a309fc80bd4a82efb2c96b86a691704de5e",
      "tree": "2881c4d4b5fcf23b2c8d5820e947d1a3f38cf0d4",
      "parents": [
        "36493b9915eb87dde9c43ff744e1732f26312c40",
        "6ad86bd35e16914dc154a20c5b5340b2d07d8b3e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 28 01:57:55 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 01:57:55 2024 +0000"
      },
      "message": "Merge \"Fix dont_skip_on_early_ro to be read only again\" into main"
    },
    {
      "commit": "b6c7f880460c81a6ce49ccb3334e2d2e1e020f81",
      "tree": "6b69f86251df4b3741742b406af1fa9ba9ad483e",
      "parents": [
        "50229b4a57e68c6630c287c8b975e0ce62c4d1d0"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Mon Jan 29 14:43:29 2024 -0800"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue Feb 27 16:55:32 2024 -0800"
      },
      "message": "SF: Introduce VsyncTimeline to VsyncPredictor\n\nAdd the concept of timeline freezing when switching render rate.\nThis allow us to change render rates in sync with the app and remain\njank free across render rate changes.\n\nBug: 326599221\nTest: Run TouchLatency, change render rate and examine Perfetto trace\n\nChange-Id: Ibc8026434c0c1d50138299da3cb110b317604e92\n"
    },
    {
      "commit": "36493b9915eb87dde9c43ff744e1732f26312c40",
      "tree": "e219a78e498fc50b6d08953345ac483b993e3f73",
      "parents": [
        "bef614d0fff630405733679e81c73d82df60505e",
        "ef9fb68e4c42f98b845d655a524aa7b815589b03"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Wed Feb 28 00:46:02 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 00:46:02 2024 +0000"
      },
      "message": "Merge \"GTE frame rate compatibility needs validation\" into main"
    },
    {
      "commit": "bfc0567b1e93358e4b87966cdf80c2862d2352af",
      "tree": "4b89612f45f017836ec3300f65622e5a4de6cdcb",
      "parents": [
        "415c59e4430e8aa34295cf09d6c0eb7ee5658705",
        "d8119dabbee2331395a7cdeb79999b706a58cf61"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 27 23:09:54 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 23:09:54 2024 +0000"
      },
      "message": "Merge \"Send wake event to ISensorHalWrapper fmq when switching to Hal Bypass Mode\" into main"
    },
    {
      "commit": "6ad86bd35e16914dc154a20c5b5340b2d07d8b3e",
      "tree": "ea9ca8518b4601fbf720c3c9bb4e8950dce12145",
      "parents": [
        "415c59e4430e8aa34295cf09d6c0eb7ee5658705"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue Feb 27 21:54:02 2024 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue Feb 27 21:54:04 2024 +0000"
      },
      "message": "Fix dont_skip_on_early_ro to be read only again\n\ncommit 4509966315ca9334d4637f8f364a34a12985ab13 accidently removed\nthe read only attribute from this flag.\n\nBug: 307674749\nBug: 273702768\nChange-Id: I27ff11077226d5bc13731f4fd86dff0dc183ea47\n"
    },
    {
      "commit": "c8377b06441cd45f3124159844b1a2f899dc9cbc",
      "tree": "8aa990a5d98545a690add9cf089f7ea3525fe019",
      "parents": [
        "9180f87bfaac7d0f063d1f59fa572e4751899af6"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 26 21:20:30 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 27 21:35:45 2024 +0000"
      },
      "message": "Read pointer choreographer flag at boot\n\nIn native code, we are sometimes reading the\nenable_pointer_choreographer flag value at boot, and sometimes later\nduring runtime. Since DeviceConfig flag values can change at runtime,\nthe flag values loaded later can sometimes change, resulting in an\nunexpected state where some code relies on the boot-time value and\nothers on the \"current\" value.\n\nWhile we should have been using read-only flags in the first place, we\ncannot convert existing flags to be read-only. So to increase\nconsistency within native code, change all reads of the\nenable_pointer_choreographer flag to happen at boot.\n\nThis CL also updates the test to match the change in flagging approach.\n\nBug: 324534774\nTest: Presubmit\nChange-Id: I32cd6e52e2df260afd3d7681760a987ed060321a\n"
    },
    {
      "commit": "d8119dabbee2331395a7cdeb79999b706a58cf61",
      "tree": "ae5edd9e3a0e2f5454ecc77a6e2865f01ec4399d",
      "parents": [
        "611a65d514033f5455fd9f32538e625500d64e7a"
      ],
      "author": {
        "name": "Mark Wheatley",
        "email": "mwheatley@google.com",
        "time": "Fri Feb 23 22:57:18 2024 +0000"
      },
      "committer": {
        "name": "Mark Wheatley",
        "email": "mwheatley@google.com",
        "time": "Tue Feb 27 19:20:29 2024 +0000"
      },
      "message": "Send wake event to ISensorHalWrapper fmq when switching to Hal Bypass Mode\n\nWhen switching from NORMAL to HAL_BYPASS_REPLAY_DATA_INJECTION mode, the\nISensorHalWrapper::pollFmq() method continues to wait for sensor events.\nSince the sensors are disabled when switching to Hal Bypass mode, the\npolling thread may continue to wait on the fmq indefinitely.\n\nSend an internal wake event to the fmq when switching to Hal Bypass\nmode so that the thread drops out of pollFmq() and enters the branch for\naccepting injected replay data.\n\nBug: 326433087\nTest: manual\nChange-Id: I984e55f64469cfac1c9156ea4660fc1dc4818695\n"
    },
    {
      "commit": "0dca4864968281711259cb6eb51933ad33556f9f",
      "tree": "f572bc8afd586f1d96f02f2516a24aee663276fa",
      "parents": [
        "50229b4a57e68c6630c287c8b975e0ce62c4d1d0"
      ],
      "author": {
        "name": "Andy Yu",
        "email": "chingtangyu@google.com",
        "time": "Mon Feb 26 15:01:05 2024 -0800"
      },
      "committer": {
        "name": "Andy Yu",
        "email": "chingtangyu@google.com",
        "time": "Tue Feb 27 09:14:46 2024 -0800"
      },
      "message": "[SF] Add trace and dump for Game frame rate overrides\n\nTo discern the source of the frame rate vote, this change\nadds trace in LayerHistory when determining the layer vote.\n\nAlso, dumping information of game mode and game default frame rate\noverrides in SurfaceFlinger dump for debuggin purposes.\n\nBug: 324125833\nTest: atest LayerHistoryTest\nChange-Id: Ice628b7f421f6402fbb1e33413966c503bf5eaec\n"
    },
    {
      "commit": "7303877bdf68883078c0fb98231f9de9d3a2e322",
      "tree": "98deb0223d77fd4ba12c162b487ac1445ee99a68",
      "parents": [
        "05d40cd779aaa5cc768dff895d9211c687789e58"
      ],
      "author": {
        "name": "Eason Chiu",
        "email": "eason.chiu@mediatek.com",
        "time": "Mon Oct 23 08:55:48 2023 +0800"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Feb 27 10:37:34 2024 -0500"
      },
      "message": "Fix \"Abnormal while playing netflix in PIP mode\"\n\nprotected buffer usage of output buffer of framebuffer is determined\nby if any input layer contains protected buffer.\n\nIf all the protected layers are handled by HWC,then GPU will process\nnormal layers only. It means, GPU got normal buffer as input but need\noutput to protected buffer.It would be memory violation for ARM as it\nrequired at least one normal buffer as input for such case\n\nCherry-picked from AOSP. Conflicts in the test file are uninteresting;\nboth branches simply added new tests.\n- services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp\n\nUpdate OutputComposeSurfacesTest_HandlesProtectedContent to pass.\n\nBug: 307674749\nTest: atest\n    libcompositionengine_test:OutputUpdateProtectedContentStateTest\n\nChange-Id: I11d7c73c8eee4a46383516e8eb672827b26314e6\nMerged-In: I11d7c73c8eee4a46383516e8eb672827b26314e6\n"
    },
    {
      "commit": "e37267dbc1592af274518294432ece92ba448b45",
      "tree": "7ca3d5b538ed6cae53f49e392e8b97d008547c5d",
      "parents": [
        "cdb7c45cc88ce0619c033412abeccaa4496d9a33",
        "b43b58378679bf4ac8d0837047187d4509bc45d8"
      ],
      "author": {
        "name": "Melody Hsu",
        "email": "melodymhsu@google.com",
        "time": "Tue Feb 27 06:50:33 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 06:50:33 2024 +0000"
      },
      "message": "Merge \"Refactor of screenshot code on main thread.\" into main"
    },
    {
      "commit": "ef9fb68e4c42f98b845d655a524aa7b815589b03",
      "tree": "d344a2003f332f1a1f0a4542e6d10a892387fe92",
      "parents": [
        "5ecb69f50945f7becf6469c691bf55ba77d9ac38"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Fri Feb 23 11:04:33 2024 -0800"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Mon Feb 26 13:35:34 2024 -0800"
      },
      "message": "GTE frame rate compatibility needs validation\n\nValidate the GTE frame rate compatibility value, otherwise it does not\nreach SF.\n\nBug: 327013543\nTest: atest FrameRateUtilsTest\nTest: atest CtsSurfaceControlTestsStaging\nChange-Id: I3cb7fc7c9cbd32eb8db8e07718a89c3918b72a9f\n"
    },
    {
      "commit": "8437a42d0d15ee3f07212684f684e117f0981f52",
      "tree": "df91bb08596422e28fe6c76cacb4e28165e68d5c",
      "parents": [
        "611a65d514033f5455fd9f32538e625500d64e7a",
        "4782768895d82d85e5300961976c8712a28073db"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 26 19:14:13 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 19:14:13 2024 +0000"
      },
      "message": "Merge \"InputTracer: Use InputThread instead of std::thread\" into main"
    },
    {
      "commit": "611a65d514033f5455fd9f32538e625500d64e7a",
      "tree": "89505cbdde53b55a89dcaea4394daf772a2acc3b",
      "parents": [
        "fc59b33a2fd7d9fd7775c652befa12881570f638",
        "4509966315ca9334d4637f8f364a34a12985ab13"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Feb 26 18:19:01 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 18:19:01 2024 +0000"
      },
      "message": "Merge \"Fix \"Abnormal while playing netflix in PIP mode\"\" into main"
    },
    {
      "commit": "b43b58378679bf4ac8d0837047187d4509bc45d8",
      "tree": "b68871dc58883593c66d10186edd4f53c414fb80",
      "parents": [
        "2e0779713b1c6bc3c6fe1447f8dbd691a0e23ae5"
      ],
      "author": {
        "name": "Melody Hsu",
        "email": "melodymhsu@google.com",
        "time": "Fri Feb 23 02:37:38 2024 +0000"
      },
      "committer": {
        "name": "Melody Hsu",
        "email": "melodymhsu@google.com",
        "time": "Mon Feb 26 17:17:59 2024 +0000"
      },
      "message": "Refactor of screenshot code on main thread.\n\nCreate helper functions to improve readability of what is scheduled on\nthe SurfaceFlinger main thread. This will allow for cleaner changes in\nreducing the calls on the main thread for screenshots. Changes include\nsome renaming for better clarity.\n\nBug: b/294936197\nTest: presubmit\nTest: atest SurfaceFlinger_test\nChange-Id: I729b62b3fc1919b5b048b7992b4aead336e87d7f\n"
    },
    {
      "commit": "fc59b33a2fd7d9fd7775c652befa12881570f638",
      "tree": "39b543c3b59f7fb583eb4f7071737035a150d411",
      "parents": [
        "ec079b61af4b8cd2329e8c6133cec457ffc4e3db",
        "e092fefc822f4b4fb101345f74a7c951413c97b7"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Mon Feb 26 16:55:16 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 16:55:16 2024 +0000"
      },
      "message": "Merge \"Don\u0027t repeat when slow keys A11y feature enabled\" into main"
    },
    {
      "commit": "99433ac13988768bc9c94aec21418072d6071bab",
      "tree": "af57c600d8e9e6a22fbe7832375ad188abb4c0ab",
      "parents": [
        "6f6605a5f8a863b06905726f4da0945d4c31ebc1",
        "1f693f3fe30bcede236f657b8993f8999c730394"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 26 16:08:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 16:08:36 2024 +0000"
      },
      "message": "Merge changes I2ba46ba8,I7c7dd535 into main\n\n* changes:\n  GestureConverter: remove checks on choreographer flag\n  GestureConverter_test: disable pointer controller with choreographer\n"
    },
    {
      "commit": "6f6605a5f8a863b06905726f4da0945d4c31ebc1",
      "tree": "2a3a58e1a1ff7c3979c981abfd3fb849dc9a9939",
      "parents": [
        "f68d693877d784e7b3561d55e139f12dc5184534",
        "641248efeb103c47a1fd170fbf8bba7d35673151"
      ],
      "author": {
        "name": "Lais Andrade",
        "email": "lsandrade@google.com",
        "time": "Mon Feb 26 16:06:20 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 16:06:20 2024 +0000"
      },
      "message": "Merge \"Fix retry logic for vibrator HAL requests\" into main"
    },
    {
      "commit": "e092fefc822f4b4fb101345f74a7c951413c97b7",
      "tree": "8c34d48973e2bedee5c88f9d3831b7f7a88a6a6e",
      "parents": [
        "e471edcfcf020e51512952f39d147c89c6ed38be"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Feb 22 22:36:23 2024 +0000"
      },
      "committer": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Mon Feb 26 11:29:45 2024 +0000"
      },
      "message": "Don\u0027t repeat when slow keys A11y feature enabled\n\nCurrently when slow keys is enabled, user has to press and hold\nfor the key to be registered, but since, we still haven\u0027t added\nsettings to modify repeat thresholds, usually it ends up repeating\nthe pressed key as well which may be annoying for the user.\nAs a stop gap, we block repeat for now when slow keys is enabled.\n\nFuture plan at V+ is to have repat threshold modification in\nSettings allowing user to properly configure it as per the need.\n\nBug: 322327461\nTest: Manual\nChange-Id: I44503746c16ed992bbfbfe852e26e22896f32595\n"
    },
    {
      "commit": "f68d693877d784e7b3561d55e139f12dc5184534",
      "tree": "2f1cb4a04f532a5ba97b99986e9f5652651e3e5f",
      "parents": [
        "6e245a3ea3b1497f2b962dd09c11002ebde8f08b",
        "091129a2e222ca48d75956f4aeeee85ea47736a3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Feb 26 01:26:13 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 01:26:13 2024 +0000"
      },
      "message": "Merge \"SF: Move hotplug dispatch to Scheduler\" into main"
    },
    {
      "commit": "4782768895d82d85e5300961976c8712a28073db",
      "tree": "a39c97a44ec26b7a054d1e19b34055bf2041d862",
      "parents": [
        "9180f87bfaac7d0f063d1f59fa572e4751899af6"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 23 19:31:43 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Sat Feb 24 00:10:43 2024 +0000"
      },
      "message": "InputTracer: Use InputThread instead of std::thread\n\nWe need to query PackageManager from the trace instace, so we will need\naccess to the JVM from the tracer thread. Since std::thread does not\nhave access to the JVM, use InputThread instead.\n\nBug: 210460522\nTest: manual with perfetto\nChange-Id: Ifb618765a269ae928d2310fc6af3daf55bf10dc9\n"
    },
    {
      "commit": "9180f87bfaac7d0f063d1f59fa572e4751899af6",
      "tree": "0558a66602ee3d23fb2c828d5b16419dfa48af99",
      "parents": [
        "c7c3ed1b50083e2150731f6e58955032e774c94e",
        "bb7a0208548bc06b908fccc7c1a24bd54b1a230b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 23 23:23:26 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 23:23:26 2024 +0000"
      },
      "message": "Merge \"InputTracer: Separate the threading logic into a wrapper backend\" into main"
    },
    {
      "commit": "c7c3ed1b50083e2150731f6e58955032e774c94e",
      "tree": "52527bbf555cebc963b2727318824373cf0959d1",
      "parents": [
        "674215c15f13d280d444c788d7893a5999095f05",
        "558f4a96d3e1208b0fc6002c654d6bac9e1a93e3"
      ],
      "author": {
        "name": "Ram Indani",
        "email": "ramindani@google.com",
        "time": "Fri Feb 23 22:09:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 22:09:36 2024 +0000"
      },
      "message": "Merge changes I5b0dd111,I40135534,Ief7fff69 into main\n\n* changes:\n  [SF] Change VSyncDispatchTimerQueue::Schedule to return ScheduleResult\n  [SF] Enable vrr_timeout_hint_enabled\n  [SF] Send NotifyExpectedPresentHint at the transaction time\n"
    },
    {
      "commit": "091129a2e222ca48d75956f4aeeee85ea47736a3",
      "tree": "37430f10f96b20954cd5a0b2d4f288431b7bce1d",
      "parents": [
        "674215c15f13d280d444c788d7893a5999095f05"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Feb 21 14:26:03 2024 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Feb 23 15:43:04 2024 -0500"
      },
      "message": "SF: Move hotplug dispatch to Scheduler\n\nHide the Render/LastComposite details in Scheduler.\n\nAlso, dispatch hotplug errors to both EventThreads for consistency.\n\nBug: 241285191\nBug: 241285945\nTest: Hotplug still works.\nChange-Id: I425d997274c0272a2bfa352c138750d65d008da5\n"
    },
    {
      "commit": "674215c15f13d280d444c788d7893a5999095f05",
      "tree": "c50bd073234c22783d080c4522ae1bb070393371",
      "parents": [
        "05588032e61b7734e9aa28e93a6c48ed208a39a0",
        "4babfc4ee6d27318d79c1c628d16c07b0b6cd0b5"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Feb 23 20:32:13 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 20:32:13 2024 +0000"
      },
      "message": "Merge \"SF: Remove ConnectionHandle concept in Scheduler\" into main"
    },
    {
      "commit": "bb7a0208548bc06b908fccc7c1a24bd54b1a230b",
      "tree": "dbb6652b4ec4d1e6bb9021d50d0747d80042f7ee",
      "parents": [
        "c8693d4c61b99c0622202f55841f65336cff4cc0"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Sat Feb 10 02:09:01 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 23 19:47:07 2024 +0000"
      },
      "message": "InputTracer: Separate the threading logic into a wrapper backend\n\nInputTracer writes to the tracing backend interface. However, since\nperfetto expects events to be written from a single thread, InputTracer\nwould write the events from a separate thread.\n\nTo simplify the logic inside InputTracer, remove the threading logic.\nInstead, we introduce the ThreadingBackend class, which wraps around an\nabitrary backend and forwards events to the inner backend from a new\nthread.\n\nAnother benefit of this is that we no longer have to use the threaded\nbackend for tests, which makes the tracing part of InputDispatcher_test\ndeterministic.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: If7bbc912c05bc975ec9585f0a0ebce68683925bb\n"
    },
    {
      "commit": "563916ad485f1a59887c12545f6c6851b7f175ea",
      "tree": "a25b2a459ae30699952ab20e0f5c150a552dc91c",
      "parents": [
        "1c7ace3d627b7c00289cd2da77ee538bcb7e78e3"
      ],
      "author": {
        "name": "Linnan Li",
        "email": "lilinnan@xiaomi.corp-partner.google.com",
        "time": "Fri Feb 23 16:08:33 2024 +0000"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Fri Feb 23 16:08:33 2024 +0000"
      },
      "message": "Let InputDispatcher wake quickly when we ready stop process pending key\n\nWhen we already intend to send down the pending key event to the\ncurrent focus window, we should make sure it can be done immediately.\n\nBug:none\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\n\nSigned-off-by: Linnan Li \u003clilinnan@xiaomi.corp-partner.google.com\u003e\n(cherry picked from https://partner-android-review.googlesource.com/q/commit:f1ab9a7e53993893ecd8a5af68eb669a9bf22e8a)\nMerged-In: I4a96a6f30e803002b1592e49870334b6c3a416f7\nChange-Id: I4a96a6f30e803002b1592e49870334b6c3a416f7\n"
    },
    {
      "commit": "4babfc4ee6d27318d79c1c628d16c07b0b6cd0b5",
      "tree": "d91018f66a605edd5ddf661803b80c1590465f9b",
      "parents": [
        "20b7ccbd72f8ff8fba254115e4c54fb00c0fd440"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Feb 16 12:28:40 2024 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Feb 23 11:03:35 2024 -0500"
      },
      "message": "SF: Remove ConnectionHandle concept in Scheduler\n\nThis abstraction never made sense, and only incurs pointless locking and\nhash map lookups. This is a step toward replacing the two EventThreads\nwith a single EventDispatcher.\n\nStart the Scheduler\u0027s timers after initialization. This solves the same\nbug as Ib2617b914145bc4180cc7ca27203c59dbd625c94, which avoided crashes\nwithout fixing the root cause of the race.\n\nIn a few cases, initScheduler indirectly calls Scheduler functions that\nattempt EventThread dispatch before EventThread creation, so skip those\nEventThread accesses using hasEventThreads for now. Further refactoring\nwill untangle circular dependencies and remove hasEventThreads.\n\nBug: 241285191\nBug: 241285945\nTest: presubmit\nChange-Id: I89b93b47540ab24bb5675edc79370f38bc48114f\n"
    },
    {
      "commit": "1c7ace3d627b7c00289cd2da77ee538bcb7e78e3",
      "tree": "7dd214ad42ccb52bc4169e92ee90ef76d1f25510",
      "parents": [
        "3057309635f99dd7314b5c0acc2ed403c6e7c41b",
        "39648ab39cb860d50045a145f650bb47f7b0b585"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 23 15:56:44 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 15:56:44 2024 +0000"
      },
      "message": "Merge \"GestureConverter: Stop flings with fake fingers\" into main"
    },
    {
      "commit": "a7817fbe59f7f430cb1d904ace4b73dd947289df",
      "tree": "76cd96d6042a238640e1149643fd970da5c14313",
      "parents": [
        "6d5b9daae7376e8b4ebd7ebf662ef24a007fcabd",
        "dd374e10ea9d3d66cd251253c87d73931d4948e1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 23 02:26:12 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 02:26:12 2024 +0000"
      },
      "message": "Merge \"SF: Clean up a few property lookups\" into main"
    },
    {
      "commit": "6d5b9daae7376e8b4ebd7ebf662ef24a007fcabd",
      "tree": "8972432ce8cf87882d2e12cb47cdff2d86848970",
      "parents": [
        "2e0779713b1c6bc3c6fe1447f8dbd691a0e23ae5",
        "eefb6a4af0bef4c50f2eaba1f98aef9a3699755c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 23 00:32:09 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 00:32:09 2024 +0000"
      },
      "message": "Merge \"Ensure libpowermanager benchmarks always notify framework on return\" into main"
    },
    {
      "commit": "c8693d4c61b99c0622202f55841f65336cff4cc0",
      "tree": "6af9668a2ce1e83aa8d37b62765d88eb541822e8",
      "parents": [
        "08fb80bd04fa86de15a25ad10e4519934acbab31",
        "d790d6b5fdd5352083d0fe0b22492091158ea5cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Feb 22 18:22:48 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 18:22:48 2024 +0000"
      },
      "message": "Merge \"Use a polling check when waiting for a specific device\" into main"
    },
    {
      "commit": "08fb80bd04fa86de15a25ad10e4519934acbab31",
      "tree": "eb211c5bd4c17f5cbe1b858c0369ce8b92e6b58e",
      "parents": [
        "20b7ccbd72f8ff8fba254115e4c54fb00c0fd440",
        "38bc8a87a8f40362b3681ec2dab2616e37c39264"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Feb 22 16:19:32 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 16:19:32 2024 +0000"
      },
      "message": "Merge \"Add default_teams\" into main"
    },
    {
      "commit": "1f693f3fe30bcede236f657b8993f8999c730394",
      "tree": "25d3f8145ed32d031842d7711a41d7a4fb7b4ef2",
      "parents": [
        "3beea7dc7d78955f63122b22980f44aa78d396f6"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 21 15:57:47 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 22 15:55:07 2024 +0000"
      },
      "message": "GestureConverter: remove checks on choreographer flag\n\nThe only reason it needed to check the flag was when calling\nmPointerController-\u003egetPosition, but since change\nI475f3286c83b90e161e186e62c2842e539434603 that method handles the check\nitself.\n\nBug: 245989146\nTest: manual tests of movement and gestures with an Apple Magic Trackpad\nTest: atest inputflinger_tests:GestureConverterTest \\\n            inputflinger_tests:GestureConverterTestWithChoreographer\nChange-Id: I2ba46ba863ba8cd3a6caa94ec0dfafa7273df97b\n"
    },
    {
      "commit": "3beea7dc7d78955f63122b22980f44aa78d396f6",
      "tree": "3bcb60ba37bd619b35382253a00abc13c7de7b74",
      "parents": [
        "39648ab39cb860d50045a145f650bb47f7b0b585"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 21 15:52:35 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 22 15:55:07 2024 +0000"
      },
      "message": "GestureConverter_test: disable pointer controller with choreographer\n\nThese tests were unrealistic in that when the pointer choreographer flag\nwas enabled, the FakePointerController would continue keeping track of\nthe pointer position, even though the real PointerControllers would not\n(see change I475f3286c83b90e161e186e62c2842e539434603). Modify the fake\nso that it can be disabled, too.\n\nBug: 245989146\nTest: atest inputflinger_tests:GestureConverterTest \\\n            inputflinger_tests:GestureConverterTestWithChoreographer\nChange-Id: I7c7dd535804ca1552fb731e6da9fd148c047791b\n"
    },
    {
      "commit": "7438201514d9a11995dff49c6af3dd3045b08098",
      "tree": "bb794cecc2e6852dc5de1f3b8984b8fed9d9f035",
      "parents": [
        "77add0b0f163a11792da4e2f0e694ed34e87589f",
        "65a071a788a1f5e575d85460d08182d0726abc83"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 22 03:14:17 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 03:14:17 2024 +0000"
      },
      "message": "Merge changes I2ab660ed,I308c12e2,I8c50a597,I14f77d61 into main\n\n* changes:\n  InputDispatcher_test: Verify all traced events match exactly\n  InputDispatcher_test: Consume all moves to prevent events from batching\n  InputDispatcher: Create new EventEntries for events with zero-ed coords\n  InputDispatcher: Improve pointer transform mapping in InputTarget\n"
    },
    {
      "commit": "38bc8a87a8f40362b3681ec2dab2616e37c39264",
      "tree": "92a6ef8e503c00deb8228339c45581621dfb09a9",
      "parents": [
        "814bc8bf0b7877ed0c20d77f83822784336b9c0a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 21 17:08:27 2024 -0500"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 21 17:22:11 2024 -0500"
      },
      "message": "Add default_teams\n\nTest: n/a\nChange-Id: I6c2426303194df4b94f6181f4b5c71970bc5f7fd\n"
    },
    {
      "commit": "d790d6b5fdd5352083d0fe0b22492091158ea5cf",
      "tree": "633bef657c39db5d3ccad5e2aace3087df5715e9",
      "parents": [
        "77add0b0f163a11792da4e2f0e694ed34e87589f"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 21 10:34:59 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 21 22:09:43 2024 +0000"
      },
      "message": "Use a polling check when waiting for a specific device\n\nSome timings have changed in our system.\n\nIn this CL, we change the way we are waiting for a device to show up.\nNow, we are waiting up to 5 seconds for the correct device to appear\nbefore failing the test.\n\nIn practice, the tests take about 30-40 ms to complete.\n\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 adb sync \u0026\u0026 adb shell -t /data/nativetest64/$TEST/$TEST --gtest_filter\u003d\"*1\\.StylusButtonsGenerateKeyEvents\" --gtest_repeat\u003d100 --gtest_break_on_failure\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 adb sync \u0026\u0026 adb shell -t /data/nativetest64/$TEST/$TEST --gtest_filter\u003d\"*IntegrationTest*\" --gtest_repeat\u003d100 --gtest_break_on_failure\nBug: 325695791\nChange-Id: I14aae8a1eaa888f4995c5cffc876c6b3c8b0196b\n"
    },
    {
      "commit": "dd374e10ea9d3d66cd251253c87d73931d4948e1",
      "tree": "8d0d73d5a6dc60f92d32ac7b4d5a7072c8b77851",
      "parents": [
        "43cacc5820060c97e8d1c6192f5912a39932bf61"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Feb 21 10:28:15 2024 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Feb 21 16:45:36 2024 -0500"
      },
      "message": "SF: Clean up a few property lookups\n\nRemove superfluous lambdas (for readability) and prefer std::string\nliterals (to ensure compile-time size is used over scanning for NUL).\n\nBug: None\nTest: presubmit\nChange-Id: I5e7646cd8a9a4a26bf5a19c02d97834cf507135e\n"
    },
    {
      "commit": "eefb6a4af0bef4c50f2eaba1f98aef9a3699755c",
      "tree": "1ba3a09115eb0cf47c049236063efbf6020ce0a7",
      "parents": [
        "f03f83e19f6717bd0cbaba53c2dce716ca39f336"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Feb 15 18:19:27 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Feb 21 19:01:07 2024 +0000"
      },
      "message": "Ensure libpowermanager benchmarks always notify framework on return\n\nBug: 311346891\nTest: run v2/android-crystalball-eng/health/nativebenchmarks/libpowermanager on abtd\n\nChange-Id: I1bc06053b42b49a54a5755e1de8fb7f23ae76b8e\n"
    },
    {
      "commit": "77add0b0f163a11792da4e2f0e694ed34e87589f",
      "tree": "0cb907a0cd341746632806a4e582bcf88172bb72",
      "parents": [
        "871738329b10ef08a753a7dedc4bfc781132a693",
        "b81f1719a229942fd1a5fc9e84ab867f13866d7e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 21 18:23:46 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 18:23:46 2024 +0000"
      },
      "message": "Merge \"Add inputflinger_tests to staged platinum config\" into main"
    },
    {
      "commit": "558f4a96d3e1208b0fc6002c654d6bac9e1a93e3",
      "tree": "385c5fc484eef9447f5cd78a05b40644160bd903",
      "parents": [
        "d2dc07aa6d1fbca3a44f3e2a5f90059ae5dff7f7"
      ],
      "author": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Fri Feb 16 15:49:23 2024 -0800"
      },
      "committer": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Wed Feb 21 09:13:33 2024 -0800"
      },
      "message": "[SF] Change VSyncDispatchTimerQueue::Schedule to return ScheduleResult\n\nRemoves the optional return as Schedule always returns value.\n\nBUG: 284845445\nTest: atest VSyncDispatchTimerQueueTest\nChange-Id: I5b0dd11144ff5df227a9fa23a3a3ded3b50f3ea2\n"
    },
    {
      "commit": "d2dc07aa6d1fbca3a44f3e2a5f90059ae5dff7f7",
      "tree": "6e6dd506d1722f2f46e34f483cee73b7131eff43",
      "parents": [
        "32a88b18e1e3a162e58be39f4d1a129605f76c9e"
      ],
      "author": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Fri Feb 16 16:34:03 2024 -0800"
      },
      "committer": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Wed Feb 21 09:13:33 2024 -0800"
      },
      "message": "[SF] Enable vrr_timeout_hint_enabled\n\nBUG: 314199179\nBUG: 315989692\nBUG: 284845445\nTest: m\nChange-Id: I4013553475637bc15666bf4ffbfd8a26a548ba5e\n"
    },
    {
      "commit": "32a88b18e1e3a162e58be39f4d1a129605f76c9e",
      "tree": "6e6c5b2fd90f8d9e74241cc549ca77546659aed4",
      "parents": [
        "871738329b10ef08a753a7dedc4bfc781132a693"
      ],
      "author": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Wed Jan 31 18:45:30 2024 -0800"
      },
      "committer": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Wed Feb 21 09:13:33 2024 -0800"
      },
      "message": "[SF] Send NotifyExpectedPresentHint at the transaction time\n\nBUG: 314199179\nBUG: 315989692\nBUG: 284845445\n\nTest: atest NotifyExpectedPresentTest\nChange-Id: Ief7fff69e8b92f0affd228b2bdcdc5009806f905\n"
    },
    {
      "commit": "871738329b10ef08a753a7dedc4bfc781132a693",
      "tree": "90d4fa621b4bdfd0bf0cf309deb00bfc79d31a29",
      "parents": [
        "f9b7ec9f279e36432c4582549574b99601d57dfe",
        "300a944ee32a302e4891fdf53025490568387071"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed Feb 21 16:15:15 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 16:15:15 2024 +0000"
      },
      "message": "Merge \"Delete (most) sf fuzzers\" into main"
    },
    {
      "commit": "37cceb7d4e91d742b681d7c66a3da5e03a97bf73",
      "tree": "d1cb20e8858a024a3b39b4708e7c599c358620b3",
      "parents": [
        "89d11a36b2236adfd507327e6d22a925ea5a1ef9",
        "f3369eda0af91df158d66f1e4d906a0f0b1496e7"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Feb 21 15:43:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 15:43:36 2024 +0000"
      },
      "message": "Merge \"vulkan_renderengine: Check for support first\" into main"
    },
    {
      "commit": "f2b7c868d2f5d8401fadb54a14b64561b1afed5e",
      "tree": "00cdecc1e6d45f4fea526c8bfb00444186da6cb9",
      "parents": [
        "0e2f19797f36fda3a74a5890a9f8c638ef1bca7c"
      ],
      "author": {
        "name": "Trevor David Black",
        "email": "vantablack@google.com",
        "time": "Thu Feb 15 23:12:22 2024 +0000"
      },
      "committer": {
        "name": "Trevor David Black",
        "email": "vantablack@google.com",
        "time": "Wed Feb 21 05:43:07 2024 +0000"
      },
      "message": "Add vkprofiles to gpuservice\n\nBug: 299537644\nTest: adb shell cmd gpu vkprofiles\nChange-Id: If0453261144150c7e8c554a6a6259a9fedb7c6d9\n"
    },
    {
      "commit": "0e2f19797f36fda3a74a5890a9f8c638ef1bca7c",
      "tree": "8b158f6f7d30003a876450db3eb57d1853a85491",
      "parents": [
        "04c80fcafa8fc9f99097eab0805c4fe57ad3c1ff",
        "367f3436bf3a8d87612324596ad3c6266e1bbe43"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 21 04:59:00 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 04:59:00 2024 +0000"
      },
      "message": "Merge \"InputDispatcher: Rename transferTouch APIs\" into main"
    },
    {
      "commit": "b81f1719a229942fd1a5fc9e84ab867f13866d7e",
      "tree": "239abc8c8a82bdb9bceffb5cb5b58bdad1298349",
      "parents": [
        "43cacc5820060c97e8d1c6192f5912a39932bf61"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Feb 20 10:33:16 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Feb 20 23:37:54 2024 +0000"
      },
      "message": "Add inputflinger_tests to staged platinum config\n\nThis was requested after the review of the postmortem of a crash in\nInputDispatcher.\n\nBug: 318078782\nTest: (cd frameworks/native/services/inputflinger \u0026\u0026 atest)\nChange-Id: I937375c3988a0065b0dfb9cec0d7e345e016f723\n"
    },
    {
      "commit": "65a071a788a1f5e575d85460d08182d0726abc83",
      "tree": "bbaa3064da0697e93e5ae40c4ecae8ad8a860902",
      "parents": [
        "9d5f9ce1b7ca608784f1eb4e40ef12a576123456"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 05 20:52:09 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 20 23:02:01 2024 +0000"
      },
      "message": "InputDispatcher_test: Verify all traced events match exactly\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I2ab660ed0a6888c23bc711fb8494385c22b3c404\n"
    },
    {
      "commit": "9d5f9ce1b7ca608784f1eb4e40ef12a576123456",
      "tree": "7dc63eeb56bc9ed488be570db5ddbceaf383c945",
      "parents": [
        "c88b1fa7cb48ce2a28d1e6c4db4b9c002f4f407a"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 24 00:03:41 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 20 23:02:01 2024 +0000"
      },
      "message": "InputDispatcher_test: Consume all moves to prevent events from batching\n\nInputDispatcherTest uses a real input channel, which means if subsequent\nMOVE events are not consumed, they will be batched together.\n\nCurrently this applies to windows with split touches, where pointers\nmoving on one split window will generate MOVEs on the other window which\nthe test is not consuming, and thus end up getting batched. Avoid this\nsituation by explicitly consuming all MOVE events in affected tests.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I308c12e2aaf98f630bdac8021f7238e913a49056\n"
    },
    {
      "commit": "c88b1fa7cb48ce2a28d1e6c4db4b9c002f4f407a",
      "tree": "79341b22342d5d29d7e8fb626f8a7f7fe333bdbf",
      "parents": [
        "c32a411f0d7c5811c5c95429f251a7d9c9c84d5c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 23 21:48:03 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 20 23:02:01 2024 +0000"
      },
      "message": "InputDispatcher: Create new EventEntries for events with zero-ed coords\n\nThe InputConfig flag ZERO_COORDS modifieds the coordinates of an event\nbefore sending them to windows. Treat these events as new synthesized\nevents by creating a new EventEntry when zeroing the coords.\n\nBug: 316355518\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I8c50a5977f7a491a7b73a8bacf2a0087135108fb\n"
    },
    {
      "commit": "c32a411f0d7c5811c5c95429f251a7d9c9c84d5c",
      "tree": "b3327884dd69babc46221de1156c082f5e48f203",
      "parents": [
        "54a809865281942a99fd56fddce8d9ced50755ba"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 23 23:20:37 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 20 23:02:01 2024 +0000"
      },
      "message": "InputDispatcher: Improve pointer transform mapping in InputTarget\n\nBug: 316355518\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I14f77d6138ad2458649650fd09cef9253a669363\n"
    },
    {
      "commit": "f3369eda0af91df158d66f1e4d906a0f0b1496e7",
      "tree": "10c4f43d526b75618a68bd22aa3d01d6e92fca1c",
      "parents": [
        "43cacc5820060c97e8d1c6192f5912a39932bf61"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 16 17:52:42 2024 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Feb 20 17:56:45 2024 -0500"
      },
      "message": "vulkan_renderengine: Check for support first\n\nThe vulkan_renderengine flag allows us to switch some users to using\nVulkan as part of the trunk stable process. But not all devices support\nVulkan.\n\nMove canSupportSkiaVkRenderEngine into the RenderEngine header, so it\ncan be used by SurfaceFlinger. When the vulkan_renderengine flag is set,\ncheck for support before choosing Vulkan. Do *not* log an error, since\nthis is specified broadly, so it is expected that the flag will be set\nfor devices that do not have support.\n\nThis introduces an extra call to initVulkanInterface, so log the amount\nof time it takes. On my device, the first call is only ~17ms, so this\nseems fine. The next call is much faster, ~4ms. The next call is not\ninterestingly different, possibly because the first call was already\nmade.\n\nBug: 293371537\nBug: 325619183\nTest: atest librenderengine_test\nTest: manual\nChange-Id: Iba66e67347c69b95dc9c05ca838fa1391ef4ab81\n"
    },
    {
      "commit": "4509966315ca9334d4637f8f364a34a12985ab13",
      "tree": "5df19c0085dc5459a8d872afe59b5519a26fb839",
      "parents": [
        "43cacc5820060c97e8d1c6192f5912a39932bf61"
      ],
      "author": {
        "name": "Eason Chiu",
        "email": "eason.chiu@mediatek.com",
        "time": "Mon Oct 23 08:55:48 2023 +0800"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Feb 20 15:54:17 2024 -0500"
      },
      "message": "Fix \"Abnormal while playing netflix in PIP mode\"\n\nprotected buffer usage of output buffer of framebuffer is determined by\nif any input layer contains protected buffer.\n\nIf all the protected layers are handled by HWC,then GPU will process\nnormal layers only. It means, GPU got normal buffer as input but need\noutput to protected buffer.It would be memory violation for ARM as it\nrequired at least one normal buffer as input for such case\n\nCherry-picked from AOSP. Conflicts in the test file are uninteresting;\nboth branches simply added new tests.\n- services/surfaceflinger/CompositionEngine/tests/OutputTest.cpp\n\nPut the behavior change behind a flag.\n\nBug: 307674749\nTest: atest\n    libcompositionengine_test:OutputUpdateProtectedContentStateTest\n\nChange-Id: I11d7c73c8eee4a46383516e8eb672827b26314e6\n"
    },
    {
      "commit": "300a944ee32a302e4891fdf53025490568387071",
      "tree": "d44e936c4233b6f69fcddd1fa58644ab75d5ec30",
      "parents": [
        "74962b789d6f89e3280d92cc0c50d90b9b3c7222"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri Feb 16 22:07:45 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Feb 20 18:00:16 2024 +0000"
      },
      "message": "Delete (most) sf fuzzers\n\nThe remaining fuzzer works at the AIDL service level, which is under development + evaluation.\n\nThe rest of the fuzzers don\u0027t operate at the right interface to meaningfully catch security issues, and are a maintenance cost.\n\nBug: 325656219\nChange-Id: I7ec9b41ff561ab3f0e7d48a93a9b6bb57caffe50\nTest: builds\n"
    },
    {
      "commit": "39648ab39cb860d50045a145f650bb47f7b0b585",
      "tree": "1c26d450391c08d2e0b50c9bfc45f667e3cef718",
      "parents": [
        "2db1957b07b323dbbe71fe93c743f0a7a00a75e3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 15 14:23:50 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Feb 20 15:28:06 2024 +0000"
      },
      "message": "GestureConverter: Stop flings with fake fingers\n\nCurrently, the only way to stop a fling (the scrolling that occurs due\nto \"momentum\" after you\u0027ve finished a two-finger swipe on the touchpad)\nis to put two fingers down again and move them slightly. This is an\nawkward gesture, compared to most platforms where you just touch the pad\nagain and scrolling stops.\n\nThe trouble is that there is currently no API by which we can tell apps\nto stop a fling. Instead, make a fake finger at the current cursor\nlocation, then immediately cancel it. This stops flings without side\neffects (e.g. activating UI elements, inking in drawing apps, moving the\ninsertion point in text fields, etc.) in every app I\u0027ve tried it in [0],\nexcept for a number of issues in Google Docs, Sheets, and Slides (both\nthe Android apps and when opened in Chrome). We\u0027ll have to talk to the\nrelevant teams about this. Follow-up CLs will make an API change to make\nit easier to distinguish these fling stops from actual clicks.\n\n[0]: Calendar, Chrome [1, 2], Docs, Files, Firefox Beta [1, 2], Gmail,\nGoogle, Keep, Maps, News, Photos, Play Store, Podcasts, Settings,\nSheets, Slides, Word, YouTube\n[1]: https://www.longestjokeintheworld.com/\n[2]: https://codepen.io/caraya/embed/ZyQMWd\n\nBug: 281106755\nTest: start flings in a number of apps [0], touch the touchpad, and\n      check that the fling stops without causing other side effects\nChange-Id: Ie8504dc047ee23b5524d5372f65adfaa75a76cd8\n"
    },
    {
      "commit": "e471edcfcf020e51512952f39d147c89c6ed38be",
      "tree": "9e34e613d379af0d69c3320a30ca684c9e118788",
      "parents": [
        "ea53585678a6374b6742c91891bc8cdde8e59d61",
        "65455c7f7ee20a68dffe6fdb569aecfa63c7d243"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 20 14:14:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 20 14:14:37 2024 +0000"
      },
      "message": "Merge \"InputDispatcher: Do not change focus when using transferTouch\" into main"
    },
    {
      "commit": "ea53585678a6374b6742c91891bc8cdde8e59d61",
      "tree": "d5cb7625ffca8c444f36db04f00815c4cdc48485",
      "parents": [
        "cbd667761532490e408d02d86f234947a3c01591",
        "55c5ee21ac21cbbc3b4f8b2faf9ffae126ada33c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 20 13:58:04 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 20 13:58:04 2024 +0000"
      },
      "message": "Merge \"InputReader: Bump generation when associated display changes\" into main"
    },
    {
      "commit": "cbd667761532490e408d02d86f234947a3c01591",
      "tree": "3a90fb8391509622d3a073afd09b39d7073a00fd",
      "parents": [
        "54a809865281942a99fd56fddce8d9ced50755ba",
        "969cdcb60db538b55ba4e8a726a94e4140e33679"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Tue Feb 20 13:37:15 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 20 13:37:15 2024 +0000"
      },
      "message": "Merge \"SF: Cache DisplayConnectionType on first call\" into main"
    },
    {
      "commit": "061220616e74f4c59ee3d275a508db2673fc3623",
      "tree": "02c84624bcd76bd01de88329ee356b95c1f3f633",
      "parents": [
        "d27bc2439a3e9d4e460b641991794697468d418d",
        "ef95e715e7d6045ae6527b327cb443efe9147415"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 19 18:20:24 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 19 18:20:24 2024 +0000"
      },
      "message": "Merge \"GestureConverter_test: use Each matchers\" into main"
    },
    {
      "commit": "ef95e715e7d6045ae6527b327cb443efe9147415",
      "tree": "b38c24e8b2b8f376aa85ef54519b6f3e64722b6d",
      "parents": [
        "2db1957b07b323dbbe71fe93c743f0a7a00a75e3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 16 18:56:39 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 19 16:31:36 2024 +0000"
      },
      "message": "GestureConverter_test: use Each matchers\n\nThis allows us to deduplicate matchers that are common to whole lists of\nNotifyMotionArgs objects, making it much easier to identify the salient\nparts of each sequence.\n\nBug: 245989146\nTest: atest inputflinger_tests:GestureConverterTest \\\n            inputflinger_tests:GestureConverterTestWithChoreographer\nChange-Id: I339cf484c64a829f0650759a2ced402139498562\n"
    },
    {
      "commit": "d7c177eccdc273663c849328be47f2ae0c0c2297",
      "tree": "c202e8b2d7c98c19976158f477c1d5ef0fa8de32",
      "parents": [
        "e0bd3251e515c963a3e1cfa8e4e31fcf0d3406e4",
        "8946b31bdad1580d9b1b79191774609b6bb12ef5"
      ],
      "author": {
        "name": "Thomas Leu",
        "email": "thomasleu@google.com",
        "time": "Mon Feb 19 06:46:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 19 06:46:36 2024 +0000"
      },
      "message": "Merge \"Fix potentially misleading safety comment.\" into main"
    },
    {
      "commit": "e0bd3251e515c963a3e1cfa8e4e31fcf0d3406e4",
      "tree": "2ef7bbb7d3bb5eb9626f5fb96ede16c79612c0d7",
      "parents": [
        "74962b789d6f89e3280d92cc0c50d90b9b3c7222",
        "f5c21512a148adcb8df815d1b5dac9cb69aee663"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Feb 16 21:02:32 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 21:02:32 2024 +0000"
      },
      "message": "Merge \"SF: Add details to setDesiredMode trace and log\" into main"
    },
    {
      "commit": "641248efeb103c47a1fd170fbf8bba7d35673151",
      "tree": "036eeba49446ecafaf8b688b3a538d613d2b2c7e",
      "parents": [
        "f8680e6d01b64ea8745b8c0aa335e6a4b54d8958"
      ],
      "author": {
        "name": "Lais Andrade",
        "email": "lsandrade@google.com",
        "time": "Fri Feb 16 17:49:36 2024 +0000"
      },
      "committer": {
        "name": "Lais Andrade",
        "email": "lsandrade@google.com",
        "time": "Fri Feb 16 18:26:13 2024 +0000"
      },
      "message": "Fix retry logic for vibrator HAL requests\n\nUpdate VibratorHalController to only reconnect with the IVibrator HAL\nservice and retry the operation if a transaction error or dead object\ncode is received.\n\nThis will avoid retrying vibrator calls with bad values when the error\ncode is illegal argument, for example, or when the vibrator is\nreturning illegal state.\n\nBug: 325204954\nTest: atest libvibratorservice_test\nChange-Id: I6764c736a64745ada5233329372d5c22f4e8aa74\n"
    },
    {
      "commit": "8946b31bdad1580d9b1b79191774609b6bb12ef5",
      "tree": "d40dc756ddaee848d95b7c22715c108965122156",
      "parents": [
        "427e333041183a32f306d945f05b31e65414614a"
      ],
      "author": {
        "name": "Thomas Leu",
        "email": "thomasleu@google.com",
        "time": "Fri Feb 16 16:32:59 2024 +0100"
      },
      "committer": {
        "name": "Thomas Leu",
        "email": "thomasleu@google.com",
        "time": "Fri Feb 16 16:34:14 2024 +0100"
      },
      "message": "Fix potentially misleading safety comment.\n\nCopied verbatim from https://googleplex-android-review.git.corp.google.com/c/platform/frameworks/native/+/26261779/comment/1f2a4ad4_56566142/.\n\nTest: N/A\n\nChange-Id: Ia4f8db801c65f3aa4309d2b06bcdbed67d3b3899\n"
    },
    {
      "commit": "74962b789d6f89e3280d92cc0c50d90b9b3c7222",
      "tree": "fb8536076221ed5717b71f24b2a15e3521fba435",
      "parents": [
        "69aea0238985415ca8a33f5ab6704d9a46b87237",
        "da8af4c6ceb0e532fe14d2073c2d3cc34ade104f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 16 09:22:02 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 09:22:02 2024 +0000"
      },
      "message": "Merge \"SF: VSyncDispatchTimerQueueEntry::update should not skip a frame\" into main"
    },
    {
      "commit": "69aea0238985415ca8a33f5ab6704d9a46b87237",
      "tree": "d6e82abded7051de55c0b2bd52626bf6f647d328",
      "parents": [
        "1d6363aafcc8cc31bc0684b4a81fc9c0d44fe84d",
        "fea5dc64a9b7cff34306f22c8c8dd04b7ee1363a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 16 07:47:54 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 07:47:54 2024 +0000"
      },
      "message": "Merge \"SF: temporary disable FlagManagerTest.returnsOverrideFalse\" into main"
    },
    {
      "commit": "1d6363aafcc8cc31bc0684b4a81fc9c0d44fe84d",
      "tree": "0e2bd5103ea6495bf7c66b90d8034ed2210b2597",
      "parents": [
        "4238fc9134fce2cb12091f3a1e2aea3d7a2a363c",
        "1b0d4e16530a4feb99eafbfdfce2aeb39c5e23e3"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri Feb 16 03:35:33 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 03:35:33 2024 +0000"
      },
      "message": "Merge \"Add support for restricting HDR headroom for video\" into main"
    },
    {
      "commit": "da8af4c6ceb0e532fe14d2073c2d3cc34ade104f",
      "tree": "ca28ecc52a0518e288c118e7c86c17c8d17ce5ed",
      "parents": [
        "bf55489e7e1a63bd95c44420709cbfa3342294bd"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Feb 14 00:24:34 2024 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Fri Feb 16 00:44:31 2024 +0000"
      },
      "message": "SF: VSyncDispatchTimerQueueEntry::update should not skip a frame\n\nChange-Id: Ic3e55c073a941a36a5bae9f502657e6383caef72\nTest: SysUI Jank Regression\nBug: 324149129\nBug: 273702768\n"
    },
    {
      "commit": "969cdcb60db538b55ba4e8a726a94e4140e33679",
      "tree": "3b499bcf46a5ed2b6f38e31dcbb97d5b51f2f3cf",
      "parents": [
        "a51f1d637bf1315737467500dfcfe54319eafe4f"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Feb 08 16:35:29 2024 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Feb 15 16:30:57 2024 -0500"
      },
      "message": "SF: Cache DisplayConnectionType on first call\n\nThe connection type is immutable, so avoid the unnecessary AIDL call to\ngetDisplayConnectionType for each setActiveConfigWithConstraints.\n\nFixes: 323905961\nTest: HWComposerTest.getDisplayConnectionType\nChange-Id: I925510e24bab6bd1665128e67a98611aa9b20cd4\n"
    },
    {
      "commit": "fea5dc64a9b7cff34306f22c8c8dd04b7ee1363a",
      "tree": "a8c23c5256c7ac721aa2e8c2b2816fd2c364abcb",
      "parents": [
        "4238fc9134fce2cb12091f3a1e2aea3d7a2a363c"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Feb 15 21:29:49 2024 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Feb 15 21:30:31 2024 +0000"
      },
      "message": "SF: temporary disable FlagManagerTest.returnsOverrideFalse\n\nSince we are left we a single server flag, we can\u0027t have a unique\nflag for this test which is required since the flag implementation uses\nstatic variables. We\u0027ll re-enable once we have a new server flag.\n\nChange-Id: I49826eb0fbb76a389c063b6234b2a2131e358c75\nTest: presubmit\nBug: 325334658\n"
    },
    {
      "commit": "4238fc9134fce2cb12091f3a1e2aea3d7a2a363c",
      "tree": "18e493a479a41042ae280b727b5ab0c02a33de1c",
      "parents": [
        "a51f1d637bf1315737467500dfcfe54319eafe4f",
        "bf55489e7e1a63bd95c44420709cbfa3342294bd"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Feb 15 21:11:33 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 21:11:33 2024 +0000"
      },
      "message": "Merge \"SF: replace dont_skip_on_early flag\" into main"
    },
    {
      "commit": "bf55489e7e1a63bd95c44420709cbfa3342294bd",
      "tree": "07708ba2209cdf88954987a67d56a8345abfefed",
      "parents": [
        "eb3ad2090cfdec88faccf7cb4c3656c6fe2caecd"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Feb 14 18:18:21 2024 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Feb 15 21:11:17 2024 +0000"
      },
      "message": "SF: replace dont_skip_on_early flag\n\n.. with a new flag due to a Gantry bug: b/323967908\n\nBug: 273702768\nChange-Id: I126bc6c4927c6ae8d1cd54316babe1590d3dde28\nTest: presubmit\n"
    },
    {
      "commit": "f5c21512a148adcb8df815d1b5dac9cb69aee663",
      "tree": "4d1532c7ad1a4f342c5f6abb232857d4947e1871",
      "parents": [
        "098f68516fb28ca6ec419712422ddfa05a0339ef"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Feb 15 12:06:52 2024 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Feb 15 14:20:22 2024 -0500"
      },
      "message": "SF: Add details to setDesiredMode trace and log\n\nTrace/log the display ID, and print the DisplayModeRequest.\n\nRemove a superfluous run-time assertion about display ID mismatch, as it\ncannot happen, which I5a74d58b3feb3a71fc3d85393a509af86f1b0274 will make\nclearer.\n\nFixes: 318533819\nTest: Perfetto and logcat\nChange-Id: I77defbcf9b1e3c4332838586f60c125a13e2978c\n"
    },
    {
      "commit": "55c5ee21ac21cbbc3b4f8b2faf9ffae126ada33c",
      "tree": "5158df3079937d09a8d296bdf311f175ffe64db7",
      "parents": [
        "a51f1d637bf1315737467500dfcfe54319eafe4f"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 14 06:03:02 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 15 19:11:28 2024 +0000"
      },
      "message": "InputReader: Bump generation when associated display changes\n\nWhen the display association changes, we need to bump the device\ngeneration because the associated display is part of the java\nInputDevice, so we need to notify listeners about changes in the\nassociated display.\n\nBug: 324299318\nTest: atest VirtualDpadTest --iterations\nChange-Id: Id5da99804b3e170d03fb1ca4c126b782a7587c7c\n"
    },
    {
      "commit": "1b0d4e16530a4feb99eafbfdfce2aeb39c5e23e3",
      "tree": "3b8836d60ef68835b1e4a2ce20a0972003da421f",
      "parents": [
        "9892aac629682352986492133b3d2ca40b2767bf"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Mon Feb 12 22:27:19 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu Feb 15 06:11:12 2024 +0000"
      },
      "message": "Add support for restricting HDR headroom for video\n\nThis is needed for allowing apps to vote for HDR headroom restrictions\nfor SurfaceView and SurfaceControl\n\nBug: 323964760\nTest: manually poking at test app\nTest: SurfaceViewTests\nTest: SurfaceControlTest\nTest: ASurfaceControlTest\nChange-Id: Ie886e67879525462d49fdedc535aea659d69321a\n"
    },
    {
      "commit": "dcdf9048880a80c57e6f39fe9518290078194eb1",
      "tree": "62d5215ea7c9517be1831e7f5faab5638342a58e",
      "parents": [
        "eb3ad2090cfdec88faccf7cb4c3656c6fe2caecd",
        "0dd4bd48d1db35bf175147b06de8b33a63e849e6"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Wed Feb 14 22:31:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 22:31:37 2024 +0000"
      },
      "message": "Merge \"SF: use CategoryDefault for layers w/ setFrameRate\" into main"
    },
    {
      "commit": "eb3ad2090cfdec88faccf7cb4c3656c6fe2caecd",
      "tree": "e1c5274873e89a8f9f634e5414e1e4638af34050",
      "parents": [
        "ec7c9ea25a0386d3514f7394bc392c255022c571",
        "76256ad99dc4c6660282a7c7b760433601fb0f46"
      ],
      "author": {
        "name": "Jyoti Bhayana",
        "email": "jbhayana@google.com",
        "time": "Wed Feb 14 17:33:48 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 17:33:48 2024 +0000"
      },
      "message": "Merge \"Revert^2 \"Implement camera privacy allowlist.\"\" into main"
    },
    {
      "commit": "367f3436bf3a8d87612324596ad3c6266e1bbe43",
      "tree": "c886eabb0ba04ff67fd56904999576c5354ff957",
      "parents": [
        "65455c7f7ee20a68dffe6fdb569aecfa63c7d243"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 13 23:05:58 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 14 17:16:05 2024 +0000"
      },
      "message": "InputDispatcher: Rename transferTouch APIs\n\nRename the old \u0027transferTouchFocus\u0027 API to \u0027transferTouchGesture\u0027 to\navoid confusion with window focus. The old \u0027transferTouch\u0027 method is\ndeprecated, and is named \u0027transferTouchOnDisplay\u0027.\n\nBug: 324265767\nTest: build\nChange-Id: I97b3cbf4522cc66c3b277f516e8aab296167d23d\n"
    },
    {
      "commit": "ec7c9ea25a0386d3514f7394bc392c255022c571",
      "tree": "b7c31deecbed39961fef7ae5c7b36e63bc29d223",
      "parents": [
        "431ccafff0bea147d38925298720152c79c16300",
        "821a4fdb817e38043337e9444d7f61fb96938c52"
      ],
      "author": {
        "name": "Ronish Kalia",
        "email": "ronish@google.com",
        "time": "Wed Feb 14 16:52:04 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 16:52:04 2024 +0000"
      },
      "message": "Merge \"[DON\u0027T BLOCK] Test ownership migration rules\" into main"
    },
    {
      "commit": "431ccafff0bea147d38925298720152c79c16300",
      "tree": "560276c7004a6875fbfa04ba1a267670061192b5",
      "parents": [
        "f8680e6d01b64ea8745b8c0aa335e6a4b54d8958",
        "bdee013d4afb55fafa4362dd15f4d4def7d9918d"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed Feb 14 16:45:27 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 16:45:27 2024 +0000"
      },
      "message": "Merge \"Remove unnecessary logging in OutputTest\" into main"
    },
    {
      "commit": "821a4fdb817e38043337e9444d7f61fb96938c52",
      "tree": "9231bace5d4ce704a4a6f2485c97713a1edd2141",
      "parents": [
        "f8680e6d01b64ea8745b8c0aa335e6a4b54d8958"
      ],
      "author": {
        "name": "Ronish Kalia",
        "email": "ronish@google.com",
        "time": "Wed Feb 14 14:26:03 2024 +0000"
      },
      "committer": {
        "name": "Ronish Kalia",
        "email": "ronish@google.com",
        "time": "Wed Feb 14 14:26:03 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\n\u003cadd g3 doc link\u003e\n\nBug: 304529413\nTest: N/A\nChange-Id: Ic5076a410a89d3e84df673589bc51fdbc93455e7\n"
    },
    {
      "commit": "0dd4bd48d1db35bf175147b06de8b33a63e849e6",
      "tree": "c1a1e348fd9563722d500767d4655f58b6c31d17",
      "parents": [
        "7b2036762c009843975664d090bef7cc8533dffe"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue Feb 06 18:36:49 2024 -0800"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Tue Feb 13 16:39:01 2024 -0800"
      },
      "message": "SF: use CategoryDefault for layers w/ setFrameRate\n\nUses Default category for layers with that also specified something in\nsetFrameRate. this makes it easier downstream to not double count or\nchoose frame rate incorrectly.\n\nBug: 325130604\nTest: atest libsurfaceflinger_unittest\nChange-Id: I6481c6fd95474310e11046839f8b05e136bf3f19\n"
    },
    {
      "commit": "65455c7f7ee20a68dffe6fdb569aecfa63c7d243",
      "tree": "aa5adb506a11a1e854a0492a7aaea3a32accb674",
      "parents": [
        "4497c862673b25ba675d52af23df18a45c5367b3"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 13 21:46:41 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 13 22:02:32 2024 +0000"
      },
      "message": "InputDispatcher: Do not change focus when using transferTouch\n\nSince window focus requests are not fully synchronized between\nInputDispatcher and WM, there can be adverse impacts of rapid gesture\ntransfers on the focused window. This is because when transferring\ntouch, we synthesize a pointer DOWN, and if that event id directed to a\nnon-focused window, Dispatcher will notify the policy that\nonPointerDownOutsideFocus to get WM to change the focused window.\n\nWe want the concepts of touched windows and focused windows to be\northogonal. To support this, change the behavior of the transferTouch\nAPI to ensure that transfering touches don\u0027t result in changes in focus.\n\nBug: 324265767\nTest: atest inputflinger_tests\nChange-Id: I07607c6ac6c91a1a5ad4433b451aa8dfb23f42a7\n"
    },
    {
      "commit": "7b2036762c009843975664d090bef7cc8533dffe",
      "tree": "94b6428cbb721f9866e97c8c5796025b60a6dddb",
      "parents": [
        "d53ea98501a54d48e88fb2e9ca9d0da9bf741b1b",
        "3d189ae199bb5700f811b5f51a106196493cfd5d"
      ],
      "author": {
        "name": "Ronish Kalia",
        "email": "ronish@google.com",
        "time": "Tue Feb 13 14:40:21 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 13 14:40:21 2024 +0000"
      },
      "message": "Merge \"[DON\u0027T BLOCK] Test ownership migration rules\" into main am: f86d02b37e am: 3d189ae199\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2950507\n\nChange-Id: I33c76a6b49e610097f394b68f90aef71813cd252\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3d189ae199bb5700f811b5f51a106196493cfd5d",
      "tree": "637ca7a37179a708eb478640d8db8ab1f8d3aac7",
      "parents": [
        "b66de05eddd3dd0719d1e2591ebfd832c4aeebf2",
        "f86d02b37ec00fb3fa8a3f64d67b2b2c0f3a8428"
      ],
      "author": {
        "name": "Ronish Kalia",
        "email": "ronish@google.com",
        "time": "Tue Feb 13 13:57:05 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 13 13:57:05 2024 +0000"
      },
      "message": "Merge \"[DON\u0027T BLOCK] Test ownership migration rules\" into main am: f86d02b37e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2950507\n\nChange-Id: If8016d182099581fcb9bd65e7672d8be8d72f2b3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8203d98554b2f9ea40d0761cb66c1cf516a95961",
      "tree": "1374e6eec1894c560d997a9a1d5513e0759d2342",
      "parents": [
        "f6fe81ab5543f98f553c193e271fd19cb804a670",
        "370bae95706c5247a435102b0aa2bfad406f75ec"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Mon Feb 12 22:38:32 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 22:38:32 2024 +0000"
      },
      "message": "Merge \"SF: remove misc2 flag as it is not used \" into main"
    },
    {
      "commit": "f6fe81ab5543f98f553c193e271fd19cb804a670",
      "tree": "5d6264859c8de84f53016be2b5dbf0ab37a8b030",
      "parents": [
        "88217126bf727b281e308030c9c934ac854fb6aa",
        "5e16196c597f50d390f9631e6ccca863afb66afc"
      ],
      "author": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Mon Feb 12 20:38:20 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 20:38:20 2024 +0000"
      },
      "message": "Merge changes from topic \"bug240653315\" into main\n\n* changes:\n  Fix a crash for skipped layers with null buffers\n  Revert \"Skip SOLID_COLOR layers from SF Caching\"\n"
    },
    {
      "commit": "88217126bf727b281e308030c9c934ac854fb6aa",
      "tree": "6872a39fba8d89b9bfd58e9195594f3cd25a35c8",
      "parents": [
        "bb52df82fb8739f4aa36071fd7615b7221f92cc1",
        "88096877a23168aaacdda5c8b3b1354d3db371f4"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Mon Feb 12 20:32:22 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 20:32:22 2024 +0000"
      },
      "message": "Merge \"Reland^2 \"SF: Set an initial mode [...] for external displays\"\" into main"
    }
  ],
  "next": "5e16196c597f50d390f9631e6ccca863afb66afc"
}
