)]}'
{
  "log": [
    {
      "commit": "782df7ec7e8c7ac9cd93f4a29812ceac89bb0fc0",
      "tree": "0b68b5ad61ac19a5dd9ba41224d0c9b90fa260a0",
      "parents": [
        "4834bdaace56371ee4a7a22576557ecc1ba6748e"
      ],
      "author": {
        "name": "Nate Fischer",
        "email": "ntfschr@google.com",
        "time": "Wed May 21 11:11:22 2025 -0700"
      },
      "committer": {
        "name": "Nate Fischer",
        "email": "ntfschr@google.com",
        "time": "Thu May 29 16:34:49 2025 -0700"
      },
      "message": "WebView: consolidate TEST_MAPPING into single config\n\nNo change to logic, only test mapping changes. This moves all WebView\nfolders to use a single consolidated TEST_MAPPING config, across both\nour production code and our test code. The goal is to make sure that\nwhen we change any WebView-related code, we need to run the full suite\nof WebView tests to make sure our code is still bug-free.\n\nBug: 419303926\nTest: repo upload (check the automated test runs)\nFlag: TEST_ONLY\nChange-Id: I37c83c1517211ad1587574deefe18c0c895173ab\n"
    },
    {
      "commit": "d861a3248452620473e9f2505f5ac2c65991fe45",
      "tree": "04ed1597e03c3e9350ae8d177e4840b15f4aecfa",
      "parents": [
        "5692803bf2e93d8e5d3f8f294e1878dc3bf71656"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 15:11:41 2025 -0400"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 28 12:13:40 2025 -0700"
      },
      "message": "Add a bunch of missing #includes (for C++23 compat).\n\nAlso returning nullptr instead of \"\" from a function returning\nstd::string in the zygote.\n\nChange-Id: I6229603e8684d7e34d8536611d0852f071f52cd4\n"
    },
    {
      "commit": "4cca7b53da22ae591e173fbf8392cdd642d89ca1",
      "tree": "a16127e6fef2edd4d90ff00f6dfb7ae68ef6363a",
      "parents": [
        "17db3ea51fee33315b3348edd125916f918147ee"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri May 23 03:12:11 2025 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue May 27 10:15:16 2025 -0700"
      },
      "message": "Convert motion flags to MotionEventFlags\n\nThese flags are now ftl - based.\n\nBug: none\nTest: none\nFlag: EXEMPT refactor\nChange-Id: Iac570db38a7e7f636ebde152764aa72d89a309e3\n"
    },
    {
      "commit": "147e8805ae1c3aa25b490f88f164104a7765cd65",
      "tree": "9b61e84420c4e29acb195c3601c0daa4fccb3558",
      "parents": [
        "e4f4ac59f82f2c270579a9a95271204c6d4cca94"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 02 07:05:47 2025 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 02 07:05:47 2025 -0700"
      },
      "message": "libandroid.map.txt: api 21 is the beginning of time.\n\nChange-Id: I75a575d5ba77618a58efd3769df48201bba56b30\n"
    },
    {
      "commit": "0d210c78aa605a30a1104defe227d84ba22048c5",
      "tree": "8240da00ca6448801fae9e08c91371d13d0272a9",
      "parents": [
        "4d4495e2009787ad32ff249c6c750d413fd3304b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 24 11:37:24 2025 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 24 11:37:24 2025 -0700"
      },
      "message": "Remove explicit C++20.\n\nC++20 is the global default already, and it\u0027s time to look at moving to C++23...\n\nChange-Id: I71cd323af0e1503b3d4f170e89fc70ac2dfddc4a\n"
    },
    {
      "commit": "d02939ed819810adab301de111a8cdb26e89f974",
      "tree": "641ee11bb6759c53ae14051290bdce7662b646e8",
      "parents": [
        "25faa39d09ff9c29bf288354330a962e8413831b"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Mar 26 15:51:01 2025 -0700"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Apr 15 14:07:08 2025 -0700"
      },
      "message": "Cap the maximum message queue size for reportActualWorkDuration\n\nCurrently, the queue size is only cleared when it gets sent, so if a\nclient calls the API fast enough it can overwhelm the duration buffer\nbefore a batch is sent. This patch caps the maximum buffer size to\nprevent this.\n\nBug: 406377213\nTest: atest PerformanceHintNativeTestCases\nFlag: EXEMPT BUGFIX\nChange-Id: I288299636682644d118250339330be161262398f\n"
    },
    {
      "commit": "4b4bbe7bb0a56f4a9830aefcec079e365ace0641",
      "tree": "57470abbfed843b5bd788393b9765e386da8cc82",
      "parents": [
        "d6ed80772d1e711d875a1dba336a9ac88d99788d"
      ],
      "author": {
        "name": "Andrew Wolfers",
        "email": "aswolfers@google.com",
        "time": "Mon Mar 17 07:06:39 2025 -0700"
      },
      "committer": {
        "name": "Andrew Wolfers",
        "email": "aswolfers@google.com",
        "time": "Thu Mar 27 18:39:40 2025 +0000"
      },
      "message": "Use BGRA format for sprite\n\nThis change converts the SpriteController pixel format from RGBA\nto BGRA, and changes the bitmap icon format similarly. This\nconversion affects the format of the buffer that is allocated\nfor the SpriteController\u0027s surface, but does not result in any\nuser-facing changes to the appearance of the sprite. The BGRA\nformat is required for the cursor to be presented on the cursor\nplane (instead of e.g. an overlay plane.)\n\nTo support the BGRA format, this change also introduces\nANDROID_BITMAP_FORMAT_BGRA_8888 as an anonymous enum member,\nand cases are added where appropriate. It is not directly\nadded as a member of AndroidBitmapFormat because it is only\ninteded for internal usage, and doing so in this manner prevents\nit from being exposed in the Android API.\n\nBug: b/371003205\nFlag: com.android.graphics.libgui.flags.cursor_plane_compatibility\n(cherry picked from https://android-review.googlesource.com/q/commit:a22a92b690324a6d7abb52d60130e37454426940)\n\nChange-Id: I58911d7ab40ff0637efb47a7115c84eb03a2d824\n"
    },
    {
      "commit": "00930d15146950d3a24680ab02c6a206cdde3a20",
      "tree": "3af27d5bdde378ddebbff2ae9f25484087b8cc9a",
      "parents": [
        "22067462fc35fab2822bcd7adbbf7e72c55ff3a7"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Mar 04 13:33:31 2025 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Mar 04 13:56:21 2025 -0800"
      },
      "message": "Fix FMQ to use correct total duration\n\nBug: 400564582\nTest: atest PerformanceHintNativeTestCases\nFlag: EXEMPT bugfix\nChange-Id: I055f36496da4e88da04c21ef4f042dfd220af390\n"
    },
    {
      "commit": "c9eb89a948b1a5f707715ba59aa26e25c0bdb8c2",
      "tree": "0574ed75b803e176ddd5e69abfcd2295a494fa3b",
      "parents": [
        "d86e469813603cc42d8cd9cf380bbc1cfaa12539",
        "a4c448d5f17cbf3e24755dabb9b06509960274ec"
      ],
      "author": {
        "name": "Anton Ivanov",
        "email": "aii@google.com",
        "time": "Mon Mar 03 11:38:32 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 03 11:38:32 2025 -0800"
      },
      "message": "Merge \"Harden construction sites of android::Surface.\" into main"
    },
    {
      "commit": "9aa43de1af68ee2b00e2b1446e25ad50d5c87750",
      "tree": "4332dd8133aad36533468d1a42973a715649b358",
      "parents": [
        "da3c41b2464c2eeffd55a256d20c63120815d031"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Feb 28 11:26:38 2025 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Feb 28 11:26:38 2025 -0800"
      },
      "message": "Add error logging in destructor\n\nBug: 399754366\nChange-Id: I89a8130b76085f188ffc713fa5a8aa87c18f695e\nTest: n/a\nFlag: EXEMPT ndk\n"
    },
    {
      "commit": "a4c448d5f17cbf3e24755dabb9b06509960274ec",
      "tree": "f519ef5e7c9badd8039c07a19327ab85b9353d7c",
      "parents": [
        "9848646dac597100e682ba81094391065c68a2a6"
      ],
      "author": {
        "name": "Anton Ivanov",
        "email": "aii@google.com",
        "time": "Mon Feb 24 01:13:58 2025 -0800"
      },
      "committer": {
        "name": "Anton Ivanov",
        "email": "aii@google.com",
        "time": "Wed Feb 26 17:33:20 2025 -0800"
      },
      "message": "Harden construction sites of android::Surface.\n\nSince this type is inteded to be managed as a StrongPointer, ensure that\nis always constructed as such.\n\nBug: 393217449\nTest: presubmit\nFlag: EXEMPT_refactor\nChange-Id: Ia74493743653a9e41384cfb4c384ac30bef1e907\n"
    },
    {
      "commit": "eed8c7e5170d1be28ea7c0e206c6191246f2c287",
      "tree": "7bf0953caddf4883ab28b6bb906dcaea8fad8c8d",
      "parents": [
        "0a3f7fd7ed3877cd777da14367ea74afadfee556"
      ],
      "author": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Tue Feb 25 16:11:04 2025 -0500"
      },
      "committer": {
        "name": "Torne (Richard Coles)",
        "email": "torne@google.com",
        "time": "Wed Feb 26 13:50:31 2025 -0500"
      },
      "message": "Remove GtsWebViewHostTestCases from TEST_MAPPING.\n\nThese tests are being removed.\n\nBug: 296426330\nTest: n/a\nFlag: TEST_ONLY\nChange-Id: I92cf8054237b347a8d0f0ceb07744f012f0c999f\n"
    },
    {
      "commit": "c2a33420922209a61a007d1ca5ae77976b59aceb",
      "tree": "5406b4ac120ff1a9938752d85b28c4d370f52d23",
      "parents": [
        "dd407c456f20dd1fbe5286cda0288a2e0513279d",
        "52ab993e7520aa7d9476173ae4e3bc8f7f130b55"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Feb 24 12:06:22 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Feb 24 12:06:22 2025 -0800"
      },
      "message": "Merge \"OWNERS: codewiz left Google, just use team owners file.\" into main am: e97d96fcfe am: 52ab993e75\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3497659\n\nChange-Id: Ib7620f1a361218e9d0722c066c16e6ca34038818\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0c6dcde2bf46ae3f5def7ef6cee9f53e362c73c1",
      "tree": "7ca0e557bb2a1695be3d3218a7f2a0314ecf2a1e",
      "parents": [
        "ed8c91e410671fa153f1587f61d05b303bf94f95"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Feb 15 23:15:52 2025 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Feb 24 11:09:52 2025 -0800"
      },
      "message": "OWNERS: codewiz left Google, just use team owners file.\n\nTest: N/A\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I10177b310ccc594a9a32ff2fb7b87fecd08bc571\n"
    },
    {
      "commit": "2ba62bee94eb9a0f88aa21cf8c74e024f98c2c8e",
      "tree": "7db2c71d4c141142a35929b7a44f8ccfaf7da89e",
      "parents": [
        "efeea6290cca46e42330549e1e22b875243c1dcd"
      ],
      "author": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Tue Feb 11 17:17:45 2025 -0800"
      },
      "committer": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Thu Feb 13 10:34:10 2025 -0800"
      },
      "message": "[Lut] Function changes due to setLuts signature changes, and use ScopedArrayRO instead because it\u0027s cheaper.\n\nBug: 380894872\nTest: builds\nFlag: EXEMPT refactor\n\nChange-Id: Ied3a8f9ae9045a32667bbd2b2b1dfd92e7072da6\n"
    },
    {
      "commit": "3beebd9b6a8fb5d046603017e455cf2181376858",
      "tree": "2329d03097e8842e816f68e0e4b0764e5c466e0e",
      "parents": [
        "e2d47ce48fa8223d0cc897e1afd5a91a04a20f1d",
        "41412f3a3d4043a0c3e8494432abe8c7311e190d"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Jan 14 14:05:33 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 14 14:05:33 2025 -0800"
      },
      "message": "Merge \"Revert^2 \"Update test mapping for all headroom tests\"\" into main"
    },
    {
      "commit": "9f5315ccc579593c0afcdd40c453701d9345c9a6",
      "tree": "2487b11e40deff63771e9807be08924cd9ca61b9",
      "parents": [
        "09902d6e377f157927c73a33bad4ae518f19535a",
        "bd62dab274fca320b98dd79c8cf9d93af068d623"
      ],
      "author": {
        "name": "Noelle Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Jan 14 11:07:54 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 14 11:07:54 2025 -0800"
      },
      "message": "Merge \"Update CC list for imagedecoder_fuzzer bugs\" into main am: e913198372 am: bd62dab274\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3452888\n\nChange-Id: I354607bae82d9b85ec1bca0bee958faa0cfcf5bf\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2839abbe73b4e97249db58c1b29d2e7836a241d9",
      "tree": "337572928118823edbdc9a4f072ef721e84d5236",
      "parents": [
        "4d4f5eff98c78e29cde645121f8a53d294786b9d"
      ],
      "author": {
        "name": "Noelle Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Jan 14 07:55:19 2025 -0800"
      },
      "committer": {
        "name": "Noelle Scobie",
        "email": "nscobie@google.com",
        "time": "Tue Jan 14 07:55:19 2025 -0800"
      },
      "message": "Update CC list for imagedecoder_fuzzer bugs\n\nNote: also affects imagedecoder_png_fuzzer and imagedecoder_heif_fuzzer\n\nBug: N/A\nChange-Id: Iba65d44bd8294b4be137d7a51059538e4863e0ff\nTest: N/A\nFlag: EXEMPT N/A\n"
    },
    {
      "commit": "41412f3a3d4043a0c3e8494432abe8c7311e190d",
      "tree": "6d2764e78eb82aa0bb2774008f83fad458be7ca2",
      "parents": [
        "d4fd3235109ce4a72f3758013fe89685ed641ba8"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Jan 13 23:50:01 2025 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Jan 13 23:52:01 2025 -0800"
      },
      "message": "Revert^2 \"Update test mapping for all headroom tests\"\n\nThis reverts commit d4fd3235109ce4a72f3758013fe89685ed641ba8.\n\nReason for revert: reland\n\nChange-Id: I4e185f6ef1afd874273d1aea1240b3ae3fb79638\n"
    },
    {
      "commit": "ab9c80e6b30fa39dea5780f74aa717d05c97862e",
      "tree": "2c973769341cab131f513b3edce97b83cf1fbbb0",
      "parents": [
        "beca2c45b220e0b2ac70c2d9d51c47237c41eb6a",
        "d4fd3235109ce4a72f3758013fe89685ed641ba8"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Mon Jan 13 23:46:10 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 13 23:46:10 2025 -0800"
      },
      "message": "Merge \"Revert \"Update test mapping for all headroom tests\"\" into main"
    },
    {
      "commit": "d4fd3235109ce4a72f3758013fe89685ed641ba8",
      "tree": "151d4679bde0cc17e47730f74e3daa91cbf36021",
      "parents": [
        "4b9716c8de14e55de48ca31a71ce82b1e381388d"
      ],
      "author": {
        "name": "Chun-Yi Lee",
        "email": "easoncylee@google.com",
        "time": "Mon Jan 13 23:31:49 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 13 23:31:49 2025 -0800"
      },
      "message": "Revert \"Update test mapping for all headroom tests\"\n\nThis reverts commit 4b9716c8de14e55de48ca31a71ce82b1e381388d.\n\nReason for revert: b/389839447\n\nChange-Id: I1d32be0266fe88c20a63b6acf5f3f0b6fbfae4b6\n"
    },
    {
      "commit": "a5360e8ab84b048a6cd08c5664bf064f68f800e6",
      "tree": "64ee58aff5df96c64e47627b9fa82e2edfe41dbf",
      "parents": [
        "32ca634dacdcb57a1346c5c3271681a61c98e823",
        "4b9716c8de14e55de48ca31a71ce82b1e381388d"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Jan 13 15:38:44 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 13 15:38:44 2025 -0800"
      },
      "message": "Merge \"Update test mapping for all headroom tests\" into main"
    },
    {
      "commit": "90ef065749d8a081776f385a0d670991203ec43f",
      "tree": "22bd5bef880efd885c6f23508c125bd25230f448",
      "parents": [
        "77d495abae3d1d93f91b1562413ecc98c8815e3b",
        "a287e9b578d9a59b3119e01c0d2ffcd97e8853a9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jan 13 14:38:58 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 13 14:38:58 2025 -0800"
      },
      "message": "Merge \"Promote thermal tests to presubmit\" into main"
    },
    {
      "commit": "4b9716c8de14e55de48ca31a71ce82b1e381388d",
      "tree": "515537540db7b18b3bad798e10454fb32ed8fd99",
      "parents": [
        "e64e000f2a17c399fcaba2c8d8e2f802465920d8"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Dec 27 12:00:47 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Jan 10 17:12:15 2025 -0800"
      },
      "message": "Update test mapping for all headroom tests\n\nBug: 346604998\nFlag: TEST_ONLY\nTest: atest :postsubmit\nChange-Id: I3278a0114ba4783acdb0ace9138102518521aed3\n"
    },
    {
      "commit": "a287e9b578d9a59b3119e01c0d2ffcd97e8853a9",
      "tree": "58ce25f4bd34c122715cf107a77fa65c3f040d13",
      "parents": [
        "556a10be25418bed6236aac795445ccf6d6d1425"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Aug 28 17:40:57 2024 -0700"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Jan 10 17:09:00 2025 -0800"
      },
      "message": "Promote thermal tests to presubmit\n\nBug: 360486877\nFlag: TEST_ONLY\nTest: n/a\nChange-Id: I89ec3bd306f26244d1db70077c854077c91646ea\n"
    },
    {
      "commit": "6dbd1f9575b2898b11583015d0baa66e440d3f40",
      "tree": "bfd1d2c3eec9ecad5276d3c22e6c6f3410b09ce2",
      "parents": [
        "896dbf9e13024e158f749d1ce8cdba4547004457",
        "2a1c9e4306a703162177ace37d38ecc30715b5d3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 10 16:39:09 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 10 16:39:09 2025 -0800"
      },
      "message": "Merge \"Change to use support info for interval millis\" into main"
    },
    {
      "commit": "ecdc498831b2540399a88ce39bd9bff8b7e128e6",
      "tree": "8e1b46d9ce6927c1bca5ac931096e4013d0ce17f",
      "parents": [
        "fca3c8621208dd9cd5db2758b74d0b0922ac3cf3",
        "0479fcaa22e3706b714d49fc1ef5f89c38317516"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jan 09 07:09:27 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 09 07:09:27 2025 -0800"
      },
      "message": "Merge \"Update owner for system health SDK and NDK unit tests\" into main am: 1cd84ad775 am: 0479fcaa22\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3431218\n\nChange-Id: I51e89d2d4f86cb342dce67f36c17e1cfa4f6e405\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f5cda43769035931ff99fda13cffb5fe349b2434",
      "tree": "ceedc38db789f53065f1c6d7fdefb00c3e1e171e",
      "parents": [
        "b4838c7cea48eb17c67bb30c7713fa51842f6c35"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Jan 07 10:21:51 2025 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Jan 07 10:24:42 2025 -0800"
      },
      "message": "Update owner for system health SDK and NDK unit tests\n\nBug: 346604998\nChange-Id: I6c31f9ba033fd0a25ac8851908e8836016afaff2\n"
    },
    {
      "commit": "2a1c9e4306a703162177ace37d38ecc30715b5d3",
      "tree": "f9634bc38d430d692adccf7be907050cce712ea3",
      "parents": [
        "556a10be25418bed6236aac795445ccf6d6d1425"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Jan 06 13:52:54 2025 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Jan 07 10:22:21 2025 -0800"
      },
      "message": "Change to use support info for interval millis\n\nAdd unit tests and fix bugs on no result handling\n\nBug: 346604998\nFlag: android.os.cpu_gpu_headrooms\nTest: atest NativeSystemHealthUnitTest SystemHealthManagerUnitTest\n            NativeSystemHealthTest HeadroomTest\nChange-Id: I7a820c7ccfcbe4c3db2ae0ec81a66c7a55c9add3\n"
    },
    {
      "commit": "706add335bee51d509e2162acf637f0009e1a343",
      "tree": "91098b1ec1335342e96828d75435bc7d72ddc108",
      "parents": [
        "ccc683d6647ed65cf34673043c67c62e395f5e53",
        "da6c6feab224bfb05080031fc6586e44a421c253"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jan 06 12:50:14 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 12:50:14 2025 -0800"
      },
      "message": "Merge \"Fix crash when checking null surfaces\" into main"
    },
    {
      "commit": "eb96c36837c8a1dddd030fe2b4090ba8d6fca230",
      "tree": "7f28846f44f4085fb654f41ae04ac015d222533c",
      "parents": [
        "d29f423d654895f4cbfcfb87af30106249f9bb1c",
        "9801ae6160b104c8fe6a95b91ea3f7250697ff98"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Jan 06 09:55:33 2025 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 06 09:55:33 2025 -0800"
      },
      "message": "Merge \"Address API review feedback\" into main"
    },
    {
      "commit": "9801ae6160b104c8fe6a95b91ea3f7250697ff98",
      "tree": "d887770e4b4ff1e69666db3ec6f6d8c821556e4e",
      "parents": [
        "98ab6d9dc032ea719ef23337f2f276d04beb32ea"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Dec 17 13:07:25 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Jan 03 21:57:07 2025 -0800"
      },
      "message": "Address API review feedback\n\n* Sync the headroom explanation between NDK and SDK\n* Make the calculation window min max values public\n* Change params to be immutable and add builder\n* Add comment on how to use the APIs and the binder call warning\n* Add new API getMaxCpuHeadroomTidsSize to query max TID count\n\nBug: 384056153\nBug: 346604998\nFlag: android.os.cpu_gpu_headrooms\nTest: atest HintManagerServiceTest\nChange-Id: I8aff28a0b281e2948462924875017f9273440022\n"
    },
    {
      "commit": "da6c6feab224bfb05080031fc6586e44a421c253",
      "tree": "7cd643cdd9c27dafe36f674d75eae0fa18ff698f",
      "parents": [
        "af6a5266128e40ad6dbcbb1144ae3e3de0c71abc"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Dec 30 17:53:03 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Fri Jan 03 13:52:34 2025 -0800"
      },
      "message": "Fix crash when checking null surfaces\n\nTest: atest PerformanceHintNativeTestCases\nBug: none\nFlag: EXEMPT bugfix\nChange-Id: Ie5520a33107187484a15eeb0b536de2ea6c1872e\n"
    },
    {
      "commit": "4d65ff5109f80f690dbec58158177b5afb5b9804",
      "tree": "07d1a047462b557a0b6f94c269f9e72d208e3cce",
      "parents": [
        "c429127dd600e0c7f4fd2c12a885772f104f94fa"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 26 12:46:08 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 26 12:46:08 2024 -0800"
      },
      "message": "Remove redundant support checks\n\nNDKs are not flaggable and returning unsupport is no longer a part of the load hint API.\n\nBug: 385808376\nTest: atest android.os.cts.PerformanceHintManagerTest\nFlag: EXEMPT ndk\nChange-Id: I83e9d0341d8226ddd8bf3bf0fc3856f691b691bc\n"
    },
    {
      "commit": "b678886f85acee1ac71bd8f66d49d911ba536fbf",
      "tree": "1ee8eabb39242cd4b6e595b8650560af447fd9f0",
      "parents": [
        "1388e5b40385c54dc1abda5c0fafb59bbbb5fc0b",
        "65254c0f96be32a36603bf7eb593b37c54784adf"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Dec 23 08:16:44 2024 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 23 08:16:44 2024 -0800"
      },
      "message": "Merge \"Update performance_hint to follow NDK API guidance\" into main"
    },
    {
      "commit": "1225c7930cc7a780f79bf1ba19c8ce985f88c15b",
      "tree": "fd7ab9de5fb0c1ae25bd34e0375403346f631eb6",
      "parents": [
        "7c10fc06034fdb96ea88a4e8b93dc1e980394d92",
        "b9892c2215b94a35ada817d3d09f80319b7edfdc"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Dec 20 15:26:02 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 20 15:26:02 2024 -0800"
      },
      "message": "Merge \"Add ADPF owner to system_health.cpp\" into main am: ca007fa35e am: b9892c2215\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3428805\n\nChange-Id: Ieb4190956de14b9b382d93eae108177a5805b1e2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "096b5733080964eafbe2bcf9631bba840b5d34ee",
      "tree": "8b804eb7af81123e1d7e3eb1e6bb4c7af730b802",
      "parents": [
        "8f7e3bf9007e80e224acc9b7a6f14b7f5c8237cd"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Dec 20 13:55:42 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Dec 20 13:55:42 2024 -0800"
      },
      "message": "Add ADPF owner to system_health.cpp\n\nBug: 346604998\nChange-Id: I7cd2d6fd6b02194ee1e3175aec5795431cb6bd28\n"
    },
    {
      "commit": "65254c0f96be32a36603bf7eb593b37c54784adf",
      "tree": "173eec9ed098aa252f81be4e506735a550721bd1",
      "parents": [
        "a484d2365ac56bf83327713d5c61afefecdbfa2a"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Sun Dec 15 03:19:54 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Fri Dec 20 12:35:54 2024 -0800"
      },
      "message": "Update performance_hint to follow NDK API guidance\n\nThis patch updates the performance_hint NDK in response to API guidance,\nand updates the tests accordingly.\n\nAdditionally, this patch updates the documentation and ergonomics of a\nfew related methods to better accomodate these changes, and to downgrade\ngoing over the graphics pipeline limit from a breakage to a very severe\nwarning.\n\nFlag: EXEMPT NDK\nTest: atest\ncts/tests/tests/os/src/android/os/cts/PerformanceHintManagerTest.java\nTest: atest PerformanceHintNativeTestCases\nTest: atest HintManagerServiceTest\nBug: 380299912\nBug: 381269529\n\nChange-Id: I31f1c1db4ee4846a8aca63243f61ac1672aac309\n"
    },
    {
      "commit": "7bb72306d7803c804dc59b35a86be54a341738d7",
      "tree": "4b46463acff8f6d07abf7a7541e96a114a3645f7",
      "parents": [
        "95bc2bfbc9f128057342d54e91f85295015df935"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 12 12:33:59 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 12 14:05:51 2024 -0800"
      },
      "message": "Reland initial support check using SupportInfo\n\nWe figured out what broke it the first time, gonna do some additional testing just to make super sure it works though\n\nBug: 367803904 \nTest: atest PerformanceHintNativeTestCases\nTest: atest HintManagerServiceTest\nTest: manual\nFlag: EXEMPT NDK\n\nChange-Id: I9f8255a15b97806354a982bc2e001fd971c94784"
    },
    {
      "commit": "2d7e30284bf9b24b47a00c455785fbf07fb0a856",
      "tree": "1c4ee705667313ed69032abe9eb206b5c6fc2b6b",
      "parents": [
        "be97dd893dcf04f2b89e93ebcfe2856f570e9ac3",
        "33ab8084fc3c3acab8c00ce1a5a5ce7a72290f77"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 12 09:00:39 2024 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 12 09:00:39 2024 -0800"
      },
      "message": "Merge \"API review for dynamic_instrumentation_manager\" into main"
    },
    {
      "commit": "33ab8084fc3c3acab8c00ce1a5a5ce7a72290f77",
      "tree": "d12c1ef00ead1535b37be4107351e92cb83ac492",
      "parents": [
        "d9f8adde933236154321e99dec18f78ba9b5f2d7"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Dec 11 19:52:00 2024 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Dec 12 15:45:06 2024 +0000"
      },
      "message": "API review for dynamic_instrumentation_manager\n\nAdds various improvements to API documentation and pointer nullability\nfor subject native interface.\n\nBug: 382285661\nTest: TH\nFlag: android.uprobestats.flags.executable_method_file_offsets\nChange-Id: Ic82b996ecca589cb81e564e17df4fb4570cd7dc2\n"
    },
    {
      "commit": "3d72b7c8716bfd8a2f5ff6058598fe98d25e5856",
      "tree": "dad2841c616495874a479b06f722e14192272d44",
      "parents": [
        "a98b589b8e4520977e96a4297b2e393b975605ad",
        "13b1cf4e14ea3f5fac7a464c1a9b6053e597e870"
      ],
      "author": {
        "name": "Nicolò Mazzucato",
        "email": "nicomazz@google.com",
        "time": "Thu Dec 12 04:24:37 2024 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 12 04:24:37 2024 -0800"
      },
      "message": "Merge \"Revert \"Refactor initial support check to use SupportInfo\"\" into main"
    },
    {
      "commit": "13b1cf4e14ea3f5fac7a464c1a9b6053e597e870",
      "tree": "8104a74d753511d5026682245a81d16525e7b681",
      "parents": [
        "3470f4f646ae90da4e275d254b2d9ea286436e47"
      ],
      "author": {
        "name": "Jordan Demeulenaere",
        "email": "jdemeulenaere@google.com",
        "time": "Wed Dec 11 06:56:41 2024 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 11 06:56:41 2024 -0800"
      },
      "message": "Revert \"Refactor initial support check to use SupportInfo\"\n\nThis reverts commit 3470f4f646ae90da4e275d254b2d9ea286436e47.\n\nReason for revert: culprit for b/383187696\n\nChange-Id: Idce3fda416d0f5e7dbcc08b420f547d74d59476d\n"
    },
    {
      "commit": "020fcf018b0156a5f99a13c7069e5bbb7071d6fd",
      "tree": "9d0319aa1106c4ea7248a3f86138c73c50a00339",
      "parents": [
        "79ea2bf9be1a83b7ee35c117c986d5f10ab9008e",
        "3470f4f646ae90da4e275d254b2d9ea286436e47"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Dec 09 06:36:41 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 09 06:36:41 2024 +0000"
      },
      "message": "Merge \"Refactor initial support check to use SupportInfo\" into main"
    },
    {
      "commit": "3470f4f646ae90da4e275d254b2d9ea286436e47",
      "tree": "c282f06f62011a90e254449ff64cbe65efe26973",
      "parents": [
        "ced3c7ab35dc8fd322b73e822b1f988ebe83f375"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Oct 29 06:13:04 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Sun Dec 08 18:28:42 2024 -0800"
      },
      "message": "Refactor initial support check to use SupportInfo\n\nThis change makes the intial support check when\nAPerformanceHintManager starts pass the SupportInfo\nobject instead of just relying on the preferred rate\n\nBug: 367803904\nTest: atest PerformanceHintNativeTestCases\nTest: atest HintManagerServiceTest\nFlag: EXEMPT refactor\n\nChange-Id: I0a803706d4ef8d9cb05d9cdb066af5a9721a951e\n"
    },
    {
      "commit": "65146ab457f733959c47f778e88ef6fc208dbc58",
      "tree": "388b6d1f37bfe26604c03c88e389f6c4980f0b46",
      "parents": [
        "bfb0a0892a14d35dcd022476a4dd4f95c7ff7647",
        "7bbdbdff9c7957b8daf37b63712bb8174150be27"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Dec 09 02:16:12 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 09 02:16:12 2024 +0000"
      },
      "message": "Merge \"Fix spike method calling\" into main"
    },
    {
      "commit": "7bbdbdff9c7957b8daf37b63712bb8174150be27",
      "tree": "b972a469906c3b1451758ae7aad0d0ce34900a8c",
      "parents": [
        "76c22b337abe8f323a83391f82effb8725eaeb06"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 05 00:59:49 2024 +0000"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Sat Dec 07 03:08:48 2024 +0000"
      },
      "message": "Fix spike method calling\n\nBug: 367803904\nChange-Id: I82136255f9d8ce8d7bc80b259853822a0860c53a\nTest: atest PerformanceHintManagerTest\nFlag: EXEMPT ndk\n"
    },
    {
      "commit": "12f73839cbfa90da0dfdab78bf15e49ea3fb87db",
      "tree": "014a6ee39c873bef277571d4540f0db4360b2c46",
      "parents": [
        "29925d018c2c1cd8fa216428ed7eac0b824b55c4",
        "d857b66266cc077810d438bba8e2d61b28ecfb2e"
      ],
      "author": {
        "name": "Yu-Ting Tseng",
        "email": "yutingtseng@google.com",
        "time": "Thu Dec 05 20:14:38 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 05 20:14:38 2024 +0000"
      },
      "message": "Merge \"Support target process in dynamic instrumentation\" into main"
    },
    {
      "commit": "9eeeddfc7be4e1afaf7b76b72f887d4803485941",
      "tree": "54559863eb12b0a95367b906f937bb319d3e6383",
      "parents": [
        "65e1a22bda7ef9c0611f59025cc119fb1880a5fb",
        "8bd4265646a7552bc2583714ac7cc048d542a8f7"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Dec 05 00:41:45 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 05 00:41:45 2024 +0000"
      },
      "message": "Merge \"Add CPU/GPU_LOAD_SPIKE hints for one-off expensive workloads\" into main"
    },
    {
      "commit": "d43b2ffb563dac59fccfced17826ac84e66f03e7",
      "tree": "509e9b93af538b1960a2f148b486cf258f9286b7",
      "parents": [
        "a68ddb3b5b53c1d49a5c856f4a90364622c22fcb"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Dec 04 21:01:41 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Dec 04 21:28:04 2024 +0000"
      },
      "message": "Fix PerformanceHints budget calculation\n\nBug: 382055833\nChange-Id: Icfeec0f6c5f32608054f623e53437b9d79e5bd6a\nTest: atest PerformanceHintNativeTestCases\nFlag: EXEMPT ndk\n"
    },
    {
      "commit": "8bd4265646a7552bc2583714ac7cc048d542a8f7",
      "tree": "63254d4b5efdee2d213adc85ba9790140a0042cc",
      "parents": [
        "ced3c7ab35dc8fd322b73e822b1f988ebe83f375"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Dec 03 17:27:53 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Dec 04 12:35:51 2024 -0800"
      },
      "message": "Add CPU/GPU_LOAD_SPIKE hints for one-off expensive workloads\n\nCurrently there is ambiguity between single-frame expensive ops\n(eg: shader compilation) and longer-duration expensive ops (eg:\nSF client compositon). This load hint aims to resolve this by\nexplicitly annotating one-time expensive workloads so they can\nbe given unique boost and hysteresis expectations.\n\nFor example, a load_spike aware tracker might want to ignore\nthe timing that comes from a LOAD_SPIKE-marked frame, as it is\nknown to not be representative of the overall workload.\n\nFlag: EXEMPT NDK\nTest: atest PerformanceHintNativeTestCases\nTest: atest PerformanceHintManagerTest\nBug: 367803904\nChange-Id: Ib3819dc1cf099a6da527e7291d44a04a624701ee\n"
    },
    {
      "commit": "d857b66266cc077810d438bba8e2d61b28ecfb2e",
      "tree": "8db865ec39f170124c19a910050276082ae8d695",
      "parents": [
        "62ebefc207650117c7688c99195884dae8224566"
      ],
      "author": {
        "name": "Yu-Ting Tseng",
        "email": "yutingtseng@google.com",
        "time": "Fri Nov 08 12:42:45 2024 -0800"
      },
      "committer": {
        "name": "Yu-Ting Tseng",
        "email": "yutingtseng@google.com",
        "time": "Wed Dec 04 09:50:35 2024 -0800"
      },
      "message": "Support target process in dynamic instrumentation\n\nMake DynamicInstrumentationManagerService talk to an app process to\nobtain method offsets when the target process is an app. This is done\nvia calling a new AIDL method\nIApplicationThread.getExecutableMethodFileOffsets. The implementation\n(ActivityThread) runs in an app process and calls ART VMDebug in-process\nto get the offsets.\n\nThe offset results are now provided asynchronously both from app to\nsystem_server, and from system_server to uprobestats. This way\nsystem_server would not block on an app process.\n\nBug: 372925025\nFlag: com.android.art.flags.executable_method_file_offsets\nChange-Id: Ie58a21d12530000b858aa292a406755a158b4c4a\nTest: atest ExecutableMethodFileOffsetsTest\n"
    },
    {
      "commit": "af0d52b9c540f171d341c31858d26242cc849668",
      "tree": "5205aec0954e4260e89d95652f3c4597c24d0e40",
      "parents": [
        "122841e3e0e4188b2a4762c82c4c6c0caaa632de",
        "0ab9e0aa664ce5a74b4020f454af1b6e7f462ebe"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Dec 04 00:21:19 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 04 00:21:19 2024 +0000"
      },
      "message": "Merge \"Add NDK support for CPU/GPU headroom APIs\" into main"
    },
    {
      "commit": "def9243832d29cb61a8316162d13abf92dcc1571",
      "tree": "d1be9cf5019a33a667a84051142077fe093a4bff",
      "parents": [
        "d87979c66d0ed012f49c88b7a905e8cb52421cc0",
        "420db78c922d2b7061a9d08d047677ed1722a9ae"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Dec 03 01:32:22 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 03 01:32:22 2024 +0000"
      },
      "message": "Merge \"Add NDK support for thermal headroom callback API\" into main"
    },
    {
      "commit": "0ab9e0aa664ce5a74b4020f454af1b6e7f462ebe",
      "tree": "aadd3f12bc674de6dfc9a460236b9b95353afa85",
      "parents": [
        "052197cc3010c4cf5ac4ab003473380491990639"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Nov 06 15:25:06 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Dec 02 16:08:29 2024 -0800"
      },
      "message": "Add NDK support for CPU/GPU headroom APIs\n\nBug: 346604998\nFlag: EXEMPT ndk\nTest: atest NativeSystemHealthTest\nChange-Id: I5fd4bee8711f60f948010d96019cc0e200713e06\n"
    },
    {
      "commit": "88b83fedeed51309790b7088c9a485a006664774",
      "tree": "fad16b897c328b964d5c2a2663272b835e7390ea",
      "parents": [
        "a31d31ca4a28a5d7b91914aab4b0beb59b99561c",
        "b40e8fecc22773142184398f3c83f1a901d8124a"
      ],
      "author": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Mon Dec 02 19:08:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 02 19:08:36 2024 +0000"
      },
      "message": "Merge \"[Lut NDK] Add static_assert to ensure that ADISPLAYLUTS_SAMPLINGKEY_CIE_Y is the same as android::gui::LutProperties::SamplingKey::CIE_Y.\" into main"
    },
    {
      "commit": "5e9b7e1440aae61b1eaaf13f0f66e8f782868ff6",
      "tree": "5ab599fe03fd32351c7b7f543ae7e1038bc987bc",
      "parents": [
        "fe474976084d5c1dec6971e2af7d747cbe6ea943",
        "db4d0009411759f92702fd0294a285676becac10"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Nov 28 01:27:25 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 28 01:27:25 2024 +0000"
      },
      "message": "Merge \"Add mattbuckley@ to OWNERS for libandroid.map.txt\" into main am: ad8bdda8df am: db4d000941\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3380711\n\nChange-Id: I04409ceab2d84a24aeaf80973f530a88975c16eb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fe474976084d5c1dec6971e2af7d747cbe6ea943",
      "tree": "be4462380180d47e29ffaaca9b6205c013d7fbb5",
      "parents": [
        "5a1731bf95af44bed8da3f93c5693a683293cb9c",
        "28929e4b66a516f605b6a7d2308b247302aeb191"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Thu Nov 28 01:12:19 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 28 01:12:19 2024 +0000"
      },
      "message": "Merge \"Revert \"Add new ASurfaceTransaction _setFrameRateParams API\"\" into main"
    },
    {
      "commit": "db4d0009411759f92702fd0294a285676becac10",
      "tree": "6ed11bc5825cf66c91d490b32584722a860647e2",
      "parents": [
        "5c65f95cd2f8b618a8093340aa71e16589bad8f3",
        "ad8bdda8dfe0a374d6716bc7d68aa24ccf89f3e9"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Nov 28 00:54:53 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 28 00:54:53 2024 +0000"
      },
      "message": "Merge \"Add mattbuckley@ to OWNERS for libandroid.map.txt\" into main am: ad8bdda8df\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3380711\n\nChange-Id: I988304ef43b8c2eb6cc4a4a324a18313ed84b34b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ce29e94ccdb19920f8c6af0f5a727b536f6989ec",
      "tree": "df69f414a2b2c6a122fabaa1afd4217a9431e97f",
      "parents": [
        "96e2c4065694c7db0dd92b221fdb6b6a13a3f990"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Nov 28 00:02:54 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Nov 28 00:02:54 2024 +0000"
      },
      "message": "Add mattbuckley@ to OWNERS for libandroid.map.txt\n\nBug: no\nChange-Id: I184ac4a6921734bf05304546aec5c6424eb5d5ed\nFlag: EXEMPT no\nTest: no\n"
    },
    {
      "commit": "f52ff01ff46295f00551b5a80b3bf4bd89ccca2a",
      "tree": "fb0fdf623b9b160d2d8f523b28b1cb3d71902362",
      "parents": [
        "5870552967bf403229cf77448500c550f6563a32",
        "df439a3a726d981af029eda75629c16036a3b89a"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Nov 27 20:44:42 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 27 20:44:42 2024 +0000"
      },
      "message": "Merge \"Add new surface binding and auto ADPF methods for ADPF Timeline API\" into main"
    },
    {
      "commit": "df439a3a726d981af029eda75629c16036a3b89a",
      "tree": "a79bd04c6584fe2a9060da66a6fa99aaae3a7651",
      "parents": [
        "115142b26cd48344d39e4b0bfe7f610e04a9e9cc"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu Sep 19 02:20:03 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Nov 27 01:07:15 2024 -0800"
      },
      "message": "Add new surface binding and auto ADPF methods for ADPF Timeline API\n\nAdd new APIs to allow sessions to bind to ANativeWindows and\nASurfaceControls for the ADPF timeline API, and expose a new way\nfor sessions to run automatically in certain circumstances.\n\nFlag: EXEMPT NDK_API\nBug: 360908317\nBug: 367803904\nTest: atest HintManagerServiceTest\nTest: atest PerformanceHintManagerTest\nTest: atest PerformanceHintNativeTestCases\nChange-Id: I473a0806c9796a0994bd7451698248c0cdcf56ed\n"
    },
    {
      "commit": "3d1d9cf8bcf9b485bb37e51a20d835554734e356",
      "tree": "fbbe91c9e6428d31f8b16773d793cbcbbea67dd1",
      "parents": [
        "2606c0ededf04ced08026130f81efe45f2b168fe",
        "9ced6605be5fec51cebcf2422ddd425d58110ea5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Nov 27 08:09:55 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 27 08:09:55 2024 +0000"
      },
      "message": "Merge \"Add ADPF owner for thermal\" into main am: de6bd0574e am: 9ced6605be\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3362767\n\nChange-Id: Icd9ae59e00d25c152e8b70250843007876c7e780\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9ced6605be5fec51cebcf2422ddd425d58110ea5",
      "tree": "8eebd947f99ce903eeb29b49ba79bb77e1c65bfa",
      "parents": [
        "3863a8d715413a72ce50af839ba935c8e2ab8ce5",
        "de6bd0574e1ce67f2893416fd4edfc1827b8414a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Nov 27 07:04:51 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 27 07:04:51 2024 +0000"
      },
      "message": "Merge \"Add ADPF owner for thermal\" into main am: de6bd0574e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3362767\n\nChange-Id: I553b971395c6800c6fe5c8121a361fb6d9f1b974\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "420db78c922d2b7061a9d08d047677ed1722a9ae",
      "tree": "104de96729f63228e764d5ebe9f3645118ec9998",
      "parents": [
        "b8debc693469dc3bbcaf74762534b3863ff8da70"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Nov 26 14:44:51 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Tue Nov 26 14:45:41 2024 -0800"
      },
      "message": "Add NDK support for thermal headroom callback API\n\nFix the bug that thermal status server listener is not reset to null\nif the server registration call fails temporarily, which can prevent\nthe apps from registering thermal callback indefinitely until restart\n\nFix the bug that app listener is removed even if server\nlistener fails to unregister, which can confuse the app as it\nwill return the error status and subsequent unregistration will always\nfail with EINVAL due to listener not found\n\nBug: 360486877\nFlag: EXEMPT NDK\nTest: atest NativeThermalTest NativeThermalUnitTest\nChange-Id: I2d08ad15e80cc5ea9a75f52ac53d4662db42a11c\n"
    },
    {
      "commit": "28929e4b66a516f605b6a7d2308b247302aeb191",
      "tree": "b49efd0d5739e8ce0f9f17bb6ac6a226883ee14d",
      "parents": [
        "ba2f3e93d40327f4ab7bbb43305d70784f64f1ec"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Tue Nov 26 19:22:53 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 26 19:22:53 2024 +0000"
      },
      "message": "Revert \"Add new ASurfaceTransaction _setFrameRateParams API\"\n\nRevert submission 30112724-asurfacetransaction-setframerateparams\n\nReason for revert: removing API to be landed in another release.\n\nReverted changes: /q/submissionid:30112724-asurfacetransaction-setframerateparams\n\nChange-Id: I0750ac25a0371f6becc1e99297de8c7f77940bdf\n"
    },
    {
      "commit": "b40e8fecc22773142184398f3c83f1a901d8124a",
      "tree": "6e1fd84018d304f3b1448a328ecb0596f8e68442",
      "parents": [
        "43b90eb68c0db7b94fa26430af5d96152ff857b9"
      ],
      "author": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Fri Nov 22 21:18:21 2024 +0000"
      },
      "committer": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Fri Nov 22 21:18:21 2024 +0000"
      },
      "message": "[Lut NDK] Add static_assert to ensure that ADISPLAYLUTS_SAMPLINGKEY_CIE_Y is the same as android::gui::LutProperties::SamplingKey::CIE_Y.\n\n\nBug: 358422255\nChange-Id: I31e82bf0b257b6dee6740b53787645589db8c066\nTest: builds\nFlag: EXEMPT NDK\n"
    },
    {
      "commit": "025d338f7778047a412662aff76c123a04d1519a",
      "tree": "92be6898a187107862d10a420168366d6abe0cf0",
      "parents": [
        "51c1d767b887e6e75f7ed2810499371d46f03eb4",
        "2a6b5a929b9b7cfbe4d173cdb17c9d7f64cbf887"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Nov 22 19:48:48 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 22 19:48:48 2024 +0000"
      },
      "message": "Merge \"Add support for calculation window size and tids\" into main"
    },
    {
      "commit": "11d0f4f7393499b2e50a796ee8322ec41111e14b",
      "tree": "c2d8726d9b4fa9cf7f4a81225f5214d5726620a8",
      "parents": [
        "2839140199ee3c8fd77bdcacce85832685d70397",
        "176e379d58764acd0d543ac880c9fa8bc3419aee"
      ],
      "author": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Fri Nov 22 17:34:05 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 22 17:34:05 2024 +0000"
      },
      "message": "Merge \"[Lut NDK] Define ASurfaceTransaction_setLuts API\" into main"
    },
    {
      "commit": "2a6b5a929b9b7cfbe4d173cdb17c9d7f64cbf887",
      "tree": "c5d7064452fe5ccc15aa5b3376ed7b30bfc3b023",
      "parents": [
        "0c2402a360cdb2e26c5d126a8504b439d4e6347d"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Nov 13 16:31:30 2024 -0800"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Thu Nov 21 17:31:58 2024 -0800"
      },
      "message": "Add support for calculation window size and tids\n\nAPI-Coverage-Bug: 378780498\nFlag: android.os.cpu_gpu_headrooms\nTest: atest HeadroomTest PerformanceHintNativeTestCases \\\n            HintManagerServiceTest PowerHalWrapperAidlTest\n\nChange-Id: Ib25ad89b69bbd06700b84354de6317437f1fd3bd\n"
    },
    {
      "commit": "176e379d58764acd0d543ac880c9fa8bc3419aee",
      "tree": "ea0dc41a535f38d1fa27ad99dba29530124bdc17",
      "parents": [
        "6dadb742dc8e1b4221bc3ed8fe582cd2c33b5891"
      ],
      "author": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Mon Nov 04 11:45:23 2024 -0800"
      },
      "committer": {
        "name": "Sally Qi",
        "email": "sallyqi@google.com",
        "time": "Wed Nov 20 13:24:20 2024 -0800"
      },
      "message": "[Lut NDK] Define ASurfaceTransaction_setLuts API\n\n- And also ADisplayLuts, ADisplayLutsEntry struct and correspsonding NDK\n  APIs.\n\nBug: 377329333\nTest: android.view.surfacecontrol.cts.ASurfaceControlTest#testSurfaceTransaction_setLuts_*\nFlag: EXEMPT NDK\nChange-Id: I23eaef36725a0d63ceba557811812b82b157f83e\n"
    },
    {
      "commit": "db4e76fa6abff30abea60b79ca52faf3501f7138",
      "tree": "1ace3d01e68063f327290a2375e361cf8862cab4",
      "parents": [
        "d79f7cb4ba6d7b6465ec1fe2b1f4f5b82ea8885b",
        "a3b8c14ec69feb80665b1f4aabb5ddac99169535"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Nov 20 19:28:42 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 20 19:28:42 2024 +0000"
      },
      "message": "Merge \"Add default case to switch statment\" into main"
    },
    {
      "commit": "f830294eb19da77df78ab7046e65932f8cfac9a8",
      "tree": "6751a0bc02784753513a9416064ccf7a23ee0619",
      "parents": [
        "6ee479f99276a3d6d7136a26ffc67af4c3571615",
        "49caa7db3d8c9e1e7fc3aaa1ec0fb2cb6532572a"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Wed Nov 20 15:34:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 20 15:34:37 2024 +0000"
      },
      "message": "Merge \"Use const pointers where appropriate in dynamic_instrumentation_manager\" into main"
    },
    {
      "commit": "a3b8c14ec69feb80665b1f4aabb5ddac99169535",
      "tree": "af70fd853a38ac0b0cf29bca0eee7b1e9b039c6d",
      "parents": [
        "0e235460766007b5326dc8849ad553098b53b1c1"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Nov 19 20:43:25 2024 -0800"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Nov 19 20:43:25 2024 -0800"
      },
      "message": "Add default case to switch statment\n\nFlag: EXEMPT NDK\nBug: no\nTest: manual\nChange-Id: I5b30c28c575778270f44c8327752f7439d1f668e\n"
    },
    {
      "commit": "49caa7db3d8c9e1e7fc3aaa1ec0fb2cb6532572a",
      "tree": "7ca947682c1c0b76477e4382a2ea556993b71b6e",
      "parents": [
        "1c49ab04d390f6e62bc4a3e71c1c0bb883206d5e"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Mon Nov 18 17:40:37 2024 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Nov 19 12:09:28 2024 +0000"
      },
      "message": "Use const pointers where appropriate in dynamic_instrumentation_manager\n\nThis change also updates a comment in Shell/AndroidManifest.xml to\nindicate the correct name for CtsDynamicInstrumentationManagerTest.\n\nBug: 372925025\nTest: CtsDynamicInstrumentationManagerTest\nFlag: android.uprobestats.flags.executable_method_file_offsets\nChange-Id: If6f255bec043cce5ca275bcf0b70337404c0353d\n"
    },
    {
      "commit": "dffd67c90715716972a57cbaf3badaa140cb3ad5",
      "tree": "4ef56ef96c7a395e7e8ea84318b3bf5a995d3b6a",
      "parents": [
        "18f670c41c1043903fc6ebb11dfebecaf8952bbb"
      ],
      "author": {
        "name": "Andy Yu",
        "email": "chingtangyu@google.com",
        "time": "Wed Oct 16 14:05:35 2024 -0700"
      },
      "committer": {
        "name": "Andy Yu",
        "email": "chingtangyu@google.com",
        "time": "Mon Nov 18 19:26:14 2024 -0800"
      },
      "message": "Implement NDK createSessionUsingConfig API\n\nThis patch implements a new way to create ADPF hint session,\nwith a new pacelable SessionCreationConfig. This object encapsulates\nthe required information for session creation, with a set of setters to\nassign values to those fields in the session creation config.\n\nThis object can be reused on the client side in order to streamline\nthe session creation process.\n\nBug: 362801903\nBug: 367803904\nTest: atest HintManagerServiceTest\n      atest PerformanceHintNativeTest\nFlag: EXEMPT_NDK\nChange-Id: I12baa7064573a8281f034c1e0280d06947d97f30\n"
    },
    {
      "commit": "36b662833ea354ce12bff9db553508db4bf54fc7",
      "tree": "a5f15b857704b2457f104ac2f417910af28985f3",
      "parents": [
        "0b46c906bb1332aec1909c4c9afd72669f7ef12b"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Nov 18 21:07:06 2024 +0000"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Nov 18 21:07:06 2024 +0000"
      },
      "message": "Add ADPF owner for thermal\n\nBug: 367803904 \nChange-Id: I7c64201a8ff0646da8cf54fbc7171baae478647d\nTest: n/a\nFlag: EXEMPT owners\n"
    },
    {
      "commit": "2e1e9cd832e28ae6da19f4ccf538e802f4db4038",
      "tree": "760999c5191a02e5f0c3449ee4c58d076d2d5b72",
      "parents": [
        "75741bd37d903c65d20acd25dcadbe86b87b28b9",
        "8739382f1576ac1951f5fd66e2976f6f6635ab62"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Nov 18 20:28:24 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 18 20:28:24 2024 +0000"
      },
      "message": "Merge \"Add support for converting java hint sessions to native hint sessions\" into main"
    },
    {
      "commit": "8739382f1576ac1951f5fd66e2976f6f6635ab62",
      "tree": "88124a54504c3f86eae6d405dc2348d4ec89539d",
      "parents": [
        "5f17fc2be348ec4793c55a2b588d4137740ac592"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Sun Nov 17 01:58:16 2024 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Sun Nov 17 03:53:57 2024 +0000"
      },
      "message": "Add support for converting java hint sessions to native hint sessions\n\nAdd an API called \"APerformanceHint_getSessionFromJava\" for Java\nclients to access the native APerformanceHintSession objects that\nJava hint sessions wrap. This should will make the Java and Native APIs\nsubstantially more interoperable.\n\nThis patch also makes the native code aware of when it is being used in\nJava, to allow it to have slightly different behavior, especially when\nit is being directly accessed through JNI. The main place where this\nmostly matters is in preventing clients from closing Java-owned sessions\nthrough the JNI, as that could cause weird behavior otherwise.\n\nBug: 367803904\n\nTest: atest HintManagerServiceTest\nTest: atest PerformanceHintNativeTestCases\nFlag: EXEMPT NDK API\nChange-Id: I126e8663fc2719d9b7c866cf56f9827c25c2a53c\n"
    },
    {
      "commit": "7d7002f780b6660f83b993c591d251818d067859",
      "tree": "a3c925f30413cec7dad94cb78c59dcca21893166",
      "parents": [
        "f1d9e0ea8497307e18360f7c07ff39fd3e4affb2",
        "6c3dcb2af927fa49ee190391cddc4af453aef665"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Nov 15 02:13:23 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Nov 15 02:13:23 2024 +0000"
      },
      "message": "Merge \"Explicitly expose native_headers\" into main am: 30d8100103 am: 6c3dcb2af9\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3342146\n\nChange-Id: Ice7035484ff138507784dad17e757a515985a104\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6c3dcb2af927fa49ee190391cddc4af453aef665",
      "tree": "af82faa4586fb9eb0459dd442ee6535088a92165",
      "parents": [
        "d2f655665e95946ce5482e0eef59ebd1e19e9fcb",
        "30d81001035ac514bc3411e5d8a5bcddab9c2c76"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Nov 15 01:39:02 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Nov 15 01:39:02 2024 +0000"
      },
      "message": "Merge \"Explicitly expose native_headers\" into main am: 30d8100103\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3342146\n\nChange-Id: Iefc371a20a16475b432ec57245d820f34f5022e1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "196bd8f7a15793625b79ac127d9d5eef0e31d649",
      "tree": "331ca3918847086d1b6d0ae8b8894e2a4b5e334b",
      "parents": [
        "0ef9b71f56c810e32f6715fffc427adf3d2a66c3",
        "733b92a918723bd76f738089b10465f6bfa30ad0"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed Nov 13 21:02:34 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 21:02:34 2024 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add public ADPF load hints with better rate limi...\"\" into main"
    },
    {
      "commit": "e74bcd1c6929ff6d1c7fb43ad416d3a4cc695b9f",
      "tree": "367403d384a48aff28a3533b9036ac17308dbf04",
      "parents": [
        "b3773d7310f9e77d25a1dba478b15de5464b4f6a"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Mon Oct 21 17:16:59 2024 -0700"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Nov 13 03:16:16 2024 +0000"
      },
      "message": "Add SDK support for CPU/GPU headroom APIs\n\nBug: 346604998\nFlag: android.os.cpu_gpu_headrooms\nTest: atest HeadroomTest PerformanceHintNativeTestCases \\\n            HintManagerServiceTest PowerHalWrapperAidlTest\nChange-Id: Ie5423b0c83bcf1d241bdd140197cec125eed8496\nAPI-Coverage-Bug: 378780498\n"
    },
    {
      "commit": "8e421d081ca720dee0336c33cc52a32429f28cd0",
      "tree": "3aecbb70e0e9d9e5b01f5a05f4cd5cddf356f62e",
      "parents": [
        "4b79951faa0649725c85134c288a3cf6f9dfa200"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Wed Nov 13 11:00:55 2024 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Wed Nov 13 11:00:55 2024 +0900"
      },
      "message": "Explicitly expose native_headers\n\nSome jni libraries implicitly depend on native_headers, and fixing cc\nimage variants causes a build error for product_specific jni libraries.\n\nBug: 370351758\nTest: build\nChange-Id: I7014baccbd61b9fe3cf5775eefc13221b02c6155\n"
    },
    {
      "commit": "733b92a918723bd76f738089b10465f6bfa30ad0",
      "tree": "71b0297e67a9eaf74a55c69084976501751d3b2d",
      "parents": [
        "d72e795b7852c19083644d5a4e9a17959a00bed9"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Nov 12 18:32:39 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 18:32:39 2024 +0000"
      },
      "message": "Revert \"Revert \"Add public ADPF load hints with better rate limi...\"\n\nRevert submission 30360907-revert-29997970-load_hints-VOSJCKDBUL\n\nReason for revert: because the patch is fine, actually\n\nReverted changes: /q/submissionid:30360907-revert-29997970-load_hints-VOSJCKDBUL\n\nChange-Id: Ie85650da7f109076c08bf2bbb199580e14ac13f5\n"
    },
    {
      "commit": "de1b7c838128932c1897786188140d08eaec6517",
      "tree": "901b178823246075522ccf9d616efc2a79676ee2",
      "parents": [
        "1168ab8c390e1119440d5841ee8d3681b582497d",
        "d72e795b7852c19083644d5a4e9a17959a00bed9"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Tue Nov 12 18:25:13 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 18:25:13 2024 +0000"
      },
      "message": "Merge \"Revert \"Add public ADPF load hints with better rate limiter and ...\"\" into main"
    },
    {
      "commit": "d72e795b7852c19083644d5a4e9a17959a00bed9",
      "tree": "8353f0dc627053b11644a92faaa7e7c6e974f401",
      "parents": [
        "151f69f7069967da811a6ac4ebacc60ae7fa9714"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Tue Nov 12 18:15:58 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 18:15:58 2024 +0000"
      },
      "message": "Revert \"Add public ADPF load hints with better rate limiter and ...\"\n\nRevert submission 29997970-load_hints\n\nReason for revert: Droidmonitor created revert due to b/378700893. Will be verifying through ABTD before submission.\n\nReverted changes: /q/submissionid:29997970-load_hints\n\nChange-Id: I6feaa338a352ce58ef34594598a3ac3b5d7a961d\n"
    },
    {
      "commit": "e4c054d9ed9138b8122a0dcf45e091ae49a1189f",
      "tree": "b2e1387fe8838a69cbf9501177b7da6235b016d8",
      "parents": [
        "4b817c8fecf1fa4c6aadaa6ad2ab38916e53aa6d",
        "151f69f7069967da811a6ac4ebacc60ae7fa9714"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Tue Nov 12 17:07:54 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 17:07:54 2024 +0000"
      },
      "message": "Merge \"Add public ADPF load hints with better rate limiter and hint batching\" into main"
    },
    {
      "commit": "151f69f7069967da811a6ac4ebacc60ae7fa9714",
      "tree": "71b0297e67a9eaf74a55c69084976501751d3b2d",
      "parents": [
        "da0d6b681c1ec94eca3ef02e82c5e7f6c5126654"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Mon Oct 21 09:27:06 2024 -0700"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Fri Nov 08 20:47:22 2024 -0800"
      },
      "message": "Add public ADPF load hints with better rate limiter and hint batching\n\n- Adds ADPF public load hint NDK API\n- Updates rate limiter to use a single budget for all load hints\n- Adds support for load hint batching, to send multiple hints at a time\n- Requires users of load hints to annotate their hints for better traces\n\nBug: 367803904\nTest: atest HintManagerServiceTest\nTest: atest PerformanceHintNativeTestCases\nFlag: android.os.adpf_use_load_hints\n\nChange-Id: I189fc1d96fcb83ddd558cbe0aca22be218b481ae\n"
    },
    {
      "commit": "ed87ef4ab6f851f27cd8b395cb3e211c0c5d9c42",
      "tree": "011cb9912eb27ac298e3db391a55afd56324ff6b",
      "parents": [
        "cc8119254fe15653d38865cd917ac434c3bb35be",
        "ae83ac248f092bf899e675aaa4e04d2ac375e498"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Fri Nov 08 02:11:15 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 08 02:11:15 2024 +0000"
      },
      "message": "Merge \"Add `DynamicInstrumentationManagerService`\" into main"
    },
    {
      "commit": "ae83ac248f092bf899e675aaa4e04d2ac375e498",
      "tree": "fcc4253fbd1341498e267c27f46f2799ecd5751d",
      "parents": [
        "793c88f2313f2989dbfb03389f136b8f9a29d5a8"
      ],
      "author": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Tue Sep 24 22:48:38 2024 +0000"
      },
      "committer": {
        "name": "Matt Gilbride",
        "email": "mattgilbride@google.com",
        "time": "Thu Nov 07 15:43:24 2024 +0000"
      },
      "message": "Add `DynamicInstrumentationManagerService`\n\nAdds a new service with a single operation\n`getExecutableMethodFileOffsets`. The operation allows the caller to\nfetch information about the native executable of a given method. The\noperation\u0027s access control is limited to the UprobeStats module.\n\nGiven a method in the form of fully qualified class name, method\nname, and fully qualified parameter list, the operation returns\ninformation from the ODEX file associated with that method. If the\nmethod isn\u0027t precompiled, the operation returns null.\nHowever, ART can be enhanced to support returning information about\nJIT compiled methods in the future.\n\nBug: 372925025\nTest: DynamicInstrumentationManagerServiceTests, ExecutableMethodFileOffsetsTest\nFlag: com.android.art.flags.executable_method_file_offsets\nChange-Id: I1f2dc3780d1bd2a682c1fd3ec41e5c8d73e96fc2\n"
    },
    {
      "commit": "85d3dbf47f7ff1aff4d8460932fbf13ffc4b0e95",
      "tree": "36f6d30f8b4f17c7dbb52e9b122e16bf26664600",
      "parents": [
        "5ef6e007409827d5676c7e5d9adb8734feffda29",
        "2b05463efca39a8355bd9f432c5c86db6464bea4"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Nov 06 20:02:51 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 06 20:02:51 2024 +0000"
      },
      "message": "Merge \"Add SDK support for thermal headroom callback API\" into main"
    },
    {
      "commit": "aa9c4d150ceef8411eccbd8a9bc706f60b587ea3",
      "tree": "d7909f0ac740f4ebd464c339c62e1c6cb6a91ad8",
      "parents": [
        "25deabcc6babe27540db1fee83ff5e98d9171a1a",
        "c477f9f9dce89a096b0f24adfcd87196b3f79383"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Nov 05 22:38:22 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 05 22:38:22 2024 +0000"
      },
      "message": "Merge \"Revert^2 \"Push atoms for decoding images\"\" into main"
    },
    {
      "commit": "c477f9f9dce89a096b0f24adfcd87196b3f79383",
      "tree": "dafe3ecd208cc4d9dd2bb3edad23b337c76358b7",
      "parents": [
        "9dd76020c4f08a3f91a0b4e85d2c64f662b299a5"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Nov 05 03:44:02 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 05 03:44:02 2024 +0000"
      },
      "message": "Revert^2 \"Push atoms for decoding images\"\n\n9dd76020c4f08a3f91a0b4e85d2c64f662b299a5\n\nChange-Id: Ibb7610d160d5c1baf5b0c0abd9a099e8afd40cf7\n"
    },
    {
      "commit": "1f54363db291e85183d43bb3bd3bcc0fa173474f",
      "tree": "b3167ceef60fd8b42d2a0e6ad0b3fac26c4b3112",
      "parents": [
        "ec52d614a6b6fa49d5d2c282835e4a7203fc119c",
        "9dd76020c4f08a3f91a0b4e85d2c64f662b299a5"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Mon Nov 04 19:27:39 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 04 19:27:39 2024 +0000"
      },
      "message": "Merge \"Revert \"Push atoms for decoding images\"\" into main"
    },
    {
      "commit": "9dd76020c4f08a3f91a0b4e85d2c64f662b299a5",
      "tree": "e03b28158f090c461370a9d173d153c6279c16f8",
      "parents": [
        "0ba21a75b1b8b9e8bc4d9763af05bc2b72a2739b"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Mon Nov 04 18:39:59 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 04 18:39:59 2024 +0000"
      },
      "message": "Revert \"Push atoms for decoding images\"\n\nRevert submission 29797578-image-atoms\n\nReason for revert: Droidmonitor created revert due to b/377318069. Will be verifying through ABTD before submission.\n\nReverted changes: /q/submissionid:29797578-image-atoms\n\nChange-Id: Ic952f37ce480d3c1fbdac847c2a9ea74235c47dd\n"
    },
    {
      "commit": "2b05463efca39a8355bd9f432c5c86db6464bea4",
      "tree": "2ff8369cb27e9afa855020c05bdb48ff71ef8bb5",
      "parents": [
        "d4473d8f11842f7f09315e9391c9ee016e97aef3"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Wed Oct 30 21:53:43 2024 +0000"
      },
      "committer": {
        "name": "Xiang Wang",
        "email": "xwxw@google.com",
        "time": "Fri Nov 01 20:12:33 2024 +0000"
      },
      "message": "Add SDK support for thermal headroom callback API\n\n* Add cache for headroom forecast which resets on temperature or threshold update\n* Remove the cache for thermal headroom thresholds in PowerManager\n  as it can change now\n* Only trigger headroom callback on skin type throttling event or\n  threshold update event that causes significant difference in headrooms\n\nBug: 360486877\nFlag: android.os.allow_thermal_thresholds_callback\nTest: atest ThermalManagerServiceTest ThermalManagerServiceMockingTest PowerManagerTest\nChange-Id: Id5e311634f3b94fe041e51732496d182b2a78139\n"
    },
    {
      "commit": "70d69921ae62603eca7586ae09d49b9cc53b9401",
      "tree": "53370fb2b453baa1812bb40e277267da54c41105",
      "parents": [
        "ea6fd9576c24b6a47170d5e10a5c9825e7d17d98",
        "0ba21a75b1b8b9e8bc4d9763af05bc2b72a2739b"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu Oct 31 14:30:16 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 31 14:30:16 2024 +0000"
      },
      "message": "Merge \"Push atoms for decoding images\" into main"
    },
    {
      "commit": "0ba21a75b1b8b9e8bc4d9763af05bc2b72a2739b",
      "tree": "dafe3ecd208cc4d9dd2bb3edad23b337c76358b7",
      "parents": [
        "f5153cb2a554e1b3e5687fb801373778ac01a4cd"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu Oct 10 22:45:08 2024 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed Oct 30 19:32:14 2024 +0000"
      },
      "message": "Push atoms for decoding images\n\nBug: 329475035\nFlag: EXEMPT logging only\nTest: GraphicsAtomTests\nChange-Id: If3cb1828f1ffecd33b2163daba06d88ba47a5968\n"
    },
    {
      "commit": "ba2f3e93d40327f4ab7bbb43305d70784f64f1ec",
      "tree": "eee5b6ace7aa6a814cee0745ca37854fff2a3eea",
      "parents": [
        "c07bdc21a5499820be8c3f46e7a3dd0835d5ec79"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Mon Oct 28 12:54:52 2024 -0700"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Mon Oct 28 12:56:22 2024 -0700"
      },
      "message": "Add new ASurfaceTransaction _setFrameRateParams API\n\nThe new overload uses same plumbing and same logic as the other\nsetFrameRate-like functions. This plumbing and logic will be upgraded to\naccommodate new parameters in a future CL.\n\nBug: 362798998\nTest: atest SetFrameRateTest\nFlag: EXEMPT NDK\nChange-Id: I48c63725697b0b23a4dde7da4f14a9f251c62e55\n"
    }
  ],
  "next": "7aac258abbca311d358b673ecc7d79e98956394c"
}
