Berdasarkan properti HAL Kendaraan VEHICLE_PROPERTY_HW_KEY_INPUT
, yang ditentukan di
hardware/libhardware/include/hardware/vehicle.h
, Android Automotive menangani input tombol
dari elemen yang meliputi {i>steering remote switch<i}, tombol perangkat keras, dan panel sentuh.
Misalnya, pengiriman peristiwa utama melalui jaringan bus CAN:
Gambar 1. Peristiwa utama Android Automotive melalui alur CANbus.
Data peristiwa utama
Data berikut dilampirkan ke setiap peristiwa utama di HAL Kendaraan:
- Tindakan input (atas/bawah):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kode tombol yang dipetakan ke kunci Android dalam implementasi partner Vehicle HAL.
- Tampilan target (cluster utama/instrumen):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Penanganan input kunci dalam cluster instrumen menggunakan CarInputService
(cara yang sama
digunakan untuk penanganan input reguler di kendaraan). Peristiwa utama akan disebarkan ke
InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }