Fix back button event handling

When not in direct manipulation mode, inject back button events so
that the application can handle them. Returning false for captured
events doesn't allow them to propogate to the application. The code
to inject events was already present but it was only being called in
direct manipulation mode.

Test: Manual on Seahawk and emulator built from source so it includes
https: //android-review.googlesource.com/c/platform/external/qemu/+/1878757/:
  1. Follow steps in the bug
  2. Rotary Playground Sys UI Manipulation slider
  3. Adjust brightness in Settings
  4. Adjust brightness in Quick Controls
Bug: 207152818
Change-Id: Idc59880fd864264da11239567568e5b60723c00a
1 file changed
tree: aa3088604f03e14266b829438f5655243c44b9f4
  1. proto/
  2. res/
  3. src/
  4. tests/
  5. tools/
  6. .gitignore
  7. Android.bp
  8. AndroidManifest.xml
  9. OWNERS
  10. PREUPLOAD.cfg
  11. readme.md
  12. TEST_MAPPING
readme.md

Car rotary service

Building

make CarRotaryController -j64

Enable/disable RotaryService

To enable, run:

adb shell settings put secure enabled_accessibility_services com.android.car.rotary/com.android.car.rotary.RotaryService

To disable, run:

adb shell settings delete secure enabled_accessibility_services

Inject events

Inject RotaryEvent

To rotate the controller counter-clockwise, run:

adb shell cmd car_service inject-rotary

For clockwise, run:

adb shell cmd car_service inject-rotary -c true

To rotate the controller multiple times (100 ms ago and 50 ms ago), run:

adb shell cmd car_service inject-rotary -dt 100 50

Inject KeyEvent

To nudge the controller up, run:

adb shell cmd car_service inject-key 280

Use KeyCode 280 for nudge up, 281 for nudge down,282 for nudge left,283 for nudge right.

To click the controller center button, run:

adb shell cmd car_service inject-key 23