Input tombol

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:

Peristiwa utama

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? */ }
}