Annexe C : Version minimale compatible pour l'API du plug-in d'interface utilisateur pour voitures

Les OEM doivent passer à la dernière version de car-ui-lib-plugin-apis (1.2.0 ou version ultérieure) dès que possible. Dans l'idéal, les OEM ne devraient pas fournir de plug-in utilisant une ancienne version.

Pourquoi ce changement ?

Les API Java 8+ sont compatibles avec les versions précédentes d'Android grâce à la compatibilité avec le désucrage d'API Java 8+. Les implémentations des API manquantes sont compilées dans les applications, et le code d'octet des APK est réécrit pour faire référence aux implémentations au lieu des bibliothèques sur la plate-forme.

Le chargement des implémentations OEM des composants d'UI à partir d'un plug-in de la bibliothèque Car UI nécessite de référencer les méthodes définies par les interfaces car-ui-lib-plugin-apis. Ces références de méthodes sont effectuées à partir d'applications vers les plug-ins de la bibliothèque Car UI au moment de l'exécution, en s'attendant à ce que les signatures de méthodes soient identiques dans les implémentations d'applications et de plug-ins.

Certains systèmes de compilation activent la désucrification d'API à tout moment en raison des exigences d'un niveau de SDK minimal spécifique. Les signatures de méthode désucrées pour les interfaces car-ui-lib-plugin-apis peuvent ne pas correspondre à celles d'une implémentation de plug-in OEM qui n'a pas été désucrée, ce qui entraîne l'échec du chargement des plug-ins.

Par conséquent, certaines applications GAS compilées avec le système de compilation interne de Google sont incompatibles avec le plug-in Car UI Library. Par conséquent, nous avons supprimé toutes les dépendances des API Java 8 (et versions ultérieures) qui nécessitent un désucrage. Cette modification nécessite des mises à jour de l'API des interfaces définies par car-ui-lib-plugin-apis.

Étapes requises pour les plug-ins OEM

Pour mettre à jour votre API, procédez comme suit :

  1. Mettez à jour l'implémentation du plug-in pour utiliser la dernière version de car-ui-lib-plugin-apis. Pour obtenir la dernière version (1.2.0 ou version ultérieure), consultez le dépôt Maven de Google.

  2. Mettez à jour l'implémentation du plug-in pour implémenter l'interface PluginFactoryOEMV4. Cette modification nécessite les étapes suivantes lorsqu'un composant est implémenté par le plug-in OEM. Mettez à jour l'implémentation OEM de :

    1. Barre d'outils, pour implémenter ToolbarControllerOEMV2.

    2. Éléments de la liste de contenu, pour étendre ContentListItemOEMV2.

    3. Gestion des résultats de recherche IME, pour étendre ImeSearchInterfaceOEMV2.

  3. Mettez à jour l'application pour utiliser la dernière version de la bibliothèque Car UI.

Que se passe-t-il si cette mise à jour n'est pas appliquée ?

Si les étapes fournies sur cette page ne sont pas effectuées pour un plug-in OEM, les applications désucrées, telles que les services automobiles Google (GAS), ne parviennent pas à charger les implémentations du plug-in Car UI Library et aucune personnalisation OEM n'est appliquée via le mécanisme de plug-in.

Les personnalisations RRO existantes pour la bibliothèque Car UI ne sont pas concernées par ce problème et continuent de fonctionner normalement.