)]}'
{
  "log": [
    {
      "commit": "a91d8576d9fbb5c2fecbcad8a4f3eef0d2fcc30f",
      "tree": "3051ae585a7ec9370f084f358ff1b5addb6aede2",
      "parents": [
        "97c6f77943da3d8646682e48540c0561e3ade620"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue May 17 05:03:42 2022 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri May 20 07:14:46 2022 +0000"
      },
      "message": "Add lock to protect UnwantedInteractionBlocker\n\nThe call to \u0027dump\u0027 may come from any thread, and therefore could cause a\ncrash. Add a lock to protect this input stage.\n\nTo run the test:\nadb shell -t \"/data/nativetest64/inputflinger_tests/inputflinger_tests --gtest_filter\u003d\u0027*Dump*\u0027 --gtest_repeat\u003d100000 --gtest_break_on_failure\"\n\nBefore this patch, the test failed after ~5K - ~13K iterations (took\n10-20 seconds to crash).\n\nBug: 232645962\nTest: m inputflinger_tests \u0026\u0026 adb sync data \u0026\u0026 \u003crun the test\u003e\nChange-Id: I2a199690450bc5bb4a8576aa59075e99d37a531b\n(cherry picked from commit 9f330c542b48dc6edba9aeaff3b3f4bf305713f3)\n"
    },
    {
      "commit": "1a1007b0ddfd5ee2df986727c9d2b08ff382509a",
      "tree": "3738c427b1871f33298183dcc8b08435ccdb1581",
      "parents": [
        "1c94d263dae07cf58f76b1612f8f0a00d6d75fe3"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed May 11 07:15:01 2022 +0000"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Tue May 17 15:40:56 2022 +0000"
      },
      "message": "Make sure all debug logs could be present after enabled\n\nMoved debug flags to InputDispatcherDebugConfig so they could be\naccessed between different source files.\n\nTest: enabled log\nBug: 229302912\nChange-Id: I384c9d26ecb130747ffb39782b9c3bb7e2b2f159\n"
    },
    {
      "commit": "e7f8167e3371005ae78666fe3a95d044c3484440",
      "tree": "a6069ada426dfe5bc168a52150cc02dfe232fb38",
      "parents": [
        "e9d6733f53676f18a716c82425ed61bf030215a4",
        "3fa94792adf31c82381b863d3e0aaf1a88bdf8da"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon May 16 13:22:46 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 13:22:46 2022 +0000"
      },
      "message": "Merge changes Ifb8d7581,I73ba8278,I6d7e3804 into tm-dev\n\n* changes:\n  Add PointerCaptureTest to input presubmit\n  Add InputManagerServiceTests to input presubmit\n  Add CtsHardwareTestCases to input presubmit\n"
    },
    {
      "commit": "8a2b1a436691cbf05a1e597c62b361fc026468be",
      "tree": "ffa2679ba42aea9bffbc2d4b28e61546a969b637",
      "parents": [
        "df2e6cb29fa61aec45a4a2bddc9817a47eb59dea"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Apr 11 17:23:34 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue May 10 18:40:43 2022 +0000"
      },
      "message": "Reland: Change input injection security model\n\nThis reverts commit 4df80f58c42d56facdc79ffa5bcba041300784e9.\n\nChanges from revert: None\n\nBug: 207667844\nBug: 194952792\nTest: TBD\nChange-Id: I1bf9bd08fa9974ec54bbdddb27892afdda407331\nMerged-In: I1bf9bd08fa9974ec54bbdddb27892afdda407331\n"
    },
    {
      "commit": "3fa94792adf31c82381b863d3e0aaf1a88bdf8da",
      "tree": "b0646b1994b62317bccc3ff5d34f7f8b41f62437",
      "parents": [
        "c934d0f8a520436a7a1ccb142374da41b4ebc000"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 21:12:06 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 21:15:19 2022 +0000"
      },
      "message": "Add PointerCaptureTest to input presubmit\n\nBug: 231623960\nBug: 231324765\nTest: presubmit\nChange-Id: Ifb8d7581d5fe5ef60f74f897f5169288934c1d44\n"
    },
    {
      "commit": "c934d0f8a520436a7a1ccb142374da41b4ebc000",
      "tree": "97a4f945e79c985b87abee7f575b1191b54dda56",
      "parents": [
        "ce5566028c7f732d48a412c966994e24aeeddfaf"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 21:07:05 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 21:15:19 2022 +0000"
      },
      "message": "Add InputManagerServiceTests to input presubmit\n\nBug: 231623960\nTest: presubmit\nChange-Id: I73ba8278fdb1c89239f055aa3178b787e2614e8e\n"
    },
    {
      "commit": "ce5566028c7f732d48a412c966994e24aeeddfaf",
      "tree": "bbdd1ad0560f85ce08bd7f748607636d21e34b18",
      "parents": [
        "54745651cca996fa44fd1c8737f1ab327f04ae8c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 16:43:14 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu May 05 21:14:59 2022 +0000"
      },
      "message": "Add CtsHardwareTestCases to input presubmit\n\nBug: 231623960\nBug: 229712592\nTest: presubmit\nChange-Id: I6d7e380429289f9323fc91e3d9e8cdeeafccdf07\n"
    },
    {
      "commit": "54745651cca996fa44fd1c8737f1ab327f04ae8c",
      "tree": "6abf018b37a49f730b1123d2ac3552710e97b64a",
      "parents": [
        "0f24a7c37b3e65996c9bb88c3e22038ae2ca58ef"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Apr 20 07:17:41 2022 +0000"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Thu May 05 06:29:00 2022 +0000"
      },
      "message": "Fix drag and drop may stuck in multi touch\n\nCurrently, we only check the motion entry if the point count is 1 during\ndrag and drop, that could lead some unexpected behavior if user already\nhad another pointer touched on screen and it can perform drag. That\nsymptom may happen when user is using split screen or device has the\nwaterfall touch screen.\n\nThis CL will track the pointer id when starting the drag and drop, so it\ncould prevent the drag surface jumping to another pointer or cause the\ntouch didn\u0027t work after drop finish.\n\nBug: 228497357\nTest: atest inputflinger_tests CrossAppDragAndDropTests\nChange-Id: I8d152d95d1d9ccd65bf953052223ac61a1e910df\n"
    },
    {
      "commit": "0f24a7c37b3e65996c9bb88c3e22038ae2ca58ef",
      "tree": "dd37fb8d88a2bd68ce463f262f4fe5883337ce37",
      "parents": [
        "80907f720d95ae2c4e9579575b124816a2bbe1d4",
        "7092e268641fe57541a34fd34a41185bb20ee73c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed May 04 10:06:54 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 10:06:54 2022 +0000"
      },
      "message": "Merge \"Address Pointer Capture crash during rapid toggles\" into tm-dev"
    },
    {
      "commit": "7092e268641fe57541a34fd34a41185bb20ee73c",
      "tree": "caf5f1e29db05a1b4fcbc44532033acf48721a86",
      "parents": [
        "5d7e9601786b48e3b944c59493a8d3a982907479"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue May 03 16:51:09 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue May 03 16:51:09 2022 +0000"
      },
      "message": "Address Pointer Capture crash during rapid toggles\n\nIf an app has pointer capture enabled, and it rapidly toggles capture\noff and on, there is a high likelihood for a system crash. We can\ndeterministically reproduce this case in the tests, so we address that\nuse case here.\n\nBug: 230850070\nTest: atest inputflinger_tests\nChange-Id: I1ecacf468d48b3def30fd5844d2e25128569e289\n"
    },
    {
      "commit": "5098a11f7ebffcb98179192ff4159a2a9d7fb368",
      "tree": "1f83421781674bf8af525021f007e61ff7d04316",
      "parents": [
        "35f6eafffe1577b25f759e5aa815832b18847d24",
        "f99d6e7b3e9676d08b62fdd1ba966ccfe6c8d72d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 29 14:12:55 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 14:12:55 2022 +0000"
      },
      "message": "Merge \"Reland \"Disable mouse acceleration and scaling when Pointer Capture is enabled\"\" into tm-dev"
    },
    {
      "commit": "35f6eafffe1577b25f759e5aa815832b18847d24",
      "tree": "8aef319f20c78aa8d6db1296bff31f2ccfabfd1a",
      "parents": [
        "0ba469a719fdd9db5da6ec57d0ad6be6b1649ebd",
        "95f686177953b5558b3154269b6407b7325604dc"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Apr 29 01:32:39 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 01:32:39 2022 +0000"
      },
      "message": "Merge \"Set initial meta state to AMETA_NONE\" into tm-dev"
    },
    {
      "commit": "d4206714c9db0fe58b536de877755839643ed09e",
      "tree": "2dec2fff2bfe1a3b117ecf15cc69d2eddf72a32f",
      "parents": [
        "8e5ba105c7d1e4606f79d5ca941be1dfe57261a6"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Apr 27 13:19:15 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Apr 27 17:39:33 2022 +0000"
      },
      "message": "Address ghost spots that show up after touchscreen is re-enabled\n\nWhen touches are cancelled as a result of a touchscreen being disabled,\nthe pointers that were down when the touchscreen was disabled show up as\ntouch spots briefly while a new pointer goes down after the touchscreen\nis enabled. Remove these ghost touches.\n\nBug: 216718625\nTest: manual, see bug\nChange-Id: I4fa381da9ca0e285dff4b405cad644fcea840d9e\nMerged-In: I4fa381da9ca0e285dff4b405cad644fcea840d9e\n(cherry picked from commit 9eb4e698f70a6b0a55008671adb57d6052e3ca1c)\n"
    },
    {
      "commit": "95f686177953b5558b3154269b6407b7325604dc",
      "tree": "8057a69212761b202976129bf4fa964739bd43ca",
      "parents": [
        "f18ac6cac6c38bfaf02068fe167d3936c70469bf"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Thu Apr 07 14:08:22 2022 +0800"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Tue Apr 26 01:46:35 2022 +0000"
      },
      "message": "Set initial meta state to AMETA_NONE\n\nCurrently, the default meta state is AMETA_NUM_LOCK_ON, that may cause\nsome keyboard such as Apple Wireless Keyboard send the mismatched keys.\n\nIdeally, if the keyboard didn\u0027t contain the led key, it should not\nhandle such key to change any state, this CL temporarily set the\ninitialied state to none to prevent some unexpected behavior when\nuser connected a new keyboard.\n\nBug: 194465459\nTest: atest inputflinger_tests\nChange-Id: Iad9fc01d16444e7d40a704678d3d27cdd110765c\n"
    },
    {
      "commit": "f99d6e7b3e9676d08b62fdd1ba966ccfe6c8d72d",
      "tree": "4cf6f0382bfd40396ad67e2f1d00af7ff0578f2c",
      "parents": [
        "f467f03245da927fb34cb9e4960e7d0161d84b44"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Apr 21 15:28:35 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Apr 21 15:28:35 2022 +0000"
      },
      "message": "Reland \"Disable mouse acceleration and scaling when Pointer Capture is enabled\"\n\nThis reverts commit f467f03245da927fb34cb9e4960e7d0161d84b44.\n\nReason for revert: Relanding together with a CTS test fix.\n\nChange-Id: I7e422e0b5eb61cb376c0b77312420bbf3d0d4850\n"
    },
    {
      "commit": "6d27bbe3363e2df29b4e1443c5f3fb8069d34700",
      "tree": "93c46745a2c12a6d4c05b288dc1a0047b5ad99a1",
      "parents": [
        "00679b8ab403ce7d0433d778223d03f2d7418123",
        "f467f03245da927fb34cb9e4960e7d0161d84b44"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 19 14:27:08 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 14:27:08 2022 +0000"
      },
      "message": "Merge \"Revert \"Disable mouse acceleration and scaling when Pointer Capture is enabled\"\" into tm-dev"
    },
    {
      "commit": "f467f03245da927fb34cb9e4960e7d0161d84b44",
      "tree": "08f123ab102d2a8e684aacd382aacaf7fe2cc4ea",
      "parents": [
        "d838693827653e30e36e1a296bd65f93c000c339"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Apr 19 10:37:19 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Apr 19 10:37:19 2022 +0000"
      },
      "message": "Revert \"Disable mouse acceleration and scaling when Pointer Capture is enabled\"\n\nThis reverts commit d838693827653e30e36e1a296bd65f93c000c339.\n\nReason for revert: b/229621934\n\nChange-Id: Ia104c7cb09dabf8b28b96686adca4037dc58e82b\n"
    },
    {
      "commit": "1527529f4eccca13d2e1f897abd881c6ffd94dfe",
      "tree": "cea976884b359ea0a37763e284b7a7ddb3e93bd1",
      "parents": [
        "585d10e60084a4eb75e99bb8e62ca14102a3b03b",
        "fb3cc1164eb3b487d7c10d4c5f626e8527a37053"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Apr 15 01:46:58 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 15 01:46:58 2022 +0000"
      },
      "message": "Merge \"Fix led meta state can\u0027t be cleared by another keyboard\" into tm-dev"
    },
    {
      "commit": "d838693827653e30e36e1a296bd65f93c000c339",
      "tree": "4cf6f0382bfd40396ad67e2f1d00af7ff0578f2c",
      "parents": [
        "c52185039b5a48f1c4150183ab02fabcf2128b77"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Mar 31 18:36:52 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Apr 14 14:23:51 2022 +0000"
      },
      "message": "Disable mouse acceleration and scaling when Pointer Capture is enabled\n\nPointer Capture is usually used by games. Disabling pointer acceleration\nand speed scaling for mice when the feature is enabled would allow\ngames/libraries  to handle mouse events directly from the device, giving\nthem more flexibility to tune the behavior.\n\nThis makes Pointer Capture more similar between mice and touchpads,\nsince they both now report the same values that the raw input device\nreports. This should give the most flexibility for apps to handle the\nAPI at a low-level.\n\nBug: 225853027\nTest: atest inputflinger_tests\nChange-Id: I5eba5257ec3b47b0772a6a6435a64f5102c2c4b7\n"
    },
    {
      "commit": "fb3cc1164eb3b487d7c10d4c5f626e8527a37053",
      "tree": "dcfe0b3c45d247b6ff2728d746a241422ccb331a",
      "parents": [
        "35556594fe06f679cd1ade1350f8a65317bc70e8"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Apr 13 07:39:50 2022 +0000"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Apr 13 08:33:33 2022 +0000"
      },
      "message": "Fix led meta state can\u0027t be cleared by another keyboard\n\nCurrently, the led meta state of CapsLock, NumLock and ScrollLock would\nbe stored in to a global state. If we connected with multiple keyboards,\nand some keyboard changed the led state, others should clear their local\nled state frist then update it by the global state so we could clear the\nstate per device properly.\n\nBug: 194465459\nTest: atest inputflinger_tests\nChange-Id: I5965cf951a5ebcadc69541b9a036fb38fd428d30\n"
    },
    {
      "commit": "9fdc02c7ef3a9905b75af795c6f89215662691d2",
      "tree": "8d5c60c718512bcbe489a99e9db1af906f4469f8",
      "parents": [
        "1b23d921f4ca602bae4ec17d478cbb319ad49265",
        "4df80f58c42d56facdc79ffa5bcba041300784e9"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Apr 08 17:54:30 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 17:54:30 2022 +0000"
      },
      "message": "Merge \"Revert \"Change input injection security model to require INJECT_...\"\" into tm-dev"
    },
    {
      "commit": "d16a2ea90b52d4be6de4a9928940bfe9b2caffd8",
      "tree": "763bd56968fba6508727789b212a84b55a179315",
      "parents": [
        "822377104d9a5531c89abbd0d4ecfc22fb7cabc1",
        "7ae7afde9933c5c1a8f18ff06690555bd5d1660a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 07 22:44:06 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 07 22:44:06 2022 +0000"
      },
      "message": "Merge \"Handle multiple windows in transferTouch\" into tm-dev"
    },
    {
      "commit": "7ae7afde9933c5c1a8f18ff06690555bd5d1660a",
      "tree": "e05c44191df93be57a47c69624448221d5dcc02b",
      "parents": [
        "963291017c870adf628bff8bafd98d3c4c47fc9e"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Mar 31 15:26:13 2022 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Apr 06 22:28:16 2022 +0000"
      },
      "message": "Handle multiple windows in transferTouch\n\nAfter the recent SPY window refactor, multiple windows could be getting\ntouch gesture at the same time.\nWhen the \u0027transferTouch\u0027 API is invoked, inputdispatcher needs to find the best\nwindow which to take touch from.\n\nThe logic used to be \u0027take the display which has exactly 1 touched\nwindow, and then take that window\u0027. This breaks when spy windows are in\nuse, because now both the \u0027regular\u0027 and the spy window would be getting\nthe same touch.\n\nIn this CL, we refine the logic for which window should be losing touch.\nWe would take the first foreground window that is being touched, on the\nspecific display.\n\nWe will also now explicitly ban split touch transfers. If touch is split\nacross multiple windows (excluding spy and wallpaper windows),\ntransferTouch will fail.\n\nBug: 220077253\nTest: atest inputflinger_tests\nChange-Id: I20a24b063dc0e0103a1692f85f99849544e7ec60\n"
    },
    {
      "commit": "4df80f58c42d56facdc79ffa5bcba041300784e9",
      "tree": "47698a6383ec58801de1fc2d21e9d9bcb2b209b2",
      "parents": [
        "985a1b2d7974265ef7ec57fd2a3f96089abf2d2e"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Apr 05 18:33:16 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Apr 05 18:33:16 2022 +0000"
      },
      "message": "Revert \"Change input injection security model to require INJECT_...\"\n\nRevert submission 17125748-require-inject-events-permission\n\nReason for revert: b/228203157, b/228194124\nReverted Changes:\nIb0d66eff3:Change input injection security model to require I...\nIef1a2f10c:Update WindowInputTests after changing injection p...\nIe2d8d0c3d:Change input injection security model to require I...\n\nChange-Id: Iab079575c41821f5330002e23dc13884676a5249\n"
    },
    {
      "commit": "820a542d3b2d1b5f40c18e519a70783c75ea92d0",
      "tree": "5dec417a1acfe90c1f4c03e6795e3a347e5774bb",
      "parents": [
        "33bef8d9af044ee47bec7b2fc9a696f8686a4f73",
        "985a1b2d7974265ef7ec57fd2a3f96089abf2d2e"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Apr 05 11:04:43 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 11:04:43 2022 +0000"
      },
      "message": "Merge \"Change input injection security model to require INJECT_EVENTS permission\" into tm-dev"
    },
    {
      "commit": "468a0d49e310b396a03b5d8a4c89a08412a76f7e",
      "tree": "e7e7e7d6649ceba30a8ff6616b7a2fd5ba54ade0",
      "parents": [
        "474079d8c865100d0d2e79fde99f5e0189f0b430",
        "b60b1dcf19b19bd07ea972e8d7f0335a83042274"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 04 23:49:11 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 23:49:11 2022 +0000"
      },
      "message": "Merge \"Add tests for WATCH_OUTSIDE_TOUCH and touches outside windows\" into tm-dev"
    },
    {
      "commit": "985a1b2d7974265ef7ec57fd2a3f96089abf2d2e",
      "tree": "9d3ddb02a571d8b466b924a7f6dba32de6f901f6",
      "parents": [
        "f7c6df18ec8dcdae0d07fe5be32347ee83cdb966"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Mar 08 21:05:57 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Apr 04 17:18:05 2022 +0000"
      },
      "message": "Change input injection security model to require INJECT_EVENTS permission\n\nPreviously, any app could inject input events into the system via the\nIInputManager#injectInputEvent API. The injection was only allowed if\nthe input event targeted a window owned by the same UID as that of the\nprocess calling the API. This had drawbacks metioned in the bug.\n\nHere, we change the input injection security model so that the signature\npermission INJECT_EVENTS is required to inject events. This permission\nis given to the system and the shell, so input injection can still be\ndone through the \u0027adb shell input\u0027 command. We also allow injection from\ninstrumeted processes where the instrumentation source has the\npermission. For exmaple, running a test from the shell allows for the\ntest to inject events.\n\nWe also add support for a targeted injection mode, where the input\ninjection succeeds only if the target window for the event is owned by\nthe provided UID. This allows us to support injection from the\nInstrumentation class, which only allows for injection into windows\nowned by the same UID. In contrast to this, injection from the\nUiAutomation class will target all windows, including system and spy\nwindows.\n\nBug: 207667844\nBug: 194952792\nTest: atest inputflinger_tests\nTest: atest WindowInputTests\nTest: manual with test app: app cannot inject navigation gestures\nChange-Id: Ie2d8d0c3d784d389335401e148bf394d817bfd60\n"
    },
    {
      "commit": "f7c6df18ec8dcdae0d07fe5be32347ee83cdb966",
      "tree": "47698a6383ec58801de1fc2d21e9d9bcb2b209b2",
      "parents": [
        "70379c81822eefb7cb7f7fc7e42f1ee976b90f33",
        "48710e42b7871247e8781f082ec8aa1adbc4ab1a"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Mon Apr 04 16:03:22 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 16:03:22 2022 +0000"
      },
      "message": "Merge \"Add last interacted window check in setInTouchMode\" into tm-dev"
    },
    {
      "commit": "48710e42b7871247e8781f082ec8aa1adbc4ab1a",
      "tree": "60069ff83e6af1f2864aafd51b3c14edea756728",
      "parents": [
        "1f692ead0f1a1d8eea36298b2e94c9439da8064b"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Thu Mar 24 14:19:30 2022 -0700"
      },
      "committer": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Fri Apr 01 09:23:07 2022 -0700"
      },
      "message": "Add last interacted window check in setInTouchMode\n\nAllow touch mode switch if caller owns the focused window.\nIf no window is currently focused, then touch will be still allowed if\ncaller owned one of the previously interacted window.\n\nBug: 218541064\nTest: atest inputflinger_tests\nTest: atest InputDispatcherTouchModeChangedTests\nChange-Id: I5cfa879a6e1358efe3781061c5712707da813967\n"
    },
    {
      "commit": "ffe62451d81e8ab1170b55f725529839e89853f6",
      "tree": "e0f5301da3890295032ee0e3e214e6e102adf08d",
      "parents": [
        "963291017c870adf628bff8bafd98d3c4c47fc9e",
        "2f01d772a56167b21b23c8dd4bfaa6cb5f667443"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Apr 01 12:26:51 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 01 12:26:51 2022 +0000"
      },
      "message": "Merge \"FTL: Pull Flags into namespace\" into tm-dev"
    },
    {
      "commit": "2f01d772a56167b21b23c8dd4bfaa6cb5f667443",
      "tree": "c07e5a5bab48f726a48fa779589b25eb8559e889",
      "parents": [
        "c8df26e4e2e010f192d9111b543f9b27c4bab6d4"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Mar 23 16:01:29 2022 -0700"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Thu Mar 31 10:34:04 2022 -0700"
      },
      "message": "FTL: Pull Flags into namespace\n\nBug: 185536303\nTest: Build\nChange-Id: Ia9aafc78565414815dfc14732ce85b06fa96e17b\n"
    },
    {
      "commit": "840bc7c8dc65a258dd295a5c3c5bc388f5175327",
      "tree": "65d1164421ad7eab7916a7a4545f63bdb5ef10d2",
      "parents": [
        "c8df26e4e2e010f192d9111b543f9b27c4bab6d4",
        "8c84b80755907fdda69b89f36dd1c5c18bdd973f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 31 17:18:16 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 31 17:18:16 2022 +0000"
      },
      "message": "Merge \"Add benchmark for onWindowInfosChanged\" into tm-dev"
    },
    {
      "commit": "93ccdae23a797e920df7375be22d7e77e551bed1",
      "tree": "18c94cde5c6d85f28dbf7f503e801584d31b101c",
      "parents": [
        "f64f13e0a1c31248e968affd03e3f4a1eea520c0",
        "814ace3f256109b59ee9dc1d881887c4cb8b17ae"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Mar 31 13:52:37 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 31 13:52:37 2022 +0000"
      },
      "message": "Merge changes from topic \"presubmit-am-c81762ef3b084d75afdf183d012bec54\" into tm-dev\n\n* changes:\n  Add PreferStylusOverTouchBlocker and handle multiple devices\n  Remove PreferStylusOverTouchBlocker\n  Block touches when stylus is down\n"
    },
    {
      "commit": "814ace3f256109b59ee9dc1d881887c4cb8b17ae",
      "tree": "7f9d95a973aced16b8c6069338572328e59132f5",
      "parents": [
        "e844e01f78f98d54676d07f3a44f46ae410b9b7b"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 04 15:12:16 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 30 22:01:41 2022 +0000"
      },
      "message": "Add PreferStylusOverTouchBlocker and handle multiple devices\n\nWe removed PreferStylusOverTouchBlocker previously in order to avoid a\ncrash. In this CL, we are adding it back in, and handling the case of\ninput device having \"SOURCE_STYLUS\", but reporting \"finger\" tool type.\n\nIf there\u0027s a stylus event with one of the pointers labeled as \u0027finger\u0027,\nlet\u0027s assume that the device supports simultaneous touch and stylus. For\nthis situation, simply disable PreferStylusOverTouchBlocker going\nforward for these devices, and pass through any events coming from there.\n\nCurrently, this happens on emulator. In their touch driver, they\nconfigure stylus properties as well as touch properties, but most of the\nevents that they send are TOOL_TYPE_FINGER. Previously, this triggered a\ncrash in PreferStylusOverTouchBlocker.\n\nBug: 222531989\nTest: atest inputflinger_tests\nChange-Id: Ifbb08858a4dfebc95c30ca19d6e68533855db7e4\n(cherry picked from commit a6a660fc0aa74ea4f5930b74523cf1893b2f9282)\n"
    },
    {
      "commit": "e844e01f78f98d54676d07f3a44f46ae410b9b7b",
      "tree": "0294b4c3ef854b1075e584d464645edf66c3593b",
      "parents": [
        "f6db4c395d2fc0821a6a42aaeb88154eb7183aae"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Mar 08 11:06:34 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 30 22:01:03 2022 +0000"
      },
      "message": "Remove PreferStylusOverTouchBlocker\n\nTo prevent crash on emulator, let\u0027s disable\nPreferStylusOverTouchBlocker. A proper solution might require a re-work\nof how it operates.\n\nTest: atest inputflinger_tests\nBug: 222531989\nChange-Id: I5481e6baf284be8f254b6caec45be0478f1fe4a7\n(cherry picked from commit 2756839ae9e898d31b138be0f4e7151b76288abb)\n"
    },
    {
      "commit": "1fb18917380f77e4e8832a0aa496701a507bae69",
      "tree": "a5c789d554f7254c488a6583a1b91a70ec651927",
      "parents": [
        "a3eab26a641c071b714a6cf578be7c7ae5b8c8d3"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Mar 08 10:31:39 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 30 21:58:01 2022 +0000"
      },
      "message": "Log event information when event is dropped\n\nTo help debug cases where the windows and displays are misconfigured,\nlet\u0027s check where the touch is trying to go when the events are dropped.\n\nBug: 220241282\nTest: atest inputflinger_tests\nChange-Id: I0f678a91954a4ba2a5c6e9aca8d9200e0f368271\n(cherry picked from commit 84296558f573761ecad9c858d27917f4624e7663)\n"
    },
    {
      "commit": "8c84b80755907fdda69b89f36dd1c5c18bdd973f",
      "tree": "82381aec98e2c26275f2b77341ce58aa4a08e39b",
      "parents": [
        "910309259e46d4679bc6ebb6c12b309da5f8f0b0"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 23 15:48:41 2022 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 30 15:23:37 2022 +0000"
      },
      "message": "Add benchmark for onWindowInfosChanged\n\nThis benchmark should not have any socket writes, and will help us\ndetect whether the high variability of results we are seeing in the\nother two benchmarks could potentially come from that.\n\nResults:\n\narm64-v8a inputflinger_benchmarks: Passed: 3, Failed: 0, Ignored: 0, Assumption Failed: 0,\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nBenchmark                             Time         CPU       Iteration\n--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\ninputflinger_benchmarks:\n  #benchmarkNotifyMotion            125573 ns    90766 ns         5699\n  #benchmarkInjectMotion            123218 ns    91416 ns         6341\n  #benchmarkOnWindowInfosChanged     10888 ns    10000 ns        65385\n\nBug: 210926970\nTest: atest inputflinger_benchmarks (see results above)\nChange-Id: I1d0b6f00c3d4fa74188c7493129ed9515f3246d2\n(cherry picked from commit 1873e93a324fbdb9bc447fd06044c95462ee1e31)\n"
    },
    {
      "commit": "6dfbf2694b2ee846ac9bbe6f5fd52db515f36719",
      "tree": "e0098d73bd8c5bbbef0d5ff5b021bcd0750fc6ca",
      "parents": [
        "1a56d1f7c417a764b805f79a16bdda78543376f1"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Mar 14 15:24:30 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Mar 21 22:43:23 2022 +0000"
      },
      "message": "InputDispatcher: Do not drop ongoing gesture if a window is no longer a spy\n\nThe old InputDispatcher policy was that for all touch events, there had\nto be at least one touched foreground window or spy window. If not, we\ndropped the event.\n\nThis caused events to be dropped if a handwriting interceptor spy window\nchanged its configuration mid-gesture to no longer be a spy. To get\naround this, we define non-touchable and spy windows as windows that\n\"cannot be foreground\", and require at least one touched foreground\nwindow or at least one touched window that cannot be foreground.\n\nBug: 221908983\nTest: atest inputflinger_tests\nTest: manual: ensure Scribe works\nChange-Id: If5fcbf6f4f784184377434f71f1ac121517b023a\n"
    },
    {
      "commit": "b0237800d03177a5466753f794f27ccdb5eb79a1",
      "tree": "e879c6ac6c87e517491c416e089f826e8d3b475a",
      "parents": [
        "a65063331f22513c42777ee5ce9b4028cde128d0",
        "2ee6d0ba7d362ed956b5e10a6809059757bc0a41"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Mon Mar 21 05:54:17 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 05:54:17 2022 +0000"
      },
      "message": "Merge \"Reset intercept key wake time when receving up event\" into tm-dev"
    },
    {
      "commit": "93ec0b46672b48d42a5c28514fce8cfcdc71ccc8",
      "tree": "9d8075a01d44062fe0b7aab267161c01b4351e9b",
      "parents": [
        "1685423df9e71db7ef9108e678002364cbe714e6",
        "fcf7524db0988a043ef52ee4830b221ca31a5a6e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 18 15:49:59 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 18 15:49:59 2022 +0000"
      },
      "message": "Merge \"Avoid using raw pointers in QueuedInputListener\" into tm-dev"
    },
    {
      "commit": "2ee6d0ba7d362ed956b5e10a6809059757bc0a41",
      "tree": "afdfd0c4dcf7916a2fe285101096c1d2a729e771",
      "parents": [
        "0af0bba332d95574f4ecc574efcf66d6cd65814a"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Thu Mar 03 20:19:38 2022 +0800"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Mar 18 03:59:20 2022 +0000"
      },
      "message": "Reset intercept key wake time when receving up event\n\nThe policy need to handle the key shortcuts via policy callbacks,\nand it may have a pending timeout in order to detect the combination\nkeys. If the pending key event has already known an up event has been\nqueued, we could reset the wake time to speed up the processing for it\nmay be handled in policy or not.\n\nBug: 220669913\nTest: atest inputflinger_tests\nChange-Id: Ic002b770632e15506fd2f581fc8716b26ea3626c\n"
    },
    {
      "commit": "b60b1dcf19b19bd07ea972e8d7f0335a83042274",
      "tree": "c7bcb0d2fab521ba7df475558f8b62ac274b7693",
      "parents": [
        "7038a1157eb6d3e47baf5c6f7b85bea915e2febc"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Mar 15 14:02:35 2022 +0000"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Mar 15 19:28:13 2022 +0000"
      },
      "message": "Add tests for WATCH_OUTSIDE_TOUCH and touches outside windows\n\nThese tests document the current behavior on InputDispatcher.\n\nBug: 214087836\nTest: atest inputflinger_tests\nChange-Id: Icfa3cab08b117073028156f5535d0f2ea8e82e78\n"
    },
    {
      "commit": "39cece1e5998f57cee998eb57ecfc582e907ed81",
      "tree": "c333a9479a5b6b90e0193bb8fcec41e750b4a4bf",
      "parents": [
        "cc71acd1976b58ae68eb38f32bd0716f49044d44",
        "289e924965353af063aa21bb0d2a88d4c2b342a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 10 17:01:31 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 10 17:01:31 2022 +0000"
      },
      "message": "Merge \"Ensure stale event does not cause ANR\" into tm-dev"
    },
    {
      "commit": "4eaf8abdcc78d2fc1a536c90bfd548830334c04c",
      "tree": "2ccef47c36090fbe065da0c1a3f1352f2154fcd6",
      "parents": [
        "32ab698341fa5861e67bae4f15c9f1ac155b7b44",
        "25a4935990d111628e497fbff655ab3632541ba7"
      ],
      "author": {
        "name": "Anis Assi",
        "email": "anisassi@google.com",
        "time": "Thu Mar 10 03:50:44 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 10 03:50:44 2022 +0000"
      },
      "message": "Merge \"Adding svv@google.com as fuzzer owner to receive performance alerts.\" am: d114f93758 am: 49b973ab5c am: 25a4935990\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2016696\n\nChange-Id: I20aa55a3cdfc3c8bbbe9a57332477a99dfddfb30\n"
    },
    {
      "commit": "289e924965353af063aa21bb0d2a88d4c2b342a0",
      "tree": "2cc61ea31a5c86adec7a2bce645ed92bb466c596",
      "parents": [
        "10839214ab36ce794569a870ca1ec153e648e34f"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Feb 15 14:50:16 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 09 01:15:06 2022 +0000"
      },
      "message": "Ensure stale event does not cause ANR\n\nDoes a stale key event cause \u0027no focused window\u0027 ANR? It shouldn\u0027t, but\nit wasn\u0027t already covered by tests.\n\nAdding a test for that here to explicitly check the behaviour.\n\nBug: 219401047\nTest: atest inputflinger_tests:InputDispatcherSingleWindowAnr\nChange-Id: I0b1e33a7e705a4b968e3159bd15c70f00eda0191\n(cherry picked from commit 673ce1e6dd1b18a293afacd6fc4e549a2e904f63)\n"
    },
    {
      "commit": "d96387b2117b5ef734c80834e30c4d6b930c139f",
      "tree": "12e671eac2c887ee66a69fe2ce7cd5551c1b9002",
      "parents": [
        "2cf9e0d3d051fd3d8d3f35d0af4cf26e2b8f75fa"
      ],
      "author": {
        "name": "Anis Assi",
        "email": "anisassi@google.com",
        "time": "Tue Mar 08 20:02:03 2022 +0000"
      },
      "committer": {
        "name": "Anis Assi",
        "email": "anisassi@google.com",
        "time": "Tue Mar 08 20:10:11 2022 +0000"
      },
      "message": "Adding svv@google.com as fuzzer owner to receive performance alerts.\n\nBug: 221891733\nChange-Id: Iedf2da7243111669936f0a438dfb8d84b876d847\n"
    },
    {
      "commit": "fcf7524db0988a043ef52ee4830b221ca31a5a6e",
      "tree": "37b80f463994c093a7bf6cbacdf5c2d3e151b1ba",
      "parents": [
        "7038a1157eb6d3e47baf5c6f7b85bea915e2febc"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Feb 28 14:57:08 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Mar 08 17:38:16 2022 +0000"
      },
      "message": "Avoid using raw pointers in QueuedInputListener\n\nThe previous code was correct, but we can simplify it by converting to\nunique_ptr.\nThis should give us a different crash signature next time, and maybe\nprovide us with more clues about the cause.\n\nBug: 217647732\nTest: atest inputflinger_tests\nChange-Id: I700de2bea60a4fc1cac65e9bc6ac082d863e52b1\n(cherry picked from commit 542398ea57f3f55ed16c7bb49e5ec080b7d1f79c)\n"
    },
    {
      "commit": "506d7d39f326646f98f11deb930966c2a4374611",
      "tree": "9c580e41ef6453fd5be70047c78d66cf5b9b24d4",
      "parents": [
        "813c67feff60b84bf252ffa033d5dfac2b93f974",
        "a16e3a2485bce02876339854ddc74c9ae5cd93ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 07 21:12:27 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 21:12:27 2022 +0000"
      },
      "message": "Merge \"Add tests for some split touch cases\" into tm-dev"
    },
    {
      "commit": "d61e371bfdccda9c02659c2058c608ce1b955685",
      "tree": "8b461ddda4a0690f19a719a602682a37d15e7508",
      "parents": [
        "c36a1ccb9981eb7a4b255e83a53b8e82c9d30bd4",
        "63138b62d2e72fb4da55bb2d0abf90d9ca3cc751"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 07 17:35:17 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 17:35:17 2022 +0000"
      },
      "message": "Merge \"Make InputDispatcher logs available dynamically\" into tm-dev"
    },
    {
      "commit": "63138b62d2e72fb4da55bb2d0abf90d9ca3cc751",
      "tree": "a519e53320098cb35f02d45ad2dd566041c713a0",
      "parents": [
        "e6ab1387eb6a01668c5768b56942028064b9b155"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Mar 03 11:33:19 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 04 16:15:58 2022 +0000"
      },
      "message": "Make InputDispatcher logs available dynamically\n\nThis will allow us to turn on these logs without having to rebuild and\nmake it easier to debug.\n\nBug: 211915757\nTest: adb shell setprop log.tag.InputDispatcherFocus DEBUG\nTest: check that the logs get enabled\nChange-Id: Ie1b1445e52b71c373933d085367d74bf568b5462\n(cherry picked from commit f2f827c5dcb38e8788a9b8fb76f615d8a462178a)\n"
    },
    {
      "commit": "a16e3a2485bce02876339854ddc74c9ae5cd93ae",
      "tree": "18e3242c2067e141832f6e889299a46308266688",
      "parents": [
        "e6ab1387eb6a01668c5768b56942028064b9b155"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 02 15:26:40 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Mar 04 16:14:57 2022 +0000"
      },
      "message": "Add tests for some split touch cases\n\nTest the situations where the first touch is either going into an empty\narea, or onto a non-touchable window.\n\nBug: 214087836\nTest: atest inputflinger_tests\nChange-Id: Ic734c0508af0d004c499a45067e006e6741e8457\n(cherry picked from commit 59b8118f74adc02c882d24254eabef6f488a378a)\n"
    },
    {
      "commit": "51e7db07902f5dc7b19f8b45cfc0f2b66764cdda",
      "tree": "e570db74f05a126412ac8d25e900d49be974bfa5",
      "parents": [
        "1077ad7fe5a1fc7d5323a049b4e8935f60329457"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 07 06:02:57 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Mar 03 17:01:33 2022 +0000"
      },
      "message": "WindowInfo: Merge InputConfig and Feature flags\n\nMerge the two flags in native code. We move the InputConfig flag\ndefintions to AIDL since we will be using the flags in Java as part of\nthe InputWindowHandle API next.\n\nInputFeatureFlags are now a WM-only flag, but is temporarily used by\nInputWindowHandle until the cleanup is completed.\n\nBug: 216806304\nTest: atest libgui_test\nTest: atest inputflinger_tests\nChange-Id: I82d6de35b30d9cd4bcaf61499216c8faf407e885\n"
    },
    {
      "commit": "f6db4c395d2fc0821a6a42aaeb88154eb7183aae",
      "tree": "9402b92676ca4d1d335f24c3124840fa07623381",
      "parents": [
        "1077ad7fe5a1fc7d5323a049b4e8935f60329457"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Feb 10 19:46:34 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Mar 02 22:43:24 2022 +0000"
      },
      "message": "Block touches when stylus is down\n\nSince we haven\u0027t yet added simultaneous touch and stylus support, let\u0027s\nimprove the user experience by blocking all touch when the stylus is\ndown.\n\nBug: 210159205\nTest: atest inputflinger_tests\nChange-Id: Id6a6467d7feb7c7d91770ddbd63b92583832d504\n(cherry picked from commit a3c8e51901d17f696838d3e8260464f7437468a5)\n"
    },
    {
      "commit": "a2718479cdde45a7b13f0c3df5d2a5647de10e38",
      "tree": "d8741ba9c7df7d9b306c27e91edd43da31a41cb3",
      "parents": [
        "7709f7fdb7b78d4b11ef25e6f9508b89383883d2",
        "edd964005381ca31d938266dde223094c0036d77"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 01 19:08:41 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 19:08:41 2022 +0000"
      },
      "message": "Merge \"Support ANRs from windows that are not tracked by WM\" into tm-dev"
    },
    {
      "commit": "8e6ce224398316a809ac21ba661ba2c4ed9704c7",
      "tree": "26607d8b071eb84e74500b86c93ab7b82010e026",
      "parents": [
        "e73b8065221ff4afb123615646cb2a842906367c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 24 09:08:54 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 28 21:45:39 2022 +0000"
      },
      "message": "Fix input injection with zero coords\n\nIn the native MotionEvent class, setting an axis value to 0 is\nequivalent to removing the axis from the bitfield of valid axes. This is\nbecause getting an axis value that is not set in the bitfield will\nreturn 0 by default.\n\nThis means that we cannot rely on the bitfield of valid axes to know\nexactly which axes are valid, since all axes are always valid with a\ndefault value of 0.\n\nRather than transforming only the axies that are set in the bitfield, we\nadd a helper function to MotionEvent to transform the entire\nPointerCoords.\n\nBug: 219711163\nTest: manual, see bug: adb shell input draganddrop 665 531 0 531 1000\nChange-Id: I335beebf8263a38f180f2f4c6a788fbd69d15a6f\nMerged-In: I335beebf8263a38f180f2f4c6a788fbd69d15a6f\n(cherry picked from commit 890532e49c0e329c0c462fb2733c5ae27a395b7b)\n"
    },
    {
      "commit": "edd964005381ca31d938266dde223094c0036d77",
      "tree": "fb7ed15f9bb5902034e8e250db4980711d86f92e",
      "parents": [
        "e73b8065221ff4afb123615646cb2a842906367c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 15 01:46:16 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 28 21:43:20 2022 +0000"
      },
      "message": "Support ANRs from windows that are not tracked by WM\n\nPreviously, ANRs for gesture monitors were reported using the pid of the\nowner, and ANRs for all windows were reported using its input channel,\nwhich was tracked by WM.\n\nNow, there can be input windows that are not tracked by WM. We unify the\nANR reporting pipeline so that we first try to report an ANR using the\nwindow\u0027s input channel. If the ANR reporting fails because the input\nchannel was not tracked by WM, we fall back on reporting ANR via the\npid of the window owner.\n\nBug: 210978621\nTest: atest inputflinger_tests\nChange-Id: I7f71186e042b0fc9df7d342a549ef609ff4862ae\nMerged-In: I7f71186e042b0fc9df7d342a549ef609ff4862ae\n"
    },
    {
      "commit": "62105c711321adedaee041fbe4eb0a5480e285ff",
      "tree": "4bf06963607a54821c23e6a5a9f9bbb733609e50",
      "parents": [
        "1648aa42cf7c2dd127ca886e4916a4db1af240e9"
      ],
      "author": {
        "name": "HQ Liu",
        "email": "hql@google.com",
        "time": "Mon Feb 14 17:11:52 2022 -0800"
      },
      "committer": {
        "name": "HQ Liu",
        "email": "hql@google.com",
        "time": "Tue Feb 22 11:55:20 2022 -0800"
      },
      "message": "FocusRequest token can be nullable\n\nWhen a freeform app is focused but its window is not ready, the input\nfocus on the window of the previously focused app should be removed.\nTo do so, a FocusRequest needs to be send to the InputFlinger, and there\nwill be no token because the new window is not ready. Change token to be\nnullable, so InputRequest can be pass to FocusResolver.\n\nBug: 216852742\nTest: atest AnrTests#slowOnCreateWithKeyEventTriggersAnr\nChange-Id: If2ed666a17576557a602a8e46494d8c66d8ce89f\n"
    },
    {
      "commit": "7b6e9fe12e04b2ca04cb51bb3d11aa83b4b52bfa",
      "tree": "67e51b84bae3ea788e895802662539b2bbfdd081",
      "parents": [
        "dad39514a2ec8886f99aa287801700bc6de78761",
        "6d5b4b2d103b0355bd705fe963bdd9e4a612b180"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 16 14:49:46 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 14:49:46 2022 +0000"
      },
      "message": "Merge \"Let touch screen and joystick could be associated with the display\""
    },
    {
      "commit": "6d5b4b2d103b0355bd705fe963bdd9e4a612b180",
      "tree": "241dcf4db48235182874f71717e9687962e54ee8",
      "parents": [
        "b6c7a01c17a5c3dceceed6c6793b0161b87e50f9"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Jan 21 07:21:10 2022 +0000"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Feb 16 13:02:59 2022 +0000"
      },
      "message": "Let touch screen and joystick could be associated with the display\n\nCurrently, an input device could be associated with a display by the\nspecific port or uniqueId. But in TouchInputMapper and\nJoystickInputMapper, it didn\u0027t aware that the InputDeivce already had\nsuch association.\nThis CL will let them could assign the corresponding displayId.\n\nBug: 215631144\nTest: atest inputflinger_tests\nChange-Id: I6e1593998c6a397245856dcc708c5f192bcaa9bd\n"
    },
    {
      "commit": "06349040a46db18701ddff7cdd87da22ee7ba27c",
      "tree": "20b66d324b6ead0a668c0a3060c9479000449114",
      "parents": [
        "76bdecb09d6a124838edf8495ce90ef4dc0cc3c8"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 04 09:19:17 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 15 05:44:30 2022 -0800"
      },
      "message": "Remove the concept of TOUCH_MODAL from input\n\nWe remove modal windows from input. WM will configure modal windows\nitself using touchableRegion.\n\nBug: 216806304\nTest: atest inputflinger_tests\nChange-Id: I9593865213216b420ab9b5c5b853298f01dabcc6\n"
    },
    {
      "commit": "76bdecb09d6a124838edf8495ce90ef4dc0cc3c8",
      "tree": "10e1efb117dfae6af53da5e485d142e254a37665",
      "parents": [
        "dc70e405ce7d09659f83dbb234da61570dbdcee1"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 31 11:14:15 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 15 05:44:30 2022 -0800"
      },
      "message": "Invert some InputConfig flags to simplify default behavior\n\nInvert NOT_TOUCH_MODAL to TOUCH_MODAL, and SPLIT_TOUCH to\nPREVENT_SPLITTING. Modal windows and windows that prevent splitting are\nexceptional behaviors, so we make sure that these show up when\noutputting flag values using ftl::Flags::string().\n\nBug: 216806304\nTest: atest inputflinger_tests\nChange-Id: I7cadcc830f06ff0c63da3b61a1a7580cb031f0c2\n"
    },
    {
      "commit": "dc70e405ce7d09659f83dbb234da61570dbdcee1",
      "tree": "cc4044488ec8a8b3e8bcbf619ca28c4ffb48a55f",
      "parents": [
        "17b449fc647318859bbdefb87b7a2103ee40faf8",
        "4d5c52ff1615c8cbcfe2f5209884245bba711e7c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 15 13:33:02 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 15 13:33:02 2022 +0000"
      },
      "message": "Merge \"Introduce WindowInfo::InputConfig flag to control input behavior\""
    },
    {
      "commit": "07bc0ace6c52af402d756701f27a9aa5faa4c8a1",
      "tree": "1a7b7dbb34ddc27376cc27b26e46b8a2f47fe58f",
      "parents": [
        "032ad49a02ac3286c441aaf5cebd4ba4bc81e16e",
        "f4d65b13e5de418c660a3338bba1366c920d568a"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Feb 14 15:42:15 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 14 15:42:15 2022 +0000"
      },
      "message": "Merge \"Add a debug flag to convert all touch pointers to stylus\""
    },
    {
      "commit": "4d5c52ff1615c8cbcfe2f5209884245bba711e7c",
      "tree": "93402d7892b9d109737e5bf9a8186316959dcb75",
      "parents": [
        "f24d8d6d71a865b4e6409420c42356c8bfd1bc87"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Mon Jan 31 08:52:10 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 11 08:16:38 2022 -0800"
      },
      "message": "Introduce WindowInfo::InputConfig flag to control input behavior\n\nInstead of re-using layoutParams flags and layoutParam types and having\nredundant information in WindowInfo, we add a new InputConfig flag that\nthe native input pipeline will use for all input window configurations.\n\nThis also reduces WindowInfo\u0027s size by converting booleans into flags.\n\nBug: 216806304\nTest: atest libgui_test\nTest: atest inputflinger_tests\nChange-Id: If0354cc2cfc84986f7f0d48cd9348be1ff82293d\n"
    },
    {
      "commit": "df4b06747d86ade656ad8aeaaabd21b08aa4f828",
      "tree": "4baf2d90300e72eb394a6c4645e80b5261eaefa9",
      "parents": [
        "9df93aa6c7a50401d4f2a121cdbc51ea27e77a3b",
        "34d6fef6b1b33991677f0d9d0ac74f8f43c95092"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Feb 10 19:34:43 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 10 19:34:43 2022 +0000"
      },
      "message": "Merge \"Use InputProcessor instead of InputClassifier\""
    },
    {
      "commit": "9d926a80e4dba8000efadf9474bb133fa19b7eec",
      "tree": "887e1ac9ddbee3715c43ac96c3ffa28a1d036986",
      "parents": [
        "41071ee72cd62af58bf206bf99547384bb2b800c",
        "26defcf502b181037a640a86d510905bbbc16b02"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Thu Feb 10 17:20:07 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 10 17:20:07 2022 +0000"
      },
      "message": "Merge \"(TouchMode Permission 2.4/n) Update touch mode tests\""
    },
    {
      "commit": "f4d65b13e5de418c660a3338bba1366c920d568a",
      "tree": "2e33a53fc9e8ffa3b6169b72fbb26c8d92b10664",
      "parents": [
        "f24d8d6d71a865b4e6409420c42356c8bfd1bc87"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 10 07:15:38 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 10 08:26:24 2022 -0800"
      },
      "message": "Add a debug flag to convert all touch pointers to stylus\n\nWhen the sysprop `persist.debug.input.simulate_stylus_with_touch`\nis set, all pointers reported by TouchInputMapper will be converted\ninto stylus pointers.\n\nChanges to the flag will require a reboot to take effect.\n\nBug: 217741685\nTest: manual\nChange-Id: I7723be718354872509a9e85beda10acdbe25dd48\n"
    },
    {
      "commit": "26defcf502b181037a640a86d510905bbbc16b02",
      "tree": "c6ecbdbdd9d7166557f44fdb54614eec5b0315f2",
      "parents": [
        "7c60b886d46e8bf76f19c00130b9bc3d28cd2f6d"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Tue Feb 08 01:12:27 2022 +0000"
      },
      "committer": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Thu Feb 10 02:47:26 2022 +0000"
      },
      "message": "(TouchMode Permission 2.4/n) Update touch mode tests\n\nBug: 198487159\nTest: atest inputflinger_tests\nChange-Id: Id2feceb1629aa463bc9a5101c77d6b6f17b08cfb\n"
    },
    {
      "commit": "8e9a856f72a004b6597deebceda91ceeea655c08",
      "tree": "a8276f59396ea7b06b1d4045ca5394f0be4af729",
      "parents": [
        "7c60b886d46e8bf76f19c00130b9bc3d28cd2f6d"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Feb 09 13:44:29 2022 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Feb 10 01:56:57 2022 +0000"
      },
      "message": "Enable Android clang-tidy checks for inputflinger\n\nMostly just adding CLOEXEC to any operations that open a new fd.\n\nBug: 218657035\nTest: build\nChange-Id: Iae1a32bfdbb663759fb347af7e3426b03d5f831f\n"
    },
    {
      "commit": "34d6fef6b1b33991677f0d9d0ac74f8f43c95092",
      "tree": "3e086a464d3957aa94491c0d6551945f9bdd9bb8",
      "parents": [
        "484873c9f26358d0e94b5b8298310c3ff8c093a1"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Feb 01 19:03:45 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Feb 09 12:07:21 2022 -0800"
      },
      "message": "Use InputProcessor instead of InputClassifier\n\nConvert InputClassifier to aidl and use it inside framework\u0027s\nInputClassifier.\n\nBug: 167946763\nTest: verified on the actual device\nChange-Id: I62520d424a42bead59904d5a9accea5325b9e8cb\n"
    },
    {
      "commit": "019eb662800b12c98bb07d8fea992bf30f02c13b",
      "tree": "5204d61a30f1d969a4c412689264024239129400",
      "parents": [
        "08d8e537870db7aa945ac786d7bc27b2bc0d8c2c"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Tue Feb 08 13:41:52 2022 -0800"
      },
      "committer": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Tue Feb 08 13:41:52 2022 -0800"
      },
      "message": "Update TODO bug in setInTouchMode\n\nBug: 218541064\nTest: atest inputflinger_tests\nChange-Id: If00d7c197ea6bf88111a13d2661d0641ce65aed6\n"
    },
    {
      "commit": "f24d8d6d71a865b4e6409420c42356c8bfd1bc87",
      "tree": "0841c73b0cd3ed570e18d6c9013aca0339a4ac95",
      "parents": [
        "109f3c00964ce9f1c010646672d771842397131c",
        "1c58c0d96d2101c25652692a89796d208afc522b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 05 07:29:57 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 05 07:29:57 2022 +0000"
      },
      "message": "Merge changes If3d6ea21,Iab8360f2\n\n* changes:\n  WindowInfo: Remove unused field portalToDisplayId\n  InputDispatcher: Allow spy window to receive entire gesture after pilfer\n"
    },
    {
      "commit": "28bcd4b22559bdb50a2d631cc2ed6552bd8de819",
      "tree": "c89b1bb5a467d57d1df26c131483cbbd9c9c7d2f",
      "parents": [
        "eb5d1b58b79f043b1a5b01c77a0a139af85c757d",
        "ea47acbc4cd80a1c440d9e721add52ec23c7bb5b"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Fri Feb 04 22:42:56 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 04 22:42:56 2022 +0000"
      },
      "message": "Merge \"(TouchMode Permission 2.1/n) Add permission check when switching touch mode\""
    },
    {
      "commit": "e680f9bf169792dca2dd95b789a59354cb3bcb13",
      "tree": "19060ebddd64f04725ac1f3a5507ad7dd1b0406b",
      "parents": [
        "b0977e0f2f6ef1c250ce8b1075d8c9a4c241774c"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 04 04:24:00 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Feb 04 10:03:28 2022 -0800"
      },
      "message": "InputDispatcher: Allow spy window to receive entire gesture after pilfer\n\nAfter a spy window pilfers pointers, it should be albe to receive any\nnew pointers within its touchable bounds.\n\nBug: 217376964\nTest: atest inputflinger_tests\nChange-Id: Iab8360f2f8e3db978cf6c68f19a538b28f7dfac1\n"
    },
    {
      "commit": "b0977e0f2f6ef1c250ce8b1075d8c9a4c241774c",
      "tree": "7c566890de3629a6f2735869aeb44fc4d2e4dc72",
      "parents": [
        "fb7b7a4d70964f5753b7638d222ed8d7b4753c36",
        "dfabf8a8f21a4c186e8a4410c68f52484b3cae42"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 04 12:54:51 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 04 12:54:51 2022 +0000"
      },
      "message": "Merge \"InputDispatcher: Remove gesture monitor implementation\""
    },
    {
      "commit": "dfabf8a8f21a4c186e8a4410c68f52484b3cae42",
      "tree": "b6e2876744f8b54b594d775a371d1b06e765d7bc",
      "parents": [
        "1376fcd48480139fc36f6a7c54952961d2959a43"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 21 08:19:30 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Feb 03 02:40:40 2022 -0800"
      },
      "message": "InputDispatcher: Remove gesture monitor implementation\n\nBug: 162194035\nTest: atest inputflinger_tests\nChange-Id: I4404c9625f879d805aabdbda6d502dac1d0cd881\n"
    },
    {
      "commit": "d2f163706c069639aef10939e9bd41f2fdaaa739",
      "tree": "93db6b08529b39eaca1291ddcaf8395a70146ab3",
      "parents": [
        "84505726244d3845735c0bd6aee7e96e4968745f",
        "1376fcd48480139fc36f6a7c54952961d2959a43"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 02 21:27:12 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 02 21:27:12 2022 +0000"
      },
      "message": "Merge \"InputDispatcher: Update tests to verify spy window gesture monitors\""
    },
    {
      "commit": "a3ab87ae7608955fea5c96e3fbd1d36bbec417f9",
      "tree": "7cea1db04f726c5fc356218a3dfff24f7ca780e4",
      "parents": [
        "9f9dccb229a762c3722a40a9a94638526e71a3f8"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Thu Jan 27 10:00:21 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Wed Feb 02 16:29:45 2022 +0000"
      },
      "message": "InputDispatcher_test: Fix death tests\n\n1. All death tests should be in a test suite with a name ending in\n   \"DeathTest\".\n2. Silence signal reporting to supress debuggerd stack traces on a\n   per-test basis and prevent expected deaths from showing up in system\n   stability metrics.\n\nBug: 212662036\nTest: atest inputflinger_tests\nChange-Id: Idc070b4c13eea270f76294a3c21f4553363017dc\n"
    },
    {
      "commit": "ea47acbc4cd80a1c440d9e721add52ec23c7bb5b",
      "tree": "a7d9c4cb102a03fa51ddb0fc91ffb390fc37fe91",
      "parents": [
        "8d5a43763e4ce489466600678b74ee2ba324a833"
      ],
      "author": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Thu Dec 23 12:41:25 2021 -0800"
      },
      "committer": {
        "name": "Antonio Kantek",
        "email": "kanant@google.com",
        "time": "Tue Feb 01 23:23:51 2022 +0000"
      },
      "message": "(TouchMode Permission 2.1/n) Add permission check when switching touch mode\n\nThis CL adds the following permission checks when switching touch mode state:\n1. Allow touch mode switch if caller is granted with MODIFY_TOUCH_MODE_STATE;\n2. If caller is not granted with MODIFY_TOUCH_MODE_STATE, touch mode\nstate change will be allowed if the caller\u0027s uid matches the focused\nwindow owner\u0027s uid.\n\nTouch mode switch will be denied if none of the conditions above match.\n\nBug: 198487159\nTest: atest inputflinger_tests\nTest: atest libinput_tests\n\nChange-Id: Ic704682ac41fe470207d9be132b4c0f1a8019f39\n"
    },
    {
      "commit": "1376fcd48480139fc36f6a7c54952961d2959a43",
      "tree": "a9e3c1c556182974cc8c62cbbea0f08217bc4db9",
      "parents": [
        "a27a21081f4d4b29454acef431d4bbde5cc9a87f"
      ],
      "author": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Fri Jan 21 09:56:35 2022 -0800"
      },
      "committer": {
        "name": "Prabir Pradhan",
        "email": "prabirmsp@google.com",
        "time": "Tue Feb 01 09:40:07 2022 -0800"
      },
      "message": "InputDispatcher: Update tests to verify spy window gesture monitors\n\nBefore we enable spy window gesture monitors, we update the tests to\nensure that the behavior of a gesture monitor will not change when its\nimplementation is switched to a spy window.\n\nBug: 162194035\nTest: atest inputflinger_tests\nChange-Id: Id2130d782a04abbdcbf0cc412e53ad849ccb9275\n"
    },
    {
      "commit": "fba97961aefcfa8fa2d4eb1cb45fbe5a41b9ef8e",
      "tree": "ba6947a6dafcf267f502d30131492f3311b668ab",
      "parents": [
        "d66080249411f358496dc206cf1d8ee836c43a36",
        "60a1588747b29c274f5eee5478c4f6c8bd932e55"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 31 23:34:00 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 31 23:34:00 2022 +0000"
      },
      "message": "Merge changes from topic \"link libinput dynamically for tests\"\n\n* changes:\n  Use C++20 in libinput\n  Revert \"Link libinput statically for inputflinger_tests\"\n"
    },
    {
      "commit": "599126ca2f033c17642dfeb0848a7fbd4ca4b60e",
      "tree": "e42116b39ccc832a1b0e4029e77934c09f49893d",
      "parents": [
        "25d42b5a2339ee29d4c52cab00ebcbcdb0496fd1",
        "ba0a8758240241a852d7fd78603be5c10cb0f05c"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 21:38:42 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 31 21:38:42 2022 +0000"
      },
      "message": "Merge \"Add ChromeOS palm rejection model\""
    },
    {
      "commit": "60a1588747b29c274f5eee5478c4f6c8bd932e55",
      "tree": "b87aa8b8933a9342348a5215557ea520c40551fe",
      "parents": [
        "031498c9cb01b608ae6127641b55d7d8fdea8234"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 09:00:15 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 10:50:27 2022 -0800"
      },
      "message": "Use C++20 in libinput\n\nThis is needed to support features like default comparators.\n\nBug: 217165277\nBug: 216232380\nTest: atest inputflinger_tests\nChange-Id: Ifb8b074678e87b56271b207c1806d8b41b1ee9e9\n"
    },
    {
      "commit": "031498c9cb01b608ae6127641b55d7d8fdea8234",
      "tree": "4234b7354efec878d0107ce030831f077e677a17",
      "parents": [
        "ba0a8758240241a852d7fd78603be5c10cb0f05c"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 18:43:20 2022 +0000"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 10:50:27 2022 -0800"
      },
      "message": "Revert \"Link libinput statically for inputflinger_tests\"\n\nThis reverts commit bb19287fee88ab0437f7c79dbbc792f121db6b91.\n\nReason for revert: causes a crash in inputflinger_tests b/217165277\n\nBug: 217165277\nTest: atest inputflinger_tests\n\nChange-Id: I7174d75ccc7e323646c503070174d6791570d394\n"
    },
    {
      "commit": "ba0a8758240241a852d7fd78603be5c10cb0f05c",
      "tree": "c3ed943e4502a6d3af9c44359c1b788cfabc0296",
      "parents": [
        "c22af23cc8c884ecfbdbc44883b350402e6ece00"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Sep 14 14:43:25 2021 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Mon Jan 31 09:37:53 2022 -0800"
      },
      "message": "Add ChromeOS palm rejection model\n\nThis model will be used to block palm presses. It takes in a stream of\nevdev events, and reports back the pointers which should be considered\npalm.\n\nBug: 198472780\nTest: atest libpalmrejection_test inputflinger_tests\nTest: \"adb shell device_config put input_native_boot\npalm_rejection_enabled 0\" and make sure that \"adb shell dumpsys input\"\nshows that there aren\u0027t any palm rejectors inside\nUnwantedInteractionBlocker\n\nChange-Id: If979d335af29cf5e93b26336fea56a3a895cc562\n"
    },
    {
      "commit": "24cb2435d74260618e330436e9b8284457c04e62",
      "tree": "93b8008adb7c5441de800d2a44612d42583945b2",
      "parents": [
        "9c116bd7d1236ead78a87fe9a58d287f1fdd4430",
        "785482543d33b17f4452bed8d1f560521c0f24f3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 29 18:36:11 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 29 18:36:11 2022 +0000"
      },
      "message": "Merge \"Multiply stale event detection threshold by HwTimeoutMultiplier\""
    },
    {
      "commit": "ce2d5b6830dceb7b7ceea0bf1a94e884b204ff1b",
      "tree": "a0633e3990d873c4f6ed491ec695002e7578ee09",
      "parents": [
        "624d5609e9fb34442a08fedc6d5e89f34a1ae04a",
        "2a2293c804c6ade6ab7192b6b619ee247c7064a5"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Fri Jan 28 18:16:06 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 28 18:16:06 2022 +0000"
      },
      "message": "Merge \"Update uniqueId association native methods\""
    },
    {
      "commit": "785482543d33b17f4452bed8d1f560521c0f24f3",
      "tree": "5f74776da00adf5ab221464200019dabeb242185",
      "parents": [
        "bc8ab0211f5693e6f8901b9484894ac5c651fc9e"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Thu Jan 27 19:32:46 2022 +0000"
      },
      "committer": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Fri Jan 28 14:34:12 2022 +0000"
      },
      "message": "Multiply stale event detection threshold by HwTimeoutMultiplier\n\nBug: 202433017\nChange-Id: I76c71865238d43712cd0af020505a32a21db3ed9\nTest: presubmit\n"
    },
    {
      "commit": "bb19287fee88ab0437f7c79dbbc792f121db6b91",
      "tree": "96249d824fe4fa72af038262158ac7f0ec9003e1",
      "parents": [
        "e123883bbd92a1fd95c77fa5ea9eb267f8d9878c"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Dec 09 17:14:49 2021 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Jan 28 01:10:19 2022 -0800"
      },
      "message": "Link libinput statically for inputflinger_tests\n\nLinking statically makes it easier to debug tests by letting developer\nadd logs to libinput and have that reflected in the \u0027atest\u0027 runs for\ninputflinger_tests without having to resync.\n\nAlso in this CL, enable C++20 for libinput, which would allow us to do\nthings like specify the default comparison operator.\n\nBug: 167946763\nTest: cd services/inputflinger \u0026\u0026 atest\nChange-Id: Iaa3f2e34d79fa000ef42b74237efae6233b44674\n"
    },
    {
      "commit": "e123883bbd92a1fd95c77fa5ea9eb267f8d9878c",
      "tree": "d469c3b036bb5c913eb376cc5e30acaa9e96377e",
      "parents": [
        "bc8ab0211f5693e6f8901b9484894ac5c651fc9e"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Dec 09 17:14:49 2021 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Fri Jan 28 01:07:17 2022 -0800"
      },
      "message": "Add libpalmrejection_test to inputflinger presubmit\n\nThe libpalmrejection library is going to be used in the input code, so\nlet\u0027s run the libpalmrejection_test unit test whenever we change input\ncode to prevent regressions.\n\nBug: 198472780\nTest: cd services/inputflinger \u0026\u0026 atest\nChange-Id: I4fabb51395b758c578bdef967899c76d17959c18\n"
    },
    {
      "commit": "390c0e9bf784711e4f4040f36d57d80dace70f58",
      "tree": "078d2e362e2d312bad8d4835832849316ccfd1a2",
      "parents": [
        "bc5f68fd1e3c3874a6c0832530254f8f1081fa2e",
        "0174738c28994b2c710c52cf0ebcfc51013ed833"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 27 17:03:39 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 27 17:03:39 2022 +0000"
      },
      "message": "Merge \"Add static_asserts for the size of InputMessage\""
    },
    {
      "commit": "0174738c28994b2c710c52cf0ebcfc51013ed833",
      "tree": "2fcb46706b8de111c67dacbbcad2cd6502e9e403",
      "parents": [
        "93970282ff05dbec8a387df40f89f2812b3ccfae"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 20 13:23:27 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed Jan 26 23:34:16 2022 -0800"
      },
      "message": "Add static_asserts for the size of InputMessage\n\nInside InputTransport.cpp, we are reading and writing InputMessages.\nThis is done in the following way:\n\nread\n::recv(getFd(), msg, sizeof(InputMessage), MSG_DONTWAIT);\n\nwrite\n::send(getFd(), \u0026cleanMsg, msgLength, MSG_DONTWAIT | MSG_NOSIGNAL);\n\nWe are sending a variable-length message across the socket, and\nreceiving a maximum of sizeof(InputMessage) when reading it.\n\nIn this CL, we are adding asserts on the _maximum_ length of the message\nthat we would send across the socket. Since we typically only have a few\npointers at most, while MAX_POINTERS\u003d16, in reality the communication\nbetween system_server and app will use much less data.\n\nHowever, it\u0027s still useful to add these asserts to understand the\nworst-case scenario of message transfer.\n\nBug: 167946763\nTest: m StructLayout_test\nChange-Id: I281ecea62b392dea56936d031ab9c4ee18add93f\n"
    },
    {
      "commit": "2a2293c804c6ade6ab7192b6b619ee247c7064a5",
      "tree": "3c4df322ebcb0153ed68bfec20f46b8c303d3208",
      "parents": [
        "e1d187233e664764023c38bfb98069e45c01afdb"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Tue Jan 18 11:51:16 2022 -0800"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Wed Jan 26 02:08:33 2022 -0800"
      },
      "message": "Update uniqueId association native methods\n\nChange the association mechanism from names to physical port locations\n(PHYS). In addtion, read and match the associations for touchscreens as\nwell as for cursor input devices.\n\nBug: 202273865\nTest: atest inputflinger_tests\nChange-Id: I4ed2f140d2125833f239ffcb16f5efff9d342acf\n"
    },
    {
      "commit": "46d8a1e86d7a922c3ba4b08ccdd05e01ed4d9175",
      "tree": "97db70ef810567c59cdf69ef0413e8a3aa11969a",
      "parents": [
        "6db68e1d8390a145bbfeb62e2f392052b1d5868a"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Wed Jan 05 16:11:48 2022 -0800"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Jan 24 11:09:52 2022 -0800"
      },
      "message": "Add pointer acceleration native APIs\n\nBug: 202273865\nTest: manual\nChange-Id: I61cca8e313f183ff421147d25f11819959e4345a\n"
    },
    {
      "commit": "6db68e1d8390a145bbfeb62e2f392052b1d5868a",
      "tree": "375f4364423ea0e110b826ab7dfb955c4d29db48",
      "parents": [
        "8850555f49cbd94ce3daaa9f2ea6fbd967c56987",
        "4af3b3dcdfe9e8174d766f59e20e133df89be179"
      ],
      "author": {
        "name": "Philip Junker",
        "email": "philipjunker@google.com",
        "time": "Mon Jan 24 18:39:17 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 24 18:39:17 2022 +0000"
      },
      "message": "Merge \"Add API to get KeyCode produced by physical key location.\""
    },
    {
      "commit": "4af3b3dcdfe9e8174d766f59e20e133df89be179",
      "tree": "f8abd1e2c2323d876b21fa20242104dc552191f8",
      "parents": [
        "f22b3b79abb741f7e44dc359c621592bfba450fe"
      ],
      "author": {
        "name": "Philip Junker",
        "email": "philipjunker@google.com",
        "time": "Tue Dec 14 10:36:55 2021 +0100"
      },
      "committer": {
        "name": "Philip Junker",
        "email": "philipjunker@google.com",
        "time": "Fri Jan 21 18:01:04 2022 +0100"
      },
      "message": "Add API to get KeyCode produced by physical key location.\n\nThe physical key location is provided as a location KeyCode pointing to a location on a US keyboard layout.\n\nBug: 179812917\nTest: atest KeyboardLayoutChangeTest\nTest: atest android.hardware.input.cts.tests -m\nTest: atest inputflinger_tests -m\nChange-Id: Ib5ed41890cbbe393ee9ada1a04cbaaf82c9bb1fc\n"
    },
    {
      "commit": "b768bb488e050f7edbcc85986e061f569e05275d",
      "tree": "63fad12dd6fed6d0e5369520d79e0e7fcc0fa4b7",
      "parents": [
        "0054f4122db1b93d617e8a58c604fdba23684256"
      ],
      "author": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Mon Nov 29 12:11:31 2021 -0800"
      },
      "committer": {
        "name": "Christine Franks",
        "email": "christyfranks@google.com",
        "time": "Thu Jan 20 10:28:41 2022 -0800"
      },
      "message": "Add pointer capture eligibility native APIs\n\nBug: 202273865\nTest: manual\nChange-Id: I98a31f4cae1a12f45f789cb1344a258e3de30317\n"
    },
    {
      "commit": "6dbd0ce22d86e487b000d4eac75af35c1ffec58e",
      "tree": "6b67a592ebd2ff3d7ab81ad09de6be273d7ab46b",
      "parents": [
        "08843dfa88678ab317a4f2515f716e8e21c0f349"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 13 01:24:14 2022 -0800"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Thu Jan 13 01:52:37 2022 -0800"
      },
      "message": "Use std::vector in Input.h\n\nConvert old code from android\u0027s Vector to std::vector.\n\nBug: 167946763\nTest: atest libinput_tests\nChange-Id: I5c53583f6f1e5d577882d94d356f23bdd516be1e\n"
    },
    {
      "commit": "741b99e6b9cbf7b8f65fe25fedfb378bd670dd72",
      "tree": "905c6c167994a9854017398392411ad1bede99da",
      "parents": [
        "e7b13cfa8c730d8245937f5fc024f39de833ddf9",
        "6f28d23f07e70a91157880b5c9d9423c388de92d"
      ],
      "author": {
        "name": "Philip Junker",
        "email": "philipjunker@google.com",
        "time": "Mon Jan 10 17:23:50 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 10 17:23:50 2022 +0000"
      },
      "message": "Merge \"Fix KeyCharacterMap overlays by reloading base overlay before applying another overlay.\" into sc-v2-dev am: 6f28d23f07\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/16576705\n\nChange-Id: I77c772f65602f64e71d791dcfa3ea13ec98ff0b3\n"
    },
    {
      "commit": "d1592bead8fead0a463eecc60a60760093b2d8ab",
      "tree": "d54a2d581a91d53e6afca6abcf18104c8725d036",
      "parents": [
        "635a67ff79be796950890578244ca05d2d186dff",
        "fd97e9d9ceadcbd129f67b984dd84556c0588c04"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 07 23:04:39 2022 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 07 23:04:39 2022 +0000"
      },
      "message": "Merge \"Add integration test that clarifies behaviour of ACTION_POINTER_UP\""
    }
  ],
  "next": "bd25272fd2bc1fecfbab257b9a9d1e2e251786ec"
}
