)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "563c9b3c730d245af5c1c24a017d65bd16f15bb7",
      "tree": "f23a27f0036fec70f91675d84462da53b5cbb74d",
      "parents": [
        "da15623a25ef4aedc7ce3a2271157af2a25b68a7",
        "4de6e7437fe03709e900ab7dba38f761489ccce6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 16 00:03:29 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 16 00:03:29 2023 +0000"
      },
      "message": "Merge \"Add CaptureArgs \u0026 long options to screencap\" into main"
    },
    {
      "commit": "4de6e7437fe03709e900ab7dba38f761489ccce6",
      "tree": "dc0d71cd7628b890787d815d962e2d213c7e2b89",
      "parents": [
        "c64add5fbce5a1211b77d0cc7cc2e3969f402f03"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 14 18:32:32 2023 -0500"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 14 20:54:24 2023 -0500"
      },
      "message": "Add CaptureArgs \u0026 long options to screencap\n\nTest: make \u0026\u0026 adb shell screencap\nChange-Id: I0141a9ea9b51a06bafdeac6c7848986906b8eacc\n"
    },
    {
      "commit": "ffa80d0a853111efb9521a551a9496385aa5a9c6",
      "tree": "bd22724d0f98fbd1c931a174233fc97298d2beea",
      "parents": [
        "5cfe5d02a59a0c6ecd0b906a346b77c3dbf0a114",
        "822e9c80deba25a93846ab539622322613eaab0b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 14:56:07 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 14 14:56:07 2023 +0000"
      },
      "message": "Merge changes I9b9ae897,Iad98088b,Id6c7536a into main\n\n* changes:\n  uinput: improve Event.Builder API\n  uinput: use enum valueOf method\n  uinput: move Event.Reader to its own file\n"
    },
    {
      "commit": "822e9c80deba25a93846ab539622322613eaab0b",
      "tree": "2448800487e0cabab5b7391576cc9a105cf75cca",
      "parents": [
        "55a237588d0608ec459d4a4df832b8130043cbce"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Nov 13 18:30:59 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 10:33:33 2023 +0000"
      },
      "message": "uinput: improve Event.Builder API\n\nRename setDuration and associated identifiers to make the units clearer,\nfix a typo in setInputport, and add some JavaDoc to clarify the\nstructure of configuration arrays.\n\nBug: 302297266\nTest: m uinput\nChange-Id: I9b9ae8970389da3cdfe06738883ef02ebf07ff77\n"
    },
    {
      "commit": "55a237588d0608ec459d4a4df832b8130043cbce",
      "tree": "e3deda2599172aaf93ac0e619accc9d3bce7786a",
      "parents": [
        "37e7df398ea3a9bf6b58eb23fac678b90b808971"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Nov 13 17:47:20 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 10:33:30 2023 +0000"
      },
      "message": "uinput: use enum valueOf method\n\nThis makes the Command and UinputControlCode enums and the code to look\nup their values a little tidier.\n\nBug: 302297266\nTest: atest CtsInputHostTestCases\nChange-Id: Iad98088b93dc1e1b72df1efbeb9010f78c6962e9\n"
    },
    {
      "commit": "37e7df398ea3a9bf6b58eb23fac678b90b808971",
      "tree": "5d0e64c7f349a9159b7ee19c48531afca8dd9770",
      "parents": [
        "813da4623d2c6d80d3e23767973bf9d8284f7543"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 08 11:02:33 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 14 10:31:52 2023 +0000"
      },
      "message": "uinput: move Event.Reader to its own file\n\nWe\u0027ll shortly be adding a parser for a different file format (evemu),\nand having the different parsers in separate files will make the code\nnicer to navigate.\n\nIn addition to moving it to a separate file, this CL renames Reader to\nJsonStyleParser to avoid confusion with Java\u0027s Reader classes, and\nreplaces some switch statements with the new-style switch syntax to\nimprove readability.\n\nBug: 302297266\nTest: atest CtsInputHostTestCases\nChange-Id: Id6c7536a2caea3b61fac615dce071129bf4dc1e4\n"
    },
    {
      "commit": "9cf990e2f22500afdaa31a1450cd32f71638a4f8",
      "tree": "de8dde937e02439f1cf87492cc1e1c5a340ecf94",
      "parents": [
        "0bc6b1e81239aa3c99d8351c81ad5517023e1fad"
      ],
      "author": {
        "name": "YoungJoon Yang",
        "email": "youngjoonyang@google.com",
        "time": "Mon Nov 13 15:34:28 2023 +0900"
      },
      "committer": {
        "name": "YoungJoon Yang",
        "email": "youngjoonyang@google.com",
        "time": "Mon Nov 13 16:02:07 2023 +0900"
      },
      "message": "Set default rotation and boot animation orientation for logical display\n\nIntroduce ro.bootanim.set_orientation_logical_\u003cdisplay_id\u003e allows to\nchange the default orientation of logical display.\n\nBug: 272527451\nTest: Manual test with all 4 values\nChange-Id: I39a0d5df97d5185090b6a793e52ecaa5f3bc0baa\n"
    },
    {
      "commit": "40f54db094ab39b318c786d16b1f1f5b56ac8ebd",
      "tree": "8ebe6818fceaa1c573dd1b44a06db5e4c0d9c1a2",
      "parents": [
        "6acd07f545afd557ff90410b0c10a3b67f40c3ca",
        "d8dc5b3f8af19d4f628843a89e158167b02f7c9d"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Nov 09 16:00:05 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 16:00:05 2023 +0000"
      },
      "message": "Merge \"screencap: Fix parsing of display IDs\" into main"
    },
    {
      "commit": "d8dc5b3f8af19d4f628843a89e158167b02f7c9d",
      "tree": "6ec9a6f593f168cddb18f956df34d3d495ef927b",
      "parents": [
        "fa76ad2f83b019184fe2f57b2ef6be1d44a80adc"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Sep 28 17:10:47 2023 -0400"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Nov 08 17:07:31 2023 -0500"
      },
      "message": "screencap: Fix parsing of display IDs\n\nThe underlying type of DisplayId is uint64_t, but screencap parsed the\nIDs as signed 64-bit, invoking undefined behavior for out-of-range IDs.\nIn practice, out-of-range IDs were clamped, so SF failed to find them.\n\nFixes: 302580952\nTest: screencap works for virtual display on Felix\nChange-Id: I09a863d0c68dbb857b6f756b51159e5e3d853f5d\n"
    },
    {
      "commit": "1d801f52ec02f0ddd174e6ab72511de0de248074",
      "tree": "6d9fc3065a9ad407df5b30da8d458d4e58ef3e13",
      "parents": [
        "22daeee1fae2d38179af79299c54c85e86f8dbae"
      ],
      "author": {
        "name": "Pascal Muetschard",
        "email": "pmuetschard@google.com",
        "time": "Wed Nov 08 11:07:23 2023 +0100"
      },
      "committer": {
        "name": "Pascal Muetschard",
        "email": "pmuetschard@google.com",
        "time": "Wed Nov 08 11:09:38 2023 +0100"
      },
      "message": "Ensure gpu_counter_producer can always find the driver\u0027s .so.\n\nTest: tested locally\nChange-Id: I4971e1b422bf4b278e8c3153e2134956c8d35700\n"
    },
    {
      "commit": "27c5079cbf3207efc87eea9fe52708e48cad647e",
      "tree": "8fd1d24dcfe2931f02fd6b5cbcde1d112c81c49a",
      "parents": [
        "72c6685cda6c64e89f3b8251e706364a119bb291",
        "036e9e145428f2eeac5b9781876e5d0462ba3d5b"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Oct 24 14:59:22 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 24 14:59:22 2023 +0000"
      },
      "message": "Merge \"Revert \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\"\" into main am: 1d98705039 am: eb66a4858c am: 036e9e1454\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799364\n\nChange-Id: Idd47b428034d0188a57290c32b6521b271c2248b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "eb66a4858cd4a12a0833b5bf989ed99e900dafb7",
      "tree": "4776a3a6a3b989145a0c5bafcc2af36e5b354216",
      "parents": [
        "f3dda786044cd4b2504afff8ccb6d23595e471e8",
        "1d98705039eb1344ba1eb4dbf945dcfe4942a05c"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Oct 24 14:08:42 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 24 14:08:42 2023 +0000"
      },
      "message": "Merge \"Revert \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\"\" into main am: 1d98705039\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799364\n\nChange-Id: I6bfa41e6cc5450578e6dd83954ba73bd4905dda2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dba2b42cbc1870eae764265e9dcc442c520f3af2",
      "tree": "200e125331ac2d20505208ab9d701690e881a303",
      "parents": [
        "47be3bb627879495b8b6426a7f5b5680d9b1ee6b"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Oct 24 00:58:58 2023 +0000"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 21:20:42 2023 -0700"
      },
      "message": "Revert \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\"\n\nThis reverts commit 8140652ead483cad0f12c5f8fed1dec68e057f3e.\n\nReason for revert: Added a fix for the failing code.\n\nChange-Id: I729672340d52a745dd43121e1dbedf9d6d5ec34a\n"
    },
    {
      "commit": "eaa6609500c243b98b7b3b428a6a2de00b2cfc31",
      "tree": "1dbba135936e9ff63177ee55af9c06af1e4185ca",
      "parents": [
        "1a14e406edc4d681e3105b7812265cc9b542dc1b",
        "714286d19af06cefb6d3edc7d7516390bb33ff94"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 22:42:01 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 22:42:01 2023 +0000"
      },
      "message": "Merge \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\" into main am: 47be3bb627 am: 8b0f90257a am: 714286d19a\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799537\n\nChange-Id: I337d51bc8410046f2f84d834539825963c45e723\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8b0f90257a088b3af9bc16219163a3ae51e5914f",
      "tree": "8237b14294459682ec57ef4b416a9cc041ec37f1",
      "parents": [
        "90e7909fa66180d5692899a0ba1053aeac36ff9e",
        "47be3bb627879495b8b6426a7f5b5680d9b1ee6b"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 21:53:08 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 21:53:08 2023 +0000"
      },
      "message": "Merge \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\" into main am: 47be3bb627\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799537\n\nChange-Id: I1ce54c3f0fff4ed9d6332643f80827802e44ebfe\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "47be3bb627879495b8b6426a7f5b5680d9b1ee6b",
      "tree": "5dd1dcdcae893bf0e39e9a9bfe2b91f59de99687",
      "parents": [
        "867815f0bea9f5497ef4695fb8bd5909e7ae6abd",
        "8140652ead483cad0f12c5f8fed1dec68e057f3e"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 21:29:43 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 23 21:29:43 2023 +0000"
      },
      "message": "Merge \"Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\" into main"
    },
    {
      "commit": "8140652ead483cad0f12c5f8fed1dec68e057f3e",
      "tree": "e2653888d8d504f1a210ce42f84ea360f87d359c",
      "parents": [
        "12058cb9d93b62b7ac3e6c77ed5927c6db49dd03"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 21:27:55 2023 +0000"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 21:28:37 2023 +0000"
      },
      "message": "Revert \"svc(nfc): Use NfcAdapter API to enable/disable\"\n\nThis reverts commit 12058cb9d93b62b7ac3e6c77ed5927c6db49dd03.\n\nReason for revert: Fails telephony tests\n\nBug: 303286040\nTest: N/A\nChange-Id: I07c79f6d07ac8f7394698b8144e9310be2f3f1fe\n"
    },
    {
      "commit": "700151e91db4a63911b68b518791a7e7979f61dd",
      "tree": "02a207b21ce7f91ee48fc9ab60b31c48ac2f0162",
      "parents": [
        "ac1fdf697efb7dca41b91e7f82acbbe195dcea1b",
        "a953edf9949d19820347d9776e2df507370db010"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Oct 23 19:01:50 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 19:01:50 2023 +0000"
      },
      "message": "Merge \"nfc: Add owners files\" into main am: 76d99d6277 am: 6ae2f3c177 am: a953edf994\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799357\n\nChange-Id: I253f4b501ef5c6b75599ff16caf9c305d6718d0c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6ae2f3c177f0778a4a29ca117f8b565981f69fce",
      "tree": "420894ee2210d9746676e8ccb5eb4ef97b74f752",
      "parents": [
        "ce2ef4ec48ddfb095369c070c58c80d5bf94fcbd",
        "76d99d627741b22d315f9f8a71e041f6f57e0de4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Oct 23 18:31:31 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 18:31:31 2023 +0000"
      },
      "message": "Merge \"nfc: Add owners files\" into main am: 76d99d6277\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2799357\n\nChange-Id: Ide245db13a5aa1266dcb04f126f0600279a25983\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "edf7367aeaae4e233b6efeb401fbd614411eff72",
      "tree": "2ec2c57d9193348fcd8491c2a01d3941dec9c4c8",
      "parents": [
        "ceba5139e62625a7fc5cb36da213bfde0ca87694"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 10:27:38 2023 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 10:30:00 2023 -0700"
      },
      "message": "nfc: Add owners files\n\nFollow up CL for aosp/2798514 to add owners file.\n\nBug: 303286040\nTest: Compiles\nChange-Id: I18d8f617beb385c684c635ec2ec57d296be5e6f3\n"
    },
    {
      "commit": "8a470ae155dbb3b57941c593feed895bf6873bc9",
      "tree": "648d103bf6a7dda8b7309c5237adcb00df7ac2ff",
      "parents": [
        "85bd87469d2d83b53b4fdb91adb2db20e881d37b",
        "a06cea1c9d58a2052bd42909d930d0cd071a258d"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 15:11:32 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 15:11:32 2023 +0000"
      },
      "message": "Merge \"svc(nfc): Use NfcAdapter API to enable/disable\" into main am: 6285b21624 am: a5112d4e33 am: a06cea1c9d\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2798234\n\nChange-Id: I2d5f7257deadeebed9a40e797195ace16d99319a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a5112d4e335bcbca4471b6381325a3d8e3a23153",
      "tree": "87d29266fd74ceb48400fe5e5e59a250706c3d02",
      "parents": [
        "aa9d9647112da4e3d75b045ed1ca8256de2bd26f",
        "6285b216248d99cefbfd0d9493ff8c86a8eaca81"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Mon Oct 23 14:22:51 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 23 14:22:51 2023 +0000"
      },
      "message": "Merge \"svc(nfc): Use NfcAdapter API to enable/disable\" into main am: 6285b21624\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2798234\n\nChange-Id: Ic4ac3bad05cfe2ebd928783c6445c03dc2b7230c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "12058cb9d93b62b7ac3e6c77ed5927c6db49dd03",
      "tree": "cd3429302e3b941819ee21ace928b65bebd09518",
      "parents": [
        "5ed8f129a5b6c0580ae3175b7e1e921b31f67f9f"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Oct 19 14:48:04 2023 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Oct 20 04:13:59 2023 +0000"
      },
      "message": "svc(nfc): Use NfcAdapter API to enable/disable\n\nBug: 303286040\nTest: adb shell svc nfc enable\nChange-Id: I678d01c7c86defb7eb071d66cb2aede4983ab506\n"
    },
    {
      "commit": "a76df8904aeef1f42f3a714797bc3de1bd9e76c5",
      "tree": "43613319b73e675d0c704251cabd47debfa923f6",
      "parents": [
        "7e44fa6c44cace0006511dea23de7e63e711ba06"
      ],
      "author": {
        "name": "niuwenchao",
        "email": "niuwenchao@xiaomi.com",
        "time": "Mon Sep 11 17:19:04 2023 +0800"
      },
      "committer": {
        "name": "wenchao niu",
        "email": "niuwenchao@xiaomi.com",
        "time": "Mon Oct 16 12:42:15 2023 +0000"
      },
      "message": "bootanimtion: fix jagged animation after resolution change\n\njagged animation after resolution change, change Texture Filtering from GL_NEAREST to GL_LINEAR.\n\nChange-Id: I0788db4f4edb109eff3b86ce43be79eb206fe00b\nSigned-off-by: niuwenchao \u003cniuwenchao@xiaomi.com\u003e\n"
    },
    {
      "commit": "2b9c6335d9a155ae7a9073808d3f70a113898209",
      "tree": "2b81556229c63dc55b59f1e551773fb34cb2d002",
      "parents": [
        "595ecc5ec3444a81dd601cad3247eec0d22a94d5",
        "34178fa66a4a84ebc65bb6d54a800b8e0835b2d6"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Sep 29 18:39:13 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 29 18:39:13 2023 +0000"
      },
      "message": "Merge \"Use readUniqueFileDescriptor in incidentd service\" into udc-qpr-dev am: 34178fa66a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24606762\n\nChange-Id: I0dad4f12d0f87a99af8fee11855ffba52e7edffa\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "34178fa66a4a84ebc65bb6d54a800b8e0835b2d6",
      "tree": "d0032b35ee43fa5b17d4f340f3dc94c4c04365af",
      "parents": [
        "7adeffd900374e6f98dccfd280d556153b5cf4cd",
        "eb695e1fe9baba71d1b460e1a8249190f3ade4f7"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Sep 29 18:09:07 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 29 18:09:07 2023 +0000"
      },
      "message": "Merge \"Use readUniqueFileDescriptor in incidentd service\" into udc-qpr-dev"
    },
    {
      "commit": "cd8d1801786ca9c29fa92777203fc40ffaacf244",
      "tree": "32e24f8333cb8c8e11a0d1ba2082267de091b5d2",
      "parents": [
        "2263796ccf95e7a893b9f3e220b7dc2ae3fb24f1"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Sep 28 17:44:29 2023 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Sep 28 17:44:36 2023 +0000"
      },
      "message": "uinput: document the port field for device registration\n\nBug: 245989146\nChange-Id: I84dfce5d216a5065611bf63f61e803a93e76b58f\nTest: check gittiles rendering\n"
    },
    {
      "commit": "eb695e1fe9baba71d1b460e1a8249190f3ade4f7",
      "tree": "48dd96fd0fd3106d7b1cb23109dac82270912176",
      "parents": [
        "6e837bea6b7f81a79f468283c68c1fc6f2e44855"
      ],
      "author": {
        "name": "Pawan Wagh",
        "email": "waghpawan@google.com",
        "time": "Tue Jun 13 17:37:26 2023 +0000"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Sep 22 17:24:10 2023 +0000"
      },
      "message": "Use readUniqueFileDescriptor in incidentd service\n\nreadFileDescriptor doesn\u0027t provide ownership of the fds. fdopen\nneeds ownership of the fds. Fds read from parcel should be duped\nin this scenario and readUniqueFileDescriptor dups fds internally.\n\nTest: m incidentd_service_fuzzer \u0026\u0026 adb sync data \u0026\u0026 adb shell /data/fuzz/x86_64/incidentd_service_fuzzer/incidentd_service_fuzzer\nTest: atest incidentd_test\nBug: 286931110\nBug: 283699145\n\nMerged-In: Ibe03a17dee91ac5bf25d123d4fd9c0bdd3c7d80e\nChange-Id: Ibe03a17dee91ac5bf25d123d4fd9c0bdd3c7d80e\n(cherry picked from commit ba78ef276951269f7b024baebdf1b8fa40bedb23)\n"
    },
    {
      "commit": "67d39f879a91d8586559ed4c2b3c11c917c4c02f",
      "tree": "833580ad6f3f82732d2c1c214caa428f9b35d6dc",
      "parents": [
        "f344a01ceb9e18bfb1c7519455f137602202a5cb",
        "933caefe553f84668690952e842ccf7e4789ffcd"
      ],
      "author": {
        "name": "Beatrice Marchegiani",
        "email": "beatricemarch@google.com",
        "time": "Fri Sep 22 15:29:29 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 22 15:29:29 2023 +0000"
      },
      "message": "Merge changes from topic \"bmm-events\" into udc-qpr-dev am: 6f4c93a57a am: 933caefe55\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24770152\n\nChange-Id: I27c8b8db185a3650cbfc40d15d044560b16ea6b4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "933caefe553f84668690952e842ccf7e4789ffcd",
      "tree": "ed7ae55df07ce464740e534991f0a1e56dc07787",
      "parents": [
        "2b2a3ff22cdbff81f2b2eed27a4fa516fb583d5a",
        "6f4c93a57adf142503c642734ea36e2a70867768"
      ],
      "author": {
        "name": "Beatrice Marchegiani",
        "email": "beatricemarch@google.com",
        "time": "Fri Sep 22 14:31:27 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 22 14:31:27 2023 +0000"
      },
      "message": "Merge changes from topic \"bmm-events\" into udc-qpr-dev am: 6f4c93a57a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24770152\n\nChange-Id: I48429aeb7811ccf7f098cfdd79412f48c2750edd\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6f4c93a57adf142503c642734ea36e2a70867768",
      "tree": "63c8d1599de2f1b8a4fd1e081cc9b3d8d3316db4",
      "parents": [
        "54234feac1216afceb75c292a4d9037cab593076",
        "0c5993fa0e39e4959a18994663923bbb2ddc44e1"
      ],
      "author": {
        "name": "Beatrice Marchegiani",
        "email": "beatricemarch@google.com",
        "time": "Fri Sep 22 14:06:39 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 22 14:06:39 2023 +0000"
      },
      "message": "Merge changes from topic \"bmm-events\" into udc-qpr-dev\n\n* changes:\n  Implement the ability to log extras relating to version mismatches between packages on the source and target. Imporve readability of events in dumpsys.\n  Add a 2.5 MB size limit to the text file storing BMM Events.\n  Add more BackupManagerMonitor events to PerformUnifiedRestoreTask.\n  Add a 60 days retention period to BMM Events\n  Overload putMonitoringExtra so that it can take an int as a parameter. This will allow to correcly store EXTRA_LOG_OPERATION_TYPE\n"
    },
    {
      "commit": "501eeee21a5fb200b88b42eb8ed53be67bd16e56",
      "tree": "397e27982bccf37f7ff8224d60b5654f43520b40",
      "parents": [
        "e8d8bf4d73d5f75858e93bdb4373217a7c00b9ed"
      ],
      "author": {
        "name": "beatricemarch",
        "email": "beatricemarch@google.com",
        "time": "Thu Aug 31 12:53:16 2023 +0000"
      },
      "committer": {
        "name": "Beatrice Marchegiani",
        "email": "beatricemarch@google.com",
        "time": "Thu Sep 21 14:47:01 2023 +0000"
      },
      "message": "Add more BackupManagerMonitor events to PerformUnifiedRestoreTask.\n\nIn particular\nadd events to cover\n-If this is KV or Full restore\n-For each package, when the restore started and when it ended\n-When a restore operation starts, if it is system restore or restore at install\n-Any errors\n\nTest: manual testing. Run `adb shell bmgr restore 1` and verify that the\nnew restore events are added to the dumpsys\natest CtsBackupHostTestCases, GtsBackupHostTestCases\natest BackupManagerMonitorDumpsysUtilsTest,\nBackupManagerMonitorEventSenderTest, UserBackupManagerServiceTest,\nPerformUnifiedRestoreTaskTest, BmgrTest\nBug: 290747920\n\nChange-Id: I0d221f10932fea3e8fb90a1827c7f1b5bf21d25d\n"
    },
    {
      "commit": "ac345f8500664c51173eb7447b78846a89499c22",
      "tree": "312e713e869ffa47c5e88c2fdcb5191d41808dfb",
      "parents": [
        "6905298aea9a4a52e1ac2e857031e789e51a7dac",
        "7a976b65fe2cdbe19620d12ce16839ea7e663955"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 14 00:44:57 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 14 00:44:57 2023 +0000"
      },
      "message": "Merge \"Don\u0027t depend on String8 cast to C string\" into main am: 41363ba9fc am: d001ea5b72 am: 834467bdcc am: de14ea1930 am: 7a976b65fe\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2748044\n\nChange-Id: Id23e30ebeec4ddefc589a208bf5925cb2fa1816c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7a976b65fe2cdbe19620d12ce16839ea7e663955",
      "tree": "0ed79fb2ce1c76d378c84373accdc2bedd145e82",
      "parents": [
        "a03b1b67fc6f702131cf2112781c4ea820866744",
        "de14ea1930186dcc0334159c4be56456d22ae244"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Sep 14 00:32:42 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 14 00:32:42 2023 +0000"
      },
      "message": "Merge \"Don\u0027t depend on String8 cast to C string\" into main am: 41363ba9fc am: d001ea5b72 am: 834467bdcc am: de14ea1930\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2748044\n\nChange-Id: I525be5e00332c07509dd24907d5a7581dff46be6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "834467bdcc1a799ece112553070593bbd4940455",
      "tree": "ff090d8a29609368f294044451100befff6ce5eb",
      "parents": [
        "36a4442577e66659f9769c32b52315cec4a4acf6",
        "d001ea5b7242f110530e339d479b28b29dadc242"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Sep 13 23:04:25 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 13 23:04:25 2023 +0000"
      },
      "message": "Merge \"Don\u0027t depend on String8 cast to C string\" into main am: 41363ba9fc am: d001ea5b72\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2748044\n\nChange-Id: Icc8df7b364fcda5e6cc734bdbef49e2d7dc43b76\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d001ea5b7242f110530e339d479b28b29dadc242",
      "tree": "461583516b23b03f09774f48e416790fed432551",
      "parents": [
        "20bb26382d5244b979baa8a6d9a42cc92f208d5b",
        "41363ba9fceec76e0233db8889d75e986b91f39a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Sep 13 22:08:53 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 13 22:08:53 2023 +0000"
      },
      "message": "Merge \"Don\u0027t depend on String8 cast to C string\" into main am: 41363ba9fc\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2748044\n\nChange-Id: I0ad1370690eb3763c4d2a7a361bc91f22fd15919\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "41363ba9fceec76e0233db8889d75e986b91f39a",
      "tree": "a503827eb2943bb7e44c42c319a9f284c8e17cd8",
      "parents": [
        "545d8455698f29d35c3ed0b85139016d5a15eb0c",
        "835dfe50a73c6f6de581aaa143c333af79bcca4d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Sep 13 21:26:45 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 13 21:26:45 2023 +0000"
      },
      "message": "Merge \"Don\u0027t depend on String8 cast to C string\" into main"
    },
    {
      "commit": "835dfe50a73c6f6de581aaa143c333af79bcca4d",
      "tree": "0bec830cab5de4388aafc4af0e357bfc327be1a0",
      "parents": [
        "a235f8ba91dd467b245f680887e2a75507814b4e"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Aug 17 16:27:22 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Sep 12 22:31:10 2023 +0000"
      },
      "message": "Don\u0027t depend on String8 cast to C string\n\nBug: 295394788\nTest: m checkbuild\nChange-Id: I6aa039b6b2a4944e3537ef133f8785890d957edd\n"
    },
    {
      "commit": "6ce3f8c5cba1cf5366b1f14cfb580f159ef87e33",
      "tree": "cd36c4be523e15ada35d485a98a50f4a89548fb9",
      "parents": [
        "10c3ca8d702f85c2a6d10f1b080c2eb8aff3c63d",
        "29165ab8efe2b985c545e10883b1a1b0c99dc5ee"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Sep 08 03:35:56 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 08 03:35:56 2023 +0000"
      },
      "message": "Merge \"Add missing \u003citerator\u003e include for std::inserter\" into main am: 9a792ca278 am: 45fd5b7514 am: f30ba10d27 am: 29165ab8ef\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2744334\n\nChange-Id: I2ed7a462b89f80d1b4b70b55fb3c0c525aa441ab\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f30ba10d2732a4f4f2f2ff0220d2e09181d91dd0",
      "tree": "0bcca024fcccaa863d4426aec52c0cfe56b7a4a0",
      "parents": [
        "bde2b2c03734185ed1abc3dbdcc7bde3cd4bf109",
        "45fd5b751455cca38ea4deb06f8ec73d84bab8f5"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Sep 08 02:11:30 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 08 02:11:30 2023 +0000"
      },
      "message": "Merge \"Add missing \u003citerator\u003e include for std::inserter\" into main am: 9a792ca278 am: 45fd5b7514\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2744334\n\nChange-Id: I51272bafa2eb89f5849751ac61826831237477b8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "45fd5b751455cca38ea4deb06f8ec73d84bab8f5",
      "tree": "3ac3450f122afb2e617db0173c0c045cb9875322",
      "parents": [
        "805b597d1d6cb5dc01c4d02f0a66aa18f4c186d6",
        "9a792ca278e26cc4bc0de2812b83791ee1f67bde"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Sep 08 01:19:53 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 08 01:19:53 2023 +0000"
      },
      "message": "Merge \"Add missing \u003citerator\u003e include for std::inserter\" into main am: 9a792ca278\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2744334\n\nChange-Id: I819f46fb6cd0a2a16290d96cca2fa8fb76623dcf\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "872b41155e21cf30e854d2628540f87647e3da32",
      "tree": "018f47034b4c596044e3df9f77d2615761c69500",
      "parents": [
        "b303b74e0fa22c1167cfc668e8eb50c99688400c"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Sep 06 17:38:04 2023 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Sep 06 17:40:37 2023 -0700"
      },
      "message": "Add missing \u003citerator\u003e include for std::inserter\n\nBug: b/175635923\nTest: treehugger\nChange-Id: I241c8b2b48bb4c616fbc5b4ae1285e274182144b\nMerged-In: I241c8b2b48bb4c616fbc5b4ae1285e274182144b\n"
    },
    {
      "commit": "59e7faed34ff45105892aa3e11db6ab87dee69c6",
      "tree": "d237c23602598fea64a784bf190a33ed921978a0",
      "parents": [
        "57c84f5d66f5cdc95b734e3edeb6788a768ba4d9",
        "30170b1f4b1670a1fe71eaa5517f25c5e4f77747"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Sep 07 00:13:57 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 07 00:13:57 2023 +0000"
      },
      "message": "Merge changes I241c8b2b,I9ab51f29,I6c231184 into main\n\n* changes:\n  Add missing \u003citerator\u003e include for std::inserter\n  Fix std::unique_ptr error with incomplete CommonFeatureGroup\n  Move Theme::Entry definition to top of file\n"
    },
    {
      "commit": "1f5b85230ab1d9ac886d29ccff8dc440242bf986",
      "tree": "f29e51dab7400a5962bce73c21e90d992787876a",
      "parents": [
        "aa95ff271a31f903727c5ebc2e4990846c2073d2",
        "4dc044986487e3df8e309c7b9cce5fbe5694eed7"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Sep 06 19:49:43 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 19:49:43 2023 +0000"
      },
      "message": "Merge \"Migrate String8|16.setTo to assignment operator\" into main am: c01e3ba035 am: 1ca55b9eb9 am: 6fd58092f6 am: af3d4530d8 am: 4dc0449864\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2724077\n\nChange-Id: I6ba4c4df589ed3851d1ac677b7078cac7015b6fa\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0b4ead7922ec169c5be70d3546ffb3b5621ad340",
      "tree": "3b4f4818e7bb43f7cf81156ae86ee5e5487b3185",
      "parents": [
        "2c4b39a2fb2c102e9e25d4a957400ab62cc1e11b"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Aug 30 17:49:36 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Sep 06 19:08:54 2023 +0000"
      },
      "message": "Use String8/16 c_str [idmap2, androidfw]\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I95264e8bfc96a5adb7f7cc55a24dc0e8c126371d\n(cherry picked from commit a550a478f7f5d650b04cd30798fb9a28d95ed79c)\n"
    },
    {
      "commit": "4dc044986487e3df8e309c7b9cce5fbe5694eed7",
      "tree": "ccff814da135202ae0fbebe005a82a827f5c37e5",
      "parents": [
        "4fb86ec92a08a65e2ab52f8e361edb15b380cfc4",
        "af3d4530d8b6b833fb071ee35078170104b7d9ce"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Sep 06 18:54:36 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 18:54:36 2023 +0000"
      },
      "message": "Merge \"Migrate String8|16.setTo to assignment operator\" into main am: c01e3ba035 am: 1ca55b9eb9 am: 6fd58092f6 am: af3d4530d8\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2724077\n\nChange-Id: I23209be097511bfb4f4f6236ffad072833cb6a45\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6fd58092f603c2209f8058bab10e406bf3209372",
      "tree": "63f01498c4a491b619e2c4f3db5366712dd3824f",
      "parents": [
        "9a80e1b70c9b9aaef268c8c0ea04b3fa5ce3debb",
        "1ca55b9eb9a7772e183fbb93c0a29edea3cd4a66"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Sep 06 17:31:31 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 17:31:31 2023 +0000"
      },
      "message": "Merge \"Migrate String8|16.setTo to assignment operator\" into main am: c01e3ba035 am: 1ca55b9eb9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2724077\n\nChange-Id: I956770cced86c5009aa908922bcb16166af9ac54\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1ca55b9eb9a7772e183fbb93c0a29edea3cd4a66",
      "tree": "2e3302f0eac9bc7f01e0146571a42f69770fdd2f",
      "parents": [
        "0cfc1c6dddcc94b931a88c741eb99848b7741a6d",
        "c01e3ba0358b8c9b442c76a6758e4a9b712ae32f"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Sep 06 16:40:21 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 06 16:40:21 2023 +0000"
      },
      "message": "Merge \"Migrate String8|16.setTo to assignment operator\" into main am: c01e3ba035\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2724077\n\nChange-Id: I4b4032ff4145ac6aa328723dd73151e1e7a021a5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    }
  ],
  "next": "1674a55b30d297d1ad816face008c01bdba975df"
}
