)]}'
{
  "log": [
    {
      "commit": "3beea7dc7d78955f63122b22980f44aa78d396f6",
      "tree": "3bcb60ba37bd619b35382253a00abc13c7de7b74",
      "parents": [
        "39648ab39cb860d50045a145f650bb47f7b0b585"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 21 15:52:35 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 22 15:55:07 2024 +0000"
      },
      "message": "GestureConverter_test: disable pointer controller with choreographer\n\nThese tests were unrealistic in that when the pointer choreographer flag\nwas enabled, the FakePointerController would continue keeping track of\nthe pointer position, even though the real PointerControllers would not\n(see change I475f3286c83b90e161e186e62c2842e539434603). Modify the fake\nso that it can be disabled, too.\n\nBug: 245989146\nTest: atest inputflinger_tests:GestureConverterTest \\\n            inputflinger_tests:GestureConverterTestWithChoreographer\nChange-Id: I7c7dd535804ca1552fb731e6da9fd148c047791b\n"
    },
    {
      "commit": "39648ab39cb860d50045a145f650bb47f7b0b585",
      "tree": "1c26d450391c08d2e0b50c9bfc45f667e3cef718",
      "parents": [
        "2db1957b07b323dbbe71fe93c743f0a7a00a75e3"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 15 14:23:50 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Feb 20 15:28:06 2024 +0000"
      },
      "message": "GestureConverter: Stop flings with fake fingers\n\nCurrently, the only way to stop a fling (the scrolling that occurs due\nto \"momentum\" after you\u0027ve finished a two-finger swipe on the touchpad)\nis to put two fingers down again and move them slightly. This is an\nawkward gesture, compared to most platforms where you just touch the pad\nagain and scrolling stops.\n\nThe trouble is that there is currently no API by which we can tell apps\nto stop a fling. Instead, make a fake finger at the current cursor\nlocation, then immediately cancel it. This stops flings without side\neffects (e.g. activating UI elements, inking in drawing apps, moving the\ninsertion point in text fields, etc.) in every app I\u0027ve tried it in [0],\nexcept for a number of issues in Google Docs, Sheets, and Slides (both\nthe Android apps and when opened in Chrome). We\u0027ll have to talk to the\nrelevant teams about this. Follow-up CLs will make an API change to make\nit easier to distinguish these fling stops from actual clicks.\n\n[0]: Calendar, Chrome [1, 2], Docs, Files, Firefox Beta [1, 2], Gmail,\nGoogle, Keep, Maps, News, Photos, Play Store, Podcasts, Settings,\nSheets, Slides, Word, YouTube\n[1]: https://www.longestjokeintheworld.com/\n[2]: https://codepen.io/caraya/embed/ZyQMWd\n\nBug: 281106755\nTest: start flings in a number of apps [0], touch the touchpad, and\n      check that the fling stops without causing other side effects\nChange-Id: Ie8504dc047ee23b5524d5372f65adfaa75a76cd8\n"
    },
    {
      "commit": "68a7caed96ac96f84e45352aa685c4741fabb6ff",
      "tree": "f7c14ff3188ee76ed68c41e2d582f7897ee7725f",
      "parents": [
        "0b63b2aba84cfcc1613762a385d5dbc2de7e46ed",
        "4497c862673b25ba675d52af23df18a45c5367b3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Sun Feb 11 01:20:15 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 11 01:20:15 2024 +0000"
      },
      "message": "Merge \"InputDispatcher_test: Verify all events dispatched to windows are traced\" into main"
    },
    {
      "commit": "63cdb2e2a20b37a39da9b4bfda09a6e47e951d40",
      "tree": "a354c2d518f228816252316c30f2e6efa0e14d00",
      "parents": [
        "427e333041183a32f306d945f05b31e65414614a",
        "91e7fa26ce460d0669bc40d3a0062ecf8702803b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 16:34:24 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 16:34:24 2024 +0000"
      },
      "message": "Merge \"InputReader: dump orientation as a string\" into main"
    },
    {
      "commit": "91e7fa26ce460d0669bc40d3a0062ecf8702803b",
      "tree": "afb7377daca65c7d1fbc3f4767a77258c790d97d",
      "parents": [
        "1eea7c62aac7b836e34203341f372b6f9844b3b8"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 12:50:07 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Feb 09 14:58:49 2024 +0000"
      },
      "message": "InputReader: dump orientation as a string\n\nBug: 245989146\nTest: with a mouse and keyboard connected, check `dumpsys input`\nChange-Id: Ief2dc41bcf59609fe22e2aba0c89877f7729351e\n"
    },
    {
      "commit": "4497c862673b25ba675d52af23df18a45c5367b3",
      "tree": "7d1c97de976f3061a9c4c69992af461bf50aeeed",
      "parents": [
        "fc36472e3198d40da6adbff9d6c2f19f0e50bf43"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Dec 15 07:13:30 2023 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 08 19:00:21 2024 +0000"
      },
      "message": "InputDispatcher_test: Verify all events dispatched to windows are traced\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I8ce95c44645f8c3bee7e2eb7cfefab2dae59f6e6\n"
    },
    {
      "commit": "fc36472e3198d40da6adbff9d6c2f19f0e50bf43",
      "tree": "e68911cc2ae6893323b1c7734a49dc7a7ce13694",
      "parents": [
        "203b22aa060460cd25067fd002c8f046a8b0b116"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 08 17:51:20 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 08 19:00:17 2024 +0000"
      },
      "message": "InputDispatcher: Fix crash when there is an ANR after window removal\n\nThis addresses a bug in the change:\nI47744cbd677cc74e26a102c50a2c11c68bc8aa89\n\nInputDispatcher has an invariant that it can only send events to a\nconnection if it has a window. We did not check if the channel receiving\nan ANR had a window before attempting to synthesize cancellations for\nit.\n\nBug: 324330557\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I5f3013fe93c0f4d1bb0f58e7b2a241cffe5c5bf2\n"
    },
    {
      "commit": "40aee53b1b771d27ecd7466c6c2b8dfbc15a5720",
      "tree": "a880c943896b815394690ffa8e4b35d88da6be3d",
      "parents": [
        "fa32f893da2a58dd66e1eb6f13dea1cf775abec1"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 08 00:47:23 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 08 02:15:33 2024 +0000"
      },
      "message": "InputReader_test: Wait for stylus gesture to be notified\n\nThis is required because of the following change:\nI818b1e688565d30867295019c5baae29cb5bdbf2\n\nPreviously, the policy was notified of the stylus gesture changing\nbefore the events were flushed to the listener. This meant the policy\nwas always notified of the stylus gesture by the time the listener\nreceived the stylus DOWN event.\n\nAfter the aforementioned change, this is no longer true, so we cannot\nuse the DOWN event as a sync signal. Instead, we need to wait for the\npolicy to be notified.\n\nBug: 324318955\nTest: atest inputflinger_tests\nChange-Id: I8219e0db092c14da5907337b3ea5b5c6f7dddd4a\n"
    },
    {
      "commit": "3de7998ac795eb3438a014884e56f01a7a510f8e",
      "tree": "689e5187b2a8633d709b7851f280cdf8f5fced66",
      "parents": [
        "c5fc7d48b7eaf22ce569bf0b83760065f260a726",
        "feca057f5ff68a583c56968faa9e2b978e8ed5c3"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 07 18:52:26 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 07 18:52:26 2024 +0000"
      },
      "message": "Merge changes I3bedc2c2,Ic56a6f2c into main\n\n* changes:\n  InputDispatcher: Ensure pointer down is generated for touched window\n  InputTracer: Use explicit thread wake conditions\n"
    },
    {
      "commit": "c5fc7d48b7eaf22ce569bf0b83760065f260a726",
      "tree": "73f722bc9b588a7e39ae3c3e4dda6bb21e9a8474",
      "parents": [
        "9edb9221c89331183c00358a66fa7c1b5599c331",
        "a2d3cf16815babdcdd528a0c6733b0b0c121323c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 07 18:02:33 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 07 18:02:33 2024 +0000"
      },
      "message": "Merge changes from topic \"reland-input-tracing-tests\" into main\n\n* changes:\n  Reland \"Increase the test timeout used when waiting for events to be traced\"\n  InputDispatcher_test: Fix flakiness when verifying traced events\n  Reland \"InputDispatcher_test: Verify all consumed events are traced\"\n"
    },
    {
      "commit": "9edb9221c89331183c00358a66fa7c1b5599c331",
      "tree": "fc7a566d24c934a9088c24678eb82d0ea3df7055",
      "parents": [
        "77b0a499bad3141b7848861c96c4c98a2218842d",
        "c3a924740c152bc6ff45ad255bed28bf619230e4"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 07 17:44:44 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 07 17:44:44 2024 +0000"
      },
      "message": "Merge \"InputReader: Notify policy of device changes after flushing events\" into main"
    },
    {
      "commit": "feca057f5ff68a583c56968faa9e2b978e8ed5c3",
      "tree": "f6df96ca715e207e4d560070ca068d50a7091f2e",
      "parents": [
        "73ba92019b8508cc7551a1835237b34f7018bd5c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 00:43:11 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:54:00 2024 +0000"
      },
      "message": "InputDispatcher: Ensure pointer down is generated for touched window\n\nA precondition for synthesizing pointer down events is that the touch\nstate must already be updated to reflect the new gesture going into the\nwindow.\n\nWhen generating the down event, it should be associated with the correct\ntouched window, not just any window with the same token. This CL fixes\nthe a bug where the down event would be synthesized for the top-most\nclone window that matches the token, rather than the touched window.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I3bedc2c2c8e0f18dc8814d519ba7cf9449e10211\n"
    },
    {
      "commit": "a2d3cf16815babdcdd528a0c6733b0b0c121323c",
      "tree": "a8951a37ce8c9fa019d4a272c9e7445f0f932403",
      "parents": [
        "0eaf1408fb8d0d4b467a9501617481aa78a65026"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 23:02:01 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:54:00 2024 +0000"
      },
      "message": "Reland \"Increase the test timeout used when waiting for events to be traced\"\n\nThis reverts commit aff0a04702df8f66dddf022cbefdec24ac7138a5.\n\nReason for revert: b/323347575, b/210460522\n\nChange-Id: I8f0b2a246dd25f6449e311411cd4d1b698706e88\n"
    },
    {
      "commit": "73ba92019b8508cc7551a1835237b34f7018bd5c",
      "tree": "5aee81bf3bd2ac1b45c5fc3b59966d3dfc87240d",
      "parents": [
        "a2d3cf16815babdcdd528a0c6733b0b0c121323c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 22:55:46 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:54:00 2024 +0000"
      },
      "message": "InputTracer: Use explicit thread wake conditions\n\nThis is a small cleanup to use the stop_predicate for the\nstd::condition_variable::wait() method to make the waking conditions\nexplicit and more readable.\n\nAlso, move the events buffers out of the thread loop to avoid the need\nto reallocate it for each iteration.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: Ic56a6f2cf42fe2eee752e1d34fd347a3f5421991\n"
    },
    {
      "commit": "0eaf1408fb8d0d4b467a9501617481aa78a65026",
      "tree": "3e0a6f636ccd6dfd72ee9642bb5cdfc0e3fc652a",
      "parents": [
        "dc3a2ad185b9770d06352842188d0f876f50e158"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 22:43:04 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:54:00 2024 +0000"
      },
      "message": "InputDispatcher_test: Fix flakiness when verifying traced events\n\nFix the flakiness when verifying all events are traced by doing the\nverification before stopping Dispatcher.\n\nWhen verifying traced events, we wait for all expected events to be\ntraced. If the Dispatcher is stopped before this waiting process, it\u0027s\npossible that the InputTracer\u0027s thread is also stopped before it can\nwrite all queued events into the backend. We eliminate the race\ncondition between stopping the Dispatcher and verifying the events by\ndoing the verification first.\n\nBug: 210460522\nBug: 323347575\nTest: atest inputflinger_tests --rerun-until-failure\nChange-Id: I454ca85174c97c848f1da45157d5b993935a261e\n"
    },
    {
      "commit": "dc3a2ad185b9770d06352842188d0f876f50e158",
      "tree": "3fa51893455fb9325f60d7fb0adf23b3506e0048",
      "parents": [
        "bb3f1c0306c85484a4e48baaa7b71d954adab7fd"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 19:03:51 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:54:00 2024 +0000"
      },
      "message": "Reland \"InputDispatcher_test: Verify all consumed events are traced\"\n\nThis reverts commit 9fb98f7aee61aa23073639633c07ff5e2efb557a.\n\nReason for revert: b/323347575, b/210460522\n\nChange-Id: I2452858007290a490585a452208dfa5d79c819b8\n"
    },
    {
      "commit": "bb3f1c0306c85484a4e48baaa7b71d954adab7fd",
      "tree": "b1460c9e875024a481985b6db787ac521c2ecda0",
      "parents": [
        "4b9b1a1de40dd6fb02c6b26f63ee1e4755570bf6"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Jan 04 20:17:14 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 22:53:53 2024 +0000"
      },
      "message": "InputDispatcher: Ensure synthesized events are associated with windows\n\nFor tracing purposes, we want as much information as possible about\nwhere input events are dispatched. Ideally, we will trace the windowId\nthat is the target of each dispatched event. That way, we can easily\nlook up properties of the window that received the event.\n\nThe difficulty with this is that there is a many-to-one mappings between\nwindows and input channels, where more than one window can receive input\nthrough the same channel. A channel might also receive input when there\nno windows associated with it - such as if a window has been removed and\nwe want to generate cancelation events for it, or such as for global\nmonitors that don\u0027t have windows at all.\n\nWe make the best effort to associate each event dispatch with a\nwindowId. Then in the tests, we consume events from the window that we\nexpect to be associated with the event.\n\nFor cloned windows that are both touched at the same time, the entire\ngesture is usually associated with the window that was first touched,\nbecause the pointers from both windows will be merged into the same\nevent.\n\nFor focus events, we track focus by token and not by the window, so when\nthere is more than one window for a focused token, we arbitrarily pick\nthe top-most window to associate events with for tracing.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I47744cbd677cc74e26a102c50a2c11c68bc8aa89\n"
    },
    {
      "commit": "c3a924740c152bc6ff45ad255bed28bf619230e4",
      "tree": "f15ae33bce9f3b1745ce5720c472241fbffa38fd",
      "parents": [
        "6c8661ac9cf6c96d9deeacc87acbf9bdaef24fae"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 20:08:05 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 20:24:44 2024 +0000"
      },
      "message": "InputReader: Notify policy of device changes after flushing events\n\n...so that the rest of the listeners are synchonized with the device\nchanges (through NotifyInputDevicesChangedArgs) before the policy\ncan react to the changes.\n\nBug: 324061913\nBug: 293587049\nTest: atest inputflinger_tests\nTest: atest VirtualDeviceMirrorDisplayTest#virtualMouse_buttonEvent --rerun-until-failure\nChange-Id: I818b1e688565d30867295019c5baae29cb5bdbf2\n"
    },
    {
      "commit": "4b9b1a1de40dd6fb02c6b26f63ee1e4755570bf6",
      "tree": "486b3254617b7e2f210d1f4ddbbd763f12d2009b",
      "parents": [
        "fa2c69f6653b1002c790d3449b79454dc89ac671"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 00:16:17 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 02:10:02 2024 +0000"
      },
      "message": "InputDispatcher: Send cancellations from losing focus windows\n\nAn input channel must have at least one focusable window to gain focus.\n\nWhen focus changes, we send cancellations for all of the non-pointer\nevent streams going to the previously focused window. Send these\ncancellations to a window instead of directly to the channel so that\nevents are always associated with a window.\n\nWe track focus by token, and there can be more than one window for a\ntoken/input channel. For such cases, we pick the first window (i.e. the\ntop-most window) with the focused token as the target, for convenience.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I63990ccfca1f5ef013f6f08ce6336b4a961c20d6\n"
    },
    {
      "commit": "fa2c69f6653b1002c790d3449b79454dc89ac671",
      "tree": "373ab1efbc41f5cd084548632c193346e1d8e4dd",
      "parents": [
        "6c8661ac9cf6c96d9deeacc87acbf9bdaef24fae"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 01 20:31:34 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 06 02:10:02 2024 +0000"
      },
      "message": "InputDispatcher: Only dispatch fallback keys when there\u0027s a window\n\nInputDispatcher has an invariant where an input channel must have a\nwindow for dispatcher to be able to target an event to the channel\n(i.e. enqueue the event onto the channel\u0027s outbound queue - excluding\nglobal monitors).\n\nFallback key handling logic seems to be the only place where this\ninvariant does not explicitly hold.\n\nIn this CL, we add checks to the fallback logic to uphold this invariant\nand ensure the channel has at least one window before generating events\nfor it.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I76ef8b559150a44dc98ea42e52fa92a6b90cde3a\n"
    },
    {
      "commit": "94b4ec823d95b56e17e200ca7ab96adc70df462c",
      "tree": "a39e70368e029a303cf0f60b2d73d4dd25c6c2c6",
      "parents": [
        "8b159e5effb5a16aa990d7cce70ad94226cab448",
        "ef2b4502cc2d1079e2e86ab8966ca9d4857c06d0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Feb 05 23:54:38 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 23:54:38 2024 +0000"
      },
      "message": "Merge \"Update mKeyIsWaitingForEventsTimeout separately from the prune check\" into main"
    },
    {
      "commit": "ef2b4502cc2d1079e2e86ab8966ca9d4857c06d0",
      "tree": "ead282557cf53bd00b9f5e39958cdb65603d92c7",
      "parents": [
        "d0924ebcbb888f9bef8f67c7d6a4f51380ef3c67"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Dec 28 11:51:47 2023 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Feb 05 14:49:47 2024 -0800"
      },
      "message": "Update mKeyIsWaitingForEventsTimeout separately from the prune check\n\nBefore this CL, the variable mKeyIsWaitingForEventsTimeout was getting\nupdated inside \u0027shouldPruneInboundQueueLocked\u0027, but that is not the\ncorrect place to do this update. In this CL, we move this update to the\nenqueue function, and this allows us to make\n\u0027shouldPruneInboundQueueLocked\u0027 const.\n\nThe current behaviour of:\n```\nWhen there are unprocessed motion events, we wait up to 500 ms to send\nany key events, in anticipation that focus might change. However, if\nthere are subsequent \"ACTION_DOWN\" events, we don\u0027t want to be adding\nthis 500ms wait, so we short-circuit the timeout and process the pending\nkeys immediately (send them to the currently focused window).\n```\nis not changed in this CL.\n\nHowever, we are updating the test for this behaviour to:\n- Be correctly named. The pending key is not dropped, but it\u0027s processed\n  immediately instead.\n- Actually test the behaviour in question. Previously, the test passed\n  even with the \u0027mKeyIsWaitingForEventsTimeout\u0027 not getting updated\n  during the queueing stage. This is because the test used a large\n  (1000ms) timeout for event consumption. So in practice, the test was\n  still waiting for 500 ms and only then the consumption passed.\n\nIn this CL, the test is changed so that it consumes within the allotted\ntimeframe. If this becomes problematic (flaky), we would need to change\nthe KEY_WAITING_FOR_EVENTS_TIMEOUT and possibly provide that value from\nthe policy, thus allowing the test to override it. Or, another way to\nfix flakes here would be to switch to an injectable clock, although in\nthat case we would still ideally open up KEY_WAITING_FOR_EVENTS_TIMEOUT\nfor tests, or maybe just hardcode the value with a comment, similarly to\nhow it\u0027s currently done.\n\nBug: 294553757\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\nChange-Id: Ife71634960b365df1d106fd28f0dc0047ac2ed2b\n"
    },
    {
      "commit": "f03f83e19f6717bd0cbaba53c2dce716ca39f336",
      "tree": "aee2fa11685454671eebfa407e761e69116b20e1",
      "parents": [
        "d0924ebcbb888f9bef8f67c7d6a4f51380ef3c67",
        "b4874665ff200364bf1df7e2652e9bd4e211cde3"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 19:47:20 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 19:47:20 2024 +0000"
      },
      "message": "Merge \"CursorInputMapper_test: Verify acceleration updated on display change\" into main"
    },
    {
      "commit": "b4874665ff200364bf1df7e2652e9bd4e211cde3",
      "tree": "4d35b60c945a7ea38d6a3028d8f5db27e29f2002",
      "parents": [
        "02c971640a149401a97960019a7236e6212ccf40"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 18:37:00 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 05 18:37:56 2024 +0000"
      },
      "message": "CursorInputMapper_test: Verify acceleration updated on display change\n\nBug: 323409820\nTest: atest inputflinger_tests\nChange-Id: Iea731089e0af8ab9d4b26b2c6c566f16c714b98b\n"
    },
    {
      "commit": "f193ec59d623d0a26f3b0603a672076bf33fda70",
      "tree": "2107c16634642d3f4949cf351af3842b875927ba",
      "parents": [
        "10aa134ba72544da4e8357722f31c23c7929b317",
        "7b9f4f531f7ef28d71268d6b9ac475717f04e895"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Feb 05 18:27:36 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 18:27:36 2024 +0000"
      },
      "message": "Merge \"Pass unique_ptr of InputChannel to Connection\" into main"
    },
    {
      "commit": "7b9f4f531f7ef28d71268d6b9ac475717f04e895",
      "tree": "944968c154a561b0a618fa24e956340e0c79f12d",
      "parents": [
        "8dc87156b1777b06a3b33e39fb1d33f5622bdbca"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Feb 02 13:07:16 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Feb 05 08:50:53 2024 -0800"
      },
      "message": "Pass unique_ptr of InputChannel to Connection\n\nThis gets us closer to the goal of storing unique_ptr of InputChannel\ninside the InputPublisher.\n\nIn this CL, we are still allowing the \"copy\" and \"dup\" functions to\nexist. Removing those requires significant refactoring on the Java side,\nincluding the jni layer and object ownership models.\n\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\nBug: 161009324\nChange-Id: If6f44d78c7fc9f3e12729068de1753847abf0ebb\n"
    },
    {
      "commit": "4ec35c6e2c255fe46827ce2dcc970982722301a9",
      "tree": "057b45e3fe94797873cb17ed372e86e7b40174a0",
      "parents": [
        "58450e8be296dddae55b7ede2d503ddde243bc47",
        "b48ed1d13af37d0e88f4bebe76c3dbd6c9fe7a95"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Sat Feb 03 15:01:43 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 03 15:01:43 2024 +0000"
      },
      "message": "Merge \"[DON\u0027T BLOCK] Test ownership migration rules\" into main"
    },
    {
      "commit": "58450e8be296dddae55b7ede2d503ddde243bc47",
      "tree": "bc12ccbfdfe0e54f5077c71fbf2821430356c61e",
      "parents": [
        "a906c376c7e9dca27abd5346691c93bbf084134d",
        "ae4744402ecbbb418a1fd31c1c4246d6819a446a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Sat Feb 03 00:09:07 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 03 00:09:07 2024 +0000"
      },
      "message": "Merge \"CursorInputMapper: Use flat velocity params when acceleration is disabled\" into main"
    },
    {
      "commit": "a906c376c7e9dca27abd5346691c93bbf084134d",
      "tree": "2c16790a5af7d9027e4eba40e661a9946bda903f",
      "parents": [
        "8dc87156b1777b06a3b33e39fb1d33f5622bdbca",
        "9fb98f7aee61aa23073639633c07ff5e2efb557a"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 21:25:05 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 21:25:05 2024 +0000"
      },
      "message": "Merge changes Ic2d9c7ec,Ia9f2d598 into main\n\n* changes:\n  Revert \"InputDispatcher_test: Verify all consumed events are traced\"\n  Revert \"Increase the test timeout used when waiting for events to be traced\"\n"
    },
    {
      "commit": "9fb98f7aee61aa23073639633c07ff5e2efb557a",
      "tree": "b90f4f449cfec070616cb122957af9a368ea6c79",
      "parents": [
        "aff0a04702df8f66dddf022cbefdec24ac7138a5"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 19:47:19 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 19:51:16 2024 +0000"
      },
      "message": "Revert \"InputDispatcher_test: Verify all consumed events are traced\"\n\nThis reverts commit d3fb627ee4e0e28ae83d12af0a0b4262152faea8.\n\nReason for revert: b/323347575\n\nChange-Id: Ic2d9c7ece946fa228f5078ef5661c4306ebe9324\n"
    },
    {
      "commit": "aff0a04702df8f66dddf022cbefdec24ac7138a5",
      "tree": "d4cc1862449110a2dbf2ee2ed309477e74e14768",
      "parents": [
        "59a530dcf4442de993f93c8d7559813dd6274fcb"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 19:50:51 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 19:50:51 2024 +0000"
      },
      "message": "Revert \"Increase the test timeout used when waiting for events to be traced\"\n\nThis reverts commit 59a530dcf4442de993f93c8d7559813dd6274fcb.\n\nReason for revert: b/323347575\n\nChange-Id: Ia9f2d5986dfc945b2ffa6b6395dbc225f762cda1\n"
    },
    {
      "commit": "85b2524cbc72253cfe21df6f634dc7df4e1b60c8",
      "tree": "829b5a720114f28ab75454cce907305da64d05c6",
      "parents": [
        "efb85d92281b787071573675e323915671534a9b",
        "10bfdc91c8d8c9b492e3c0530acd7cf9bec2dffe"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Feb 02 19:40:22 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 19:40:22 2024 +0000"
      },
      "message": "Merge \"Remove Connection.inputChannel\" into main"
    },
    {
      "commit": "ae4744402ecbbb418a1fd31c1c4246d6819a446a",
      "tree": "ad029d30c7255032a22fd769923bf29ea031f9e4",
      "parents": [
        "02c971640a149401a97960019a7236e6212ccf40"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 18:39:36 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 02 18:39:36 2024 +0000"
      },
      "message": "CursorInputMapper: Use flat velocity params when acceleration is disabled\n\nWe still use velocity control params when the\nenable_new_mouse_pointer_ballistics flag is disabled. For the old\npipeline, ensure we use flat velocity control params whenever\npointer acceleration is disabled for the associated display.\n\nBug: 323409820\nTest: atest VirtualMouseTest#sendRelativeEvent --rerun-until-failure 100\nChange-Id: Id411ee61809cb0a46413d109c03358be5457a8a6\n"
    },
    {
      "commit": "6af06062db710642ff3a7dbf387ad5f30640253a",
      "tree": "fd11a9716f498fe7c9544ad9d3cd0ede10c7b134",
      "parents": [
        "4cafa32ff4b7cb110440596037d929468b28b15b",
        "b1b96db1eb56bd0df2bdf78d3922e10d65d08925"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Fri Feb 02 02:07:33 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 02:07:33 2024 +0000"
      },
      "message": "Merge \"Support for InputDevice ViewBehavior\" into main"
    },
    {
      "commit": "59a530dcf4442de993f93c8d7559813dd6274fcb",
      "tree": "bba4c9c8e43878676fc651e69f17e9862540bdb7",
      "parents": [
        "02c971640a149401a97960019a7236e6212ccf40"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 01 19:47:53 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 01 20:56:12 2024 +0000"
      },
      "message": "Increase the test timeout used when waiting for events to be traced\n\nWe need to use a larger timeout while waiting for events to be traced,\ncompared to the timeout used while waiting to receive events through the\ninput channel. Since events are traced from a separate thread that\ndoesn\u0027t have as high of a thread priority as the InputDispatcher\u0027s\nthread, the tracer is expected to lag behind the dispatcher.\n\nBug: 323347575\nBug: 210460522\nTest: inputflinger_tests --gtest_filter\u003d\"*InputDisp*\" --gtest_repeat\u003d100 --gtest_break_on_failure\nChange-Id: I7dfe648c4de5ef39f7c44ad81b544634a54e0e68\n"
    },
    {
      "commit": "b1b96db1eb56bd0df2bdf78d3922e10d65d08925",
      "tree": "cf926df32ac232d15580f6a576f1e229df96c7ae",
      "parents": [
        "02c971640a149401a97960019a7236e6212ccf40"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Wed Jan 24 12:47:00 2024 -0800"
      },
      "committer": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Thu Feb 01 12:36:56 2024 -0800"
      },
      "message": "Support for InputDevice ViewBehavior\n\nThis change creates a struct within InputDeviceInfo to hold View related\nbehaviors of an input device. Currently, a single behavior is supported:\ndevice.viewBehavior_smoothScroll. This can be specified in an IDC file\nto hint clients of the InputDevice that they should animate scrolls for\nmotion events generated by the InputDevice.\n\nBug: 246946631\nTest: add property in IDC, check API returns expected value\nTest: atest frameworks/native/services/inputflinger/tests/InputReader_test.cpp\nChange-Id: Ibe373cadc40d2a08116e787b744dd30812638edb\n"
    },
    {
      "commit": "10bfdc91c8d8c9b492e3c0530acd7cf9bec2dffe",
      "tree": "85dcde0e82bb19a96d36ed7edff19a4ff4048709",
      "parents": [
        "02c971640a149401a97960019a7236e6212ccf40"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Feb 01 11:12:57 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Feb 01 11:27:06 2024 -0800"
      },
      "message": "Remove Connection.inputChannel\n\nWe are already storing InputChannel inside the InputPublisher. In\nsubsequent CLs, InputPublisher will be the only owner of InputChannel.\n\nBug: 161009324\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\nChange-Id: I47eac4a5aef564f3789ee8b90f7210fc04fd8d3a\n"
    },
    {
      "commit": "18cbdb8ef360eb26c1fb855f0af0d4d0d8366996",
      "tree": "f03b7cb6f273a028d9137a5410b4f73c348413d9",
      "parents": [
        "dd8bd19fb14abff12eda822ba8269fca02aa8c3e"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Jan 31 17:58:13 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Jan 31 23:33:06 2024 -0800"
      },
      "message": "Store Connection in InputTarget and Monitor\n\nThis will replace the InputChannel. They don\u0027t both need to be shared\npointers. A lot of times, we are using InputChannel to look up the\nconnection. In this CL, this is simplified by using the connection\ndirectly.\n\nBug: 161009324\nTest: atest inputflinger_tests\nChange-Id: I3fc2bbdd8c5076b5dbff5067e4fec6e45f5c3da6\n"
    },
    {
      "commit": "b48ed1d13af37d0e88f4bebe76c3dbd6c9fe7a95",
      "tree": "130f5f828fb783f518a5ec471017a9dc2a3bf354",
      "parents": [
        "20736f94ba15165a1db89983613c198949fce9d9"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 11:06:10 2024 +0000"
      },
      "committer": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 20:13:59 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\n\u003cadd g3 doc link\u003e\n\nBug: 304529413\nTest: N/A\n(cherry picked from aosp/2939759)\n\nChange-Id: Ia29683d8fd857ca136d39166346e921473578ca3\n"
    },
    {
      "commit": "046a3cc5a18d2b2cb3e52674917ad0d1f326ef8d",
      "tree": "79972df1f3d7c24431bb92170e95c94c6acc4433",
      "parents": [
        "6db9591465490047bcabba353668107b457a218c"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jan 31 12:05:42 2024 +0100"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Jan 31 12:07:38 2024 +0100"
      },
      "message": "Replace use of deprecated function with_min_level\n\nThis is needed to upgrade the android_logger crate from 0.12.0\nto 0.13.3.\n\nwith_max_level provides the same functionality as with_min_level.\nThe renaming is admittedly confusing, but the new name is accurate\nand it makes sense that they deprecated and then removed the\npreviously poorly named with_min_level.\n\nSee crate documentation [1] and code [2].\n\n[1]: https://docs.rs/android_logger/0.12.0/android_logger/struct.Config.html#method.with_min_level\n[2]: https://docs.rs/android_logger/0.12.0/src/android_logger/lib.rs.html#227\n\nBug: 322718401\nTest: build and run CF with the change.\nTest: m aosp_cf_x86_64_phone\nChange-Id: I2e4ed99253f3b328a98d4bc5988beda7304612e6\n"
    },
    {
      "commit": "9b3ddadcf3aa0485e81869b5841b6783dba4af85",
      "tree": "1bfe33195d5ff23d56f18fbbf115a017d681d74e",
      "parents": [
        "5a8186c4dd18e50cab71625848678771fe1612c2",
        "d3fb627ee4e0e28ae83d12af0a0b4262152faea8"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 23:19:28 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 23:19:28 2024 +0000"
      },
      "message": "Merge \"InputDispatcher_test: Verify all consumed events are traced\" into main"
    },
    {
      "commit": "5a8186c4dd18e50cab71625848678771fe1612c2",
      "tree": "f5e1220d611a40825a50d273041de6eb699db505",
      "parents": [
        "8b0f2a208abae1b7bfc782d76ba131091611da7c",
        "adc59b449bf8c0f7e84afd04edb9073665436b3e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 30 23:06:49 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 23:06:49 2024 +0000"
      },
      "message": "Merge changes from topic \"perfetto-input-event-proto\" into main\n\n* changes:\n  InputTracer: Trace an event being dispatched to a window\n  InputTracer: Trace motion and key events\n  InputTracer: Add custom key and motion event types for tracing\n"
    },
    {
      "commit": "f822c202d6d730679fb0cbc4a6ce3ed4526bbb6d",
      "tree": "d7e5a24b1ffd7e931e054a1c29ce5f8f15ed7b26",
      "parents": [
        "169d22e5543cad1aace22ee5b2016a44667444b2",
        "8d66013c673bb8e3e8876907f0ad80c91580a443"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Jan 30 22:57:12 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 22:57:12 2024 +0000"
      },
      "message": "Merge \"Use aidl-defined InputChannel for parceling\" into main"
    },
    {
      "commit": "d3fb627ee4e0e28ae83d12af0a0b4262152faea8",
      "tree": "3ffc6b33b403e776824700646d161743736fdff6",
      "parents": [
        "adc59b449bf8c0f7e84afd04edb9073665436b3e"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Dec 15 01:21:47 2023 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 21:21:45 2024 +0000"
      },
      "message": "InputDispatcher_test: Verify all consumed events are traced\n\nIntroduce a test implementation of the tracing backend that tracks all\nof the logged events. Whenever an event is consumed by an input channel\nin any of the Dispatcher tests, we expect that event to have been\nlogged into the trace. If a consumed event is not present in the trace,\nthe test will fail.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I3b19684c14334d9b2f455cee3b3cfad794a633c0\n"
    },
    {
      "commit": "adc59b449bf8c0f7e84afd04edb9073665436b3e",
      "tree": "9c8e80f4f22dfd8b8f02f48be5d4062d1867e90f",
      "parents": [
        "dae52792878635f378b2c9c94cbfa305f90bf3a7"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Dec 15 05:34:11 2023 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 21:21:45 2024 +0000"
      },
      "message": "InputTracer: Trace an event being dispatched to a window\n\nBug: 210460522\nTest: manual with perfetto\nChange-Id: Ie161726da294bc5c660d5062af85c9cd621c1b4c\n"
    },
    {
      "commit": "dae52792878635f378b2c9c94cbfa305f90bf3a7",
      "tree": "ab201aeb4084c747d282b74a8d76f411f4beeb36",
      "parents": [
        "2707f8c2142e65dacee6afa45065c18d1a3cd96e"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Dec 15 07:36:40 2023 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 21:21:42 2024 +0000"
      },
      "message": "InputTracer: Trace motion and key events\n\nBug: 210460522\nTest: manual with perfetto\nChange-Id: I4bcac0b8bba5132d0e68815923ab8f89b2bede84\n"
    },
    {
      "commit": "8d66013c673bb8e3e8876907f0ad80c91580a443",
      "tree": "f304e90cbd51f00645dfd8c96bb513d9bb937a28",
      "parents": [
        "ca103c0ad43e964d46be8de5fb1313292655c98c"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 11 16:48:44 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Jan 30 11:13:42 2024 -0800"
      },
      "message": "Use aidl-defined InputChannel for parceling\n\nCurrently, InputChannel is a manually-written parcelable. In this CL, we\nintroduce an aidl-defined InputChannel, which eventually could also be\nused in Java as well.\n\nNow, whenever an InputChannel needs to be written to parcel, we first\ncreate the new android.os.InputChannel and then write that object to\nparcel.\n\nEventually, we can convert the Java side of InputChannel to use this\nmechanism, as well.\n\nBug: 161009324\nTest: adb shell monkey 1000\nTest: atest libgui_test\nChange-Id: Ib44c5ff02b3c77e0425b59a76195ed100e187317\n"
    },
    {
      "commit": "1eea7c62aac7b836e34203341f372b6f9844b3b8",
      "tree": "92e7220c4b99d8e4786dc85e5d4f05ba58c87c04",
      "parents": [
        "7e2f3aacb517c851daa65989d5e703c51297c5b6",
        "e0e799dca205f1e362fda2195c455d99fdbef8f1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 30 16:22:56 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 16:22:56 2024 +0000"
      },
      "message": "Merge \"touchpad: add tap dragging configuration option\" into main"
    },
    {
      "commit": "a0d43d43f3a77c9614f80377ae7912ecb3ff5be1",
      "tree": "fa6751d7e87aeb4b3c748aa47a28143d7822ba4c",
      "parents": [
        "d815095cb902af3ca4033c7c6b92fcad20f8901f"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 00:27:08 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 00:29:01 2024 +0000"
      },
      "message": "Address comments for ag/26028243\n\nAddress comments for Change-Id:\nIc748082383119b465caa41da8301746fefea2be9\n\nBug: 314702448\nTest: atest inputflinger_tests\nChange-Id: I1c3ec9a327c701fcbd1cb44cbc0d8ca001468cce\n"
    },
    {
      "commit": "d815095cb902af3ca4033c7c6b92fcad20f8901f",
      "tree": "71e4ea8796e60c407868157b48d6147f8979a081",
      "parents": [
        "168748f4c6762f718f55ca910193df94857b39bd"
      ],
      "author": {
        "name": "Linnan Li",
        "email": "lilinnan@xiaomi.corp-partner.google.com",
        "time": "Fri Jan 26 18:07:17 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 30 00:28:44 2024 +0000"
      },
      "message": "Synthesize cancel event to global monitor specify display id\n\nWhen we failed to find WindowTarget, we will synthesize a cancel event\nto globalMonitor, at this time, we should specify the displayId,\nbecause globalMonitor is created according to the different display,\nwe didn\u0027t specify it before, so we add it now.\n\nBug: 314702448\nTest: atest inputflinger_tests\n\nSigned-off-by: Linnan Li \u003clilinnan@xiaomi.corp-partner.google.com\u003e\n(cherry picked from https://partner-android-review.googlesource.com/q/commit:e43c76ae092db81c6a7cb3c986055a2f994e72bc)\nMerged-In: Ic748082383119b465caa41da8301746fefea2be9\nChange-Id: Ic748082383119b465caa41da8301746fefea2be9\n"
    },
    {
      "commit": "2707f8c2142e65dacee6afa45065c18d1a3cd96e",
      "tree": "f245512e2e6e5a61fe5e273c899e918ea8bf0465",
      "parents": [
        "168748f4c6762f718f55ca910193df94857b39bd"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 26 21:10:15 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 26 23:12:31 2024 +0000"
      },
      "message": "InputTracer: Add custom key and motion event types for tracing\n\nIntroduce the tracing backend\u0027s equivalent of KeyEntry and MotionEntry\nso that we don\u0027t have to reuse the Dispatcher\u0027s EventEntry types inside\nthe tracing implementation.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I7f0c1d79bb8ee345ae9968d2ff5006a7cd9b2cb3\n"
    },
    {
      "commit": "e0e799dca205f1e362fda2195c455d99fdbef8f1",
      "tree": "14542c75e2664a49f847963a030ebaee586dcd51",
      "parents": [
        "d5bfd321e7a2374abdd4d3474eb15555585438ed"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Jan 24 16:27:56 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Jan 26 12:32:41 2024 +0000"
      },
      "message": "touchpad: add tap dragging configuration option\n\nSupport for tap dragging already exists in the Gestures library, so we\njust have to pass the value in as a gesture property.\n\nBug: 321978150\nTest: with the flag enabled, run `adb shell settings put system\n    touchpad_tap_dragging 1`, try tap dragging (tapping then immediately\n    putting your finger back on the touchpad and moving it)\nChange-Id: Ib1a25899d30ae612fdd6fe0fcdad38a2669dc39b\n"
    },
    {
      "commit": "0eba255539b02d260fb6500b781598e6ecbd5d7c",
      "tree": "a1c3d72fd7a0f3b62334768504d2903378f5ede7",
      "parents": [
        "2ae2cc975dfde610c620c978ad9505d41a2d536c",
        "3935e6fab9ba436a4da9c3945832b4d3b4ae52fa"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Jan 25 14:50:15 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 14:50:15 2024 +0000"
      },
      "message": "Merge \"Add slow_keys input filter\" into main"
    },
    {
      "commit": "222d83da0df6b81cafe58e181ee9aa7aa29e36f1",
      "tree": "2528d347ae86074766f2f77dfd2b0328d637f5e4",
      "parents": [
        "79ec447d4f04ff267f91b5cfa818e53064a5e716"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Wed Jan 24 18:00:09 2024 +0000"
      },
      "committer": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Wed Jan 24 18:33:00 2024 +0000"
      },
      "message": "Small fix: Adjust Frame Size for InputDispatcher User Activity Poke Test\n\nFrame size was smaller than the touch target, which caused\ntest failures;\n\nBug: 320499729\nTest: ABTD test\nChange-Id: If83c70cf94996a67bb44c0a0f87664cb43948e63\n"
    },
    {
      "commit": "9e14fec232dcea20ed67081653b694dbe5cf525e",
      "tree": "d17c0f3d1fa11fe73e47b751c7f788cad6013fff",
      "parents": [
        "4da99064118fff1441511b93a2e16207983185bc",
        "b8aadfa28ed77ac586be838171709626be01b175"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Wed Jan 24 00:35:05 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 00:35:05 2024 +0000"
      },
      "message": "Merge \"Rate limit user activity pokes in InputDispatcher\" into main"
    },
    {
      "commit": "e53224abfeaf95beb44794e220d1d86f9b5cbd23",
      "tree": "a4ad4862fdb83180da701eb4aff9419c5cb88704",
      "parents": [
        "ee5cc4f8676e5efdb0dccf5db8222e2edd9f5b66",
        "edc7b341339186ac7df7387f8a9997d177313e2e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 23 17:44:19 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:44:19 2024 +0000"
      },
      "message": "Merge \"CursorInputMapper_test: Verify that acceleration is disabled via config\" into main"
    },
    {
      "commit": "edc7b341339186ac7df7387f8a9997d177313e2e",
      "tree": "d3e2d01d99480bbbb046b98adb6bb1be49ff00d8",
      "parents": [
        "777245c1c2a89b1c5c9d2f2ee916a1d9eff0cb2a"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 22 20:21:57 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 23 16:28:12 2024 +0000"
      },
      "message": "CursorInputMapper_test: Verify that acceleration is disabled via config\n\nDisabling acceleration was not previously tested, so add a test to\nverify pointer acceleration can be disabled through the config.\n\nBug: 311651709\nTest: atest inputflinger_tests\nChange-Id: Ib4206052a2532ecb7b4b82c482f9d07e69006c04\n"
    },
    {
      "commit": "3935e6fab9ba436a4da9c3945832b4d3b4ae52fa",
      "tree": "075114bffa079ceb8d2f940463a83a14097e0652",
      "parents": [
        "98f2e04b02fa4eae943c8cca7a21988f5ff043c0"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Fri Jan 19 14:44:47 2024 +0000"
      },
      "committer": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Tue Jan 23 14:58:08 2024 +0000"
      },
      "message": "Add slow_keys input filter\n\nDD: go/pk_accessibility\n‘Slow keys’ is an accessibility feature to aid users who have\nphysical disabilities, that allows the user to specify the\nduration for which one must press-and-hold a key before the\nsystem accepts the keypress.\nNote: As part of this CL, introduced threading in input_filter\nstage in RUST. Due to Jni requirements, have used the utils/Thread.h\nimpl to create a thread and pass it over to rust for handling.\n\nTest: atest --host libinputflinger_rs_test\nBug: 294546335\nChange-Id: Ib418c133e09f3085e5fe78991068d4be9ed09ed9\n"
    },
    {
      "commit": "6d503b9e3acb2de165758f1e607c13df58669389",
      "tree": "44e3aff98be3330eda424d8a49b69c6821f4aa24",
      "parents": [
        "a6c5848045b47a6c6d748611998f2f2bd681f846",
        "777245c1c2a89b1c5c9d2f2ee916a1d9eff0cb2a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jan 22 21:03:31 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:03:31 2024 +0000"
      },
      "message": "Merge \"Pointer Icon Refactor: Integrate mouse pointer acceleration\" into main"
    },
    {
      "commit": "a6c5848045b47a6c6d748611998f2f2bd681f846",
      "tree": "a501981d8a584e1725ec952f0cdfa9e44fd25766",
      "parents": [
        "93a8c86d878b71e6c6fbf8d4dcf74b33e2d74c37",
        "502ddbdb5919cf1cd1d6a40128e72b885868c95c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 22 19:10:47 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 19:10:47 2024 +0000"
      },
      "message": "Merge \"Pointer Icon Refactor: Integrate setPointerIconVisible\" into main"
    },
    {
      "commit": "734f92fe30fb0bf2ab33613fbf90d5c76febff72",
      "tree": "dbbd205d77a936be21eabcb2f449c39f167e4f85",
      "parents": [
        "8af3ec98ffcb94a0fa6d0f0b3553c82552708d04"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Mon Jul 24 18:56:51 2023 -0700"
      },
      "committer": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Sat Jan 20 02:00:48 2024 +0000"
      },
      "message": "Add Rotary Encoder Slop Logs\n\nAdd logs for when a slop is applied to a rotary input, and for the first\ninput that passed the slop threshold.\n\nBug: 293649303\nBug: 288913283\nTest: manual\nChange-Id: I5b6462860786eebf9d0b6940297145e1d1100e18\n(cherry picked from commit 30bee3735da8284485bc6e9c95fb13f1477f20bf)\n"
    },
    {
      "commit": "b8aadfa28ed77ac586be838171709626be01b175",
      "tree": "40c86470954f23a917c1eceeb0a54040e0ba825e",
      "parents": [
        "8af3ec98ffcb94a0fa6d0f0b3553c82552708d04"
      ],
      "author": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Wed Jan 17 17:03:42 2024 -0800"
      },
      "committer": {
        "name": "Yeabkal Wubshit",
        "email": "yeabkal@google.com",
        "time": "Fri Jan 19 17:07:12 2024 -0800"
      },
      "message": "Rate limit user activity pokes in InputDispatcher\n\nThis rate limiting used to exist in PowerManager\u0027s JNI entry point.\nMoving it to InputDispatcher helps us avoid building and sending the\nrequest to the PowerManager JNI layer if the request is not going to be\nsent to the Java layer.\n\nWe are also enabling configuration of this rate. Previously, a default\nrate of 100ms per use-activity type was used. We have added an XML\nconfig to allow overriding this value device-wide, for all user-activity\ntypes. This helps devices adjust the rate as per their use cases.\n\nBug: 320499729\nTest: atest InputDispatcherUserActivityPokeTests\nChange-Id: I66fce1082e857b4d74b69e2d87d1a5fe1d9eb57c\n"
    },
    {
      "commit": "0ef096d7eb886a0fc2f149ea83e2436ad426be22",
      "tree": "1d3c0e10059b2e16dd1cf0f4c5181ce9a58469dd",
      "parents": [
        "08ed729abe106c9f1a28e7fb44dd8c7ad717d463",
        "abcdf5cf07d8321c0bc6224fc623fc19bbdc2b74"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 19 22:24:22 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 22:24:22 2024 +0000"
      },
      "message": "Merge \"InputDispatcher: Add InputTracerInterface for tracing input events\" into main"
    },
    {
      "commit": "777245c1c2a89b1c5c9d2f2ee916a1d9eff0cb2a",
      "tree": "f6cdb98204b10c8981fd5ab8b8918a58d9b789bf",
      "parents": [
        "502ddbdb5919cf1cd1d6a40128e72b885868c95c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 19 20:44:36 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 19 21:28:16 2024 +0000"
      },
      "message": "Pointer Icon Refactor: Integrate mouse pointer acceleration\n\nBefore the refactoring, there could only be one mouse pointer globally,\nso we only needed a boolean toggle for controlling pointer acceleration.\n\nNow, since we can have multiple mouse pointers on different displays, we\nneed to be able to configure pointer acceleration on a per-display\nbasis.\n\nBug: 311651709\nTest: atest inputflinger_tests\nChange-Id: I6a85fe18dc0a5ea8fc5d41829e95a7c89c11a0a0\n"
    },
    {
      "commit": "502ddbdb5919cf1cd1d6a40128e72b885868c95c",
      "tree": "270f8d654933b20932fb43bc452f25d8700fd24f",
      "parents": [
        "08ed729abe106c9f1a28e7fb44dd8c7ad717d463"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 19 02:22:38 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 19 21:28:11 2024 +0000"
      },
      "message": "Pointer Icon Refactor: Integrate setPointerIconVisible\n\nBefore the refactor, pointer icons were hidden when\nsetPointerIconVisible(display, false) was called by simply blocking all\nthe calls to set the pointer icon from java to native code.\n\nThis approach no longer works after the refactor. Instead, we must plumb\nthe setting down to PointerChoreographer, and let it handle it properly.\n\nWhen pointer icons are hidden for a display, ensure that we do not show\nthe icon by refraining from calling unfade().\n\nBug: 320449549\nTest: atest inputflinger_tests\nChange-Id: I7b504a2b6a7dc66bf9717c8af593ee27516e53a5\n"
    },
    {
      "commit": "08ed729abe106c9f1a28e7fb44dd8c7ad717d463",
      "tree": "e1fc9775701aeec0d3df8289f6468784b5a325dc",
      "parents": [
        "37dba81b24e1bfadc83b6629d26cf5208ffaeb12",
        "d3061ab7049fd1bfe3daf7fd89003e0b22f2e11c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 19 18:11:45 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 18:11:45 2024 +0000"
      },
      "message": "Merge \"Use dynamic event factory in dispatcher tests\" into main"
    },
    {
      "commit": "e2404a1fedf1f7eaf02f6a3f5efa99ddf392cb78",
      "tree": "ba3b2a4aa2b938492302ab031985a508eb7f3e96",
      "parents": [
        "22c7b9bc6f3c16dc8c4f6ea5466915f8d3faf1ac"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Jan 16 18:38:39 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 18 09:17:12 2024 -0800"
      },
      "message": "Remove app switch code\n\nThis code has already been disabled, and now we can remove it.\n\nBug: 312714754\nTest: atest inputflinger_tests\nChange-Id: Ie02687b770586b09c180f29adc0330981808e92d\n"
    },
    {
      "commit": "abcdf5cf07d8321c0bc6224fc623fc19bbdc2b74",
      "tree": "f1f1d87da1cf5b489277da69bea16f9cca33b956",
      "parents": [
        "a57e6352c0dd4e3fee25229eed77cc68fc4c684d"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Dec 15 07:30:22 2023 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 17 22:49:31 2024 +0000"
      },
      "message": "InputDispatcher: Add InputTracerInterface for tracing input events\n\nThe interface documents how the tracer will interact with\nInputDispatcher.\n\nBug: 210460522\nTest: Build\nChange-Id: Id97f9b0851f1248956b95e8b18b2302ecff1bff5\n"
    },
    {
      "commit": "e9ae938a893c0c6e98268f330b863884d85cab36",
      "tree": "77a224e9683cb724be8db58fc40ac0292b0b88dd",
      "parents": [
        "d7b39c40c67edd100962799c3eecad964ceac28c",
        "e78184bca305bf510f882f7c26d46b1b0b2c0cf7"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Jan 17 14:21:28 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 17 14:21:28 2024 +0000"
      },
      "message": "Merge \"CursorInputMapper: share acceleration curves with touchpad\" into main"
    },
    {
      "commit": "e78184bca305bf510f882f7c26d46b1b0b2c0cf7",
      "tree": "9314c4cfebf01253df4418b2149a9d803109904c",
      "parents": [
        "1411cf8b450d1603537af54bdb67e67052a0581d"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Jan 08 15:54:58 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Jan 17 12:16:58 2024 +0000"
      },
      "message": "CursorInputMapper: share acceleration curves with touchpad\n\nThe new touchpad mapper implemented in Android 14 replaced our simple\ncursor movement acceleration curves (where the acceleration factor\nincreased linearly with speed between minimum and maximum values) with\nmore sophisticated multi-segment curves. However, cursor movement using\nmice remained on the old curves. For consistency and to improve pointing\naccuracy, use the same curves for mice, too.\n\nThis is also a good opportunity to improve the documentation comments\nand naming now that I\u0027ve wrapped my head around the maths a bit better.\n\nBug: 315313622\nTest: atest inputflinger_tests\nTest: check pointer movement with a mouse, including changing the\n      pointer speed setting and checking that the movement speed changes\nChange-Id: Ifcf43f4de6017f06b66f37d5e03a13cc257d92d5\n"
    },
    {
      "commit": "bc9025107661d422971a29254723df67dcc1f881",
      "tree": "55927fe4878b236b4469837235ab58b37a27b54a",
      "parents": [
        "1411cf8b450d1603537af54bdb67e67052a0581d",
        "2681a818e49726c97a5bec916b9b806333ebd44b"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Jan 11 13:52:23 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 11 13:52:23 2024 +0000"
      },
      "message": "Merge \"Do not wake the device from media keys on headset.\" into main"
    },
    {
      "commit": "1411cf8b450d1603537af54bdb67e67052a0581d",
      "tree": "0041458dc181ecb0cbd1547d803857dfd4b14dd3",
      "parents": [
        "044d04a98a82e2c297a48ae737ce8758a60f3966",
        "1c3d855fc9defc397ba20379aa5496f8bd45b2d7"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Thu Jan 11 10:43:16 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 11 10:43:16 2024 +0000"
      },
      "message": "Merge changes Ie02dbcb3,I8195406c into main\n\n* changes:\n  Wait till next SYN_REPORT to repopulate device state after SYN_DROPPED\n  Sync MT slots on reset and buffer overflow\n"
    },
    {
      "commit": "2681a818e49726c97a5bec916b9b806333ebd44b",
      "tree": "08036ade9116653abc3a124ec91ebbd751d09e8e",
      "parents": [
        "412b72224bb53d6a594a7d3ccac202ae9958e7bb"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Jan 11 00:15:35 2024 +0000"
      },
      "committer": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Jan 11 00:57:37 2024 +0000"
      },
      "message": "Do not wake the device from media keys on headset.\n\nBug: 315732378\nTest: atest inputflinger_tests\nChange-Id: I60747c6d3ed3455b656a48a08e2b0aa20b2e3aa7\n"
    },
    {
      "commit": "412b72224bb53d6a594a7d3ccac202ae9958e7bb",
      "tree": "cb31e459570d0957fc973d821e636e5f433b3754",
      "parents": [
        "4bdf1a14c14ab76f4fb078c1469f075a2481194d",
        "98ca4a2bacc1479c61fe15c463bd195330082a5b"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 10 15:58:35 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 10 15:58:35 2024 +0000"
      },
      "message": "Merge \"InputDispatcher: Check for normal connection for consistency\" into main"
    },
    {
      "commit": "1c3d855fc9defc397ba20379aa5496f8bd45b2d7",
      "tree": "3cc006396cfcb5a6ab80aa9eee6512b5b701c553",
      "parents": [
        "4b4a457fb72ddb2c4ad269dff39b422fbf887999"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Mon Jan 08 14:16:28 2024 +0000"
      },
      "committer": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Wed Jan 10 10:54:14 2024 +0000"
      },
      "message": "Wait till next SYN_REPORT to repopulate device state after SYN_DROPPED\n\nCurrently, we repopulate device state immediately upon receiving a SYN_DROPPED\nevent. We should wait till the next SYN_REPORT event to query the device\nstate as it signals evdev client\u0027s event queue has now recovered from the\nbuffer overrun.\n\nTest: atest inputflinger_tests\nBug: b/291626046\nChange-Id: Ie02dbcb3d3fdc94deee67f1bc06e670c8cd9cd83\n"
    },
    {
      "commit": "4b4a457fb72ddb2c4ad269dff39b422fbf887999",
      "tree": "834a3542eb2054d45758b2eeca7913b19507b78b",
      "parents": [
        "ac9a2fa21112dba08ff49ca71c0ef5844f40dbda"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Fri Nov 24 18:19:56 2023 +0000"
      },
      "committer": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Wed Jan 10 10:53:53 2024 +0000"
      },
      "message": "Sync MT slots on reset and buffer overflow\n\nAt present we don\u0027t repopulate the MT slot values when a buffer overflow\noccurs. This may lead to incosistent event being generate due to out of\nsync Mt Slot values.\nIn this change we repopulate the MT slot values with EVIOCGMTSLOTS\nsystem call after resetting the mapper. Now in case of a buffer overflow\na ongoing multitouch gesture will be cancelled and restarted.\n\nTest: atest inputflinger_tests\nBug: b/291626046\n\nChange-Id: I8195406ce1f9e3e704381b47e282c65463537745\n"
    },
    {
      "commit": "f4576499eccbe6f1a5b1e983e67d6d9f7ee2b8ef",
      "tree": "40aca6f01f8b467664cc4e0dbbaf81576c6c7d5e",
      "parents": [
        "8c342e391274bf272b509fb6e34b6784d269394e",
        "aeed0da5878b59b42a9e9e40e48f36809bb315cb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jan 10 03:26:14 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 10 03:26:14 2024 +0000"
      },
      "message": "Merge \"Check for redundant windows inside WindowInfos\" into main"
    },
    {
      "commit": "aeed0da5878b59b42a9e9e40e48f36809bb315cb",
      "tree": "d6588c20b8ccb1528a7a6781c30d4ca613426801",
      "parents": [
        "5704dbd9a4ecd55af96eaf840852fdcb728cca4d"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Jan 09 08:57:13 2024 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Jan 09 18:34:01 2024 -0800"
      },
      "message": "Check for redundant windows inside WindowInfos\n\nRecently, our team has seen traces where dispatcher is taking a long\ntime to run - sometimes, more than 22 milliseconds. That\u0027s way longer\nthan the expected ~ 0.3 milliseconds for the entire inputflinger.\n\nAfter examining the traces, I noticed that there\u0027s a lot of time spent\nin both findTouchedWindowTargets and dispatchInputEvent. It appears that\nwe are trying to dispatch one input event multiple times to the same\nchannel, dreamOverlay.\n\nOne way this could be possible if we receive multiple, redundant windows.\n\nIn this CL, we add a crash to identify and get out of this bad state.\n\nBug: 311142655\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\nChange-Id: I2170928d1bb1e591b9c93b42dd86827e86a0c7fb\n"
    },
    {
      "commit": "995ca12f36b9f135884333b75d2c439e9bd611bc",
      "tree": "50c61a793d01e097e20c397113b5dd144ac4ab8b",
      "parents": [
        "ff8645c33a6fa1ecbbce958178e35217e031cccd",
        "75ffb265b9db926343bbf6a2e60868cc67c590b5"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Wed Jan 10 02:00:51 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 10 02:00:51 2024 +0000"
      },
      "message": "Merge \"[statsd] Remove static variants of libstatssocket/pull\" into main"
    },
    {
      "commit": "ff8645c33a6fa1ecbbce958178e35217e031cccd",
      "tree": "faa8c7cf5599d46c87f298bd6e9b023f41bb8b1b",
      "parents": [
        "da7745182868a3de5f879487d6c53adf18f8b307",
        "b13da8fa00af57b14318fb5b0ce64d6c700852ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jan 10 00:14:53 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 10 00:14:53 2024 +0000"
      },
      "message": "Merge \"InputDispatcher: Do not synthesize cancelations for zombie connections\" into main"
    },
    {
      "commit": "98ca4a2bacc1479c61fe15c463bd195330082a5b",
      "tree": "1150232e8445fc1b7e522dde4b93a25bccdf8466",
      "parents": [
        "b13da8fa00af57b14318fb5b0ce64d6c700852ad"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 09 23:51:50 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 09 23:54:02 2024 +0000"
      },
      "message": "InputDispatcher: Check for normal connection for consistency\n\nWhenever we test a connection status, check against Status::NORMAL\neverywhere in dispatcher, for consistency.\n\nBug: 319186639\nTest: atest inputflinger_tests\nChange-Id: I01c1eb48d94b5a4d164080ffc185928445084c66\n"
    },
    {
      "commit": "b13da8fa00af57b14318fb5b0ce64d6c700852ad",
      "tree": "169339efc07636433b91d48aeff069295e0d0ba3",
      "parents": [
        "afb7d61d836667787c5e0b083be435a41c843126"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 09 23:10:13 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 09 23:20:45 2024 +0000"
      },
      "message": "InputDispatcher: Do not synthesize cancelations for zombie connections\n\nWhen an input channel is removed, we mark it as a zombie connection in\nDispatcher.\n\nWhenever we leave a critical section inside Dispatcher, it is possible\nfor an input channel to be removed. When handling fallback keys, we make\na policy call synchronously while processing the unhandled key\nby releasing the lock. After returning from the policy call, it\u0027s\npossible the input channel was removed, leaving the connection in a\nzombie state.\n\nWhen in this state, if we try to synthesize a cancelation event, we\nwould end up crashing. To avoid this, ensure we don\u0027t try to synthesize\ncancelations for channels that aren\u0027t normal (i.e. broken or zombie\nchannels).\n\nBug: 319186639\nTest: atest inputflinger_tests\nChange-Id: I05a9b001de19bf26d81ea50a511d84bc3a2045d2\n"
    },
    {
      "commit": "fc37ec5d881a5273d23dda911c71ac91effb067c",
      "tree": "6f712e5c212c2bbbcc1463a48981b88b8a998298",
      "parents": [
        "29e3290b9997ad938f85e4f28a31431f77effc47",
        "afb7d61d836667787c5e0b083be435a41c843126"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 09 20:18:21 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 20:18:21 2024 +0000"
      },
      "message": "Merge \"Deflake ExternalStylusIntegrationTest test case\" into main"
    },
    {
      "commit": "afb7d61d836667787c5e0b083be435a41c843126",
      "tree": "966997cc98b9f7f912b2815211e7846d5ac9d557",
      "parents": [
        "e7cc69ca7d96fe355fb24655e1a2f21e8579143f"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 08 22:45:24 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Jan 09 19:34:19 2024 +0000"
      },
      "message": "Deflake ExternalStylusIntegrationTest test case\n\nThe integration test was testing a case where the code is expected to do\nnothing until a 72ms timeout expires, and then checking that an event is\ngenerated.\n\nTo verify this, the test would wait exactly 72ms, and assert there were\nno events generated. Since this is an integration test, waiting the\nexact amount of time as the timeout used in the code is naturally flaky.\n\nResolve this by using a smaller timeout that the one used in the code\nwhen enforcing that an event is not generated.\n\nBug: 304787002\nTest: atest ... --rerun-until-failure\nChange-Id: Ib0bcc6de149efee575d9fda6482fffaa2edfa15d\n"
    },
    {
      "commit": "5704dbd9a4ecd55af96eaf840852fdcb728cca4d",
      "tree": "ba4b3500fcbd5a1c15fcd454ee9d0040a3b3406d",
      "parents": [
        "ea783adf1603ddac6d9a1316cd2a97cfaccde7f7",
        "92559eff0e61a56d7318e22bb0504fbf912d0d29"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Jan 09 17:51:50 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 17:51:50 2024 +0000"
      },
      "message": "Merge \"CursorInputMapper: migrate remaining tests\" into main"
    },
    {
      "commit": "92559eff0e61a56d7318e22bb0504fbf912d0d29",
      "tree": "dbe660074c21946e8e36d0f8e21d731d02042fbe",
      "parents": [
        "c9dd5bec776c1b01513fb004dc46a9677d025d8a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Jan 05 12:45:36 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Jan 09 11:06:53 2024 +0000"
      },
      "message": "CursorInputMapper: migrate remaining tests\n\nChange I0f0307dc57edcc62d0ce24b15bf0d9e8b8b915c6 left a few tests using\nthe old InputMapperTest (instead of the new InputMapperUnitTest),\nbecause they needed a fake InputDeviceContext creating (or looked like\nthey needed it; some turned out to be simpler to migrate). This change\nmoves them over.\n\nBug: 283812079\nTest: atest inputflinger_tests\nChange-Id: I18c82c7823f0739b62dba06f4e550069b3d0130e\n"
    },
    {
      "commit": "67025a74b8420b580e7e95c6b449149cc1ce8149",
      "tree": "bdfd4d39bcd726928c5b354ff8f10dd6af7f0f99",
      "parents": [
        "cb134f13c59d51360957a82cbe7d892e5603b348",
        "e7cc69ca7d96fe355fb24655e1a2f21e8579143f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 09 09:20:10 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 09 09:20:10 2024 +0000"
      },
      "message": "Merge \"InputDispatcher_test: Remove ability to create clone windows via c\u0027tor\" into main"
    },
    {
      "commit": "cb134f13c59d51360957a82cbe7d892e5603b348",
      "tree": "541f4ea495eeaaf419dd92d21ef1441ac92ac097",
      "parents": [
        "0994001ad6f5d7876c31c752a2b84ffa018ff9a0"
      ],
      "author": {
        "name": "Hu Guo",
        "email": "guohu@xiaomi.corp-partner.google.com",
        "time": "Sat Dec 23 13:42:44 2023 +0000"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 08 23:31:16 2024 +0000"
      },
      "message": "Add tests for dropped event\n\nCancel only the gesture corresponding to the dropped event\n\nTest: atest inputflinger_tests\nChange-Id: I88fd0702d5e1b0d15f808bfad4ee923a6dd19357\n"
    },
    {
      "commit": "227524b29b5a8bbb683aab6bc7e31bad731aed2c",
      "tree": "6fe84d82f270a63df0158c232270c37af7d6b4ac",
      "parents": [
        "b0cccbb759fba3fcb54b2c3504938d151a93c146",
        "5ab90570ec2313411bf656f38ebcb79a270c841a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Jan 08 17:09:20 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 17:09:20 2024 +0000"
      },
      "message": "Merge \"TouchpadInputMapper: bump generation on display change\" into main"
    },
    {
      "commit": "e7cc69ca7d96fe355fb24655e1a2f21e8579143f",
      "tree": "abdb944986860fc2f23002d5f05b62cf2dfb035d",
      "parents": [
        "4b36db912abd9fc9218b5094c6e56f7a7d2a666e"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 05 21:35:28 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 08 16:44:38 2024 +0000"
      },
      "message": "InputDispatcher_test: Remove ability to create clone windows via c\u0027tor\n\nThere were previously two ways to create clone windows: using the\nFakeWindowHandle\u0027s clone() method, or by passing in an existing token\ninto the FakeWindowHandle c\u0027tor.\n\nRefactor the FakeWindowHandle c\u0027tor so that the only way to create a\ncloned window is using the clone() method. There should be no behavior\nchange.\n\nBug: 210460522\nTest: atest inputflinger_tests\nChange-Id: I07270feff6c32481b7faaa070eb1c511e1399989\n"
    },
    {
      "commit": "b0cccbb759fba3fcb54b2c3504938d151a93c146",
      "tree": "ad6dd6fe1483bb91e5c9045e7267f1d220692820",
      "parents": [
        "2732ec131b7b2130df395a5cb689536a7e58882a",
        "4b36db912abd9fc9218b5094c6e56f7a7d2a666e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jan 08 16:28:21 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 08 16:28:21 2024 +0000"
      },
      "message": "Merge \"PointerChoreographer: Reset stylus icon on HOVER_EXIT\" into main"
    },
    {
      "commit": "5ab90570ec2313411bf656f38ebcb79a270c841a",
      "tree": "1878441738962ca7e22be5c6d72deac0f4ae6026",
      "parents": [
        "c9dd5bec776c1b01513fb004dc46a9677d025d8a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Jan 08 14:00:48 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Jan 08 14:02:11 2024 +0000"
      },
      "message": "TouchpadInputMapper: bump generation on display change\n\nBug: 318695766\nTest: atest inputflinger_tests\nTest: check Apple Magic Touchpad works as usual on Pixel Tablet before\n      and after rotating the screen\nChange-Id: I41a992aebf12b321f085954fa0c43dbbfe817a78\n"
    },
    {
      "commit": "e4a2c829d47bfcdc459667457ac6f47599c39f2f",
      "tree": "d0698a8228f7948ac01648a4db42ac1fd8ae1d1e",
      "parents": [
        "b02ac540b9b6372afd971f2a08aeb3a2f3f2103d",
        "d256daa6dd503ed351f4f29b8e154c0180d71cf7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 05 17:12:50 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 05 17:12:50 2024 +0000"
      },
      "message": "Merge \"InputMapperUnitTest: check args in createDevice\" into main"
    },
    {
      "commit": "d256daa6dd503ed351f4f29b8e154c0180d71cf7",
      "tree": "34a91ec1d1313fbefab17e42a588f60921729704",
      "parents": [
        "c9dd5bec776c1b01513fb004dc46a9677d025d8a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Jan 05 11:47:36 2024 +0000"
      },
      "committer": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Jan 05 11:52:04 2024 +0000"
      },
      "message": "InputMapperUnitTest: check args in createDevice\n\nBug: 283812079\nTest: atest inputflinger_tests\nChange-Id: I74512254bdc010efdd2ab6f4395d49c96aa218ed\n"
    },
    {
      "commit": "b02ac540b9b6372afd971f2a08aeb3a2f3f2103d",
      "tree": "79f49016470d9fa07ffe0657781cee31cf71e0bc",
      "parents": [
        "d684e1340658025abd057dc18475835360041fb9",
        "85daa5d069707edd43e4ca2b401e8dffceecd2a5"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Jan 04 20:19:37 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 20:19:37 2024 +0000"
      },
      "message": "Merge \"PointerChoreographerTest: Use builders to generate motion and key args\" into main"
    },
    {
      "commit": "896de2bd98ef131425e851eec7b4b03cf9f8e272",
      "tree": "c50251768abcffb07bbecf4ed9dba1588573b65d",
      "parents": [
        "ac9a2fa21112dba08ff49ca71c0ef5844f40dbda",
        "e948d4b172781acb2a999ae1cd5d64da004aad7a"
      ],
      "author": {
        "name": "Vaibhav Devmurari",
        "email": "vdevmurari@google.com",
        "time": "Thu Jan 04 13:38:44 2024 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 04 13:38:44 2024 +0000"
      },
      "message": "Merge \"Add callbacks and policy to listen to sticky modifier state\" into main"
    },
    {
      "commit": "4b36db912abd9fc9218b5094c6e56f7a7d2a666e",
      "tree": "2ee1775cb2de0a958daa237a0412e4fd3ac7a8a4",
      "parents": [
        "85daa5d069707edd43e4ca2b401e8dffceecd2a5"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 03 20:56:57 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 03 21:08:10 2024 +0000"
      },
      "message": "PointerChoreographer: Reset stylus icon on HOVER_EXIT\n\nUnlike mouse and touchpad, a stylus pointer doesn\u0027t always move\n\"continuously\" across the screen. It can jump from one place to another\nby exiting hover at one location and entering hover in a different\nplace. When it first hovers in a new location, the same icon would have\nbeen used in the new place as in the previous location until the app in\nthe new location specifies a new icon. If the app wants to show a\ndifferent icon, this can result in the old icon \"flashing\" for a short\nperiod before it is updated.\n\nTo eliminate the flashing of the old icon, we will reset the icon on\nHOVER_EXIT to the unspecified type.\n\nBug: 298074290\nTest: manual\nTest: atest inputflinger_tests\nChange-Id: Ifdc7d999d39f2620b5ff91025b2d24ee2e23e4b9\n"
    },
    {
      "commit": "85daa5d069707edd43e4ca2b401e8dffceecd2a5",
      "tree": "f355ccc3e7aead0da6c4d8a4d0005dc9f73cca6d",
      "parents": [
        "15b56fd2357badaac9f92c17019e083a8ff607a3"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 03 20:03:26 2024 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Jan 03 20:13:01 2024 +0000"
      },
      "message": "PointerChoreographerTest: Use builders to generate motion and key args\n\nNotifyMotionArgs in particular have specific requirements, like needing\nat least one pointer. Use a builder to generate these, instead of\nrelying on the default-constructed object.\n\nBug: 309479677\nTest: atest inputflinger_tests\nChange-Id: I5eccaff0eff2d87aa8d6c13a9659eed34e45c3da\n"
    },
    {
      "commit": "69505961330aa04346d1914c8e86112690d9f866",
      "tree": "67d7967e18341a1ddb382ca7fe5a2747a01ba03f",
      "parents": [
        "ac759e04eb5c3a9252c861f2fad14f5094e56efb"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Dec 28 12:07:04 2023 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Jan 03 17:11:35 2024 +0000"
      },
      "message": "nextWakeupTime should be the soonest possible time\n\nWhen updating nextWakeupTime, it should always be set to the minimum of\nthe current value and the new value. This variable tracks when we are\ngoing to wake up next. If we already made a decision earlier that we\nneed to wake up soon, the subsequent code should not change that\ndecision by postponing the wakeup.\n\nBug: 211379801\nTest: TEST\u003dinputflinger_tests; m $TEST \u0026\u0026 $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST\nChange-Id: Ib8771f7b27047d7aa98acd68db6d214d4c364b89\n"
    },
    {
      "commit": "75ffb265b9db926343bbf6a2e60868cc67c590b5",
      "tree": "02f09b03712143da0906aae4ea2d8b809ac3d968",
      "parents": [
        "d3eabb9d62f5968fd71c1cd92fdccb2790a65d14"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Wed Jan 03 00:12:37 2024 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Wed Jan 03 02:09:47 2024 +0000"
      },
      "message": "[statsd] Remove static variants of libstatssocket/pull\n\nBug: 162108043\nTest: build\nTest: statsd_test\nChange-Id: Icf6fa95d53f3ce893b4830f67295964cd7c5e700\n"
    }
  ],
  "next": "203b8151695a6ce11e65b25fac2e65ba8f433482"
}
