Appendice C, versione minima compatibile per l'API Car UI Plugin

I produttori OEM devono passare alla versione più recente di car-ui-lib-plugin-apis (1.2.0 o versioni successive) il prima possibile. Idealmente, gli OEM non dovrebbero distribuire plug-in che utilizzano una versione precedente.

Perché questo aggiornamento?

Le API Java 8+ sono supportate per le versioni precedenti di Android tramite il supporto per la rimozione dello zucchero sintattico delle API Java 8+. Le implementazioni delle API mancanti vengono compilate nelle app e il bytecode degli APK viene riscritto in modo da fare riferimento alle implementazioni anziché alle librerie sulla piattaforma.

Il caricamento delle implementazioni OEM dei componenti dell'interfaccia utente da un plug-in della libreria dell'interfaccia utente dell'auto richiede il riferimento a metodi definiti dalle interfacce car-ui-lib-plugin-apis. Questi riferimenti ai metodi vengono effettuati dalle app ai plug-in della libreria dell'interfaccia utente dell'auto in fase di runtime con l'aspettativa che le firme dei metodi siano identiche nelle implementazioni di app e plug-in.

Alcuni sistemi di compilazione abilitano la rimozione dello zucchero sintattico dell'API in qualsiasi momento a causa dei requisiti di un livello SDK minimo specifico. Le firme dei metodi desugarizzati per le interfacce car-ui-lib-plugin-apis potrebbero non corrispondere a quelle di un'implementazione del plug-in OEM che non è stata desugarizzata, il che comporta il mancato caricamento dei plug-in.

Di conseguenza, alcune app GAS compilate con il sistema di compilazione interno di Google non sono compatibili con il plug-in della libreria dell'interfaccia utente dell'auto. Pertanto, abbiamo rimosso tutte le dipendenze dalle API Java 8 (e versioni successive) che richiedono la rimozione dello zucchero sintattico. Questa modifica richiede aggiornamenti all'API delle interfacce definite da car-ui-lib-plugin-apis.

Passaggi obbligatori per i plug-in OEM

Per aggiornare l'API:

  1. Aggiorna l'implementazione del plug-in per utilizzare l'ultima versione di car-ui-lib-plugin-apis. Per ottenere l'ultima versione (1.2.0 o successive), consulta il repository Maven di Google.

  2. Aggiorna l'implementazione del plug-in per implementare l'interfaccia PluginFactoryOEMV4. Questa modifica richiede i seguenti passaggi quando un componente viene implementato dal plug-in OEM. Aggiorna l'implementazione OEM di:

    1. Barra degli strumenti, per implementare ToolbarControllerOEMV2.

    2. Elementi dell'elenco dei contenuti, da estendere ContentListItemOEMV2.

    3. Gestione dei risultati di ricerca IME, per estendere ImeSearchInterfaceOEMV2.

  3. Aggiorna l'app per utilizzare l'ultima versione della libreria dell'interfaccia utente dell'auto.

Cosa succede se questo aggiornamento non viene applicato?

Se i passaggi forniti in questa pagina non vengono completati per un plug-in OEM, le app desugarizzate, come Google Automotive Services (GAS), non riescono a caricare le implementazioni del plug-in della libreria Car UI e non vengono applicate personalizzazioni OEM tramite il meccanismo del plug-in.

Le personalizzazioni RRO esistenti per la libreria dell'interfaccia utente dell'auto non sono interessate da questo problema e continuano a funzionare come al solito.