)]}'
{
  "log": [
    {
      "commit": "415a5cb1edf92fc5ec9c5a836ebe2b0640936cf4",
      "tree": "6d3bc110eb39a6af828be544e0e711eff4c4a2fa",
      "parents": [
        "2df219d6a7d09f2474626212319aa113211d8f77",
        "2103ff441c66772c80c8560e322dcd9a45be7dcd"
      ],
      "author": {
        "name": "Michael Bestas",
        "email": "mkbestas@lineageos.org",
        "time": "Wed Dec 11 03:10:34 2024 +0200"
      },
      "committer": {
        "name": "Michael Bestas",
        "email": "mkbestas@lineageos.org",
        "time": "Fri Dec 20 00:46:00 2024 +0000"
      },
      "message": "Merge tag \u0027android-15.0.0_r6\u0027 into staging/lineage-22.0_merge-android-15.0.0_r6\n\nAndroid 15.0.0 Release 6 (AP4A.241205.013)\n\n# -----BEGIN PGP SIGNATURE-----\n#\n# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ1IssgAKCRDorT+BmrEO\n# eD4kAJ9ABvGoXpxJgkBGieH114f5tre6yQCdETCiblnjz566o61UjloZJXCvc84\u003d\n# \u003d0zkq\n# -----END PGP SIGNATURE-----\n# gpg: Signature made Fri Dec  6 00:44:02 2024 EET\n# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78\n# gpg: Good signature from \"The Android Open Source Project \u003cinitial-contribution@android.com\u003e\" [marginal]\n# gpg: initial-contribution@android.com: Verified 2468 signatures in the past\n#      3 years.  Encrypted 4 messages in the past 2 years.\n# gpg: WARNING: This key is not certified with sufficiently trusted signatures!\n# gpg:          It is not certain that the signature belongs to the owner.\n# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78\n\n# By Bill Yi (334) and others\n# Via Android (Google) Code Review (5055) and others\n* tag \u0027android-15.0.0_r6\u0027: (6071 commits)\n  Do not handle touches next to shelf Take #2\n  Revert \"AudioService: synchronize audio mode and focus for Telecom\"\n  Use simple equality to compare media notif intents\n  Disallow autofill session for visible background users\n  Always allow System user to change device config in case of Multi-user-multi-display (MUMD)\n  Revert \"Sanitize Bundle from  AbstractAccountAuthenticator.\"\n  Make Wearable settings readable\n  Keep wallpaper in prepare back transition.\n  Specify the display ID to mirror when creating virtual display\n  Block uninstall if DMRH in a managed user\n  Revert \"Migrate to best practise to read network state\"\n  Fix tapping HUNs with weather clock\n  Update mPosition when creating a new InsetsSourceControl\n  Fix the enforcing method to pass current user for visible background users\n  Fixes the issue of UDFPS icon background being white when the device is in DOZE_PULSING state\n  [SingleLineView] Fallback to mUser when senderPerson is null\n  Partially revert the decor bounds calculation\n  Fix persisting SFPS indicator issue.\n  AudioService: synchronize audio mode and focus for Telecom\n  Revert \"Reset HUN clipping after cancellation of disappearing animation\"\n  ...\n\n Conflicts:\n\tcore/api/module-lib-current.txt\n\tcore/java/android/content/res/AssetManager.java\n\tcore/java/android/hardware/devicestate/feature/flags.aconfig\n\tcore/java/android/os/BatteryConsumer.java\n\tcore/java/android/os/BatteryManager.java\n\tcore/java/android/os/PowerManager.java\n\tcore/java/android/service/dreams/DreamService.java\n\tcore/java/android/view/IWindowManager.aidl\n\tcore/java/com/android/internal/widget/ILockSettings.aidl\n\tcore/java/com/android/internal/widget/LockPatternView.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragAndDropController.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragLayout.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragSession.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DropZoneView.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/SplitDragPolicy.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java\n\tlibs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java\n\tlibs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/draganddrop/SplitDragPolicyTest.java\n\tlibs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitScreenControllerTests.java\n\tpackages/SystemUI/Android.bp\n\tpackages/SystemUI/res/layout/navigation_layout.xml\n\tpackages/SystemUI/res/layout/navigation_layout_vertical.xml\n\tpackages/SystemUI/res/layout/screenshot_static.xml\n\tpackages/SystemUI/shared/Android.bp\n\tpackages/SystemUI/shared/biometrics/src/com/android/systemui/biometrics/Utils.kt\n\tpackages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt\n\tpackages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricCustomizedViewBinder.kt\n\tpackages/SystemUI/src/com/android/systemui/biometrics/ui/binder/BiometricViewBinder.kt\n\tpackages/SystemUI/src/com/android/systemui/display/ui/viewmodel/ConnectingDisplayViewModel.kt\n\tpackages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt\n\tpackages/SystemUI/src/com/android/systemui/keyguard/shared/model/CameraLaunchSourceModel.kt\n\tpackages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardQuickAffordanceViewBinder.kt\n\tpackages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarControllerImpl.java\n\tpackages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java\n\tpackages/SystemUI/src/com/android/systemui/qs/QSTileHost.java\n\tpackages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java\n\tpackages/SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java\n\tpackages/SystemUI/src/com/android/systemui/screenrecord/RecordingService.java\n\tpackages/SystemUI/src/com/android/systemui/screenshot/ImageExporter.java\n\tpackages/SystemUI/src/com/android/systemui/screenshot/LegacyScreenshotController.java\n\tpackages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java\n\tpackages/SystemUI/src/com/android/systemui/screenshot/ScreenshotView.java\n\tpackages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java\n\tpackages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java\n\tpackages/SystemUI/src/com/android/systemui/shade/PulsingGestureListener.kt\n\tpackages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java\n\tpackages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java\n\tpackages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java\n\tpackages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java\n\tpackages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java\n\tpackages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java\n\tpackages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java\n\tpackages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java\n\tpackages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarControllerImplTest.java\n\tpackages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java\n\tpackages/SystemUI/tests/src/com/android/systemui/screenshot/appclips/AppClipsViewModelTest.java\n\tservices/core/java/com/android/server/BatteryService.java\n\tservices/core/java/com/android/server/am/BatteryStatsService.java\n\tservices/core/java/com/android/server/display/AutomaticBrightnessController.java\n\tservices/core/java/com/android/server/display/DisplayPowerController.java\n\tservices/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java\n\tservices/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy2.java\n\tservices/core/java/com/android/server/inputmethod/InputMethodManagerService.java\n\tservices/core/java/com/android/server/net/NetworkPolicyManagerService.java\n\tservices/core/java/com/android/server/notification/PreferencesHelper.java\n\tservices/core/java/com/android/server/policy/PhoneWindowManager.java\n\tservices/core/java/com/android/server/power/PowerManagerService.java\n\tservices/core/java/com/android/server/power/stats/BatteryStatsImpl.java\n\tservices/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java\n\tservices/core/java/com/android/server/power/stats/CameraPowerStatsCollector.java\n\tservices/core/java/com/android/server/power/stats/EnergyConsumerPowerStatsCollector.java\n\tservices/core/java/com/android/server/power/stats/GnssPowerStatsCollector.java\n\tservices/core/java/com/android/server/power/stats/PowerStatsCollector.java\n\tservices/core/java/com/android/server/power/stats/format/GnssPowerStatsLayout.java\n\tservices/core/java/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessor.java\n\tservices/core/java/com/android/server/power/stats/processor/CameraPowerStatsProcessor.java\n\tservices/core/java/com/android/server/power/stats/processor/GnssPowerStatsProcessor.java\n\tservices/core/java/com/android/server/statusbar/StatusBarManagerService.java\n\tservices/core/java/com/android/server/webkit/SystemImpl.java\n\tservices/core/java/com/android/server/wm/ActivityRecord.java\n\tservices/core/java/com/android/server/wm/DisplayRotation.java\n\tservices/core/java/com/android/server/wm/RootWindowContainer.java\n\tservices/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java\n\tservices/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java\n\tservices/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java\n\nChange-Id: Iddc43d3424c859c6f178b7530b488db4becffef3\n"
    },
    {
      "commit": "9eed3121d4ab6a693c54b5a59c9f682f88087300",
      "tree": "200333db96448fef4131d93c7993d090650c8935",
      "parents": [
        "df6f409c49af4f76799f1235b0d4c712402bd93b"
      ],
      "author": {
        "name": "Aaron Kling",
        "email": "webgeek1234@gmail.com",
        "time": "Tue Mar 30 11:31:31 2021 -0500"
      },
      "committer": {
        "name": "Michael Bestas",
        "email": "mkbestas@lineageos.org",
        "time": "Wed Oct 23 00:22:11 2024 +0300"
      },
      "message": "BootAnimation: Check for resolution override\n\nChange-Id: Ib001ce767067e3789ea5957ac9b23ed416341d18\n"
    },
    {
      "commit": "e48c7c510328934893aa573b5925c0e33a7eb88f",
      "tree": "af6943dbe923f3a06726b4e09dc067a5b334fd91",
      "parents": [
        "003b25cf455b6cebe586e1d453cdea755a1c50db"
      ],
      "author": {
        "name": "Luca Stefani",
        "email": "luca.stefani.ge1@gmail.com",
        "time": "Thu Oct 28 23:56:44 2021 +0200"
      },
      "committer": {
        "name": "Bruno Martins",
        "email": "bgcngm@gmail.com",
        "time": "Sat Oct 19 11:45:50 2024 +0100"
      },
      "message": "idmap2: Cache Lineage resources\n\nCo-authored-by: Michael Bestas \u003cmkbestas@lineageos.org\u003e\nChange-Id: I212e029be783657fec738031db44fdf2aa5f3cdd\n"
    },
    {
      "commit": "6279145c7b3e26170c7ae582f15f29c001623282",
      "tree": "aad3c964b4165ad38c6e42f69320836a3dca47e3",
      "parents": [
        "5b75c65f44ddc1471cf731385b9c9d72b5d70be6",
        "8666b9c45b7d4b0e45c54555487a2da1e1f63cef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Sep 18 23:20:45 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 18 23:20:45 2024 +0000"
      },
      "message": "Merge \"Make java_sdk_library dependencies explicit\" into main am: 75e0693838 am: 8666b9c45b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3271753\n\nChange-Id: Ica2ef27d29911ef8112c363ad252d70cd644c3b1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1facb2101e88e88f9654bed545bd80c9ebbb4042",
      "tree": "c6c71fc004442c6882321bb2443bb1a414d3007e",
      "parents": [
        "1b6139e1937dafb7fd5fe69e0d1c33b1cabd620f"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Sep 18 21:35:46 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Sep 18 21:35:46 2024 +0000"
      },
      "message": "Make java_sdk_library dependencies explicit\n\nmodules should specify the submodule of java_sdk_library that the module\nactually depends on\n\nTest: CI\nFlag: EXEMPT build dependency cleanup\nBug: 358613520\nChange-Id: I1b51df8ef7094621b2311378ecab14536228405a\n"
    },
    {
      "commit": "bd92695beb373b15a91d249bd8ae5c52e3ee48b5",
      "tree": "5522428959231052a963d0b3d5b39c2b60f0c6bb",
      "parents": [
        "d014c14c78a6795cf7f66eb625fbe1acc1e9ffd2",
        "1a3ff5053d795c81675c4cb12f7650cf204148df"
      ],
      "author": {
        "name": "Jorge De la Torre",
        "email": "jorgetm@google.com",
        "time": "Mon Sep 16 19:41:19 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 16 19:41:19 2024 +0000"
      },
      "message": "Merge \"Bootanimation: Use custom Boot animation name sys prop\" into main am: 27f80c4995 am: 1a3ff5053d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3260932\n\nChange-Id: Iee554d7eba7bc05d9cfa96f880ea12bd3c9dd638\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bd89e9b10fc2be4069594352a43e0284a91771b3",
      "tree": "f89fc9ec0edcfc8af77944aee5e075e404902b0c",
      "parents": [
        "34c72428ae3092692a8c0ccd1f381e4af3d4e146"
      ],
      "author": {
        "name": "jorgetm",
        "email": "jorgetm@google.com",
        "time": "Mon Sep 09 19:42:26 2024 +0000"
      },
      "committer": {
        "name": "Jorge De la Torre",
        "email": "jorgetm@google.com",
        "time": "Mon Sep 16 18:47:37 2024 +0000"
      },
      "message": "Bootanimation: Use custom Boot animation name sys prop\n\nAdd a new option to boot animation to be able to define a custom name for a boot animation zip file located inside product/media following the pattern used with the light and dark themed animations.\n\nBug: 343704035\nTest: On device test\nChange-Id: Iae2df3c272d5ca03b9029aeefe78afddb494c6ad\n"
    },
    {
      "commit": "9cbf2acdcbae6a9286663b3cf43559168282c13b",
      "tree": "4d4fe3f6b4f5ee73a457013284dfff6020337fb2",
      "parents": [
        "31eb3031b9a31d82423f755bef7ff3aa3eb62411",
        "0c9ffcdcf5218cc4d5e00d0826761b969fbd31cc"
      ],
      "author": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Mon Sep 16 00:37:42 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 16 00:37:42 2024 +0000"
      },
      "message": "Merge \"Batch migration of frameworks/base TEST_MAPPING to test_module_config modules\" into main am: cb650f8398 am: 0c9ffcdcf5\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3263804\n\nChange-Id: I6d38c92169c7c58c4c8dec3d6c1caaeb70804038\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a8fb311a246f2abf57b048e33acd1df6349f3c1c",
      "tree": "d3f86295dd08bfee8368c2625000c852b54df77b",
      "parents": [
        "f824197c243a9dc2f059c4cfbe8e9ac29e104c53"
      ],
      "author": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Thu Sep 12 19:13:07 2024 +0000"
      },
      "committer": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Sun Sep 15 03:15:16 2024 +0000"
      },
      "message": "Batch migration of frameworks/base TEST_MAPPING to test_module_config modules\n\nAs part of go/test-module-config we are moving test options from\nTEST_MAPPING -\u003e Android.bp files.\n\nIn previous Cls, we created the new `test_module_config` rules in\nAndroid.bp\n\nThis is updating the TEST_MAPPING file to use those rules.\nIt is also removing \"FlakyTest and IgnoreTest\" exclude annoations as\nthey are now added in gcl files per run rather than ad-hoc per module.\n\nI have a script that looks at the generated tradefed config file for the\nnew options added in Android.bp files, then it looks at TEST_MAPPING\nfiles and find the places to update where the options match for the\ntest.\n\nI am also doing abtd runs of each TEST_MAPPING file before and after my\nchange and ensuring the number of tests run is the same (or at least as\nmany). There are cases where tradefed would comping include-filters\nacross TEST_MAPPING entries for the same module, but now they will be\npurposefully split up, causing some tests to be run under two different\nmodules.\n\nFlag: TEST_ONLY\nTest: Ran adbt on each TEST_MAPPING and compared before and after\nresults.  Verified we were still running all the tests we were before.\ni.e. after the adbt run, I would download the test artfiact for the\ntradefed detailed evenvt and compare test counts.\nYou can see CtsAppTestCases became CtsAppTestCases_cts_requesttileserviceaddtest, etc.\nI\u0027m not including results for all 100 TEST_MAPPING files, but I did\nverify with scripts and eyes.\nMinor differences (like 2011 vs 2009) on a test that didn\u0027t change are\nignored, but in general there were more tests run, not fewer.\n\n\t% diff \u003c(grep started frameworks_base_services_core_java_com_android_server_statusbar_TEST_MAPPING/BASE.details) \u003c(grep started frameworks_base_services_core_java_com_android_server_statusbar_TEST_MAPPING/NEW.details) | grep run\n\t\u003c     [run x86_64 CtsAppTestCases (testCount: 6,attempt: 0) started]\n\t\u003e     [run x86_64 CtsAppTestCases_cts_requesttileserviceaddtest (testCount: 6,attempt: 0) started]\n\t\u003c     [run x86_64 CtsLocationFineTestCases (testCount: 96,attempt: 0) started]\n\t\u003e     [run x86_64 CtsLocationFineTestCases_android_server_location (testCount: 96,attempt: 0) started]\n\t\u003c     [run x86_64 FrameworksNetTests (testCount: 2009,attempt: 0) started]\n\t\u003e     [run x86_64 FrameworksNetTests (testCount: 2011,attempt: 0) started]\n\nTest-Mapping-Slo-Bypass-Bug: b/335015078\nChange-Id: If6e3cd0624ac1c16f1cd088566d967769f47199c\n"
    },
    {
      "commit": "08d832de9e180176550aa74ba0121048ba2d5231",
      "tree": "ee40b280cb3458644c22a83cc2cd572a0147fc02",
      "parents": [
        "bad2c984ada4b86bdf9d8ba738f79f6abf0ec811",
        "6f6679bf35c373746645dc1a148164d6d743e116"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri Sep 13 15:03:02 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 13 15:03:02 2024 +0000"
      },
      "message": "Merge \"Add gainmap support for screencap\" into main"
    },
    {
      "commit": "038b86705f5763d01961faa799f260faa96a5e6b",
      "tree": "d111d1b8f03c78c97dfe86f903267269424a10a9",
      "parents": [
        "ae30f75a86cae13378d6eacfdaccf07f7e8e8e96",
        "e07d73c37487f77c1b806aae852d37409aa5b1de"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Sep 11 17:28:06 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 17:28:06 2024 +0000"
      },
      "message": "Merge \"Make java_sdk_library dependencies explicit\" into main"
    },
    {
      "commit": "1e37ed3b647a646557138cd886c0d9c867ce9bde",
      "tree": "791ce6a66cbd6728520db697dbdb3bde1f708326",
      "parents": [
        "daa8f946b7a1e90dc3b1776536379eee760d3e85"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Aug 30 00:29:12 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Sep 11 00:15:14 2024 +0000"
      },
      "message": "Make java_sdk_library dependencies explicit\n\nmodules should specify the submodule of java_sdk_library that the module\nactually depends on\n\nTest: CI\nFlag: EXEMPT build dependency cleanup\nBug: 358613520\nMerged-In: I80af0b9efa88c668306f0ff1d51491a8180dc57f\nChange-Id: I80af0b9efa88c668306f0ff1d51491a8180dc57f\n"
    },
    {
      "commit": "e07d73c37487f77c1b806aae852d37409aa5b1de",
      "tree": "1b88b5a810aecd2019de0d4315b3e3cfd353389f",
      "parents": [
        "92232a807f20d6532f0c0e9e3717fd34b3edb69b"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Aug 30 00:29:12 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Sep 11 00:02:58 2024 +0000"
      },
      "message": "Make java_sdk_library dependencies explicit\n\nmodules should specify the submodule of java_sdk_library that the module\nactually depends on\n\nTest: CI\nIgnore-AOSP-First: resolving merge conflicts\nFlag: EXEMPT build dependency cleanup\nBug: 358613520\nChange-Id: I80af0b9efa88c668306f0ff1d51491a8180dc57f\n"
    },
    {
      "commit": "a43efef0770d5ae4f0b364c0a601369b18b65982",
      "tree": "72cd9c1be14aea53dd4db6039601ecd44be13264",
      "parents": [
        "2c19cef909a7c46e8313ee724a57fb3d52328bfc",
        "952d275cdd0be810d065ca642a0203ad07366c29"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 05 21:18:05 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 05 21:18:05 2024 +0000"
      },
      "message": "Merge \"uinput: add recording for simulating a touchpad connection\" into main am: 45fbeacbe8 am: 952d275cdd\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3257056\n\nChange-Id: I787ce9d6a8ecd25630982785d9a0e189371dfb53\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "952d275cdd0be810d065ca642a0203ad07366c29",
      "tree": "77411951f850801b71462069f5aa549dd70e0101",
      "parents": [
        "abbf8141ca84353ead5bc7ff1e2c146cf1c8f65e",
        "45fbeacbe86032d6fdc4e7804a8d25fa062b7301"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 05 21:08:29 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 05 21:08:29 2024 +0000"
      },
      "message": "Merge \"uinput: add recording for simulating a touchpad connection\" into main am: 45fbeacbe8\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3257056\n\nChange-Id: I17be0ba4a82a6396881c7d5ec57b8bf42dee7e0e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "45fbeacbe86032d6fdc4e7804a8d25fa062b7301",
      "tree": "eb4916f889ce2a2391e2cf76ee52068a57414dbd",
      "parents": [
        "bfcd5a0d54dbb4a169b964947b079abc0668a541",
        "e0ef7d30fa00517f2a199f1ac4a48369a3ea6e48"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 05 20:54:54 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 05 20:54:54 2024 +0000"
      },
      "message": "Merge \"uinput: add recording for simulating a touchpad connection\" into main"
    },
    {
      "commit": "e0ef7d30fa00517f2a199f1ac4a48369a3ea6e48",
      "tree": "055554af8636a9caf156c0f4222bfbac601f3ced",
      "parents": [
        "fcfc6c13f523807a9d7e7f5a18683ee7f8b9d233"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Sep 05 19:12:08 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Sep 05 19:12:08 2024 +0000"
      },
      "message": "uinput: add recording for simulating a touchpad connection\n\nI was going to add this to some internal documentation, but realized\nthat it could also be useful for external contributors.\n\nBug: 355739040\nChange-Id: Icc87633c29a0688c4842184aeb29c574c57ba8d6\nTest: check touchpad settings appear after running\n      $ adb shell uinput - \u003c test-touchpad.evemu\n"
    },
    {
      "commit": "6f6679bf35c373746645dc1a148164d6d743e116",
      "tree": "8b8e9a15e8d8e61134047d129033a7b284fd7ca1",
      "parents": [
        "1970838ff559366b0d2f7d67891e31b12c3ecc0e"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Mon Jul 15 22:43:54 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu Aug 29 19:37:35 2024 +0000"
      },
      "message": "Add gainmap support for screencap\n\nThere still would need to be support added to the PNG spec to properly\nsupport gainmaps without affecting downstream clients. So, this patch:\n\n1. Allows for screencap to (temporarily) export jpegs\n2. Adds plumbing in HWUI\u0027s apex layer to encode gainmaps\n3. Wires up the attachGainmap flag to allow screenshots to output a\n   gainmap\n\nBug: 329470026\nFlag: com.android.graphics.surfaceflinger.flags.true_hdr_screenshots\nTest: adb screencap -j sdcard/test.jpeg\nChange-Id: I210a3e24ad2cfd6e0c0a954f42b9171d9e82e991\n"
    },
    {
      "commit": "f4d1b629a8a9a94ca0f43537eb36a38308c4f709",
      "tree": "1e7b38906aa140e075319b38d4cb12a7913a8dce",
      "parents": [
        "bcbae01251e1ce10c79fda5ef13e5302bbe1014a"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Aug 06 14:56:34 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu Aug 15 19:36:19 2024 +0000"
      },
      "message": "Update callers for making CaptureArgs structured aidl\n\nBug: 329465218\nFlag: EXEMPT mechanical refactor\nTest: builds\nTest: courage\nChange-Id: I760379d8271bf764d033eb14cc2e48944337d80a\n"
    },
    {
      "commit": "3d13a4f71b75a4b9ab87156613cbd11ebbf9ad94",
      "tree": "e01f71b841d63769cb86ca4cf72f176db60b986c",
      "parents": [
        "04f157c77b8adfc854135b9e788d9f75e1d3b87b"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Mon Aug 05 11:59:27 2024 -0700"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Mon Aug 05 13:10:47 2024 -0700"
      },
      "message": "[res] Make sure cached container is retained off cache\n\nThe object in the cache may get removed by a different thread,\nso getting it from the cache needs to also take (shared)\nownership instead of relying just on the cache itself.\n\nThis CL makes the cache hols shared_ptr\u003c\u003e and getting it\nincrements the ref counter, so the object won\u0027t go away\nanymore\n\n+ fix a few small issues in Idmap - const return types\n  and bad formatting\n\nBug: 332234677\nFlag: EXEMPT bugfix\nTest: build + boot\nChange-Id: I8e666e380a58b45142ddbd196dd684e5874fd2a6\n"
    },
    {
      "commit": "a58588e79d3c9939acdc85e2fdc24dc9fd437478",
      "tree": "65ca79cdb90090002182552443c35c34b215c072",
      "parents": [
        "419de098255f2b56301324da7c0a3dbc69cdbcbf",
        "a8e42e913670800584c8b7692434d744d11dfe71"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jul 16 18:03:54 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 16 18:03:54 2024 +0000"
      },
      "message": "Merge \"Adjusting the log format and makes it easier to understand.\" into main am: a8e42e9136\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3171719\n\nChange-Id: Id4ded56ccaea70fc1494d1fbf6fd9c4493d48152\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a8e42e913670800584c8b7692434d744d11dfe71",
      "tree": "90fe258b8ea4ab6441dfc62ba1f3eb165c45f541",
      "parents": [
        "ce3845cad9fce747b9fe7933afac7c3aca18ef91",
        "4334202a44affaa830f9bbb28db8c7ee0ba7cc66"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jul 16 17:49:00 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 16 17:49:00 2024 +0000"
      },
      "message": "Merge \"Adjusting the log format and makes it easier to understand.\" into main"
    },
    {
      "commit": "4334202a44affaa830f9bbb28db8c7ee0ba7cc66",
      "tree": "0642dd36ec21287628cab6e41fbb40e4e50ad2d8",
      "parents": [
        "093c0d8914a5d331fce0acbcb8d791b340c45553"
      ],
      "author": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Sat Jul 13 19:46:08 2024 +0800"
      },
      "committer": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Sat Jul 13 19:46:08 2024 +0800"
      },
      "message": "Adjusting the log format and makes it easier to understand.\n\nTest: manual test\n\nadb logcat | grep BootAnimation\n\nChange-Id: I937b4488cbea2e7529c2b8e699105bc3909c81b8\nSigned-off-by: jiayongqiang \u003cjiayongqiang@xiaomi.com\u003e\n"
    },
    {
      "commit": "80d24585ead4d1520c51ea6ceb754bf04a44b5cf",
      "tree": "ff8f7970ccd65847ba36031762b6d0de1baaf3c5",
      "parents": [
        "4ce25f247a566747cf36eb95b72a5681eee758a0",
        "5e81a24e1e5598d84099f8d9861f20517413cbd7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 13 16:59:36 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 13 16:59:36 2024 +0000"
      },
      "message": "Merge \"Switch from deprecated -stubpackages to --stub-packages\" into main am: eaceceda38 am: 5e81a24e1e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3129016\n\nChange-Id: I62884699ab8dbd3325c3fa7ff1f79c966000a9a5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5e81a24e1e5598d84099f8d9861f20517413cbd7",
      "tree": "5a0a9e68d73605ddd7585abc7a2d6d8a34f83c02",
      "parents": [
        "479210f274a601e865d4bf4caf97b9c1e160704f",
        "eaceceda389e5af31eaa01cef1b04eb0a56a03ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 13 16:51:47 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 13 16:51:47 2024 +0000"
      },
      "message": "Merge \"Switch from deprecated -stubpackages to --stub-packages\" into main am: eaceceda38\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3129016\n\nChange-Id: I91fd269b0ce35799a04a46204d3aac9c8eb1d8ec\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "99106d5676921e8ee1227de5479debda047bf0e9",
      "tree": "dab89f2ff635409f1e551e89cacf099763279855",
      "parents": [
        "6665b8b764fdfe0753b6ba1fa629d4b18155c0fc"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 13 13:26:02 2024 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 13 13:27:03 2024 +0100"
      },
      "message": "Switch from deprecated -stubpackages to --stub-packages\n\nThe behavior is identical but `-stubpackages` is a legacy option name\ninherited from doclava and Metalava uses doubly hyphens for long\noption names as standard.\n\nBug: 295136054\nTest: ./gradlew\nChange-Id: Ie1ffe083253c982280c4cb8bdd7c275074d7805d\n"
    },
    {
      "commit": "0bf86fc2e6044eb51408c7860813eeacc8ccd19d",
      "tree": "063bed30d9ce92cd454a98618ef4a7f7a0717768",
      "parents": [
        "db8d165daea3c36a5c099893722636bb0f4ebc7a",
        "d901f1e21cfc5e692a8fc6dd61a4a8a186810e63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 11 20:01:50 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 11 20:01:50 2024 +0000"
      },
      "message": "Merge \"libc++fs is part of libc++ now.\" into main am: 8392c70770 am: d901f1e21c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3126193\n\nChange-Id: I4e7a9d17460851b6008651edee11560d3c6b0932\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d901f1e21cfc5e692a8fc6dd61a4a8a186810e63",
      "tree": "5d1cf7963078d7e4d6e7f8e467bffa4c40daf3b6",
      "parents": [
        "69a92f083ec6b3e0b563bf33ed634eb1a8288ba3",
        "8392c70770cd0b2f09f0d9bf117d4cae09ee0c14"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 11 19:28:51 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 11 19:28:51 2024 +0000"
      },
      "message": "Merge \"libc++fs is part of libc++ now.\" into main am: 8392c70770\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3126193\n\nChange-Id: Id89ee23b0dd3e425c3b83e6fce7d93a4ed1096a6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "afb4c22fbea9cc22a60469c8956d418cf48ee237",
      "tree": "9d1b1c8179729748e62803e956e668a12c535a36",
      "parents": [
        "07478c0954856fa9783ab48823b2369d557755ed"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 11 15:25:15 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 11 15:25:15 2024 +0000"
      },
      "message": "libc++fs is part of libc++ now.\n\nChange-Id: I1f98b54c3d8f9b5b7c698ccd997323f5bbe90f22\n"
    },
    {
      "commit": "c4b2edfb3c480200af59890eeee3e66fb0d39d8c",
      "tree": "feb9cf360724ee93bf4f0c32100f4018aa273076",
      "parents": [
        "518864c02d09951f49f0900943dcbea4b2490db4",
        "5230c9751291ce22ba4dc3c2ce76d624aa3b94ef"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 10 21:02:05 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 10 21:02:05 2024 +0000"
      },
      "message": "Merge \"libc++fs is part of libc++ now.\" into main am: 7b155a8ac1 am: 5230c97512\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3122731\n\nChange-Id: Iecea9d926b4f9d9152e61953c0b08853f5bd1eb2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5230c9751291ce22ba4dc3c2ce76d624aa3b94ef",
      "tree": "d7e3183ccf2cd01da1f982b154e1ef0aaf474918",
      "parents": [
        "b386957eaab8b9888b4d4a10b4e79b0bbd2b0051",
        "7b155a8ac15ba7d254c96659a0b42c46131eb382"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 10 20:38:12 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 10 20:38:12 2024 +0000"
      },
      "message": "Merge \"libc++fs is part of libc++ now.\" into main am: 7b155a8ac1\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3122731\n\nChange-Id: I16ec6a58d2a0ec08b48ea87a04fc5cebd41ff35d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b7a03b24a7a19099af6b950dacebe0199dfc87a4",
      "tree": "4b527a28238ec2a51472828bdf19413d67a2ca8b",
      "parents": [
        "6c865749f6e92e52ea7dd3c0748e34c029fd8100"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 10 17:28:42 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 10 17:28:42 2024 +0000"
      },
      "message": "libc++fs is part of libc++ now.\n\nChange-Id: Id10bc8dbec318b7f1a479ea0a0b3792d9313f742\n"
    },
    {
      "commit": "438d8ad3c4f35c7ff7f9822c4e58b2e27ee5fc23",
      "tree": "f893959ae82f6acd7e0dfcb60524f96ad92c8967",
      "parents": [
        "a09a1338a2f0769d6e5ebd297d60a0a4a40e9977",
        "f2be4873ee0095c97f6bfd85a6b90a818898fb25"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Wed Jun 05 17:48:49 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 05 17:48:49 2024 +0000"
      },
      "message": "Merge changes from topic \"unify_getentryinfo\" into main am: dc2cfc8a10 am: f2be4873ee\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3112207\n\nChange-Id: Idd23693fcf2d5aff1be48a029200f5cbbbb7a82b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f2be4873ee0095c97f6bfd85a6b90a818898fb25",
      "tree": "131ad63b3e5c24b6ade6272bf96c705e958b51b6",
      "parents": [
        "f11faf7f93ebb46da0c610a37487762c0905f41b",
        "dc2cfc8a10b8b74ec2c70f3b2d32aa9bf765de87"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Wed Jun 05 17:26:10 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 05 17:26:10 2024 +0000"
      },
      "message": "Merge changes from topic \"unify_getentryinfo\" into main am: dc2cfc8a10\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3112207\n\nChange-Id: I02bfd0e55ed72f5391f3bb3133e74bb815c99f7b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8efc3c4bd407d4011db5b969b03a8d8d715acaf6",
      "tree": "6a27c97c283806b996afe8722617a221114ffc96",
      "parents": [
        "fbe2bd372f402454489fa831e11359cc657b055c"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Mon Jun 03 21:43:13 2024 +0000"
      },
      "committer": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Tue Jun 04 22:38:31 2024 +0000"
      },
      "message": "Fix usage of ZipFileRO::getEntryInfo\n\nExtra field size has been added to getEntryInfo. Adding parameter to call.\n\nTest: mma libandroidfw\nBug: 334109171\nChange-Id: I38f0884c69c7b3b2871f264e41971a86c61bda65\n"
    },
    {
      "commit": "fe285426c4f9149537bdd7cb351b02ec102e6082",
      "tree": "a50559e0969480b7f613fc086e380a290ee3d6b1",
      "parents": [
        "e2447a31771717fe6259043760ba02484f09d4da",
        "ed6f98ac9f4049f370e1db86e1b4e141bb83f5cc"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri May 24 08:27:25 2024 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri May 24 11:35:17 2024 -0700"
      },
      "message": "Merge Android 24Q2 Release (ab/11526283) to aosp-main-future\n\nBug: 337098550\nMerged-In: Ie71e752f0224aa239ba1350d50996ce4b510949a\nChange-Id: Ib25c1abf055b0114e0494088df5585f65df27595\n"
    },
    {
      "commit": "f97c74986d538ffb799c2ccf253a71481cd043b5",
      "tree": "bf990bdda9142627b6d1919303dba7188491c1c0",
      "parents": [
        "2a1acadce1ed8e42089291eed108372c529d1b20"
      ],
      "author": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Thu Mar 07 16:46:10 2024 +0000"
      },
      "committer": {
        "name": "Edward Liaw",
        "email": "edliaw@google.com",
        "time": "Wed May 22 22:56:02 2024 +0000"
      },
      "message": "Remove redudant string conversions\n\nIn the review of ag/26174212, an unnecessary string conversion was\nidentified; this CL corrects that, plus two other instances in\nthe same function.\n\nBug: 314732730\nTest: Presubmit\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:60e4fdfa0897b94c003ba3df3b39a16e10c886d1)\nMerged-In: Id2b620088e12266f041be864271493ffe7e1a3b1\nChange-Id: Id2b620088e12266f041be864271493ffe7e1a3b1\nSigned-off-by: Edward Liaw \u003cedliaw@google.com\u003e\n"
    },
    {
      "commit": "2a1acadce1ed8e42089291eed108372c529d1b20",
      "tree": "693dab3ec1f343909be0b11eb0a6f5165f511581",
      "parents": [
        "0ffcc2761aee72df712d8c28b19af0af6bfd0310"
      ],
      "author": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Wed May 22 21:26:35 2024 +0000"
      },
      "committer": {
        "name": "Edward Liaw",
        "email": "edliaw@google.com",
        "time": "Wed May 22 22:55:31 2024 +0000"
      },
      "message": "Add hid command support for uniq device attribute\n\nSony gamepads need a uniq attribute of a certain size in order to\nobtain the MAC address, which makes our CTS test fail. This CL\nadds the ability to define this attribute in our test definitions.\n\nBug: 314732730\nTest: Compiles properly, will be tested together with the test\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:93a4c0fbdc14d99cbd382fd50be83b7058ca6b56)\nMerged-In: I83203e8eb876b27d0e6e60adfbf6de3f4a6e9872\nChange-Id: I83203e8eb876b27d0e6e60adfbf6de3f4a6e9872\nSigned-off-by: Edward Liaw \u003cedliaw@google.com\u003e\n"
    },
    {
      "commit": "7cc9eae1253849afd0808668af5e978faa204160",
      "tree": "cc6de9d6fafce830a46b0fe81d809559190ba427",
      "parents": [
        "f0fff6a1d07014555e29a627f192b519d787a9e4",
        "a31c03e75c55b0d1be3f50a803360da8aadafa08"
      ],
      "author": {
        "name": "Daniel Peykov",
        "email": "peykov@google.com",
        "time": "Wed May 15 22:15:06 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed May 15 22:15:06 2024 +0000"
      },
      "message": "Merge \"Fix potential NPE when dumping child nodes\" into main am: 88a077b7de am: a31c03e75c\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3086546\n\nChange-Id: I8e7b2cfbfadc3fb2d2dfe3f13c9c86a46fb2ad62\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0c3f6981d42435b10493c80a46fcb6f3d5290987",
      "tree": "a371337890a762e4de108313b90776015def1f00",
      "parents": [
        "400a6e0c749a4ef321fc82d455aea15de56b53a9"
      ],
      "author": {
        "name": "Daniel Peykov",
        "email": "peykov@google.com",
        "time": "Tue May 14 20:04:33 2024 +0000"
      },
      "committer": {
        "name": "Daniel Peykov",
        "email": "peykov@google.com",
        "time": "Tue May 14 20:04:33 2024 +0000"
      },
      "message": "Fix potential NPE when dumping child nodes\n\n* This brings the childNafCheck method in line with the version in\n  androidx.test.uiautomator.\n\nBug: 315023780\nTest: manual\nChange-Id: Ie5ba2340bedabc31f346c6e717353c7a5db0e90e\n"
    },
    {
      "commit": "49f47350bbdee9aa198188286afd8de941d8740f",
      "tree": "9cce76bbbcd5ab28ee2d55301e08a8a2c20214a5",
      "parents": [
        "21a1a483fc22b2fba3db41cba69791562197a466",
        "af5e418990bb2a080be0470ee3985acf47525932"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 13 17:29:48 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon May 13 17:29:48 2024 +0000"
      },
      "message": "Merge \"Fix Boot animation display issue on android 14 devices\" into main am: 80208b9d71 am: af5e418990\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3082086\n\nChange-Id: I7b8dd292c65fd3a97bd3cebf98553905aa942ac3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9231011c3e61043ce365ac0e9417aa23060dd475",
      "tree": "69acd700dd2c36c419cf7142db110b2a8a38d30c",
      "parents": [
        "43dc73188e63b383f3c331afea3909c39303bd00"
      ],
      "author": {
        "name": "derek.li",
        "email": "derek.li@realtek.com",
        "time": "Fri May 10 17:59:51 2024 +0800"
      },
      "committer": {
        "name": "derek.li",
        "email": "derek.li@realtek.com",
        "time": "Mon May 13 09:21:45 2024 +0800"
      },
      "message": "Fix Boot animation display issue on android 14 devices\n\nUse the size of limitSurfaceSize to set the window\n\nBug: 339763174\nTest: 1. set the property:\n\t    [ro.surface_flinger.max_graphics_height]: [1080]\n    \t[ro.surface_flinger.max_graphics_width]: [1920]\n    2. Repeatedly Turn on/off while connecting to 4K TV and check the boot animation\nChange-Id: I378aab715d75b8ddb47068cb0e81503d83339021\n"
    },
    {
      "commit": "df94c034b58ee8f0a98751634e2b03404da1cdb2",
      "tree": "49fd6249e90994602ff5987e5f8d6407ced36ca9",
      "parents": [
        "6b158b322392f59b4da8c343658574546ec4e935",
        "d209fe26e35fdde38f44f51fad5a77576f18e0a4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 09 17:30:07 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 09 17:30:07 2024 +0000"
      },
      "message": "Merge \"bootanimation: fix typo in example\" into main am: 1547e55460 am: d209fe26e3\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3079488\n\nChange-Id: I93dbacb0c331dca9724e222a1629b7a6371fd96a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4c9a42522e4b4531d04466634c74b52fbdc82543",
      "tree": "2c80af80c6340e6eb2686ffc9abbd2df599afc8a",
      "parents": [
        "43420b33e466e530d403c0bbd582edad583f6e8e"
      ],
      "author": {
        "name": "Dominic Lemire",
        "email": "dominic.lemire@broadcom.com",
        "time": "Thu Aug 18 09:47:09 2022 -0700"
      },
      "committer": {
        "name": "Dominic Lemire",
        "email": "dominic.lemire@broadcom.com",
        "time": "Wed May 08 19:36:15 2024 -0700"
      },
      "message": "bootanimation: fix typo in example\n\nBug: 29055299\nTest: manual\nChange-Id: I4f821acb298f8d74d17afd0db7ba4eb7729620d2\n"
    },
    {
      "commit": "b434eb94faf8aecf7e749baca3bea2f4dbe2b1fb",
      "tree": "a0edcbd1900dad56d00d90ebf24baa58bb546272",
      "parents": [
        "2f7b477159fa569519936ce4f7fe438f65752e8d",
        "24cff7df533ecfa09b65328133c30a20255deefc"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Apr 23 10:25:17 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 23 10:25:17 2024 +0000"
      },
      "message": "Merge \"uinput: fix timestamps for JSON-style recordings\" into main"
    },
    {
      "commit": "24cff7df533ecfa09b65328133c30a20255deefc",
      "tree": "62612c3877c4728b2ec5425e086e3f1ba20ce44f",
      "parents": [
        "bf44397daf51cdf27ddafba02f9d2e59778fe244"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Apr 22 14:30:18 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Apr 23 10:23:49 2024 +0000"
      },
      "message": "uinput: fix timestamps for JSON-style recordings\n\nThe previous changes to support specifying timestamps for evemu\nrecordings inadvertently made injections from JSON-style recordings have\nthe timestamps at which the injection was scheduled, not when it\nhappened, causing many events to be injected with very close-together\ntimestamps. This broke drawing in the tests for some inking libraries,\nsuch as Keep\u0027s.\n\nBug: 330844071\nTest: $ atest \u0027PlatformScenarioTests:android.platform.test.scenario.sysui.stylus.StylusInkingTest#writeText_appearsInShowcaseApp\u0027\n      (with the @Ignore in StylusInkingTest.kt removed)\nTest: replay the recording from b/330844071#comment30, check the curve\n      is drawn correctly\nTest: replay an evemu recording and check that the timestamps shown by\n      `getevent -lt` are still correct\nChange-Id: I5342a79d4f9b53875b9918443bf1f5fd16cd205e\n"
    },
    {
      "commit": "081955aa72598e5455515927e824437ad2618b41",
      "tree": "8eb9b50d568a8e40452ab861e08ba56f22b165c0",
      "parents": [
        "e70357a60659b7dab962cb276b981e076a09e0fb",
        "526ae41a8c8011ee9c0baa18fde0353261fced04"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Apr 22 15:59:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 15:59:37 2024 +0000"
      },
      "message": "Merge \"uinput: add updateTimeBase command\" into main"
    },
    {
      "commit": "b2818816bb0ca9dbc83bbc6dafa0194637901fd6",
      "tree": "f5feef50c1609a8ccfff3f1bfd727c6bf884618c",
      "parents": [
        "c32694d57e3e661800f5afb5cb99c1b774bcd6ba",
        "0ae79caa7088c9add9507b38d6057429a3d3d819"
      ],
      "author": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Mon Apr 08 17:59:56 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 08 17:59:56 2024 +0000"
      },
      "message": "Merge \"Migrating test options From TEST_MAPPING -\u003e Android.bp\" into main am: 11514e7413 am: 0ae79caa70\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3028666\n\nChange-Id: I29f169684165f4b786a9a95ec14fd5ec56742996\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d9b0dc595e26b9d3db0ea3d156ca3016aac979ce",
      "tree": "2bfd99d60897b396d32a5050f01482e3c5b55bd4",
      "parents": [
        "281a76bf08f1cbb7368579f12314693a0ff6d49e"
      ],
      "author": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Thu Apr 04 17:22:49 2024 -0700"
      },
      "committer": {
        "name": "Ronald Braunstein",
        "email": "rbraunstein@google.com",
        "time": "Thu Apr 04 17:31:44 2024 -0700"
      },
      "message": "Migrating test options From TEST_MAPPING -\u003e Android.bp\n\nSee parent cl: aosp/3028633\n\nTest: atest -p cmds/locksettings:postsubmit\nTest: atest -p services/core/java/com/android/server/locksettings:postsubmit\nTest: atest -p services/devicepolicy:postsubmit\nChange-Id: I6d0d0320e0bf8927f9b8b27b471ae58ace56124a\n"
    },
    {
      "commit": "9ac714f7eee08e9a01f063e263b11dd363b13148",
      "tree": "e20f997933659f4d83e1217725ade00a3b58cf1e",
      "parents": [
        "767c2a4bc702d28145d3b3e30f32ebe5117edf4b",
        "9f98a07787ee76b0301b843b80f4f0ef8741973a"
      ],
      "author": {
        "name": "Julie Pan",
        "email": "juliepan@google.com",
        "time": "Thu Apr 04 19:18:52 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Apr 04 19:18:52 2024 +0000"
      },
      "message": "Merge \"Remove kwekua@google.com from cmds/incident_helper/OWNERS\" into main am: 711bc4d9c5 am: 9f98a07787\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3028104\n\nChange-Id: I5bd25446f73c702b3d73bf37a5e6d189c3173434\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d18052c7e654fa04f28d6e39089f649f2a48ca62",
      "tree": "a6cf4d5320416a409645a87d7a1da9be9f6f3b28",
      "parents": [
        "0d60b0757428a2f4fe67c0a9b3db9b53b9917ae9"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Thu Apr 04 17:34:15 2024 +0000"
      },
      "committer": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Thu Apr 04 17:34:21 2024 +0000"
      },
      "message": "Remove kwekua@google.com from cmds/incident_helper/OWNERS\n\nThis suggested change is automatically generated based on group\nmemberships and affiliations.\nIf this change is unnecessary or in error, vote CR -1 and the bot\nwill abandon it. Vote CR +1/2 to approve this change.\n\nSee the owner\u0027s recent activity for context:\nhttps://android-review.googlesource.com/q/kwekua@google.com\n\nTo report an issue, file a bug in the Infra\u003eCodereview component.\n\nChange-Id: Iafe15ba5276e97d8ffc036d4b5bc71967df25329\n"
    },
    {
      "commit": "526ae41a8c8011ee9c0baa18fde0353261fced04",
      "tree": "d5677e71eba6d93ee4fdac7855dfb3c8905ba2ff",
      "parents": [
        "08ece2250caa31f351755b2e78b14a21f31c1d1c"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Mar 27 16:30:01 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Apr 03 15:05:09 2024 +0000"
      },
      "message": "uinput: add updateTimeBase command\n\nThe recent change to how event injections are scheduled causes problems\nwhen a client waits a considerable time after a device registration\nbefore sending a lot of events separated by delays. The long wait means\nthat many of the events get scheduled in the past, so they\u0027re all\ninjected at once, filling the kernel\u0027s buffers and causing events to be\ndropped.\n\nThe updateTimeBase command allows the client to tell us that the long\ndelay is intentional, and that the following injections should be\nscheduled relative to the current time, rather than the previous\ninjections or the registration.\n\n[0]: change Ieaa4f2f06d5e0b7d13abc3afa474948996db7c0a\n\nBug: 330844071\nTest: check for SYN_DROPPED events in the output of:\n      $ adb shell getevent -lt\n      while running the inking test:\n      $ atest \u0027PlatformScenarioTests:android.platform.test.scenario.sysui.stylus.StylusInkingTest#writeText_appearsInShowcaseApp\u0027\nChange-Id: I31c596251e27149da16270a23f4f57e7bb8e3460\n"
    },
    {
      "commit": "8ab36d447e8812dfba2353bb413711da1450c2be",
      "tree": "e4aa0efc7f3bec37e9351203180a392aa9fd45a9",
      "parents": [
        "ea122e500daa7021c804d9a005b75adbd96b02e1",
        "4574283f7aef2f5ee9865b323b2e5f5753d92c5e"
      ],
      "author": {
        "name": "Gregory Montoir",
        "email": "gmontoir@google.com",
        "time": "Wed Apr 03 05:36:57 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 05:36:57 2024 +0000"
      },
      "message": "Merge \"Restrict fields stripping to TYPE_MESSAGE\" into main"
    },
    {
      "commit": "fbefde0a5e119af38026af529325534e42eb2ce2",
      "tree": "b51d3d598b94aeb06d2cf48516372e8fe4ae1092",
      "parents": [
        "4e98b884c603d1408e0b83b9004440698f2365e6",
        "6afb3e754e764a5a0b3e316f7048d40a802d0564"
      ],
      "author": {
        "name": "Piyush Mehrotra",
        "email": "piee@google.com",
        "time": "Tue Apr 02 15:57:08 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 02 15:57:08 2024 +0000"
      },
      "message": "Merge \"Increase BMM logging coverage for restore at install flow\" into 24D1-dev am: 6afb3e754e\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/26748034\n\nChange-Id: I5216ce32ba2c6b7db3e8cbe1dd8af816f958455d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f11e886dc73bb52ad2b4f9c8225c322cfa383de5",
      "tree": "6867ded18e3bc68bb02885d2a61558ec309a6430",
      "parents": [
        "6579627cc14b403516298a5f3746defdf56d6b97"
      ],
      "author": {
        "name": "Piyush Mehrotra",
        "email": "piee@google.com",
        "time": "Thu Mar 28 12:04:24 2024 +0000"
      },
      "committer": {
        "name": "Piyush Mehrotra",
        "email": "piee@google.com",
        "time": "Tue Apr 02 14:11:15 2024 +0000"
      },
      "message": "Increase BMM logging coverage for restore at install flow\n\nThis change adds BMM logging in restore at install flow right from the point when PackageManager triggers restore.\nThe change also adds more detailed logging in Full Restore flow, around various failure points. This\u0027ll help with quantify different failures that happen in Full Restore flow, some of which are masked by the complexity in Framework code.\n\nBug: 331749778\nTest: Ensure that the change builds (m -j frameworks/base)\n\tEnsure CTS and GTS B\u0026R tests pass\nChange-Id: Ieff6df433398ffff71c7eeda73174f9f1d509b58\n"
    },
    {
      "commit": "4574283f7aef2f5ee9865b323b2e5f5753d92c5e",
      "tree": "cc3463a089cf18a26e81e4758e57e89542c427bd",
      "parents": [
        "a2c40221b01742b9f70ecd074c298a9467b4a53c"
      ],
      "author": {
        "name": "Gregory Montoir",
        "email": "gmontoir@google.com",
        "time": "Fri Mar 15 19:39:29 2024 +0800"
      },
      "committer": {
        "name": "Gregory Montoir",
        "email": "gmontoir@google.com",
        "time": "Tue Apr 02 09:36:44 2024 +0800"
      },
      "message": "Restrict fields stripping to TYPE_MESSAGE\n\nSection 1002 (/proc/version) is primitive data (TYPE_STRING)\n\nBug: 277334359\nBug: 328677623\nTest: adb shell incident -p AUTOMATIC 1002 | protoc --decode_raw\nChange-Id: I2f9728d542becd3690522b3a113a4760c7d324d2\n"
    },
    {
      "commit": "e644f58c06768d19b1d6b2be4dd890c374bb3047",
      "tree": "bc56a56d8ad30fd05fa0b4d4e12f002aec54e86a",
      "parents": [
        "09d78e792636a97bdd41bdcac61b0e3c7a2246f5"
      ],
      "author": {
        "name": "Yein Jo",
        "email": "yeinj@google.com",
        "time": "Thu Feb 15 17:55:15 2024 +0000"
      },
      "committer": {
        "name": "Yein Jo",
        "email": "yeinj@google.com",
        "time": "Fri Mar 15 17:02:59 2024 +0000"
      },
      "message": "Add -a to capture all the physical displays.\n\nwhen -a is given, it will append a postfix to the FILENAME, such that\nFILENAME_0.png, FILENAME_1.png. this won\u0027t break the existing behavior\nas it doesn\u0027t mutate the name if it\u0027s taking a single display.\nwhen both -a and -d are given, it will ignore -d and capture all the\ndisplays.\nalso updated the usage doc to clarify it captures the default display\nwhen the id is not given.\n\nTest cases:\n- no argument \u003e prints out in the cmd window\n- only -p \u003e prints out in the cmd window as png format\n- -h \u003e correctly shows the usage\n- -d with and without .png \u003e saves as a file\n- -a with and without .png \u003e saves as files\n- -d and -a \u003e ignores -d and shows the same results as single -a\n\nBug: 321278149\nTest: adb shell screencap with various flags\nFlag: NA\nChange-Id: Iecfeec1a1edbc95d7e8931ac3b22ac7f0706c3e7\n"
    },
    {
      "commit": "60e4fdfa0897b94c003ba3df3b39a16e10c886d1",
      "tree": "d9cae04dfc3a0e62ba020c420421338096557b85",
      "parents": [
        "b24190c9cd7ef68291345b482c87f626427e6000"
      ],
      "author": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Thu Mar 07 16:46:10 2024 +0000"
      },
      "committer": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Thu Mar 07 16:46:10 2024 +0000"
      },
      "message": "Remove redudant string conversions\n\nIn the review of ag/26174212, an unnecessary string conversion was\nidentified; this CL corrects that, plus two other instances in\nthe same function.\n\nBug: 314732730\nTest: Presubmit\nChange-Id: Id2b620088e12266f041be864271493ffe7e1a3b1\n"
    },
    {
      "commit": "ba236f3327488c3d03065d5b562b7c2a4b7231ce",
      "tree": "71dbec9cc16302896d111dfe9ef805faea2821f9",
      "parents": [
        "383c55a7012bebd47de87dcdefb2c2cd9ea491f6",
        "93a4c0fbdc14d99cbd382fd50be83b7058ca6b56"
      ],
      "author": {
        "name": "Josep del Río",
        "email": "joseprio@google.com",
        "time": "Thu Mar 07 14:02:48 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 14:02:48 2024 +0000"
      },
      "message": "Merge \"Add hid command support for uniq device attribute\" into main"
    },
    {
      "commit": "93a4c0fbdc14d99cbd382fd50be83b7058ca6b56",
      "tree": "05f032aefee39cc7b257d9905a2870efdb1bb020",
      "parents": [
        "7a4809271248f7af6b071e850352708e1c793a4e"
      ],
      "author": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Thu Feb 08 10:20:23 2024 +0000"
      },
      "committer": {
        "name": "Josep del Rio",
        "email": "joseprio@google.com",
        "time": "Thu Mar 07 11:25:59 2024 +0000"
      },
      "message": "Add hid command support for uniq device attribute\n\nSony gamepads need a uniq attribute of a certain size in order to\nobtain the MAC address, which makes our CTS test fail. This CL\nadds the ability to define this attribute in our test definitions.\n\nBug: 314732730\nTest: Compiles properly, will be tested together with the test\ndefinition change in the same topic\n\nChange-Id: I83203e8eb876b27d0e6e60adfbf6de3f4a6e9872\n"
    },
    {
      "commit": "01b0b683cf380c677a521b83ba400033bbc2fa49",
      "tree": "8b5b4f41f08540745d05ac495caa18ce41c0238d",
      "parents": [
        "2b2462f2c3769002d04529b9bf77fc4e82e52039",
        "7a92b47246e5b90591f4af396f4fceb49e169bc8"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 07 00:54:54 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 07 00:54:54 2024 +0000"
      },
      "message": "Merge \"Remove shell commands to TelecomShellCommands\" into main"
    },
    {
      "commit": "6e099f72bd81995be4d7cce5b07c1dc487da54a5",
      "tree": "5d665ef2dde536ff4311ca97e594f89e9ab52e93",
      "parents": [
        "46bab924d5acc1901eb6c1379592826e2a1a8e2d",
        "15e70c81983a0595dfba9ae650d1b06736c486fb"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Mar 04 16:55:36 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 04 16:55:36 2024 +0000"
      },
      "message": "Merge \"Prevent error message on svc power reboot\" into main am: ae6753571e am: 15e70c8198\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2983091\n\nChange-Id: Ie7917a12ee4ff2ef44c2e118d669d930a69060eb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "15e70c81983a0595dfba9ae650d1b06736c486fb",
      "tree": "ca2c4713e2ccd5e4efda82db8c9993ae3fbadf57",
      "parents": [
        "a98bb79a65615ef7d43bea4d67b1b33800c14bd9",
        "ae6753571e418e012a84ee5f4a955a09fd1de8dc"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Mar 04 15:51:27 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 04 15:51:27 2024 +0000"
      },
      "message": "Merge \"Prevent error message on svc power reboot\" into main am: ae6753571e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2983091\n\nChange-Id: I4a4cee32e1b3bd96addcd3b2fc82708f24484f44\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e7c1f00739c0f2747acb353ccef2b41f2a92a01e",
      "tree": "2f75c7f3cdd227fa0ff41ba1731cf31f99771018",
      "parents": [
        "43ff4a403fb4abad851d387a341e1184c015463e"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Tue Jan 30 13:50:57 2024 -0800"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Thu Feb 29 17:43:06 2024 +0000"
      },
      "message": "[res] Use fstat() for idmap::IsUpToDate()\n\nThe most common operation when getting a new Resources object\nis checking if all apks and overlays are still up to date to\nreuse the cached object. It makes sense to optimize it by\nexcluding the file by path lookups and instead keeping an open\nFD to the file in the cache\n\n+ Make IsFabricatedOverlay() more efficient via a name check\n  and string_view where possible\n\nBug: 282215580\nTest: build + boot + presubmit\nChange-Id: Ib1ab20cba359c2195a72dd2e10096883d95b4453\n"
    },
    {
      "commit": "86b8d5e51a81e370f84a7f61764f4348edd394f7",
      "tree": "7e86581d145a1c9d4f7c4d491bdd53b844d2239c",
      "parents": [
        "3bd28b5829f1d463b31550ebc500ec0d8874b68d"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Feb 28 20:10:39 2024 +0000"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Wed Feb 28 23:20:42 2024 +0000"
      },
      "message": "Prevent error message on svc power reboot\n\nWith the changes to sys.powerctl this variable is no longer set on a\npower event - the power action is simply carried out. (This is to avoid\npossible DoS of these power functions.) However, this means that this\nproperty can no longer be read to see if a power event is happening.\nSince there is no longer a way of telling if a remote exception is real\nor not, best not to print out an error.\n\nNote that this bug occurs on some devices, not all. I was able to\nreproduce it reliably on a Pixel 7a, but not on a Pixel 7 or Cuttlefish.\n\nBug: 318323013\nTest: adb shell svc power reboot\n\nChange-Id: Icbc1ec1b7882140d4d742b056ea2adaafae67ee9\n"
    },
    {
      "commit": "7a92b47246e5b90591f4af396f4fceb49e169bc8",
      "tree": "7230d6766fa4a2bc478dec6d51ed246160a9c66e",
      "parents": [
        "082e90eabc8e8d0e7ce6c8b4fd9676aee726ecc0"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Feb 27 22:55:34 2024 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Feb 28 11:56:43 2024 -0800"
      },
      "message": "Remove shell commands to TelecomShellCommands\n\nRemove shell commands from the commands.Telecom binary and into\nTelecomServiceImpl.\n\nFor backwards compatibility, still allow Telecom to process the\ncommands by retrofitting in TelecomShellCommand.\n\nBug: 327310548\nTest: atest CtsTelecomTestCases CtsTelecomCujTestCases\nChange-Id: I44fe946046504b804204e1935b02a3047328bf4e\n"
    },
    {
      "commit": "448c137003b384cab4de5b4113487ef0d91b3d30",
      "tree": "8c3459bec0ea3b1e61485b350e3b4ea090bc7c95",
      "parents": [
        "ccaa40d1bc46714fee7a4bc54b737acae2b0fe3e"
      ],
      "author": {
        "name": "Vinod Benure",
        "email": "vinodbenure@google.com",
        "time": "Wed Feb 21 17:36:46 2024 -0800"
      },
      "committer": {
        "name": "Vinod Benure",
        "email": "vinodbenure@google.com",
        "time": "Wed Feb 21 17:44:34 2024 -0800"
      },
      "message": "Adds an option to disable capture logcat in proto file\n\nbug: b/326318293\n\nTest: atest FrameworksInProcessTests CrossUserPackageVisibilityTests SdkSandboxInprocessTests\nChange-Id: I774f9b81f1507ccbff6fd9c55a47d48911113089\n"
    },
    {
      "commit": "dfc798ea92062e0813502204f4438dd01e1ca463",
      "tree": "696b74d534a55327dc2d42aad81dd06033f13c2c",
      "parents": [
        "1c6ce0689f7955dd72f4c8158ff5ed13d7f4714d"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 14:32:03 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 17:01:29 2024 +0000"
      },
      "message": "Reland \"uinput: delay from the end of the last delay\"\n\n(This CL is unchanged. Original description below, with additional Test:\nline)\n\nIf we want to inject events at predictable times, then we shouldn\u0027t take\ninto account the current time when scheduling those injections, as that\ncould change depending on the timings of the process sending commands to\nuinput. Instead, assume that the process sending commands intends time\noffsets between injected events to be as close as possible to those\nspecified in the delay commands.\n\nBug: 310958309\nTest: atest CtsInputTestCases\nTest: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \\\n            android.view.cts.input.InputDeviceSensorManagerTest \\\n            --rerun-until-failure\u003d10\nChange-Id: Ieaa4f2f06d5e0b7d13abc3afa474948996db7c0a\n"
    },
    {
      "commit": "1c6ce0689f7955dd72f4c8158ff5ed13d7f4714d",
      "tree": "4c2f3697aac426b6069311b8ff2243a26bb4cc9a",
      "parents": [
        "b8c7f5eb6bd2c77d41f84b2f6194b41e989bd541"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 14:32:03 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 16:55:10 2024 +0000"
      },
      "message": "Reland \"uinput: Specify timestamps when injecting events...\"\n\nThe reland fixes an issue where the time at registration would be used\nfor timestamp values forever unless `delay` commands were introduced.\n\n(Original description, with additional Test line:)\n\nLast year support for specifying timestamps for uinput events was added\nto the Linux Kernel [0]. This allows us to give precise timestamps for\nevents being played back from an evemu recording, despite the actual\ntimes at which we inject them being imprecise due to how threads and\nthe kernel are scheduled.\n\n[0]: https://lore.kernel.org/lkml/20230427000152.1407471-1-biswarupp@google.com/\n\nBug: 310958309\nTest: with the patch added to the device\u0027s kernel, play back pointing\n      stick and touchscreen recordings. Compare `getevent -lt` output\n      with the timestamps in the recordings to check that the offsets\n      between timestamps match (e.g. using a spreadsheet).\nTest: atest UinputTests\nTest: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \\\n            android.view.cts.input.InputDeviceSensorManagerTest \\\n            --rerun-until-failure\u003d10\nChange-Id: Icf77e8adba075ab070806311f31c6a5e1bd98bc9\n"
    },
    {
      "commit": "b8c7f5eb6bd2c77d41f84b2f6194b41e989bd541",
      "tree": "94c862d8954a705b0f352bfb434aeb750e0398da",
      "parents": [
        "6d92ca2277284a616be079b1fe37f2dfb7920dff"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 14:32:03 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 16:51:17 2024 +0000"
      },
      "message": "Reland \"uinput: use nanoseconds for delay durations\"\n\n(This CL is unchanged. Original description below, with additional Test:\nline)\n\nevemu recordings use microseconds for their time intervals, but we can\nonly schedule handler calls in Device at millisecond precision. So far\nwe\u0027ve converted the microseconds into milliseconds in EvemuParser, which\nmeans that the precision losses compound over time (since each delay\nwill be slightly shorter than it should be, and the next delay will\nstart from that slightly earlier time, etc.). Keeping the delay\ndurations in a more precise unit up until the very last moment means\nthat we\u0027ll only get the precision loss once for each event. Since it\u0027s\nsomewhat uncommon to use microseconds elsewhere in Android code, and we\nget the system time in nanoseconds, we may as well use nanoseconds\nrather than microseconds.\n\nBug: 310958309\nTest: play an evemu recording through uinput\nTest: atest UinputTests\nTest: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \\\n            android.view.cts.input.InputDeviceSensorManagerTest \\\n\t    --rerun-until-failure\u003d10\nChange-Id: Ibb968487ed114a4c464ac7061af4cda188e92498\n"
    },
    {
      "commit": "44cc786757aaeea7fdea0dbd7f1fe661e9430270",
      "tree": "0a7f65b035aed4930c8f648ee1d167c5de0c12a2",
      "parents": [
        "263343bf0768ef7769ef24784e808b541e543ec6",
        "5b70661c458759e123a08a097cc8b3b58af74795"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Feb 12 14:22:04 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 14:22:04 2024 +0000"
      },
      "message": "Merge changes from topic \"revert-26154399-CXYXSETNUA\" into main\n\n* changes:\n  Revert \"uinput: use nanoseconds for delay durations\"\n  Revert \"uinput: Specify timestamps when injecting events from evemu\"\n  Revert \"uinput: delay from the end of the last delay\"\n"
    },
    {
      "commit": "5b70661c458759e123a08a097cc8b3b58af74795",
      "tree": "9c1a0003d09dec47703a38bfe266625c309fa0b7",
      "parents": [
        "31f05298a0db46e9690ba3c58382aabfd302e3c5"
      ],
      "author": {
        "name": "Solti Ho",
        "email": "solti@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "committer": {
        "name": "Solti Ho",
        "email": "solti@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "message": "Revert \"uinput: use nanoseconds for delay durations\"\n\nRevert submission 26154399\n\nReason for revert: b/324707605\n\nReverted changes: /q/submissionid:26154399\n\nChange-Id: Ie1e20baefa998f0b69fd56ffa780ea3d3cd038db\n"
    },
    {
      "commit": "31f05298a0db46e9690ba3c58382aabfd302e3c5",
      "tree": "1b0b95ae74e6cdb4bd85e83e74a0764a09b9a979",
      "parents": [
        "b2cba9ef0f1417881cc49a0498e185a068ad8c10"
      ],
      "author": {
        "name": "Solti Ho",
        "email": "solti@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "committer": {
        "name": "Solti Ho",
        "email": "solti@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "message": "Revert \"uinput: Specify timestamps when injecting events from evemu\"\n\nRevert submission 26154399\n\nReason for revert: b/324707605\n\nReverted changes: /q/submissionid:26154399\n\nChange-Id: I2a9bc83e94a28691a1e3c6e3aaa8bb6d77ab17a5\n"
    },
    {
      "commit": "b2cba9ef0f1417881cc49a0498e185a068ad8c10",
      "tree": "acabc46d50f51cd3f0bbc72423f803fa58c08a28",
      "parents": [
        "b959f744b7984e70a5a2c453fdae7ac56f17988e"
      ],
      "author": {
        "name": "Solti Ho",
        "email": "solti@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 11 19:49:01 2024 +0000"
      },
      "message": "Revert \"uinput: delay from the end of the last delay\"\n\nRevert submission 26154399\n\nReason for revert: b/324707605\n\nReverted changes: /q/submissionid:26154399\n\nChange-Id: Ib4ab9a80e74ad5bfec005dd2744458a60bdedde1\n"
    },
    {
      "commit": "c9a252cb976efa14974838a582017da48c35519f",
      "tree": "37834eb44112186054505a631b18a546d529862e",
      "parents": [
        "a99e90edf663817afc989ff588ca6f45f7cd0d93"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 17:00:03 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 17:00:03 2024 +0000"
      },
      "message": "uinput: add missing version ID assertion\n\nSeems I missed this TODO when I added version ID support in commit\nd9505841eda9829354cb2b81afea2138d5555a10.\n\nBug: 302297266\nTest: atest UinputTests\nChange-Id: If7071266be531fd82d8301c26df405476f614cb2\n"
    },
    {
      "commit": "328556ac9e94e7439a5833693142941c96098a31",
      "tree": "b86d302f4c256fcff447af51ffe3b34d6617dc8f",
      "parents": [
        "f62b2d09a4f5f144d3a66c3a86c7aceee69678d1",
        "b959f744b7984e70a5a2c453fdae7ac56f17988e"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 12:04:59 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 12:04:59 2024 +0000"
      },
      "message": "Merge changes I3ceab49b,If486cdb7,I68d54c05 into main\n\n* changes:\n  uinput: delay from the end of the last delay\n  uinput: Specify timestamps when injecting events from evemu\n  uinput: use nanoseconds for delay durations\n"
    },
    {
      "commit": "b959f744b7984e70a5a2c453fdae7ac56f17988e",
      "tree": "726848a4430dfa4a93f3a08f09079e90f4274045",
      "parents": [
        "ee8298906a422932b41e53945d876167549a647b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 07 17:43:37 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 08 20:51:01 2024 +0000"
      },
      "message": "uinput: delay from the end of the last delay\n\nIf we want to inject events at predictable times, then we shouldn\u0027t take\ninto account the current time when scheduling those injections, as that\ncould change depending on the timings of the process sending commands to\nuinput. Instead, assume that the process sending commands intends time\noffsets between injected events to be as close as possible to those\nspecified in the delay commands.\n\nBug: 310958309\nTest: atest CtsInputTestCases\nChange-Id: I3ceab49bd6f492244e53d3263bf10802353853c2\n"
    },
    {
      "commit": "ee8298906a422932b41e53945d876167549a647b",
      "tree": "acabc46d50f51cd3f0bbc72423f803fa58c08a28",
      "parents": [
        "8767c6634218420add1cf76fec3169138eddb643"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 29 17:57:52 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 08 20:50:54 2024 +0000"
      },
      "message": "uinput: Specify timestamps when injecting events from evemu\n\nLast year support for specifying timestamps for uinput events was added\nto the Linux Kernel [0]. This allows us to give precise timestamps for\nevents being played back from an evemu recording, despite the actual\ntimes at which we inject them being imprecise due to how threads and\nthe kernel are scheduled.\n\n[0]: https://lore.kernel.org/lkml/20230427000152.1407471-1-biswarupp@google.com/\n\nBug: 310958309\nTest: with the patch added to the device\u0027s kernel, play back pointing\n      stick and touchscreen recordings. Compare `getevent -lt` output\n      with the timestamps in the recordings to check that the offsets\n      between timestamps match (e.g. using a spreadsheet).\nTest: atest UinputTests\nChange-Id: If486cdb7218918aca64e6561f9fc2f30acce736a\n"
    },
    {
      "commit": "8767c6634218420add1cf76fec3169138eddb643",
      "tree": "1b0b95ae74e6cdb4bd85e83e74a0764a09b9a979",
      "parents": [
        "a0d2cc0984ad38e6034f27c0044760bac28cce3b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 07 12:51:12 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 08 20:29:40 2024 +0000"
      },
      "message": "uinput: use nanoseconds for delay durations\n\nevemu recordings use microseconds for their time intervals, but we can\nonly schedule handler calls in Device at millisecond precision. So far\nwe\u0027ve converted the microseconds into milliseconds in EvemuParser, which\nmeans that the precision losses compound over time (since each delay\nwill be slightly shorter than it should be, and the next delay will\nstart from that slightly earlier time, etc.). Keeping the delay\ndurations in a more precise unit up until the very last moment means\nthat we\u0027ll only get the precision loss once for each event. Since it\u0027s\nsomewhat uncommon to use microseconds elsewhere in Android code, and we\nget the system time in nanoseconds, we may as well use nanoseconds\nrather than microseconds.\n\nBug: 310958309\nTest: play an evemu recording through uinput\nTest: atest UinputTests\nChange-Id: I68d54c05214ae778167adfd0d3fc9a345454c336\n"
    },
    {
      "commit": "49c9fca3a2ee4eb52d19035671aa26a866d05f40",
      "tree": "b449fa93ecbd401b4e5ebac2d1e658a39e8d8391",
      "parents": [
        "a0d2cc0984ad38e6034f27c0044760bac28cce3b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 02 18:02:59 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 02 18:02:59 2024 +0000"
      },
      "message": "uinput: recycle SomeArgs after opening uinput\n\nSomeArgs objects are held in a pool, which gets depleted if they\u0027re not\nrecycled after use, lowering performance.\n\nBug: 245989146\nTest: play back an evemu recording\nChange-Id: I0d5109f654bd61eb2b3ef68a2ce7a3ab07371ded\n"
    },
    {
      "commit": "7b647e4ea0e92f33c19b315eaed364ee067ba0aa",
      "tree": "47c285aa18cf79476d615f8e169ebd823bee6d38",
      "parents": [
        "46deec9f696f850efdd4427e10db145d68cbb5bd",
        "efd99108901ae47b085f96c841214f6f416dd86f"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Jan 30 10:36:03 2024 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Jan 30 10:36:03 2024 -0800"
      },
      "message": "Merge Android 24Q1 Release (ab/11220357)\n\nBug: 319669529\nMerged-In: I46c7859ff042ee7aa9193757e5df8269f4892362\nChange-Id: I0c7b5036c0b0f5f2caad551edb063350f6eb87e7\n"
    },
    {
      "commit": "596fa1789c222ab224076b60de470d96865a5d6a",
      "tree": "a32706e444c19dd962dfa854bb940766a2ac0926",
      "parents": [
        "4f48ffd43b182f31a199e54a39406cbd3d84abb0"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Fri Nov 10 16:05:38 2023 -0800"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Jan 17 23:52:44 2024 -0800"
      },
      "message": "[res] Optimize name lookups in idmap service\n\nThe most common operation when build idmaps is to find the\nresource ID by name. This is the least optimized operation\nin the current resources data structures, as they only\nexpect ID -\u003e value lookups\n\nThis change adds an optional flag that creates a name-\u003eID\nhash map inside ResStringPool, and use it when loading\nAPKs in idmap2d\n\nBug: 282215580\nTest: build + boot + perf record\n\nChange-Id: I82f4d684cb48e2dcddcd677b882b11497c1c13b1\n"
    },
    {
      "commit": "77e28bd5261e47775c8b65759320036a5fb52f15",
      "tree": "ff23445c4e231978d9241a2c67b86139d5fdeb66",
      "parents": [
        "342811136453f8b41c022411c6c3d9fd7f3b0826"
      ],
      "author": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Fri Nov 10 13:56:07 2023 -0800"
      },
      "committer": {
        "name": "Yurii Zubrytskyi",
        "email": "zyy@google.com",
        "time": "Wed Jan 17 23:52:44 2024 -0800"
      },
      "message": "[cleanup] Fix initializers order\n\nBug: 282215580\nTest: build + boot + perf record\n\nChange-Id: I5c76515aa3dad405a2938d8d0e87048cc52cf61b\n"
    },
    {
      "commit": "4533e2983f79faaed5dd5eed3640b77c1ec25154",
      "tree": "dbf392af5705dd5c0886088cb8f9fbbff9d0562f",
      "parents": [
        "660c3c947b661e5404268c30cfec5e70d00ac270"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Jan 09 17:42:34 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Jan 09 17:45:02 2024 +0000"
      },
      "message": "uinput: mention evemu format in README\n\nBug: 302297266\nTest: check rendering and links in Gitiles\nChange-Id: I47e9c1efd5656c3dca20672e7da4fe4417b28803\n"
    },
    {
      "commit": "92e37c10a425104b92f502fed06dcec24baa1d86",
      "tree": "13bcfa4d033d86e30e6304e18bb4d174c2a5808f",
      "parents": [
        "6cec919c3af13194596eecfd9eb79a14ef041472",
        "4c2f23548d774251072a202854b8b7a135b24657"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Dec 15 19:31:25 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 15 19:31:25 2023 +0000"
      },
      "message": "Merge \"bootanimtion: fix jagged animation after resolution change\" into main am: a7e10edaa3 am: dee14e8b78 am: 4c2f23548d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2745234\n\nChange-Id: I43e594cfbad05f1148b8607af8247b888cb6f2ab\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a7e10edaa3c165bda6a58bc3ed3fb042274d5578",
      "tree": "47bdd4f3cb097dd90d53a96618e13768c57da4b7",
      "parents": [
        "123ba0f593459dfb5b01596862b3278c1140a6e2",
        "a76df8904aeef1f42f3a714797bc3de1bd9e76c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Dec 15 18:22:30 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 15 18:22:30 2023 +0000"
      },
      "message": "Merge \"bootanimtion: fix jagged animation after resolution change\" into main"
    },
    {
      "commit": "deb46f31bf04f17e8a636ec2eead8f75268f64ec",
      "tree": "b9aa91d5b4d1cd9558e8154cbe96009ee4cc74bb",
      "parents": [
        "87f82bb9ba06450ebba5b65261dc707761dea54a"
      ],
      "author": {
        "name": "Jeremy Meyer",
        "email": "jakmcbane@google.com",
        "time": "Wed Nov 08 12:20:24 2023 -0800"
      },
      "committer": {
        "name": "Jeremy Meyer",
        "email": "jakmcbane@google.com",
        "time": "Tue Dec 05 13:12:53 2023 -0800"
      },
      "message": "Handle 9patches being used for frros\n\nThis adds an api that allows creation of nine patch frros.\nWe process them the same as aapt2 does so that\nwhen they are used at runtime they work correctly.\n\nAPI-Coverage-Bug: 314168567\nTest: manual and automatic\nBug: 296324826\nChange-Id: I40da020189e9ec914fbea0c17f181209347d83de\n"
    },
    {
      "commit": "69f1c8e575f700ca8db2c503023fed4b43d5248b",
      "tree": "8828037bc44f96ba78cc914f11f8558663243d0b",
      "parents": [
        "9c3cac223c17bc7999c52ba35b6c4b5e7544de75",
        "d9505841eda9829354cb2b81afea2138d5555a10"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Nov 23 11:05:41 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 11:05:41 2023 +0000"
      },
      "message": "Merge changes Idd3b6166,Iad0e7888 into main\n\n* changes:\n  uinput: set device version IDs from evemu files\n  uinput: report evemu parsing errors\n"
    },
    {
      "commit": "7b8bd6675ae43dda8e6877ef41b3b31e3975bd6c",
      "tree": "a932c21b7f1a74deccc39242aa4fed8120cd271c",
      "parents": [
        "e306e0069a801a82a490ea39775b526fa0f638c1",
        "9cf990e2f22500afdaa31a1450cd32f71638a4f8"
      ],
      "author": {
        "name": "YoungJoon Yang",
        "email": "youngjoonyang@google.com",
        "time": "Thu Nov 23 01:21:34 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 01:21:34 2023 +0000"
      },
      "message": "Merge \"Set default rotation and boot animation orientation for logical display\" into main"
    },
    {
      "commit": "d9505841eda9829354cb2b81afea2138d5555a10",
      "tree": "ff68492ab3f7eb1d0a8e9c3d4aa65400a0843101",
      "parents": [
        "45094325b42698061916850138e457b00a3f7954"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 22 15:32:07 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 22 16:21:33 2023 +0000"
      },
      "message": "uinput: set device version IDs from evemu files\n\nBug: 302297266\nTest: atest UinputTests\nTest: play a recording with version ID set, check `getevent -li` output\n      while it\u0027s running\nChange-Id: Idd3b6166a3912c26720dddbf4ad72b5a07a604a5\n"
    },
    {
      "commit": "45094325b42698061916850138e457b00a3f7954",
      "tree": "c5443144d2f2f6c81cb07d27c691a857a16c8d68",
      "parents": [
        "b359805226a624ba5320492f4048799d78d2f92d"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 21 16:39:31 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 22 15:33:32 2023 +0000"
      },
      "message": "uinput: report evemu parsing errors\n\nBug: 302297266\nTest: run with various broken recordings, check error messages are\n      helpful and have correct line numbers\nChange-Id: Iad0e788815c9d146babe67568a6ceef27b68007f\n"
    },
    {
      "commit": "b359805226a624ba5320492f4048799d78d2f92d",
      "tree": "141d3f47c5eb1fce6962cdc1058a3585e3ddf056",
      "parents": [
        "21dedc406b5e784e187ff979a984e8623a8493a5"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 15 16:19:05 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 22 15:33:20 2023 +0000"
      },
      "message": "uinput: add unit tests for evemu parsing\n\nBug: 302297266\nTest: atest UinputTests\nChange-Id: I7b4c6fa87f6ba50147f3ddeb9b8e4ceaa238ffc1\n"
    },
    {
      "commit": "792e58171f79aa773c8e0bf7cbef85e48a3ea492",
      "tree": "9347ff127c1de4584da8f4ecc2591fea773ef3b7",
      "parents": [
        "7fa0fdedcdcc0feeec6602d25d40f8d65cef0c53",
        "4ec6969f9cd7998a33301b3b7f99c05e25cf3a2f"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 22 12:17:40 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 12:17:40 2023 +0000"
      },
      "message": "Merge \"uinput: support evemu recordings\" into main"
    },
    {
      "commit": "4ec6969f9cd7998a33301b3b7f99c05e25cf3a2f",
      "tree": "31c35e5fb66b407ddde44d75bec584e3388d83b4",
      "parents": [
        "766ff01ffc0ff3356156fa3fb27612676de581a3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 14:31:03 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 21 18:30:19 2023 +0000"
      },
      "message": "uinput: support evemu recordings\n\nevemu [0] is a system used by the wider Linux community to record\nsequences of evdev events and descriptions of the device that created\nthem. Together with the evemu-record implementation added to\nframeworks/native, implementing support for evemu recordings in uinput\ngives us a system for event recording and replay that\u0027s compatible with\nother Linux systems.\n\nSince the format looks quite different from the existing JSON-style one,\nwe can automatically detect which type of data is being passed in,\ninstead of having to change the command-line interface.\n\nAs part of the implementation, the Event.Bus enum is replaced with plain\nintegers. This allows the tool to support new bus IDs that are added to\nLinux\u0027s input.h without code changes, at least for evemu files.\n\n[0]: https://gitlab.freedesktop.org/libevdev/evemu\n\nBug: 302297266\nTest: replay recordings made using Android and FreeDesktop\n      evemu-record implementations\nChange-Id: Ie2f969da24db9aa04037335d5b697cdc0db0b3ca\n"
    },
    {
      "commit": "342e37d2d13b616c26e8cacb0270687e046c7ef5",
      "tree": "bb29277d7c371cac4f3016e41e28d88ce23839f1",
      "parents": [
        "d908e5f299cac032b39d55519fb27236feaefa65"
      ],
      "author": {
        "name": "Pascal Muetschard",
        "email": "pmuetschard@google.com",
        "time": "Wed Nov 08 16:05:15 2023 +0100"
      },
      "committer": {
        "name": "Pascal Mütschard",
        "email": "pmuetschard@google.com",
        "time": "Tue Nov 21 16:01:56 2023 +0000"
      },
      "message": "Move counter producer off of vendor partition.\n\nAlthough the binary looks for a vendor provided shared library,\nit is an otherwise vendor agnostic tool. Moving it off the\nvendor partition also has the added benefit of it not requiring\nroot to be run.\n\nBug: b/273907878\nTest: manual\nChange-Id: I81726ffb7d96acef69b7b77c864be254be9a74c5\n"
    },
    {
      "commit": "43a117cbe0271996b08134b3796e7237c5eca8c3",
      "tree": "045f73af6c981f35ce135a532f0f86afca2afa73",
      "parents": [
        "fff1a90416497cb8a3cc5ab9e8bb956c71ae24f6",
        "e28db5f173d12eea51ee72242a656fb1b08aa285"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Nov 17 18:13:00 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 18:13:00 2023 +0000"
      },
      "message": "Merge \"uinput: crash if device creation fails\" into main"
    },
    {
      "commit": "fcbb655570ee96ba09f76a859566f908e8b939f6",
      "tree": "a9bda77d3e6894ef55ca47ab8462cc5272496b31",
      "parents": [
        "a481cc281bd75b939d5b184219fa1f651c9f7a01",
        "766ff01ffc0ff3356156fa3fb27612676de581a3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Nov 17 12:44:18 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 12:44:18 2023 +0000"
      },
      "message": "Merge \"uinput: pass Commands to Event.Builder.setCommand\" into main"
    },
    {
      "commit": "766ff01ffc0ff3356156fa3fb27612676de581a3",
      "tree": "24ab0e94ec00a80e8024cc871eb6b54b966c786e",
      "parents": [
        "70bb706e1c70ed45aebef5d0e8288399e3eca9b3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 16:56:14 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Nov 16 15:27:55 2023 +0000"
      },
      "message": "uinput: pass Commands to Event.Builder.setCommand\n\nParsing strings into enum values should be done by the parser, not the\nbuilder, and this means that the evemu parser will be able to pass\nproperly typed values to setCommand rather than \"magic\" strings.\n\nBug: 302297266\nTest: m uinput\nChange-Id: Icac5764a66025412c87c326280d1895f3da78cac\n"
    },
    {
      "commit": "e28db5f173d12eea51ee72242a656fb1b08aa285",
      "tree": "30b817c23e4aa8ecb3a83ee1dc393e5afc6256fe",
      "parents": [
        "70bb706e1c70ed45aebef5d0e8288399e3eca9b3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 15:54:21 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Nov 16 15:25:34 2023 +0000"
      },
      "message": "uinput: crash if device creation fails\n\nPreviously the tool just carried on, with event injections being\nsilently dropped, which isn\u0027t very obvious behaviour.\n\nBug: 302297266\nTest: cause device creation to fail somehow, check the tool exits\nChange-Id: I94e931729339bff0f6fc7ab5b591f062043a1d7a\n"
    },
    {
      "commit": "2bec9191eb0788b85ec347b0ad75ef8037b81f82",
      "tree": "3826ecd5a6435ced022546429f488f9b273d57f0",
      "parents": [
        "70bb706e1c70ed45aebef5d0e8288399e3eca9b3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 14:55:04 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Nov 16 15:23:02 2023 +0000"
      },
      "message": "uinput: report errors from configuration ioctls\n\nThis came in useful when debugging the evemu support, and seems like\nsomething we should be checking anyway.\n\nBug: 302297266\nTest: pass some invalid arguments (e.g. large numbers that aren\u0027t valid\n      event codes) to the ioctls, check errors are logged\nChange-Id: Id3e32dad96c9db8819009b815ee2574ef63e96f7\n"
    }
  ],
  "next": "563c9b3c730d245af5c1c24a017d65bd16f15bb7"
}
