You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.6 KiB
104 lines
2.6 KiB
7 months ago
|
# Custom Input Event
|
||
|
|
||
|
## Building
|
||
|
```bash
|
||
|
make SampleCustomInputService -j64
|
||
|
```
|
||
|
|
||
|
### Installing
|
||
|
```bash
|
||
|
adb install $OUT/target/product/emulator_car_x86/system/app/SampleCustomInputService/SampleCustomInputService.apk
|
||
|
```
|
||
|
|
||
|
## Start SampleCustomInputService
|
||
|
```bash
|
||
|
adb shell am start-foreground-service com.android.car.custominput.sample/.SampleCustomInputService
|
||
|
```
|
||
|
|
||
|
### Running tests
|
||
|
|
||
|
Steps to run unit tests:
|
||
|
|
||
|
1. Build and install SampleCustomInputService.apk (see above sections).
|
||
|
1. Then run:
|
||
|
|
||
|
```bash
|
||
|
atest SampleCustomInputServiceTest
|
||
|
```
|
||
|
|
||
|
## Inject events (test scripts)
|
||
|
|
||
|
These are the test scripts to demonstrate how CustomInputEvent can be used to implement OEM
|
||
|
partners non-standard events. They all represent hypothetical features for the sake of documentation
|
||
|
only.
|
||
|
|
||
|
*Note*: Make sure SampleCustomInputService is installed and started. Especially if you've just
|
||
|
ran tests. Depending on the configuration you use, running SampleCustomInputServiceTest may
|
||
|
uninstall SampleCustomInputService.
|
||
|
|
||
|
### Inject Maps event from steering wheel control
|
||
|
|
||
|
For this example, press home first, then inject the event to start Maps activity by running:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input -d 0 f1
|
||
|
```
|
||
|
|
||
|
Parameters are:
|
||
|
* `-d 0`: sets target display type to main display;
|
||
|
* `f1`: sets the OEM partner function `f1` to execute. In this implementation, `f1` argument
|
||
|
represents the action used to launch Google maps app;
|
||
|
|
||
|
*Note*: For this command to run, ensure that Google Maps app is installed first.
|
||
|
|
||
|
### Inject events to accept or reject incoming calls
|
||
|
|
||
|
In this example, CustomInputEvents are send to accept or reject incoming calls. First cell phone
|
||
|
must be connected to Android via Bluetooth. Then, to accept incoming calls, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f2
|
||
|
```
|
||
|
|
||
|
Alternatively, to reject incoming calls, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f3
|
||
|
```
|
||
|
|
||
|
### Inject events to increase or decrease media volume
|
||
|
|
||
|
To increase media volume, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f4
|
||
|
```
|
||
|
|
||
|
To decrease media volume, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f5
|
||
|
```
|
||
|
|
||
|
### Inject events to increase or decrease alarm volume
|
||
|
|
||
|
To increase alarm volume, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f6
|
||
|
```
|
||
|
|
||
|
To decrease alarm volume, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f7
|
||
|
```
|
||
|
|
||
|
### Inject event to simulate pressing BACK HOME button
|
||
|
|
||
|
To simulate pressing BACK HOME button, run:
|
||
|
|
||
|
```shell script
|
||
|
adb shell cmd car_service inject-custom-input f8
|
||
|
```
|