W oparciu o właściwość Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
zdefiniowaną w hardware/libhardware/include/hardware/vehicle.h
Android Automotive obsługuje wprowadzanie kluczowych danych z elementów obejmujących zdalne przełączniki układu kierowniczego, przyciski sprzętowe i panele dotykowe.
Na przykład wysłanie kluczowego zdarzenia przez sieć magistrali CAN:
Rysunek 1. Kluczowe zdarzenia Android Automotive w przepływie magistrali CANbus.
Kluczowe dane dotyczące wydarzeń
Do każdego kluczowego zdarzenia w HAL pojazdu dołączone są następujące dane:
- Akcja wejściowa (w górę/w dół):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kod klucza zmapowany na klucze systemu Android w partnerskiej implementacji pojazdu HAL.
- Wyświetlacz docelowy (główny/zestaw wskaźników):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Do obsługi kluczowych danych wejściowych w zestawie wskaźników wykorzystywana jest CarInputService
(ta sama usługa służy do zwykłej obsługi danych wejściowych w pojeździe). Kluczowe zdarzenia są propagowane do InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } },
W oparciu o właściwość Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
zdefiniowaną w hardware/libhardware/include/hardware/vehicle.h
Android Automotive obsługuje wprowadzanie kluczowych danych z elementów obejmujących zdalne przełączniki układu kierowniczego, przyciski sprzętowe i panele dotykowe.
Na przykład wysłanie kluczowego zdarzenia przez sieć magistrali CAN:
Rysunek 1. Kluczowe zdarzenia Android Automotive w przepływie magistrali CANbus.
Kluczowe dane dotyczące wydarzeń
Do każdego kluczowego zdarzenia w HAL pojazdu dołączone są następujące dane:
- Akcja wejściowa (w górę/w dół):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kod klucza zmapowany na klucze systemu Android w partnerskiej implementacji pojazdu HAL.
- Wyświetlacz docelowy (główny/zestaw wskaźników):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Do obsługi kluczowych danych wejściowych w zestawie wskaźników wykorzystywana jest CarInputService
(ta sama usługa służy do zwykłej obsługi danych wejściowych w pojeździe). Kluczowe zdarzenia są propagowane do InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }