Remove RotaryServiceBase

We used to convert Keyevents into AccessibilityEvents, and converted
them back in RotaryServiceBase. But now with the new CarInputManager
APIs, we no longer need to do that.

This CL also introduces a class for logging.

Fixes: 152441772
Fixes: 152630987
Test: manual
adb shell cmd car_service inject-rotary
adb shell cmd car_service inject-key 280
adb shell cmd car_service inject-key 23

Change-Id: I3ab726ad2a23c35e02e6c481b5ab81736374d7ce
10 files changed
tree: 9f9c44dc6807e99f2d1e25f5b6422489e4aef22a
  1. res/
  2. src/
  3. tests/
  4. Android.bp
  5. AndroidManifest.xml
  6. OWNERS
  7. readme.md
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