)]}'
{
  "log": [
    {
      "commit": "5260e525830c7bbd67511d5f8e83a59042890f24",
      "tree": "1f1b3852bf6ca59b2bf39a878e6000b80fe811e8",
      "parents": [
        "9160050592c5ce8936e875d11c091835d101a62a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Oct 18 08:35:03 2023 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed Oct 18 08:35:03 2023 +0000"
      },
      "message": "[sf] HdrOutputControlTest: fix strategy arguments\n\nThe code was previously passing an\naidl::[...]::common::HdrConversionStrategy* argument to\ngui::ISurfaceComposer::setHdrConversionStrategy, which accepts a\nconst gui::HdrConversionStrategy\u0026 parameter. Converting between these\ntwo kinds of HdrConversionStrategy is laborious -- see\nSurfaceFlinger::setHdrConversionStrategy.\n\nThis code was previously avoiding the conversion difficulty by passing\na pointer to HdrConversionStrategy, which is wrong because the function\nactually accepts a const reference. It worked, though, because\ngui::HdrConversionStrategy\u0027s _value has type:\n\n    std::variant\u003cbool, ::std::vector\u003cint32_t\u003e, int32_t\u003e\n\n... and aidl::[...]::common::HdrConversionStrategy* can be coerced to\nbool. The pointer is always non-nullptr, so each\nsf-\u003esetHdrConversionStrategy was actually passing a {passthrough\u003d\u003dtrue}\nstrategy.\n\nThe C++ standard tightened the rules around variant conversion\n(P0608R3, P1957R2), and after upgrading libc++, this code no longer\ncompiles. Fix the compile error by using gui::HdrConversionStrategy for\nthe type of the strategy vector elements.\n\nBug: 175635923\nTest: m MODULES-IN-frameworks-native-services-surfaceflinger\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0dfa358c79fc8047dd622d82020c37559871c8e7)\nMerged-In: I820ac945113da0317d0eaa44f581fd6ab1b61645\nChange-Id: I820ac945113da0317d0eaa44f581fd6ab1b61645\n"
    },
    {
      "commit": "ce0eb13cb6fceb7190e68a7dcea9771d68e09df2",
      "tree": "fd14a65b1cebf35d7aebce84cb068cc859ee561b",
      "parents": [
        "9e0b9d7d7192fb2f56e8a9a889569439ddcfb2fe"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Oct 05 15:26:37 2023 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Oct 17 15:53:16 2023 -0700"
      },
      "message": "[sf] Stop inheriting from std::unary_function\n\nstd::unary_function was deprecated in C++11 and removed in C++17. Its\nfunction is to provide two typedefs, `argument_type` and `result_type`,\nbut these are not needed for std::find_if\u0027s Predicate, so stop using\nstd::unary_function.\n\nBug: 175635923\nTest: m MODULES-IN-frameworks-native\nChange-Id: Ie16ada6f76bee7d9f248dc8349a095b50777c92d\nMerged-In: Ie16ada6f76bee7d9f248dc8349a095b50777c92d\n"
    },
    {
      "commit": "6a45a054a228db626e92f21d930f1da37012b184",
      "tree": "74b6fdd4b4f5082b5783250bcaebf054b9486031",
      "parents": [
        "1a352b5a4afd1a128f295e9abbc660566f8afaab"
      ],
      "author": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Mon Oct 16 17:29:46 2023 +0800"
      },
      "committer": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Mon Oct 16 17:29:46 2023 +0800"
      },
      "message": "Remove redundant call in Layer\u0027s constructor.\n\n\u0027mDrawingState.crop.makeInvalid()\u0027 has been called twice in the\napproach of Layer::Layer(const LayerCreationArgs\u0026 args), so remove\nthe second call.\n\nTest: atest LayerSnapshotTest, LayerTest\n\nChange-Id: I4cc40d9ec697ff20a1b71fa7aa50f09cef6c7afc\nSigned-off-by: jiayongqiang \u003cjiayongqiang@xiaomi.com\u003e\n"
    },
    {
      "commit": "1a352b5a4afd1a128f295e9abbc660566f8afaab",
      "tree": "210b3c88ed0298817ef9b94f92cdbac07830a5d4",
      "parents": [
        "0b3e8b2ae37f2e51f3ade5dd5c8731390f7eaa63"
      ],
      "author": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Wed Oct 11 20:36:40 2023 +0800"
      },
      "committer": {
        "name": "jiayongqiang",
        "email": "jiayongqiang@xiaomi.com",
        "time": "Wed Oct 11 20:52:47 2023 +0800"
      },
      "message": "Remove unnecessary local variant definitation.\n\n\u0027Vector\u003cDisplayState\u003e displays\u0027 has been not used in the approach of\nSurfaceFlinger::initializeDisplays(), so just remove it.\n\nTest: atest SurfaceFlinger_InitializeDisplaysTest\n\nChange-Id: I6bb063ccef487ab23bc97e72e342353bdcaea748\nSigned-off-by: jiayongqiang \u003cjiayongqiang@xiaomi.com\u003e\n"
    },
    {
      "commit": "e0ea984e37b6844724083dfbe64a53631371aa83",
      "tree": "9e918c0eee42ebc0e06d119a206219a1a65ec630",
      "parents": [
        "0d28bd51221f3da9b5b42f750b8e8b0a7035340e",
        "bfcf75076e562945bae131a4929f29a90d0d2481"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Sep 27 16:05:11 2023 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Sep 28 09:12:49 2023 -0700"
      },
      "message": "Merge UP1A.231005.007\n\nBug: 291102124\nMerged-In: Ib39ba935727df0bc1ab4030bcfe8301de7e64805\nChange-Id: Ic96a1854bcb1071da9b3eebdf3a63fe17d5c9c6f\n"
    },
    {
      "commit": "abd53c9ea7b471d774b3054920ff08edd97c18bb",
      "tree": "ae0910d56c920c1d252917903b540ac62843f86c",
      "parents": [
        "7b133fc73fe8ad3560bbe718e429a7dbf47d661a",
        "9a14813c0bcf6bb85262040380d394d1eeaaf71d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Sep 25 19:59:40 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Sep 25 19:59:40 2023 +0000"
      },
      "message": "Merge \"Add jreck to SF owners\" into main am: 9a14813c0b\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2762125\n\nChange-Id: Ib9ba37e87b5d7507ef93dc9c27eaaa6673bc1f0c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b7d57bb3f9060bb5b3ad532bf5ea8218470b5b22",
      "tree": "80bf5926ec5fb56fa44adc04da93a8eb020b61e9",
      "parents": [
        "0f3fb962e1bbe2df09831c6c65afbbaf7bc29511"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Mon Sep 25 19:15:39 2023 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Mon Sep 25 19:16:15 2023 +0000"
      },
      "message": "Add jreck to SF owners\n\nChange-Id: I73bcf6c5a0733993fdd0a24826e2936cb6f7c33c\n"
    },
    {
      "commit": "69b302d204ca047ed3752e028939fd6e0548ee9b",
      "tree": "ebd6cf32d61ea60eb4cd0be5e26f4755c827cba3",
      "parents": [
        "801dc71b1815dce84868b492d71b4a38b3fc20f2",
        "480edf5266a808169d96fbfcfdbdc511d1b9c4c6"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Sep 14 02:23:43 2023 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 14 02:23:43 2023 +0000"
      },
      "message": "Merge \"Replace ASan with HWASan\" into main am: 480edf5266\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2751626\n\nChange-Id: I396df2a25a1e0208f42701f04ced9db3cef295d2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "480edf5266a808169d96fbfcfdbdc511d1b9c4c6",
      "tree": "5bb8d3cf5dd8d59e87a9e1faa9a67527ea0f4c7d",
      "parents": [
        "6a7d49df27c1ed2bee4c7a11f093c2630417b89c",
        "d3fe83a781277bd9ba028733893b989ef5a1d2ac"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Sep 14 01:13:34 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 14 01:13:34 2023 +0000"
      },
      "message": "Merge \"Replace ASan with HWASan\" into main"
    },
    {
      "commit": "d3fe83a781277bd9ba028733893b989ef5a1d2ac",
      "tree": "fc40a90375494a419086465495a20833756ee5d7",
      "parents": [
        "a1681106e379fa6b3b67441980cce4e8744648f7"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Sep 13 14:19:28 2023 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Sep 13 21:50:17 2023 +0000"
      },
      "message": "Replace ASan with HWASan\n\nASan on device is deprecated and HWASan now works on all arm64 devices\n\nTest: atest libcompositionengine_test\nBug: 300289881\nChange-Id: I978bf4e3f5117e95799271a8fc4e8acdae58fc15\n"
    },
    {
      "commit": "d9a5b6c362dabaa80dbe64663c453582b2c551a2",
      "tree": "700477703945b8aee1fcf7a3bba7e6f23b855af7",
      "parents": [
        "e08348b252d1090b0de03b3a2bd005fcc92f6816"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Aug 31 04:14:17 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Sep 07 15:39:37 2023 +0000"
      },
      "message": "Use String8/16 c_str [surfaceflinger]\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I9a8840a669d93298020fbfecb52048153860afa0\n(cherry picked from commit 7a805e5f919882e0559e7e749bcd828c14983509)\n"
    },
    {
      "commit": "b77f10ef2f49d605a7c06ec12c3dcfc4d575db59",
      "tree": "497e952289702fae57578726d570c394f63a71ba",
      "parents": [
        "a165c1242f0079a7745dd5ab87660b3f88c24307",
        "2135f6ba5d3afd6857fdd89fabf2f5605d97793c"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Aug 31 11:53:01 2023 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Aug 31 12:31:09 2023 -0700"
      },
      "message": "Merge UP1A.230905.019\n\nMerged-In: Iceea086345691cdad8ca5e092629de094d666de1\nChange-Id: I71d0d8c86907a2eb1a5a2d0140a421682734aeb3\n"
    },
    {
      "commit": "56cd9b79ceac33602079e07efcf8cd56ef2afca7",
      "tree": "c62535b156aa8b8ee2f521fd8dae0bb27fc90c91",
      "parents": [
        "a0faf61fb8f629f416559936dd50ba259befa158"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Wed Jul 12 13:47:28 2023 -0500"
      },
      "committer": {
        "name": "Android Build Coastguard Worker",
        "email": "android-build-coastguard-worker@google.com",
        "time": "Wed Aug 30 17:54:21 2023 +0000"
      },
      "message": "Improve updateInputFlinger performance\n\nThis change improves the performance of the WindowInfosListenerInvoker work done on SurfaceFlinger\u0027s background executor thread. The primary optimization made is not sending a WindowInfosReportedListener with every call to WindowInfosListener.onWindowInfosChanged. Instead, we send a new interface, WindowInfosPublisher, and a unique listener id to listeners when they\u0027re added.  Listeners call WindowInfosPublisher.ackWindowInfosReceived with their id after processing each update.\n\nFrom traces taken during development, the new code is a major improvement, taking about 15% of the time spent previously on SurfaceFlinger\u0027s background thread for sending window infos. Performance with this change seems roughly in line with the performance in T.\n\nBug: 290377931\nTest: atest WindowInfosListenerTest\nTest: atest WindowInfosListenerInvokerTest\nTest: manually killing system server and checking valid state on restart\n(cherry picked from commit acd2258a5492a9e289fd7f4b8ea90543d6843a23)\n(cherry picked from commit e8a7ab25b2f2f17571279a2c2bf2ea0dff66c8e6)\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:82f3463d449eb13e28c5dbffeee16e10721c71d2)\nMerged-In: Ib39ba935727df0bc1ab4030bcfe8301de7e64805\nChange-Id: Ib39ba935727df0bc1ab4030bcfe8301de7e64805\n"
    },
    {
      "commit": "aec567304c807ff1ad5f621f9c9794d319b4b800",
      "tree": "05d044558a266436318601541b0ddab3510ff43f",
      "parents": [
        "b4f064c130fdc1c643835c52e7b05ba349a6c6f5",
        "1b988a4ee33de9cab9740ddc1ee70b1734c8e622"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Aug 28 22:13:41 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 28 22:13:41 2023 +0000"
      },
      "message": "Merge \"Merge Android U (ab/10368041)\" into aosp-main-future"
    },
    {
      "commit": "a01a2c259726e19a32001a4396d6873e32dcdb64",
      "tree": "ee739b05e0a49f0d4c80c35c10973132ced01954",
      "parents": [
        "a79915269da5e8f9f0d6522bd2fcf2068f5e26fb",
        "c2a796df3fc509fbe7141c9b05f7571e1d970e65"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Aug 28 04:38:11 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 28 04:38:11 2023 +0000"
      },
      "message": "Merge \"surfaceflinger_fuzzer: Bug Fix\" into main"
    },
    {
      "commit": "1b988a4ee33de9cab9740ddc1ee70b1734c8e622",
      "tree": "c4240b01ae5e973213d6532885fcc00fac6f9e0b",
      "parents": [
        "13da0f9a0f2d5fcb70418fcdceb0d184313d7f48",
        "b7bc7af7daca55a85bcc993c45c9be354d48f89a"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 25 13:45:39 2023 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Aug 25 13:45:39 2023 -0700"
      },
      "message": "Merge Android U (ab/10368041)\n\nBug: 291102124\nMerged-In: I9b175092d433fc6d7b22b437a09d76d3d2e0ce14\nChange-Id: If8a2897a99b111ba107f33c19537d40bcbdc802e\n"
    },
    {
      "commit": "0e1adf4580e1389626a02af346bf2fe6bf03b07b",
      "tree": "310d4601140ac0489de828f12ada1c4c74fe73b2",
      "parents": [
        "d2c95f8c7a125e3cc522454e41f380ebfdfdc574"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Fri Aug 11 00:06:51 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Aug 17 19:34:51 2023 +0000"
      },
      "message": "Use String8/16 c_str [graphics]\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I69aa06b109c2f40ecf40441cbbb0dfa3e1aa99a1\nMerged-In: I69aa06b109c2f40ecf40441cbbb0dfa3e1aa99a1\n"
    },
    {
      "commit": "c2a796df3fc509fbe7141c9b05f7571e1d970e65",
      "tree": "234564dfe2dc1090a60a3683dc5f6d74e5e816d4",
      "parents": [
        "b5e23337959543937ae569c2715535d10e4e4cd9"
      ],
      "author": {
        "name": "Harsh Abichandani",
        "email": "harsh.abichandani@ittiam.com",
        "time": "Wed Aug 09 10:30:27 2023 +0530"
      },
      "committer": {
        "name": "Harsh Abichandani",
        "email": "harsh.abichandani@ittiam.com",
        "time": "Wed Aug 09 10:31:12 2023 +0530"
      },
      "message": "surfaceflinger_fuzzer: Bug Fix\n\nResolved Abort due to improper message handling. Handled the messages scheduled via postMessage() in fuzzer.\n\nexec/s: 40\nTest: ./surfaceflinger_fuzzer clusterfuzz-testcase-minimized-surfaceflinger_fuzzer-5382002773655552\nTest: ./surfaceflinger_fuzzer clusterfuzz-testcase-minimized-surfaceflinger_fuzzer-5163836271296512\nBug: 291500072\nBug: 294639179\n\nChange-Id: I874f95bfe92de7e8adc462b66867429c2d8834b5\n"
    },
    {
      "commit": "5ce0c7e677d0a76f072e142a3412211a8620f84a",
      "tree": "63c8fe95be28690bb1fb013d17bff7d994f1a409",
      "parents": [
        "ada46f8b26c7486f5e25824d6142ebdd28c64105"
      ],
      "author": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Aug 04 18:21:53 2023 +0000"
      },
      "committer": {
        "name": "Nolan Scobie",
        "email": "nscobie@google.com",
        "time": "Fri Aug 04 18:27:16 2023 +0000"
      },
      "message": "Add SurfaceFlinger component to OWNERS for SF, RE, and libgui\n\nRaised on b/288345762#comment3\n\ngo/xts-owners-policy is XTS-specific, but the syntax is applicable\n\nBug: N/A\nTest: N/A\nChange-Id: I97e95ad89f0226e196675cbbf7bf0fd3a948b5a2\n"
    },
    {
      "commit": "6dfc621b2a2d6bdd8dd7b31f1ecdbebdb458809f",
      "tree": "ea6bd9ef5212926b9c98f5f3d6a1de655367997f",
      "parents": [
        "a6ec7859db29710b8ead1921cb437b6bea757eb1",
        "c8512110f3c41e79ae6aaca496fe28ffb288f1e7"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Jul 26 20:09:12 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 26 20:09:12 2023 +0000"
      },
      "message": "Merge \"RESTRICT AUTOMERGE: Explicitly ignore the result of std::async\" into main"
    },
    {
      "commit": "c8512110f3c41e79ae6aaca496fe28ffb288f1e7",
      "tree": "ce4d15491202cedd0fcb44a8e15ce001d7302664",
      "parents": [
        "39a9427c02c1bb30434e532f0053d436aedf85b2"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Thu Jul 20 20:52:45 2023 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Jul 25 21:35:18 2023 -0700"
      },
      "message": "RESTRICT AUTOMERGE: Explicitly ignore the result of std::async\n\nThe newer libc++ marks std::async with [[nodiscard]] in C++20 mode.\n\nBug: b/175635923\nTest: treehugger\nChange-Id: Ia222778697ab4241f25e002073b3514c7e106007\n"
    },
    {
      "commit": "fac97ad291aacb0236f5c817f55d07e79441f822",
      "tree": "ce8e8635db10e2c2d887e7037b43a6ea1bc71e2e",
      "parents": [
        "8ffdc4b56315289f5e788340cd3db47748ff10d9"
      ],
      "author": {
        "name": "Brian Johnson",
        "email": "hibrian@google.com",
        "time": "Fri Jul 14 17:59:06 2023 +0000"
      },
      "committer": {
        "name": "Brian Johnson",
        "email": "hibrian@google.com",
        "time": "Fri Jul 14 18:05:14 2023 +0000"
      },
      "message": "SF: Add domlaskowski@ to SurfaceFlinger OWNERS\n\nBug: NA\nChange-Id: I244a599001b8de1536443f263885bf67cc31a9ab\nTest: NA\n"
    },
    {
      "commit": "ab84e11cb5f3e3d257f78ceae64dff80e8e83315",
      "tree": "0aa71e9331185eb61ae0713dd23df4eafe51c720",
      "parents": [
        "5b67578ab3bf095e357e91c49195dfe7907f3c98"
      ],
      "author": {
        "name": "Brian Lindahl",
        "email": "blindahl@google.com",
        "time": "Thu Jun 15 14:19:43 2023 -0600"
      },
      "committer": {
        "name": "Android Build Coastguard Worker",
        "email": "android-build-coastguard-worker@google.com",
        "time": "Sat Jun 24 01:56:27 2023 +0000"
      },
      "message": "Force HALs to explicitly enable legacy method for clearing buffer caches\n\nSome HAL implementations can\u0027t support setLayerBuffer multiple times to\nclear the per-layer buffer caches. Therefore, default this behavior to\ndisabled, and allow HALs to explcitily enable this behavior to obtain\nthe necessary memory savings.\n\nTest: play videos with both true and false on both HIDL and AIDL\nBug: 285561686\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f70d9c4528888134e16003470b76dd1e81b8631d)\nMerged-In: I928cef25e35cfc5337db4ceb8581bf5926b4fbe3\nChange-Id: I928cef25e35cfc5337db4ceb8581bf5926b4fbe3\n"
    },
    {
      "commit": "5b02fc47b36af39a94a22148eb49b85820d17a5f",
      "tree": "6b7cff0f197886726fe808671cf20a43b68770f0",
      "parents": [
        "094946bd8c1a8f205417a21755023118857950f7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 14 14:41:10 2023 -0400"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 14 21:18:05 2023 -0400"
      },
      "message": "Adjust screenshot behavior of HDR content\n\nCap the max amount of HDR headroom beyond which the\nlayer is clipped. This avoids over-dimming the SDR content\nrange in the resulting SDR screenshot\n\nTest: screenshot of silkfx\nBug: 286942637\nChange-Id: I67df32d9c192da18df516972ed92e9bd64063186\n"
    },
    {
      "commit": "e2d955548639f22de77e7acb60395790da5469b7",
      "tree": "ca5af7aeaeb89b3020ee4cc35e81569991130af4",
      "parents": [
        "6bd58d4d045fab777551175e0d16fb9c5f22c0cb",
        "676e4390c3dc26910edfb6c6a3c52ffe4b898bf3"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed May 31 23:59:05 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 31 23:59:05 2023 +0000"
      },
      "message": "Merge \"Reduce number of binders from SurfaceFlinger for ADPF\" into udc-dev"
    },
    {
      "commit": "676e4390c3dc26910edfb6c6a3c52ffe4b898bf3",
      "tree": "b15bbaba8751019570ca8111f8f83fa9c71c3706",
      "parents": [
        "bb319326a6a8235e0227d404e428f9fcd23cfaec"
      ],
      "author": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Thu May 25 22:09:26 2023 +0000"
      },
      "committer": {
        "name": "Matt Buckley",
        "email": "mattbuckley@google.com",
        "time": "Wed May 31 20:11:44 2023 +0000"
      },
      "message": "Reduce number of binders from SurfaceFlinger for ADPF\n\nCurrently, SF is using the wrong vsync value when calculating the\ntarget for ADPF, causing it to send a binder every frame instead of\nevery vsync change. This patch fixes that to reduce the binder\nfrequency from SF, and also adds a debug option to disable reportActual\nto reduce the amount of binders even more in certain cases.\n\nBug: 284357218\nTest: manual\nChange-Id: I8435b170016c5af8219d8ed8cc9ed65a0a2cb0e7\n"
    },
    {
      "commit": "2689fcae6f97196237aa039a8d52fed15dd1ccc4",
      "tree": "0f39af64ed7819b58bd5b0c383fde44fa35b49b2",
      "parents": [
        "2aae677f5a53ce018d86e29e77ac0bb6c0f551db",
        "d1d846c5e1fe4a168bf1a19066cb4155a571e787"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Wed May 24 20:42:48 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 24 20:42:48 2023 +0000"
      },
      "message": "Merge \"Skip window infos updates if no listeners\" into udc-dev"
    },
    {
      "commit": "d1d846c5e1fe4a168bf1a19066cb4155a571e787",
      "tree": "1abe5d439dd31ced822b257ffe4acf202c568fd6",
      "parents": [
        "1dd15d0d52d6975a01cbc5cc3359c9747df5717f"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Mon May 15 13:38:16 2023 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Wed May 24 10:55:05 2023 -0500"
      },
      "message": "Skip window infos updates if no listeners\n\nThis change fixes a bug where WindowInfosListenerInvoker\u0027s active\nmessage count is incremented for messages when there are no listeners.\nIn this case, onWindowInfosReported is never called, leading to\nout-of-sync window infos once listeners are added back. This scenario\nmay occur if system server dies.\n\nBug: 279792237\nTest: WindowInfosListenerInvokerTest, manual tested by killing system server\nMerged-In: If62f7cc56b48570f633e8e640006f020b053ea6f\nChange-Id: I521dad46a763d0380807ba20b9a4ec9dcecf6bfc\n"
    },
    {
      "commit": "39fcb5040622c94ffc44ce4cfc893ef87f536f49",
      "tree": "d9dd05fa4e7e73e4bb7ebc101c18d387329a4f3a",
      "parents": [
        "0748ac53910373f21e97bf58de9d88dcb39cd514",
        "fa9e2ef3d6ece2fef67ef460cbdfca009fb330fb"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 23 22:34:31 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 23 22:34:31 2023 +0000"
      },
      "message": "Merge \"[sf] Update snapshots after screenshots\" into udc-dev"
    },
    {
      "commit": "fa9e2ef3d6ece2fef67ef460cbdfca009fb330fb",
      "tree": "581c6eb5be4136eaa787bc39ded7c30cc815f7e4",
      "parents": [
        "bb319326a6a8235e0227d404e428f9fcd23cfaec"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 22 15:10:20 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 22 15:10:20 2023 -0700"
      },
      "message": "[sf] Update snapshots after screenshots\n\nScreenshots can be taken for a partial hierarchy and may require\nsome of the layers to be temporarily reparented and their geometry\nto be updated. Sceenshots use a copy of the layer snapshots and another\ninstance of the composition engine to render the contents to a\nbuffer.\n\nThere was an issue where the snapshots were updated before they were\ncopied and if the screenshot was taken during a period where there\nwere no visible region changes (and no reason to rebuild the snapshots)\nwe would pass invalid snapshot data when compositing to the display.\n\nWith legacy frontend, its harder to split the screenshot path and the\ndisplay composition path, so as a fix, update the snapshots after\nscreenshots are taken.\n\nBug: 282884552\nTest: instrumented load to verify snapshots are updated correctly\nTest: repro steps in bug\n\nChange-Id: Ie778b02b57c5b1ddf0f09afe82675e04c5535ee5\n"
    },
    {
      "commit": "01201564a7e865e773214aa07e3e536402601b91",
      "tree": "10283a1c8fcb7583afbeae3a52c8f15c57a0aa63",
      "parents": [
        "19a4a0818780affc872f218326c4fa3247ae1391",
        "61dfca4bedbdee697ae07f2e660fa0eb4fab17cf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon May 22 00:20:46 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 22 00:20:46 2023 +0000"
      },
      "message": "Merge \"SF: Fix ADPF regression due to wrong present fence\" into udc-dev"
    },
    {
      "commit": "19a4a0818780affc872f218326c4fa3247ae1391",
      "tree": "596fee50eca29257e870071e7d3d5c6519ced07f",
      "parents": [
        "052dcb5c2f4cced669ecd19011d1d661f0eb56fc",
        "c44a1ffe6e278e167246c2cf0a6e75266630beb0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Sat May 20 04:56:00 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 20 04:56:00 2023 +0000"
      },
      "message": "Merge \"Fix SurfaceFlinger_test on WCG devices\" into udc-dev"
    },
    {
      "commit": "c44a1ffe6e278e167246c2cf0a6e75266630beb0",
      "tree": "31711e3f08cb4468b6ead71e42df187ca7cfec49",
      "parents": [
        "3a4f049f770642ca4ef5469a4002ea467841125a"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri May 19 23:49:05 2023 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Sat May 20 00:06:35 2023 +0000"
      },
      "message": "Fix SurfaceFlinger_test on WCG devices\n\nSome tests force sRGB screenshots for consistent test output. Make sure\nthat output colorspace is still respected.\n\nBug: 283305205\nTest: SurfaceFlinger_test\nChange-Id: I42ffe36022fa65568bcd75df28a33389340a7d7f\n"
    },
    {
      "commit": "61dfca4bedbdee697ae07f2e660fa0eb4fab17cf",
      "tree": "1a26718a526d0c90c4aa31df0233f472d1a9f721",
      "parents": [
        "b94c02682fe56e2548690c80c0f98c411191c502"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri May 19 14:42:24 2023 -0400"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri May 19 15:02:23 2023 -0400"
      },
      "message": "SF: Fix ADPF regression due to wrong present fence\n\nPartially revert Ib114ffc1866aa32e6d493e06dcf5a27652d19a39.\n\nPowerAdvisor needs the present fence of the previous frame, as the query\nhappens after presenting the current frame so should not be adjusted for\ntargeting 2 VSYNCs ahead.\n\nFixes: 283189729\nTest: Perfetto\nChange-Id: Ifbd6aa961bc92fe1d2f4de1247413fcd49330645\n"
    },
    {
      "commit": "13310b86295ae139c504242f1a40c7c9754e691e",
      "tree": "025d85fb4bb3392a6e91d1f99d8e2d7c4945748d",
      "parents": [
        "0f0d7b0309822efaa83f16a5a9fc7a070f94a3b5"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Wed May 17 14:40:18 2023 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Fri May 19 13:11:12 2023 -0500"
      },
      "message": "Update BackgroundExecutor to use LocklessQueue\n\nThis change allows BackgroundExecutor to receive callbacks from multiple\nproducers.\n\nBug: 283133164\nTest: BackgroundExecutorTest\nChange-Id: I63f3266184a2ae90b15d7d1b7d9502847e268763\n"
    },
    {
      "commit": "0f0d7b0309822efaa83f16a5a9fc7a070f94a3b5",
      "tree": "55b24cf8b60485dd89041009d0c70757eb997e29",
      "parents": [
        "5796a17668e65625bd364ff917ecc52dcf1a5a75",
        "6ba61eb54c70218394de22913baa55d610fb97a4"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed May 17 21:29:46 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 17 21:29:46 2023 +0000"
      },
      "message": "Merge \"[sf] Add readme for surfaceflinger frontend\" into udc-dev"
    },
    {
      "commit": "6ba61eb54c70218394de22913baa55d610fb97a4",
      "tree": "a38083441c3140e64ebe099614bbe5f286748d7e",
      "parents": [
        "50fe0d960d1df5d6d99e6808d0cb941f2bc7f772"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 16 17:07:02 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed May 17 19:41:10 2023 +0000"
      },
      "message": "[sf] Add readme for surfaceflinger frontend\n\nTest: presubmit\nBug: 280751178, 238781169\nChange-Id: I6511548a431b715acd598b009208c59ee65b1e3f\n"
    },
    {
      "commit": "12baa2e688e7a2cb8fbb3480220d0142815ef7d1",
      "tree": "cdc84600dfb6bc0842c9fa4647609817688df3c3",
      "parents": [
        "f982044859e939e488967562b2d64f00f7ec1504",
        "2964072dd866b76fe3b42c925271e930cbdb3ca7"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed May 17 18:07:38 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 17 18:07:38 2023 +0000"
      },
      "message": "Merge \"Disable HDR screenshots\" into udc-dev"
    },
    {
      "commit": "2964072dd866b76fe3b42c925271e930cbdb3ca7",
      "tree": "1273bb3d43c916b4e443e42f2147af1c7ace4a4f",
      "parents": [
        "eb7596b865f35d9498e8d1e0f4169018cf423736"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 16 23:22:41 2023 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Wed May 17 00:59:57 2023 +0000"
      },
      "message": "Disable HDR screenshots\n\nBug: 282823628\nChange-Id: I60867302eaf968f6b756e3ec37dd55caddf98a49\nTest: screencap\n"
    },
    {
      "commit": "afb6b50ee815108a6f5f290e1b3753069f3bd9d3",
      "tree": "a5a27a0ae29076b60f9cd6d6387f01cb993d1809",
      "parents": [
        "4530ad4d4d82a89693200345a08c5258bcef0987"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Fri May 12 15:53:05 2023 -0700"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Fri May 12 16:01:49 2023 -0700"
      },
      "message": "Populate preferred frame timeline always\n\n`getLatestVsyncEventData` sometimes ends up with 0 length frame\ntimelines. When `generateFrameTimeline`, always populate with the\npreferred timeline information from the vsync schedule.\n\nBug: 282110947\nTest: atest EventThreadTest\nTest: atest DisplayEventReceiverTest\nChange-Id: I936d3b7095ce89ce3bd898f6b6a4f73145c27160\n"
    },
    {
      "commit": "4530ad4d4d82a89693200345a08c5258bcef0987",
      "tree": "088487b81a1a1f9d561d77c20fd67bde9edab8aa",
      "parents": [
        "addae5a203b9390cc3d31e6a4e35f690dd3b0ea8",
        "802ac4f6e84a830077963db7299ae9184b56e12e"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri May 12 16:52:03 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 12 16:52:03 2023 +0000"
      },
      "message": "Merge \"[sf] avoid traversals for cursor updates and buffer udpates\" into udc-dev"
    },
    {
      "commit": "addae5a203b9390cc3d31e6a4e35f690dd3b0ea8",
      "tree": "e24c02f60c9465f30e35c4f3e4a938c947ca138b",
      "parents": [
        "687f69993f6264a588a4e7f19c3ec5ce432eb0c2",
        "23780be14df464f815d3fab7466d216cfbb2eae3"
      ],
      "author": {
        "name": "Pablo Gamito",
        "email": "pablogamito@google.com",
        "time": "Fri May 12 15:46:17 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 12 15:46:17 2023 +0000"
      },
      "message": "Merge \"Track transaction merges through transaction trace\" into udc-dev"
    },
    {
      "commit": "f8710d14e8f5ab08fdcf0d6d0c5e06ee2536e7ed",
      "tree": "4e0f92bde6bd3eafbbb8cdf911758e07f7d45c08",
      "parents": [
        "3fefafa906217460125ac30f2c60cbc7b93cb082",
        "9550c0945ee72bdda05972f70255e7a6b5c46c29"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu May 11 21:01:03 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 21:01:03 2023 +0000"
      },
      "message": "Merge \"Move rotation flags to SF\" into udc-dev"
    },
    {
      "commit": "12cda385cfc6650da2b65455e4ce75fea5fe5871",
      "tree": "b229c1590424024b17b9f25e99ae8ce2b49ad8f7",
      "parents": [
        "a04c0f68ee7623c59f1900b40fa9b464dbfd061a",
        "3be61905f09f265de9732eed00985e324540e5b8"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu May 11 15:46:37 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 15:46:37 2023 +0000"
      },
      "message": "Merge \"[sf] Properly update clones of clones\" into udc-dev"
    },
    {
      "commit": "23780be14df464f815d3fab7466d216cfbb2eae3",
      "tree": "5478755eeb74e02a2c42dc080abd3a569d452ec4",
      "parents": [
        "50fe0d960d1df5d6d99e6808d0cb941f2bc7f772"
      ],
      "author": {
        "name": "Pablo Gamito",
        "email": "pablogamito@google.com",
        "time": "Tue Apr 18 08:30:00 2023 +0000"
      },
      "committer": {
        "name": "Pablo Gamito",
        "email": "pablogamito@google.com",
        "time": "Thu May 11 14:43:24 2023 +0000"
      },
      "message": "Track transaction merges through transaction trace\n\nBug: 233371599\nBug: 278663063\nTest: dump a transaction trace and ensure transactions have the list of merged transaction ids in the proto\nChange-Id: I3edf8f1443a2573ef2086f221ceeef57172ecdbe\n"
    },
    {
      "commit": "9550c0945ee72bdda05972f70255e7a6b5c46c29",
      "tree": "7dd223ed7e5f7bd2e6cf0dee5657207672e81254",
      "parents": [
        "b270da4ef27dbaa03e6f9557fbe32c9c71781800"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue May 09 13:58:18 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu May 11 10:14:02 2023 -0400"
      },
      "message": "Move rotation flags to SF\n\nThe rotation flags are typically only used for a camera preview, which\nwants to avoid changing its orientation and flicker during rotation.\nPrior to this CL, the rotation flags were tied to the primary display,\nmeaning that if the camera preview was on another display, the rotation\nflags may not be up to date. For example, if the primary display is off,\nits flags will not be updated on rotation.\n\nIdeally, the flags should be based on the display where the preview will\nbe shown, but this is a much larger architectural change, tracked in\nb/259407931.\n\nAs a temporary workaround, associate the flags with the active display.\nStore the flags in SurfaceFlinger, which knows when the active display\nchanges. Update when the active display switches to a different display\nor when the active display rotates, matching the behavior of\nmActiveDisplayTransformHint, which seems similar but is different. Store\nthe flags as a static variable so that LayerFE can access it. LayerFE\ndoes not have a way to access the actual SurfaceFlinger object, and it\nshould not.\n\nAccess to the new flags is safe because it is only read or written from\nthe main thread.\n\nBug: 269685949\nBug: 259407931\nTest: ActiveDisplayRotationFlagsTest\nChange-Id: I5532e140a603be222cb3ea1ae563638317c1d745\nMerged-In: I5532e140a603be222cb3ea1ae563638317c1d745\n"
    },
    {
      "commit": "802ac4f6e84a830077963db7299ae9184b56e12e",
      "tree": "bd10deaf35cb7c425004f652f86748a706fde77d",
      "parents": [
        "50fe0d960d1df5d6d99e6808d0cb941f2bc7f772"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed May 10 13:55:22 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed May 10 20:25:48 2023 -0700"
      },
      "message": "[sf] avoid traversals for cursor updates and buffer udpates\n\nIn U, we have a unified way to traverse the layer\nhierarchy from both new FrontEnd and legacy logic\nto generate the snapshots to provide to CE.\nWe update CE twice, once to draw the cursor and once\nfor the remaining layers. In T we relied on the previous\nframe\u0027s composition state to update cursor state. This\nextra traversal increases the cpu usage for buffer updates.\n\nFix this by keeping track of the previous composition state\nand expand on this to avoid all traversals when there are\nonly buffer updates.\n\nBug: 278634536\nTest: simple perf and check the instruction count between T and U\n\nChange-Id: I26989bf42aa00650ee97c3c60e7f34171c385c5c\n"
    },
    {
      "commit": "8b0d097a741b2c47dcd445e1af63a2e49ec37994",
      "tree": "c75aad1170c584e1c8d48edd6a4cdbca323f322d",
      "parents": [
        "b270da4ef27dbaa03e6f9557fbe32c9c71781800",
        "552691605bc21fd94b5ae739c4b0bd32164ca4ea"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 10 17:46:44 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 17:46:44 2023 +0000"
      },
      "message": "Merge \"SF: use TextureView hint when selecting the refresh rate\" into udc-dev"
    },
    {
      "commit": "b270da4ef27dbaa03e6f9557fbe32c9c71781800",
      "tree": "848238deae55beb714a6f8a3c2dd2df6439a1942",
      "parents": [
        "50fe0d960d1df5d6d99e6808d0cb941f2bc7f772",
        "cf0bb43409962a0184f2e79bac547dd11f07abab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 10 16:47:36 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 16:47:36 2023 +0000"
      },
      "message": "Merge \"SF: Tie main thread priority to active display\" into udc-dev"
    },
    {
      "commit": "3be61905f09f265de9732eed00985e324540e5b8",
      "tree": "4ec930ea95a756975f7df1b6e25260d53cc01e37",
      "parents": [
        "50fe0d960d1df5d6d99e6808d0cb941f2bc7f772"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed Apr 26 19:47:29 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed May 10 09:24:08 2023 -0700"
      },
      "message": "[sf] Properly update clones of clones\n\nRelanding with the change to only update onscreen mirror\nroots and cleaning up some debug logs.\n\nWhen updating a cloned layer hierarchy that contains\nanother cloned layer hierarchy, we are dependent on\nthe order in which we update each hierarchy.\nThe inner cloned hierarchy must be updated first\notherwise the outer clone will not capture the entire\ntree and some layers might be omitted from\ncomposition.\nTo fix this we track all layer mirror roots. When updating\neach root, we check to see if they mirror another root. If\nthey do mirror another root and that root has not been updated,\nwe update the root again at the end.\n\nTest: repro steps in bug\nFixes: 279622227\nChange-Id: I125f7c788716d59909b77a88ef4098b7cac08919\n"
    },
    {
      "commit": "552691605bc21fd94b5ae739c4b0bd32164ca4ea",
      "tree": "9fbe81be795662e39d68527f7e6808792ed859ca",
      "parents": [
        "15ed5da8eadde5be0c3d7833dec3812daa73969d"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue May 09 11:26:06 2023 -0700"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Tue May 09 16:42:59 2023 -0700"
      },
      "message": "SF: use TextureView hint when selecting the refresh rate\n\nSF would only try to heuristically calculate the frame rate of a layer\nwhen TextureView is updating. This fixes a bug where SF tries to\nheuristically calculate the frame rate for UI animations but fails\ndue to long frames.\n\nBug: 280249265\nTest: Playing a video on Facebook and observe refresh rate\nTest: go/cb-pcmark\nChange-Id: Ic98484b8313f1e8e6ad01297b63bb64da6d4a6dd\n"
    },
    {
      "commit": "eb7596b865f35d9498e8d1e0f4169018cf423736",
      "tree": "f5c54eed9b34d565b8db422498ac69edcc96a0d5",
      "parents": [
        "bd65cc20d9de72531643c48c243d6ba18c837baa",
        "c78f53cd0e9ce68cc52a851584b6ce5b34baef7d"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Tue May 09 17:36:34 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 09 17:36:34 2023 +0000"
      },
      "message": "Merge \"Cleaned up transaction sanitize calls\" into udc-dev"
    },
    {
      "commit": "cf0bb43409962a0184f2e79bac547dd11f07abab",
      "tree": "1bf8444ff5566df3d547e99e6255f131214d8089",
      "parents": [
        "9560a12c9524c6929fbfb8986ca779d4de282ddb"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Tue May 09 11:49:16 2023 -0400"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Tue May 09 13:06:37 2023 -0400"
      },
      "message": "SF: Tie main thread priority to active display\n\nOtherwise, the powering off of the outer display when exiting concurrent\nmode causes SF to drop real-time priority until the next powering on of\neither display.\n\nFixes: 271431077\nTest: Logs during boot, power on/off, fold/unfold, concurrent mode.\nChange-Id: I4f1590d7abf82977c1acd162605f578624bc9faa\n"
    },
    {
      "commit": "c78f53cd0e9ce68cc52a851584b6ce5b34baef7d",
      "tree": "d2712bcb15c44121d03e6c659ad321b676767f99",
      "parents": [
        "b1e4e9fba5b211ffc9abc62cd80570e81ec2a73a"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Fri Apr 14 18:50:53 2023 +0000"
      },
      "committer": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Mon May 08 21:38:26 2023 +0000"
      },
      "message": "Cleaned up transaction sanitize calls\n\nExposed a way for a client to invoke sanitize with a uid and pid to\nensure we don\u0027t remove states when the process that added it was\nprivileged.\n\nAdded a helper function to get the permission ints based on the String\npermission values so SF and clients can call the same API.\n\nIn SF, call sanitize as soon as setTransactionState is called since\nthat\u0027s the point where the Transaction has been passed over binder so we\ncan identify the calling uid. This allows us to remove the permission\nvalues passed to applyTransactionState and unifies the places that were\ncalling sanitize.\n\nTest: CredentialsTest\nBug: 267794530\nChange-Id: I30c1800f0fee43df1cee82464139db7b56a7d911\n"
    },
    {
      "commit": "58df7b9ca502276d8d39915f903076970b8c03e9",
      "tree": "d800569fcf4976a661afe3a6f71de1e21f5428b1",
      "parents": [
        "87a5f94c7d10a0e991119fb4998ce411cffc1f6c",
        "6e701afa3013c7a0a606d0847b113386c0515dad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 05 23:57:08 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 05 23:57:08 2023 +0000"
      },
      "message": "Merge \"Revert \"[sf] Properly update clones of clones\"\" into udc-dev"
    },
    {
      "commit": "b271771b1b71e46102eade898b2fcf8104d2e2b8",
      "tree": "e6f26ccef7f8609cf8d086b378ad2fcec77ecea0",
      "parents": [
        "9da41a1f0d4f933d113e02b8f5ac94fb082db0c9",
        "d828f302cbf75fe838f6c96a6b9938dda4ea22a5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 05 16:19:46 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 05 16:19:46 2023 +0000"
      },
      "message": "Merge \"Add Window Infos state to dumpsys\" into udc-dev"
    },
    {
      "commit": "6e701afa3013c7a0a606d0847b113386c0515dad",
      "tree": "cc8371804d0095e1c0c5ad316cd75e3574e1bc0e",
      "parents": [
        "0cec3ed248d1f0b82e3d86270a018ed7e7f8b620"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu May 04 17:27:48 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 04 17:27:48 2023 +0000"
      },
      "message": "Revert \"[sf] Properly update clones of clones\"\n\nThis reverts commit 0cec3ed248d1f0b82e3d86270a018ed7e7f8b620.\n\nReason for revert: testing to see if this is related to layer leaks seen here: b/280503684\n\nChange-Id: I0ba48a412bbb771b70570a5f34e5c1a11d0ee28d\n"
    },
    {
      "commit": "d8e3b12b4da1dd21b2228e875ed274f5aafbebb9",
      "tree": "c60a48a27bd4c2afb3db0987dcbe76be9e520a05",
      "parents": [
        "b49fc5d583976c367afb2571b8c0ddb65c062bd1",
        "792b150a708a61faedaaa5983fbc5c5185984f50"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Thu May 04 02:07:31 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 04 02:07:31 2023 +0000"
      },
      "message": "Merge \"Don\u0027t overdim SDR content in an HLG screenshot.\" into udc-dev"
    },
    {
      "commit": "e4eb27420708a16522816075ad59a303663cb9ae",
      "tree": "124f026c0fed94d76d6dbc4707ca32a5d999f7bd",
      "parents": [
        "0c98ab16f00c0fe3e5e2e6478faf87d6586a566f",
        "40aef42d44e1f0465b8dc17e3ecd8a1aee074236"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Wed May 03 21:22:20 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 03 21:22:20 2023 +0000"
      },
      "message": "Merge changes from topics \"b270612751\", \"kFrameTimelinesCapacity\" into udc-dev\n\n* changes:\n  Rename const to kFrameTimelinesCapacity\n  Fix Choreographer affecting ASurfaceControlTest\n"
    },
    {
      "commit": "d828f302cbf75fe838f6c96a6b9938dda4ea22a5",
      "tree": "8ab0df6d032be11adba9043669f7b9b5bb5075d8",
      "parents": [
        "ee324d5fe81414b3971ae9579878a70afa8f5c7f"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Fri Apr 28 17:52:08 2023 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Wed May 03 14:39:17 2023 -0500"
      },
      "message": "Add Window Infos state to dumpsys\n\nUpdate SurfaceFlinger and InputDispatcher dumpsys output to include\nthe vsync id and timestamp of Window Infos changes.\n\nBug: 279792237\nTest: presubmits\nChange-Id: I17fba2d09972467cfdd452e5041666ffbeabddc9\n"
    },
    {
      "commit": "40aef42d44e1f0465b8dc17e3ecd8a1aee074236",
      "tree": "7ee37a69e9cf798dd8a4a346ca00890c3c5ff69e",
      "parents": [
        "0655a9157bc7ab4771202d2d4e206f91d5352481"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Tue Apr 25 14:35:47 2023 -0700"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Tue May 02 16:27:18 2023 -0700"
      },
      "message": "Rename const to kFrameTimelinesCapacity\n\nFrom `kFrameTimelinesLength`.\n\nBug: 270612751\nTest: build\nChange-Id: I83e61a19254ab4a63479a2004124cfd2c082da35\n"
    },
    {
      "commit": "0655a9157bc7ab4771202d2d4e206f91d5352481",
      "tree": "b20c2be6295d30b8fa9f20fafa1f8b675a5f383c",
      "parents": [
        "a8827e9c7abb0923f9b7a1de381545ddd2396bc4"
      ],
      "author": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Thu Apr 20 19:54:18 2023 -0700"
      },
      "committer": {
        "name": "Rachel Lee",
        "email": "rnlee@google.com",
        "time": "Tue May 02 15:54:31 2023 -0700"
      },
      "message": "Fix Choreographer affecting ASurfaceControlTest\n\nFixes `testSurfaceTransaction_setFrameTimeline_notPreferredIndex` case\non devices that do not have high refresh rates (e.g. max 60Hz). This\noccurred because the transaction-ready logic in SF does not consider\ntransactions to be too early if the expected presentation time is over\n100ms in the future, so the frame would just be deemed ready and\npresented asap. Thus, no longer provide frame timelines that are far\ninto the future, which are not useful as well.\n\nTest: atest ASurfaceControlTest\nTest: atest ChoreographerTest\nTest: atest ChoreographerNativeTest\nTest: atest DisplayEventStructLayoutTest\nTest: atest ParcelableVsyncEventData\nTest: atest libsurfacefligner_unittest\nFixes: 270612751\nChange-Id: Ic05717bc153a9b07409b8d7912a1c40e1e31a57e\n"
    },
    {
      "commit": "a953a920c2166666916e8c0efb4608c75015a30e",
      "tree": "96a7d16b02929d7510490e5464c4612b2aaf906f",
      "parents": [
        "351604ddc222cc332ae6fe7ba49a10ad1f652ba9",
        "e4af0956e0a5a0080f21e276f4fccadf95d5fe40"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 02 16:17:48 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 16:17:48 2023 +0000"
      },
      "message": "Merge \"[sf] Fix layer ids for background color layers\" into udc-dev"
    },
    {
      "commit": "351604ddc222cc332ae6fe7ba49a10ad1f652ba9",
      "tree": "4510b42297a0722eedd9d192f5edc3747986e6b4",
      "parents": [
        "1ca597f40999aef9e5528c2e4db4ffff7afc4e4c",
        "0cec3ed248d1f0b82e3d86270a018ed7e7f8b620"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 02 15:44:48 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 15:44:48 2023 +0000"
      },
      "message": "Merge \"[sf] Properly update clones of clones\" into udc-dev"
    },
    {
      "commit": "1ca597f40999aef9e5528c2e4db4ffff7afc4e4c",
      "tree": "780f928685991f5c91c6ce5fe98d3aed6590fa78",
      "parents": [
        "0f6d31dda21c8085712c7428a0926d3ed0a53532",
        "f10a87bddbe89067002dac8384311e191bb9d5f4"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 02 01:40:46 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 01:40:46 2023 +0000"
      },
      "message": "Merge \"[sf] Fix crash caused by invalid access of mPreviouslyPresentedLayerStacks\" into udc-dev"
    },
    {
      "commit": "0f6d31dda21c8085712c7428a0926d3ed0a53532",
      "tree": "b517662eed1e30c90104149e1d4f9779931a0d04",
      "parents": [
        "52ff89f0089512ccda7508d8521ed95277f4924c",
        "de17725511baa95ea11f1cd7c76377c1970286eb"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue May 02 01:39:13 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 01:39:13 2023 +0000"
      },
      "message": "Merge \"[sf] populate snashot path for legacy frontend\" into udc-dev"
    },
    {
      "commit": "52ff89f0089512ccda7508d8521ed95277f4924c",
      "tree": "31e011e0ba61834f163d7de1a58ff0117e9f7a7c",
      "parents": [
        "85bffd5370e97ef8a3fd7d029676d214ba8b71a8",
        "4235ea0f6bc1bd27f7fc5eafa10aed3a84feaafb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 02 00:37:52 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 00:37:52 2023 +0000"
      },
      "message": "Merge \"Loosen requirement that getVsyncSchedule returns an object\" into udc-dev"
    },
    {
      "commit": "792b150a708a61faedaaa5983fbc5c5185984f50",
      "tree": "d45dba99bbb180dd1ceae9da7c336859249fe7cc",
      "parents": [
        "8a186104276cdf57d552c54dbad488e14f0d3d16"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 02 00:03:08 2023 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue May 02 00:08:26 2023 +0000"
      },
      "message": "Don\u0027t overdim SDR content in an HLG screenshot.\n\nAligning HLG and PQ to 1.0 \u003d\u003d 203 nits made SDR assets in screenshots\ntoo dim, since both the colorspace and the color transform applied\ndimming. Removing dimming application from the color transform is a\nlarger change, so just compensate when configuring the screenshot in\nSurfaceFlinger instead.\n\nBug: 280347733\nTest: HwAccelerationTest\nTest: Navigate in and out of recents\nChange-Id: Idfdb74c0c3b977717b870b2bb9a469be37d27dc9\n"
    },
    {
      "commit": "0cec3ed248d1f0b82e3d86270a018ed7e7f8b620",
      "tree": "16a45ff0e50463b07205c378cc1843f5edcc3459",
      "parents": [
        "8bf29931eabb065027fda7ffa7db294b04772a36"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed Apr 26 19:47:29 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 01 21:37:34 2023 +0000"
      },
      "message": "[sf] Properly update clones of clones\n\nWhen updating a cloned layer hierarchy that contains\nanother cloned layer hierarchy, we are dependent on\nthe order in which we update each hierarchy.\nThe inner cloned hierarchy must be updated first\notherwise the outer clone will not capture the entire\ntree and some layers might be omitted from\ncomposition.\nTo fix this we track all layer mirror roots. When updating\neach root, we check to see if they mirror another root. If\nthey do mirror another root and that root has not been updated,\nwe update the root again at the end.\n\nTest: repro steps in bug\nFixes: 279622227\nChange-Id: I07e3f2c89d62d44455fda9fe3f8203215c22abf7\n"
    },
    {
      "commit": "f10a87bddbe89067002dac8384311e191bb9d5f4",
      "tree": "1039bfa6f78529d99e80da15f62c7a75e6f3d5f2",
      "parents": [
        "38a3e0b7e2565a583bc4b0733efc21daebd5c31a"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 01 14:02:51 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 01 14:04:09 2023 -0700"
      },
      "message": "[sf] Fix crash caused by invalid access of mPreviouslyPresentedLayerStacks\n\nWhile trying to update the release fence for layers with buffer\nremoved, we incorrectly accessed and updated the same data struct.\n\nTest: presbumit\nFixes: 279397500\nChange-Id: I2488da1696774669777e94e23301af6ecc2ae581\n"
    },
    {
      "commit": "4235ea0f6bc1bd27f7fc5eafa10aed3a84feaafb",
      "tree": "a6dcabc3c5326de8d2b7daa4b6e9891db10b0489",
      "parents": [
        "8bf29931eabb065027fda7ffa7db294b04772a36"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 17 15:14:20 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 01 16:58:38 2023 -0400"
      },
      "message": "Loosen requirement that getVsyncSchedule returns an object\n\nIn some cases, a display may have been removed in between referring to\na display and when we attempt to retrieve its VsyncSchedule. Remove the\nassert that there must be an associated VsyncSchedule, replacing it with\nhandling that is specific to the call site.\n\nAnywhere std::null_opt is passed to getVsyncSchedule (the default),\nleave the call sites unchanged. This will pick the pacesetter, which\nshould have a VsyncSchedule every time the method is called. This should\nalways return a valid VsyncSchedule. Otherwise, the old code would\nLOG_ALWAYS_FATAL, while the new code would have a null pointer\ndereference.\n\nLOG_ALWAYS_FATAL if there is no associated VsyncSchedule in the\nfollowing methods. They are all called on the main thread, when the\nschedule should always be available when requested. This matches the\nold behavior. Where these are not documented as main-thread only, add\nthis annotation, since that\u0027s what makes this safe to assume.\n- enableHardwareVsync\n- disableHardwareVsync\n- setDisplayPowerMode\n- addPresentFence\n\nIn addResyncSample, which is called from a binder thread, the display\nmay have been removed since the callback was initiated. No-op with a\nwarning in this case.\n\nIn getDisplayStats, which also may be called from a binder thread, fall\nback to mActiveDisplayId, just in case it is called in between Scheduler\ndemoting and promoting the pacesetter display. Add a test for this\nmethod.\n\nIn the following methods, log an error and early exit. This may be more\nconservative than necessary.\n- resyncToHardwareVsyncLocked\n- setRenderRate\n\nIn setVsyncEnabled, fail to setPendingHardwareVsyncState silently,\nwhich matches the behavior for the call to setHWCVsyncEnabled.\n\nBug: 266094575\nBug: 277623302\nBug: 267636813\nBug: 278806588\nBug: 275691508\nBug: 275691150\nBug: 277364366\nTest: builds, boots\nTest: SurfaceFlingerGetDisplayStatsTest\nChange-Id: I3541909448745b04252e88f299a4283f37e755e8\n"
    },
    {
      "commit": "e4af0956e0a5a0080f21e276f4fccadf95d5fe40",
      "tree": "c9a4b30c2a9ed46f16af13dbf98ac77ec05725ca",
      "parents": [
        "38a3e0b7e2565a583bc4b0733efc21daebd5c31a"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 01 09:11:33 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Mon May 01 09:27:04 2023 -0700"
      },
      "message": "[sf] Fix layer ids for background color layers\n\nFixes a regression caused by Ie0f93ca956e6d043c9d95d00bc205d242e47c4cc\nwhich created duplicate layer ids.\n\nAlso deflakes corner radius tests by tracking eCornerRadiusChanged state\nchanges correctly.\n\nTest: presubmit w/new fe\nBug: 238781169\n\nChange-Id: I2d5321b5ba77e1074ef039bcd90c78e82c1a0049\n"
    },
    {
      "commit": "0011553e6e60a8403600765b32192ebe228ab94b",
      "tree": "9eceb3e56f02c9f4536c7c2680ecc3f2385b3137",
      "parents": [
        "6b567cad28c9a754d1c3f06179b883c59440043a",
        "3e5965f3184a828a1b7ee2b5bd5d5c2177807a35"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri Apr 28 20:01:59 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 28 20:01:59 2023 +0000"
      },
      "message": "Merge \"Support screenshots of HDR content\" into udc-dev"
    },
    {
      "commit": "6b567cad28c9a754d1c3f06179b883c59440043a",
      "tree": "8b705bd7131cab973be0d15880f74168e5efad7e",
      "parents": [
        "38a3e0b7e2565a583bc4b0733efc21daebd5c31a",
        "0773813474604ca4588fbdf476885cb358046dbf"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Apr 28 17:59:40 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 28 17:59:40 2023 +0000"
      },
      "message": "Merge changes from topic \"VSyncDispatch_unregisterCallback\" into udc-dev\n\n* changes:\n  Before deleting callbacks, ensure they aren\u0027t running\n  Fix for potential deadlock in EventThread::onNewVsyncSchedule\n  Make VSyncCallbackRegistration\u0027s move operator\u003d call unregisterCallback\n"
    },
    {
      "commit": "ecd5e42f3d09dda0ac4f62a47ce224af7313dd4d",
      "tree": "8b0436b372f530847dcc2583f19e63176fa82bd7",
      "parents": [
        "636834376126ac2f74348f2fb0ace5e1afd30cdc",
        "a3816abcf2cc2cf284eb85c2b88ba53e60824b7f"
      ],
      "author": {
        "name": "Ram Indani",
        "email": "ramindani@google.com",
        "time": "Thu Apr 27 14:48:32 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 14:48:32 2023 +0000"
      },
      "message": "Merge \"[SF] Disable caching for RefreshRateOverlay\" into udc-dev"
    },
    {
      "commit": "a3816abcf2cc2cf284eb85c2b88ba53e60824b7f",
      "tree": "2eb15ef198ac89588f4ef09da9a26fae7b1551c2",
      "parents": [
        "e469593af9a8220d82d91cc815e0aee317fef45e"
      ],
      "author": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Tue Apr 25 18:41:16 2023 -0700"
      },
      "committer": {
        "name": "Ram Indani",
        "email": "ramindani@google.com",
        "time": "Thu Apr 27 14:47:29 2023 +0000"
      },
      "message": "[SF] Disable caching for RefreshRateOverlay\n\nSetCachingHint to disable the caching of the RefreshRateOverlay\n\nBUG: 277704843\nTest: manual test\nChange-Id: Id144135c4536ef0e3883079ced0ddff078b6467b\n"
    },
    {
      "commit": "0773813474604ca4588fbdf476885cb358046dbf",
      "tree": "a1d42bf021b0ff24eaa2ea0f3cb5935521532bbe",
      "parents": [
        "b2253605afdb7496ed534d6f745359edbdb58cea"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 24 11:43:53 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Apr 27 14:06:25 2023 +0000"
      },
      "message": "Before deleting callbacks, ensure they aren\u0027t running\n\nI3c1eccb36914f29560600d48bb08b1b8f2fe7c96 makes sure that a\nVSyncDispatchTimerQueue unregisters its callback if a new one is moved\ninto it, but it\u0027s possible for the class to be used directly, so there\nis still the possibility of deleting the callbacks while running.\n\nUpdate the destructor to wait for any callbacks to finish before\ndeleting them. Also log an error, since the caller should\u0027ve\nunregistered them.\n\nBug: 279209321\nTest: infeasible\nChange-Id: Ia2c5436944c88284912be4963740be41de5c21d3\n"
    },
    {
      "commit": "b2253605afdb7496ed534d6f745359edbdb58cea",
      "tree": "13a6bc81534825841cce9223b3fec9dd80cfdf24",
      "parents": [
        "6c440aeb79fdadca718d34f6eca754589730afb0"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Apr 19 17:04:04 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Apr 27 10:02:37 2023 -0400"
      },
      "message": "Fix for potential deadlock in EventThread::onNewVsyncSchedule\n\nI haven\u0027t seen such a deadlock, but looking over\nI86e66df59c64e81c4aa721a25250697f61237488 and the potential deadlock\nthat inspired it, I think there could be a similar problem in\nEventThread. As I understand it, this is partially because of the\nfact that EventThread does not unregister the old callback. This is\naddressed in I3c1eccb36914f29560600d48bb08b1b8f2fe7c96.\n\nFix the deadlock with a similar approach as\nI86e66df59c64e81c4aa721a25250697f61237488: hold on to the old\nregistration until after releasing the mutex.\n\nBug: 279209321\nTest: infeasible\nChange-Id: If490f88115aa298d31aa9ad392a1f9f9dc987549\n"
    },
    {
      "commit": "6c440aeb79fdadca718d34f6eca754589730afb0",
      "tree": "ab63fc02deada9a2ac1769376ae15847bb089f39",
      "parents": [
        "8bf29931eabb065027fda7ffa7db294b04772a36"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Apr 21 15:01:03 2023 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Apr 27 09:37:04 2023 -0400"
      },
      "message": "Make VSyncCallbackRegistration\u0027s move operator\u003d call unregisterCallback\n\nSkipping unregisterCallback means that we might delete a callback while\nit is being called. Note that EventThread uses the move operator\u003d, and\nthis behaves differently than if it were stored in a unique_ptr like in\nMessageQueue. Update move operator\u003d so that they do behave the same, and\nadd tests verifying this, along with a couple other behavior tests.\n\nNote that this may result in deadlocks similar to those in b/276367387.\nThat is fixed by If490f88115aa298d31aa9ad392a1f9f9dc987549.\n\nCleanups:\n- Remove comment for VsyncCallbackRegistration regarding the lifetime\nrequirement for the VSyncDispatch.\nIcdb80253436b4d0034fc20fcae8583efb7c30292 switched the VSyncDispatch\nto an std::shared_ptr from a reference, so the client no longer needs\nto ensure that the VSyncDispatch outlives the VsyncCallbackRegistration.\n- Replace mValidToken with using an std::optional for the token.\n\nBug: 279209321\nTest: VSyncCallbackRegistrationTest\nChange-Id: I3c1eccb36914f29560600d48bb08b1b8f2fe7c96\n"
    },
    {
      "commit": "de41be24e8f354b2c5ef1c83ef06e3f2057abb17",
      "tree": "cf6650d0a8fc408b5fe69cee832548574e90ec2e",
      "parents": [
        "af744398e4023be5ebebd1f79085a2a190185307",
        "5ed11df4d12f9b8256dabbef9f4c7e77021e1c4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Apr 26 03:09:29 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 26 03:09:29 2023 +0000"
      },
      "message": "Merge \"[sf] run transaction trace tests with hwasan\" into udc-dev"
    },
    {
      "commit": "af744398e4023be5ebebd1f79085a2a190185307",
      "tree": "15b2987e3e6c2dcd6db3da013923f056b2cf7d3d",
      "parents": [
        "8aedbf30dd4123c3050a040ce1c1b6e9d07b96ec",
        "22f2ead8e2aa52fb3a41aa540367e3df9c84177e"
      ],
      "author": {
        "name": "Ram Indani",
        "email": "ramindani@google.com",
        "time": "Tue Apr 25 23:27:28 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 23:27:28 2023 +0000"
      },
      "message": "Merge \"[SF] Refresh rate selection based on the pacesetter display\" into udc-dev"
    },
    {
      "commit": "5ed11df4d12f9b8256dabbef9f4c7e77021e1c4c",
      "tree": "e9c26266c1be1b51d62e040fca2b11b51df84260",
      "parents": [
        "8bf29931eabb065027fda7ffa7db294b04772a36"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Apr 25 15:44:57 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Tue Apr 25 15:44:57 2023 -0700"
      },
      "message": "[sf] run transaction trace tests with hwasan\n\nTest: presubmit\nFixes: 272810305\nChange-Id: Idf934df00a218cacee9d743a158e35a378bcfec3\n"
    },
    {
      "commit": "3e5965f3184a828a1b7ee2b5bd5d5c2177807a35",
      "tree": "9e437e8f7ab0350753552acbf457c005a25e6e31",
      "parents": [
        "8aedbf30dd4123c3050a040ce1c1b6e9d07b96ec"
      ],
      "author": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Fri Apr 07 18:00:58 2023 +0000"
      },
      "committer": {
        "name": "Alec Mouri",
        "email": "alecmouri@google.com",
        "time": "Tue Apr 25 22:28:10 2023 +0000"
      },
      "message": "Support screenshots of HDR content\n\nPreviously screenshots always rendered to either an SDR or a wide gamut\ncolorspace. For screenshotting HDR content, this is only appropriate\nwhen the resulting screenshot (a) never leaves the device and (b) the\nrelevant code has workarounds for the display to appropriately handle\nits luminance range.\n\nHDR screenshots will now have two paths:\n* A standard path for rendering to HLG. HLG was chosen because the OOTF\n  shape is less hand-wavey than PQ\u0027s, does not require metadata, and\n  bands less at 8-bits of color.\n* A special path for \"display-native\" screenshots. This is for\n  use-cases like screen rotation where there are stricter color accuracy\n  requirements for round-tripping.\n\nSkia already encodes the resulting screenshot by supplying an HLG CICP\nalongside a backwards-compatible transfer function, so it\u0027s only\nsufficient to change how SurfaceFlinger renders.\n\nBug: 242324609\nBug: 276812775\nTest: screencap binary\nTest: rotation animation\nTest: swiping in Recents\nChange-Id: Ic9edb92391d3beb38d076fba8f15e3fdcc2b8f50\n"
    },
    {
      "commit": "22f2ead8e2aa52fb3a41aa540367e3df9c84177e",
      "tree": "bfa6041ffacf8c1d4a13d080c2e3c312ce959820",
      "parents": [
        "e469593af9a8220d82d91cc815e0aee317fef45e"
      ],
      "author": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Fri Apr 21 10:27:11 2023 -0700"
      },
      "committer": {
        "name": "ramindani",
        "email": "ramindani@google.com",
        "time": "Tue Apr 25 11:40:25 2023 -0700"
      },
      "message": "[SF] Refresh rate selection based on the pacesetter display\n\nPacesetter display makes the refresh rate selection.\nOther displays follow the refresh rate of the pacesetter.\nWhen no matching rate is found with the pacesetter,\nthe display selects the best scored refresh rate.\n\nBUG: 270742628\nTest: atest SchedulerTest and manual test\nChange-Id: I4fded96c83089f7bdc6390eb882ca9d16121ceed\n"
    },
    {
      "commit": "3144ff60f4fbc0d1d53c51fb9507e5c569272527",
      "tree": "c846bbc8c1e99196018142593b603c1287c44c31",
      "parents": [
        "2d460513109f602d78f02e04b9f26ff747e87cba",
        "d86bd8c1d00fa1d91086399b8f6a360b95bd9218"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Apr 24 19:21:34 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 24 19:21:34 2023 +0000"
      },
      "message": "Merge \"Use WindowInfo to calculate visible windows\" into udc-dev"
    },
    {
      "commit": "ec9e189089e3bc9acf2ce8b690a0cdb7625bc018",
      "tree": "41771713c9dfb1eb8f8b52b1e5b5af53420387c3",
      "parents": [
        "f447b2ccee5e5a9db42b8626fdb9e7e2198ecdf0",
        "5123e684dc464d7de28599333c6678e7884d7ac8"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Mon Apr 24 16:58:16 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 24 16:58:16 2023 +0000"
      },
      "message": "Merge changes Ib114ffc1,Ib40794cc into udc-dev\n\n* changes:\n  SF: Fix two queries for the past VSYNC\u0027s fence\n  SF: Extract SurfaceFlinger::wouldPresentEarly\n"
    },
    {
      "commit": "e7382c1cde2a381aad705f46943849b2d6cf8ba9",
      "tree": "f263e880d5cc0310ddef8d72720a82cffb5d78c9",
      "parents": [
        "e469593af9a8220d82d91cc815e0aee317fef45e"
      ],
      "author": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Fri Apr 21 20:24:32 2023 +0000"
      },
      "committer": {
        "name": "Huihong Luo",
        "email": "huisinro@google.com",
        "time": "Sat Apr 22 04:10:44 2023 +0000"
      },
      "message": "Reset pending commands\n\nAllow takePendingCommands to have ownership for mComamnds so commands\nare reset on each call. resetCommands methods are removed since they\nare not really used.\n\nBug: 273525126\nTest: manual\nChange-Id: If91cf6253b0d8f0d8c5d761f7cf257d090fcaf6f\n"
    },
    {
      "commit": "de17725511baa95ea11f1cd7c76377c1970286eb",
      "tree": "5b8b90f6171da105edd89e911bc5b0ef57af667b",
      "parents": [
        "22be349cc5298a7f88af478f6ff673778563730d"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Apr 21 12:44:10 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Apr 21 12:44:10 2023 -0700"
      },
      "message": "[sf] populate snashot path for legacy frontend\n\nProvide a consistent way for middleend/backend to identify\nmirrored or cloned layers.\n\nTest: presubmit\nBug: 258231640\nChange-Id: Id7cbadf1e581b9420859ddff024e9ce101b28e95\n"
    },
    {
      "commit": "d86bd8c1d00fa1d91086399b8f6a360b95bd9218",
      "tree": "8df1fc2348daebe3672dccca727ca76f4d3c527a",
      "parents": [
        "e469593af9a8220d82d91cc815e0aee317fef45e"
      ],
      "author": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Fri Apr 21 11:54:11 2023 -0500"
      },
      "committer": {
        "name": "Patrick Williams",
        "email": "pdwilliams@google.com",
        "time": "Fri Apr 21 13:33:13 2023 -0500"
      },
      "message": "Use WindowInfo to calculate visible windows\n\nBug: 278476799\nTest: LongClickInternetMicrobenchmark on Redfin\nChange-Id: Ifb14c66e59c0b01346a3e151e7ee83993f5532d8\n"
    },
    {
      "commit": "5123e684dc464d7de28599333c6678e7884d7ac8",
      "tree": "58045cdc3a91212fa65f828a27c8b44a2373fa5f",
      "parents": [
        "42ccc9346c6036feec6b658405a3905613cf199f"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Apr 20 10:15:09 2023 -0400"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Apr 21 13:30:25 2023 -0400"
      },
      "message": "SF: Fix two queries for the past VSYNC\u0027s fence\n\n...which did not consider the case of targeting two VSYNCs ahead.\n\nBug: 241285475\nTest: libscheduler_test after Idf9f43b37f3479c94a478d154eaa46f43e0c6c9d\nChange-Id: Ib114ffc1866aa32e6d493e06dcf5a27652d19a39\n"
    },
    {
      "commit": "42ccc9346c6036feec6b658405a3905613cf199f",
      "tree": "b5c4b33f1bfa6e8e1b54fd426eeb75acbd564104",
      "parents": [
        "84a221ab1ffe75608573ea8d1772e4a3a447c1a6"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Apr 20 10:08:04 2023 -0400"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Apr 21 13:30:23 2023 -0400"
      },
      "message": "SF: Extract SurfaceFlinger::wouldPresentEarly\n\nShort-circuit a few fetches and arithmetic operations.\n\nBug: 241285475\nTest: libscheduler_test after Idf9f43b37f3479c94a478d154eaa46f43e0c6c9d\nChange-Id: Ib40794cca0c44f8151ca9f37ba58ac4d892c66ee\n"
    },
    {
      "commit": "e469593af9a8220d82d91cc815e0aee317fef45e",
      "tree": "7f6445ef965ee20376be6632ee49b0d9d7986df6",
      "parents": [
        "84a221ab1ffe75608573ea8d1772e4a3a447c1a6",
        "7ee4f464bf6e70007a17df078e905898efc5a80e"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Apr 21 16:08:52 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 21 16:08:52 2023 +0000"
      },
      "message": "Merge \"[sf] Release the currently presented buffer when setBuffer is called with null\" into udc-dev"
    },
    {
      "commit": "60cd58c1fb8d86bf7b880cb40bab8702265378fb",
      "tree": "6a03a3b4ed482253b7d969819511c5f3970b96c0",
      "parents": [
        "dbf65411bbd51a0ed1eac9bf9e4fc2ad53a80e7f",
        "c404cb4288475dcb48986d38f857400cc474f257"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Apr 21 03:27:09 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 21 03:27:09 2023 +0000"
      },
      "message": "Merge \"SF: Merge per-display maps in Scheduler\" into udc-dev"
    },
    {
      "commit": "dbf65411bbd51a0ed1eac9bf9e4fc2ad53a80e7f",
      "tree": "d45a334d51e7b1e9461d8d4b9f2c869d057a7e61",
      "parents": [
        "98447e452389f6fdecf09464de373b41a430b5da",
        "22be349cc5298a7f88af478f6ff673778563730d"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Apr 20 23:14:17 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 20 23:14:17 2023 +0000"
      },
      "message": "Merge \"[sf] fix layer trace generation with new fe\" into udc-dev"
    },
    {
      "commit": "22be349cc5298a7f88af478f6ff673778563730d",
      "tree": "f74bdf1b185d983e0af3c50988867741d2044f44",
      "parents": [
        "9402f4fa5166f95c4cc5f8164f0930261ff58dd0"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Apr 20 10:08:21 2023 -0700"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Thu Apr 20 10:08:21 2023 -0700"
      },
      "message": "[sf] fix layer trace generation with new fe\n\nFixes an incorrect rebase.\n\nTest: presubmit\nBug: 238781169\nChange-Id: I13596a035dc930447ee5c3b66a420e43b7a8b737\n"
    },
    {
      "commit": "c404cb4288475dcb48986d38f857400cc474f257",
      "tree": "e38eeb4514b4e2833a060b8d04f6755d376f294b",
      "parents": [
        "8e521bbbfe86abb0ab6191f3ccbf6aa448a4c0e1"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Mar 03 19:57:53 2023 -0500"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Apr 20 12:47:34 2023 -0400"
      },
      "message": "SF: Merge per-display maps in Scheduler\n\nFixes: 266715559\nTest: libsurfaceflinger_unittest\nChange-Id: Ia8934f73f237c37e8f477be5183f84a9c1a40a5a\n"
    },
    {
      "commit": "8e521bbbfe86abb0ab6191f3ccbf6aa448a4c0e1",
      "tree": "ee6a8130579f1e3413acc5de7913ebe0c22f9ab9",
      "parents": [
        "f4cd8871d030ff3dd111043076a20501a51c94a7",
        "39d25347953d6d7551e6d56c94d4e90cdb22b20b"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Apr 20 14:31:19 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 20 14:31:19 2023 +0000"
      },
      "message": "Merge \"Revert \"Only call onNewVsyncSchedule if the pacesetter changes\"\" into udc-dev"
    },
    {
      "commit": "39d25347953d6d7551e6d56c94d4e90cdb22b20b",
      "tree": "1e30f9aa92460b006efb1ddbf5c7cfa16aaa5ce5",
      "parents": [
        "d649463aa27ae1aea7101afc4684cc9422d4808a"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Apr 19 17:11:01 2023 +0000"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Apr 20 14:30:31 2023 +0000"
      },
      "message": "Revert \"Only call onNewVsyncSchedule if the pacesetter changes\"\n\nThis reverts commit d649463aa27ae1aea7101afc4684cc9422d4808a.\n\nReason for revert: Speculative fix for a regression in SF performance.\n\nBug: 278987666\nTest: APC\nChange-Id: I5bf393a2eef4dc7254ccf931a0fab3c67eb315ad\n"
    },
    {
      "commit": "50355837d27fdb899bd2e141cb3cd196a5f6fe05",
      "tree": "f32448d5a59ee9cb7ee1854728e98abd7e9f78e9",
      "parents": [
        "0dd3ca0c885d1194a81aebfb49ae9e71c8a9ce75",
        "80872bddcc529d750c12349675504ea00271712a"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Apr 19 19:34:07 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 19:34:07 2023 +0000"
      },
      "message": "Merge \"SF: Clean up ftl::SmallMap lookup fallbacks\" into udc-dev"
    },
    {
      "commit": "c22a33e1209c35d24d654966bf4bcd1484bf7718",
      "tree": "7d400b02310859f7e0f6f483d4d7e3f31f5c1215",
      "parents": [
        "77acb94bb66686265d8d6a23597e953f83d370ee",
        "73cc9fd7ce71a1bd3398606a35a7c034145c539f"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Wed Apr 19 17:50:21 2023 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 17:50:21 2023 +0000"
      },
      "message": "Merge \"[sf] Clean up transaction handling trace tags\" into udc-dev"
    }
  ],
  "next": "7ee4f464bf6e70007a17df078e905898efc5a80e"
}
