summaryrefslogtreecommitdiff
path: root/cmds/uinput
AgeCommit message (Collapse)Author
2025-03-19uinput: fix end-of-file handling Harry Cutts
Change I69c2cb651cd871ea0ceea9702c66b76abb37285a inadvertently broke evemu playback from a file, because when getNextEvent() called CommentAwareReader#isAtEndOfFile(), CommentAwareReader#findNextLine() hadn't been called, so it hadn't realized it was at the end of the file. That meant expectLine() failed because acceptLine() returned null. This wasn't caught because when used in "interactive mode" (e.g. with a test passing one line at a time and checking the injections), the parsing exception only occurred at the end, by which time all events had been injected. When passing a whole recording at once (either by setting the command-line parameter or piping a file into standard input), the parsing error occurred before any of the scheduled event injections. The unit tests for EvemuParser didn't check the behaviour of getNextEvent() at the end of the recording, something which this change also fixes. Test: $ adb shell uinput - < some-recording.evemu Test: $ adb shell uinput /sdcard/some-recording.evemu Test: make an evemu recording with only an 'N:' line and check the special EOF parsing error message shows up Test: $ atest --host UinputTestsRavenwood Test: $ atest \ InputTests:com.android.test.input.UinputRecordingIntegrationTests Bug: 367419268 Flag: TEST_ONLY Change-Id: I1f0e185cf42b3d57b0b384718ffeeb78d99248c5
2025-03-14uinput: don't read next line of evemu recording until peek Harry Cutts
When EvemuParser "accepts" a line of an evemu recording (i.e. it's found the line type it was expecting and is ready to process it), it calls CommentAwareReader#advance() before processing the current line. advance() was reading the next line of the file, ready for peeking, even though the current line hadn't been processed yet. When playing from standard input, this meant that a line wouldn't be executed until the next one was written, requiring a no-op line to be added to the end of event recordings. To fix this, only load the next line when peekLine() is called after the advance(). Test: $ atest --host UinputTestsRavenwood Test: $ atest InputTests:com.android.test.input.UinputRecordingIntegrationTests Bug: 367419268 Flag: TEST_ONLY Change-Id: I69c2cb651cd871ea0ceea9702c66b76abb37285a
2025-02-07uinput: add Ravenwood test target Harry Cutts
The unit tests for the uinput command don't currently use any Android APIs, but can't be run on the host. Add a Ravenwood test target so that they can. Test: $ atest --host UinputTestsRavenwood Bug: 245989146 Flag: TEST_ONLY Change-Id: I150efac6e6d1fff83a48f0ad7d895d315fb736de
2025-01-15Update documentation for uinput command's bus values Harry Cutts
The set of accepted values was massively widened in change Ie2f969da24db9aa04037335d5b697cdc0db0b3ca, but the documentation wasn't updated. Bug: 245989146 Change-Id: I7fceaddc5e70ba85c94ce4a92fb5d74e3a22093f Test: check gitiles rendering Flag: DOCS_ONLY
2024-10-07Merge "Use jni_libs to install shared library dependency" into main am: ↵ Spandan Das
8019d1d864 am: 7914cfdf2f Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3292767 Change-Id: I01c3bf061f21ca939d64f83c36e1fb6f9708986e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-10-03Use jni_libs to install shared library dependency Spandan Das
`jni_libs` is more specific than `required`, and allows Soong to be more restrictive when creating the dependency edge from the java_binary to the cc_library. Bug: 370110572 Test: m installclean && m <javabin> Test: verified that the jni libs are installed in out/target/product/... Change-Id: I52857314eed5944971b8f5993879a9609f1ea24e
2024-10-01uinput: note that UI_SET_EVBIT configuration is always needed Harry Cutts
If you don't add a UI_SET_EVBIT configuration entry to a register command, the other configuration entries will just be silently ignored. This isn't very obvious to someone not familiar with the uinput Kernel API, so let's add a note about it in the README. Bug: 245989146 Test: check rendering in Gitiles Flag: DOCS_ONLY Change-Id: I290bafb276a8caf0639f062eff16aeff32bac8d0
2024-09-05Merge "uinput: add recording for simulating a touchpad connection" into main ↵ Treehugger Robot
am: 45fbeacbe8 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3257056 Change-Id: I17be0ba4a82a6396881c7d5ec57b8bf42dee7e0e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05Merge "uinput: add recording for simulating a touchpad connection" into main Treehugger Robot
2024-09-05uinput: add recording for simulating a touchpad connection Harry Cutts
I was going to add this to some internal documentation, but realized that it could also be useful for external contributors. Bug: 355739040 Change-Id: Icc87633c29a0688c4842184aeb29c574c57ba8d6 Test: check touchpad settings appear after running $ adb shell uinput - < test-touchpad.evemu
2024-04-23Merge "uinput: fix timestamps for JSON-style recordings" into main Harry Cutts
2024-04-23uinput: fix timestamps for JSON-style recordings Harry Cutts
The previous changes to support specifying timestamps for evemu recordings inadvertently made injections from JSON-style recordings have the timestamps at which the injection was scheduled, not when it happened, causing many events to be injected with very close-together timestamps. This broke drawing in the tests for some inking libraries, such as Keep's. Bug: 330844071 Test: $ atest 'PlatformScenarioTests:android.platform.test.scenario.sysui.stylus.StylusInkingTest#writeText_appearsInShowcaseApp' (with the @Ignore in StylusInkingTest.kt removed) Test: replay the recording from b/330844071#comment30, check the curve is drawn correctly Test: replay an evemu recording and check that the timestamps shown by `getevent -lt` are still correct Change-Id: I5342a79d4f9b53875b9918443bf1f5fd16cd205e
2024-04-03uinput: add updateTimeBase command Harry Cutts
The recent change to how event injections are scheduled causes problems when a client waits a considerable time after a device registration before sending a lot of events separated by delays. The long wait means that many of the events get scheduled in the past, so they're all injected at once, filling the kernel's buffers and causing events to be dropped. The updateTimeBase command allows the client to tell us that the long delay is intentional, and that the following injections should be scheduled relative to the current time, rather than the previous injections or the registration. [0]: change Ieaa4f2f06d5e0b7d13abc3afa474948996db7c0a Bug: 330844071 Test: check for SYN_DROPPED events in the output of: $ adb shell getevent -lt while running the inking test: $ atest 'PlatformScenarioTests:android.platform.test.scenario.sysui.stylus.StylusInkingTest#writeText_appearsInShowcaseApp' Change-Id: I31c596251e27149da16270a23f4f57e7bb8e3460
2024-02-12Reland "uinput: delay from the end of the last delay" Harry Cutts
(This CL is unchanged. Original description below, with additional Test: line) If we want to inject events at predictable times, then we shouldn't take into account the current time when scheduling those injections, as that could change depending on the timings of the process sending commands to uinput. Instead, assume that the process sending commands intends time offsets between injected events to be as close as possible to those specified in the delay commands. Bug: 310958309 Test: atest CtsInputTestCases Test: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \ android.view.cts.input.InputDeviceSensorManagerTest \ --rerun-until-failure=10 Change-Id: Ieaa4f2f06d5e0b7d13abc3afa474948996db7c0a
2024-02-12Reland "uinput: Specify timestamps when injecting events..." Harry Cutts
The reland fixes an issue where the time at registration would be used for timestamp values forever unless `delay` commands were introduced. (Original description, with additional Test line:) Last year support for specifying timestamps for uinput events was added to the Linux Kernel [0]. This allows us to give precise timestamps for events being played back from an evemu recording, despite the actual times at which we inject them being imprecise due to how threads and the kernel are scheduled. [0]: https://lore.kernel.org/lkml/20230427000152.1407471-1-biswarupp@google.com/ Bug: 310958309 Test: with the patch added to the device's kernel, play back pointing stick and touchscreen recordings. Compare `getevent -lt` output with the timestamps in the recordings to check that the offsets between timestamps match (e.g. using a spreadsheet). Test: atest UinputTests Test: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \ android.view.cts.input.InputDeviceSensorManagerTest \ --rerun-until-failure=10 Change-Id: Icf77e8adba075ab070806311f31c6a5e1bd98bc9
2024-02-12Reland "uinput: use nanoseconds for delay durations" Harry Cutts
(This CL is unchanged. Original description below, with additional Test: line) evemu recordings use microseconds for their time intervals, but we can only schedule handler calls in Device at millisecond precision. So far we've converted the microseconds into milliseconds in EvemuParser, which means that the precision losses compound over time (since each delay will be slightly shorter than it should be, and the next delay will start from that slightly earlier time, etc.). Keeping the delay durations in a more precise unit up until the very last moment means that we'll only get the precision loss once for each event. Since it's somewhat uncommon to use microseconds elsewhere in Android code, and we get the system time in nanoseconds, we may as well use nanoseconds rather than microseconds. Bug: 310958309 Test: play an evemu recording through uinput Test: atest UinputTests Test: atest android.view.cts.input.InputDeviceKeyLayoutMapTest \ android.view.cts.input.InputDeviceSensorManagerTest \ --rerun-until-failure=10 Change-Id: Ibb968487ed114a4c464ac7061af4cda188e92498
2024-02-12Merge changes from topic "revert-26154399-CXYXSETNUA" into main Harry Cutts
* changes: Revert "uinput: use nanoseconds for delay durations" Revert "uinput: Specify timestamps when injecting events from evemu" Revert "uinput: delay from the end of the last delay"
2024-02-11Revert "uinput: use nanoseconds for delay durations" Solti Ho
Revert submission 26154399 Reason for revert: b/324707605 Reverted changes: /q/submissionid:26154399 Change-Id: Ie1e20baefa998f0b69fd56ffa780ea3d3cd038db
2024-02-11Revert "uinput: Specify timestamps when injecting events from evemu" Solti Ho
Revert submission 26154399 Reason for revert: b/324707605 Reverted changes: /q/submissionid:26154399 Change-Id: I2a9bc83e94a28691a1e3c6e3aaa8bb6d77ab17a5
2024-02-11Revert "uinput: delay from the end of the last delay" Solti Ho
Revert submission 26154399 Reason for revert: b/324707605 Reverted changes: /q/submissionid:26154399 Change-Id: Ib4ab9a80e74ad5bfec005dd2744458a60bdedde1
2024-02-09uinput: add missing version ID assertion Harry Cutts
Seems I missed this TODO when I added version ID support in commit d9505841eda9829354cb2b81afea2138d5555a10. Bug: 302297266 Test: atest UinputTests Change-Id: If7071266be531fd82d8301c26df405476f614cb2
2024-02-09Merge changes I3ceab49b,If486cdb7,I68d54c05 into main Harry Cutts
* changes: uinput: delay from the end of the last delay uinput: Specify timestamps when injecting events from evemu uinput: use nanoseconds for delay durations
2024-02-08uinput: delay from the end of the last delay Harry Cutts
If we want to inject events at predictable times, then we shouldn't take into account the current time when scheduling those injections, as that could change depending on the timings of the process sending commands to uinput. Instead, assume that the process sending commands intends time offsets between injected events to be as close as possible to those specified in the delay commands. Bug: 310958309 Test: atest CtsInputTestCases Change-Id: I3ceab49bd6f492244e53d3263bf10802353853c2
2024-02-08uinput: Specify timestamps when injecting events from evemu Harry Cutts
Last year support for specifying timestamps for uinput events was added to the Linux Kernel [0]. This allows us to give precise timestamps for events being played back from an evemu recording, despite the actual times at which we inject them being imprecise due to how threads and the kernel are scheduled. [0]: https://lore.kernel.org/lkml/20230427000152.1407471-1-biswarupp@google.com/ Bug: 310958309 Test: with the patch added to the device's kernel, play back pointing stick and touchscreen recordings. Compare `getevent -lt` output with the timestamps in the recordings to check that the offsets between timestamps match (e.g. using a spreadsheet). Test: atest UinputTests Change-Id: If486cdb7218918aca64e6561f9fc2f30acce736a
2024-02-08uinput: use nanoseconds for delay durations Harry Cutts
evemu recordings use microseconds for their time intervals, but we can only schedule handler calls in Device at millisecond precision. So far we've converted the microseconds into milliseconds in EvemuParser, which means that the precision losses compound over time (since each delay will be slightly shorter than it should be, and the next delay will start from that slightly earlier time, etc.). Keeping the delay durations in a more precise unit up until the very last moment means that we'll only get the precision loss once for each event. Since it's somewhat uncommon to use microseconds elsewhere in Android code, and we get the system time in nanoseconds, we may as well use nanoseconds rather than microseconds. Bug: 310958309 Test: play an evemu recording through uinput Test: atest UinputTests Change-Id: I68d54c05214ae778167adfd0d3fc9a345454c336
2024-02-02uinput: recycle SomeArgs after opening uinput Harry Cutts
SomeArgs objects are held in a pool, which gets depleted if they're not recycled after use, lowering performance. Bug: 245989146 Test: play back an evemu recording Change-Id: I0d5109f654bd61eb2b3ef68a2ce7a3ab07371ded
2024-01-09uinput: mention evemu format in README Harry Cutts
Bug: 302297266 Test: check rendering and links in Gitiles Change-Id: I47e9c1efd5656c3dca20672e7da4fe4417b28803
2023-11-22uinput: set device version IDs from evemu files Harry Cutts
Bug: 302297266 Test: atest UinputTests Test: play a recording with version ID set, check `getevent -li` output while it's running Change-Id: Idd3b6166a3912c26720dddbf4ad72b5a07a604a5
2023-11-22uinput: report evemu parsing errors Harry Cutts
Bug: 302297266 Test: run with various broken recordings, check error messages are helpful and have correct line numbers Change-Id: Iad0e788815c9d146babe67568a6ceef27b68007f
2023-11-22uinput: add unit tests for evemu parsing Harry Cutts
Bug: 302297266 Test: atest UinputTests Change-Id: I7b4c6fa87f6ba50147f3ddeb9b8e4ceaa238ffc1
2023-11-22Merge "uinput: support evemu recordings" into main Harry Cutts
2023-11-21uinput: support evemu recordings Harry Cutts
evemu [0] is a system used by the wider Linux community to record sequences of evdev events and descriptions of the device that created them. Together with the evemu-record implementation added to frameworks/native, implementing support for evemu recordings in uinput gives us a system for event recording and replay that's compatible with other Linux systems. Since the format looks quite different from the existing JSON-style one, we can automatically detect which type of data is being passed in, instead of having to change the command-line interface. As part of the implementation, the Event.Bus enum is replaced with plain integers. This allows the tool to support new bus IDs that are added to Linux's input.h without code changes, at least for evemu files. [0]: https://gitlab.freedesktop.org/libevdev/evemu Bug: 302297266 Test: replay recordings made using Android and FreeDesktop evemu-record implementations Change-Id: Ie2f969da24db9aa04037335d5b697cdc0db0b3ca
2023-11-17Merge "uinput: crash if device creation fails" into main Harry Cutts
2023-11-17Merge "uinput: pass Commands to Event.Builder.setCommand" into main Harry Cutts
2023-11-16uinput: pass Commands to Event.Builder.setCommand Harry Cutts
Parsing strings into enum values should be done by the parser, not the builder, and this means that the evemu parser will be able to pass properly typed values to setCommand rather than "magic" strings. Bug: 302297266 Test: m uinput Change-Id: Icac5764a66025412c87c326280d1895f3da78cac
2023-11-16uinput: crash if device creation fails Harry Cutts
Previously the tool just carried on, with event injections being silently dropped, which isn't very obvious behaviour. Bug: 302297266 Test: cause device creation to fail somehow, check the tool exits Change-Id: I94e931729339bff0f6fc7ab5b591f062043a1d7a
2023-11-16uinput: report errors from configuration ioctls Harry Cutts
This came in useful when debugging the evemu support, and seems like something we should be checking anyway. Bug: 302297266 Test: pass some invalid arguments (e.g. large numbers that aren't valid event codes) to the ioctls, check errors are logged Change-Id: Id3e32dad96c9db8819009b815ee2574ef63e96f7
2023-11-14uinput: improve Event.Builder API Harry Cutts
Rename setDuration and associated identifiers to make the units clearer, fix a typo in setInputport, and add some JavaDoc to clarify the structure of configuration arrays. Bug: 302297266 Test: m uinput Change-Id: I9b9ae8970389da3cdfe06738883ef02ebf07ff77
2023-11-14uinput: use enum valueOf method Harry Cutts
This makes the Command and UinputControlCode enums and the code to look up their values a little tidier. Bug: 302297266 Test: atest CtsInputHostTestCases Change-Id: Iad98088b93dc1e1b72df1efbeb9010f78c6962e9
2023-11-14uinput: move Event.Reader to its own file Harry Cutts
We'll shortly be adding a parser for a different file format (evemu), and having the different parsers in separate files will make the code nicer to navigate. In addition to moving it to a separate file, this CL renames Reader to JsonStyleParser to avoid confusion with Java's Reader classes, and replaces some switch statements with the new-style switch syntax to improve readability. Bug: 302297266 Test: atest CtsInputHostTestCases Change-Id: Id6c7536a2caea3b61fac615dce071129bf4dc1e4
2023-09-28uinput: document the port field for device registration Harry Cutts
Bug: 245989146 Change-Id: I84dfce5d216a5065611bf63f61e803a93e76b58f Test: check gittiles rendering
2023-08-11Uinput: Add sync command to get a response when the command is processed Prabir Pradhan
Bug: 294275314 Test: manual Change-Id: Ie522ff44aa1cb7ceb7f21a23d6dd68efd1845f7c
2023-08-11Uinput: Use enums for commands Prabir Pradhan
Bug: 294275314 Test: manual, presubmit Change-Id: I928da2ad53afa91bc9fe7b0dc9cddeb3c918c6a2
2023-07-28Uinput shell command: Support string literals for evdev event codes Prabir Pradhan
Using the evedev event label strings directly in the uinput device's command will make the commands much more readable and developer friendly. Bug: 293327283 Test: atest CtsInputTestsCases Change-Id: I56ac7b228613ddffae3fec5261885de54db78c2c
2023-07-24uinput: tidy up the README Harry Cutts
The main changes are: * Describe how multiple commands are passed to `uinput` * Split details about waiting after device registration into its own section * Add details on the JSON extensions `uinput` uses * Change example code blocks to JSON5 syntax to better accommodate the JSON extensions * Use absolute links to Android Codesearch instead of relative ones * Fix various Markdown issues and improve formatting Bug: 280604085 Test: check rendering in Google Markdown Change-Id: Ic6d5f3e9d1415fcd9425b1afc767574a65556578
2022-08-31Merge "Fix module-file name collisions" am: cdaa8466e0 am: eb143ce893 am: ↵ Cole Faust
d951dc17cb am: a71665d073 am: 0422abefde Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2201115 Change-Id: Id586e151130447a16a0a921f62e96e500913fab4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-29Fix module-file name collisions Cole Faust
Bazel doesn't allow a module and file with the same name. Bug: 198619163 Test: m ime, verified it was still installed to out/target/product/emulator64_x86_64/system/bin/ime and not ime.sh Change-Id: I214e190e159a7aff9149e77146d1a493992e885d
2022-07-28Uinput command: allow duplicate configuration entries for a type Prabir Pradhan
Make the uinput command more robust by allowing multiple configuration entries for the same "type" by concatenating the "data". With this change, the following configuration: "configuration": [ {"type": 100, "data": [1, 3]} // UI_SET_EVBIT : EV_KEY, EV_ABS ] can also be written as: "configuration": [ {"type": 100, "data": [1]}, // UI_SET_EVBIT : EV_KEY {"type": 100, "data": [3]} // UI_SET_EVBIT : EV_ABS ] Bug: 240493155 Test: atest TouchScreenTest Change-Id: Id18d42ceba28ac68b02ef12525cd2384c948f9a8
2022-03-21Expose input association to be testable Arthur Hung
- Expose api via TestApi - Add ASSOCIATE_INPUT_DEVICE_TO_DISPLAY permission to Shell - Add port for uinput command Bug: 215631144 Test: atest CtsInputTestCases Ignore-AOSP-First: Permission that should be kept internal until T releases Change-Id: I55f2141aabceb71475f5e7f7d590b2f95e05c5aa
2021-02-23[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base Bob Badour
Added SPDX-license-identifier-Apache-2.0 to: apct-tests/perftests/contentcapture/Android.bp apct-tests/perftests/inputmethod/Android.bp apex/appsearch/Android.bp apex/appsearch/framework/Android.bp apex/appsearch/service/Android.bp apex/appsearch/testing/Android.bp apex/jobscheduler/service/jni/Android.bp apex/media/service/Android.bp cmds/abx/Android.bp cmds/uinput/Android.bp cmds/uinput/jni/Android.bp core/tests/GameManagerTests/Android.bp core/tests/batterystatstests/BatteryStatsLoadTests/Android.bp core/tests/batterystatstests/BatteryStatsViewer/Android.bp core/tests/devicestatetests/Android.bp libs/WindowManager/Shell/tests/flicker/Android.bp libs/WindowManager/Shell/tests/flicker/test-apps/flickerapp/Android.bp libs/androidfw/fuzz/cursorwindow_fuzzer/Android.bp native/android/tests/activitymanager/UidImportanceHelperApps/Android.bp native/android/tests/activitymanager/nativeTests/Android.bp packages/SettingsLib/BannerMessagePreference/Android.bp packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp packages/SettingsLib/EmergencyNumber/Android.bp packages/SettingsLib/FooterPreference/Android.bp packages/SettingsLib/MainSwitchPreference/Android.bp packages/SettingsLib/TopIntroPreference/Android.bp packages/SettingsLib/UsageProgressBarPreference/Android.bp packages/overlays/AccentColorAmethystOverlay/Android.bp packages/overlays/AccentColorAquamarineOverlay/Android.bp packages/overlays/AccentColorBlackOverlay/Android.bp packages/overlays/AccentColorCarbonOverlay/Android.bp packages/overlays/AccentColorCinnamonOverlay/Android.bp packages/overlays/AccentColorGreenOverlay/Android.bp packages/overlays/AccentColorOceanOverlay/Android.bp packages/overlays/AccentColorOrchidOverlay/Android.bp packages/overlays/AccentColorPaletteOverlay/Android.bp packages/overlays/AccentColorPurpleOverlay/Android.bp packages/overlays/AccentColorSandOverlay/Android.bp packages/overlays/AccentColorSpaceOverlay/Android.bp packages/overlays/AccentColorTangerineOverlay/Android.bp packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.bp packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.bp packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.bp packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.bp packages/overlays/DisplayCutoutEmulationTallOverlay/Android.bp packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.bp packages/overlays/DisplayCutoutEmulationWideOverlay/Android.bp packages/overlays/FontNotoSerifSourceOverlay/Android.bp packages/overlays/IconPackCircularAndroidOverlay/Android.bp packages/overlays/IconPackCircularLauncherOverlay/Android.bp packages/overlays/IconPackCircularSettingsOverlay/Android.bp packages/overlays/IconPackCircularSystemUIOverlay/Android.bp packages/overlays/IconPackCircularThemePickerOverlay/Android.bp packages/overlays/IconPackFilledAndroidOverlay/Android.bp packages/overlays/IconPackFilledLauncherOverlay/Android.bp packages/overlays/IconPackFilledSettingsOverlay/Android.bp packages/overlays/IconPackFilledSystemUIOverlay/Android.bp packages/overlays/IconPackFilledThemePickerOverlay/Android.bp packages/overlays/IconPackKaiAndroidOverlay/Android.bp packages/overlays/IconPackKaiLauncherOverlay/Android.bp packages/overlays/IconPackKaiSettingsOverlay/Android.bp packages/overlays/IconPackKaiSystemUIOverlay/Android.bp packages/overlays/IconPackKaiThemePickerOverlay/Android.bp packages/overlays/IconPackRoundedAndroidOverlay/Android.bp packages/overlays/IconPackRoundedLauncherOverlay/Android.bp packages/overlays/IconPackRoundedSettingsOverlay/Android.bp packages/overlays/IconPackRoundedSystemUIOverlay/Android.bp packages/overlays/IconPackRoundedThemePickerOverlay/Android.bp packages/overlays/IconPackSamAndroidOverlay/Android.bp packages/overlays/IconPackSamLauncherOverlay/Android.bp packages/overlays/IconPackSamSettingsOverlay/Android.bp packages/overlays/IconPackSamSystemUIOverlay/Android.bp packages/overlays/IconPackSamThemePickerOverlay/Android.bp packages/overlays/IconPackVictorAndroidOverlay/Android.bp packages/overlays/IconPackVictorLauncherOverlay/Android.bp packages/overlays/IconPackVictorSettingsOverlay/Android.bp packages/overlays/IconPackVictorSystemUIOverlay/Android.bp packages/overlays/IconPackVictorThemePickerOverlay/Android.bp packages/overlays/IconShapeHeartOverlay/Android.bp packages/overlays/IconShapePebbleOverlay/Android.bp packages/overlays/IconShapeRoundedRectOverlay/Android.bp packages/overlays/IconShapeSquareOverlay/Android.bp packages/overlays/IconShapeSquircleOverlay/Android.bp packages/overlays/IconShapeTaperedRectOverlay/Android.bp packages/overlays/IconShapeTeardropOverlay/Android.bp packages/overlays/IconShapeVesselOverlay/Android.bp packages/overlays/NavigationBarMode2ButtonOverlay/Android.bp packages/overlays/NavigationBarMode3ButtonOverlay/Android.bp packages/overlays/NavigationBarModeGesturalOverlay/Android.bp packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.bp packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.bp packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.bp packages/overlays/OneHandedModeGesturalOverlay/Android.bp packages/services/CameraExtensionsProxy/Android.bp services/core/java/com/android/server/speech/Android.bp services/musicrecognition/Android.bp services/searchui/Android.bp services/smartspace/Android.bp services/tests/PackageManagerServiceTests/host/libs/IntentVerifyUtils/Android.bp services/tests/PackageManagerServiceTests/host/test-apps/DeviceSide/Android.bp services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifier/Android.bp services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifierTarget/Android.bp services/tests/PackageManagerServiceTests/host/test-apps/UsesStaticLibrary/Android.bp services/tests/PackageManagerServiceTests/unit/Android.bp services/tests/inprocesstests/Android.bp services/tests/mockingservicestests/jni/Android.bp services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp services/texttospeech/Android.bp services/translation/Android.bp tests/BatteryStatsPerfTest/Android.bp tests/FlickerTests/test-apps/Android.bp tests/Input/Android.bp tests/SilkFX/Android.bp tests/SurfaceViewBufferTests/Android.bp tests/UpdatableSystemFontTest/Android.bp tests/UpdatableSystemFontTest/testdata/Android.bp tests/benchmarks/internal/Android.bp tools/powerstats/Android.bp tools/processors/intdef_mappings/Android.bp tools/xmlpersistence/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I1b8d155a26a1a589a38abedea5f7f366e00346c6