Apéndice C, versión mínima compatible con la API del complemento de la IU del vehículo

Se espera que los OEMs cambien a la versión más reciente de car-ui-lib-plugin-apis (1.2.0 o superior) lo antes posible. Lo ideal es que los OEMs no envíen ningún complemento que use una versión anterior.

¿Por qué se realiza esta actualización?

Las APIs de Java 8 y versiones posteriores son compatibles con versiones anteriores de Android a través de la compatibilidad con la expansión de sintaxis de APIs de Java 8 y versiones posteriores. Las implementaciones de las APIs faltantes se compilan en apps, y el código de bytes de los APKs se reescribe para hacer referencia a las implementaciones en lugar de a las bibliotecas de la plataforma.

La carga de implementaciones de OEMs de componentes de la IU desde un complemento de la biblioteca de la IU del vehículo requiere la referencia de métodos definidos por las interfaces car-ui-lib-plugin-apis. Estas referencias de métodos se realizan desde las apps a los complementos de la biblioteca de la IU del vehículo en el tiempo de ejecución con la expectativa de que las firmas de métodos sean idénticas en las implementaciones de la app y del complemento.

Algunos sistemas de compilación habilitan la expansión de sintaxis de la API en todo momento debido a los requisitos de un nivel de SDK mínimo específico. Es posible que las firmas de métodos expandidas para las interfaces car-ui-lib-plugin-apis no coincidan con las de una implementación de complemento de OEM que no se haya expandido, lo que provoca que los complementos no se carguen.

Como resultado, algunas apps de GAS compiladas con el sistema de compilación interno de Google no son compatibles con el complemento de la biblioteca de la IU del vehículo. Por lo tanto, quitamos todas las dependencias de las APIs de Java 8 (y versiones posteriores) que requieren expansión de sintaxis. Este cambio requiere actualizaciones de la API de las interfaces definidas por car-ui-lib-plugin-apis.

Pasos necesarios para los complementos de OEM

Sigue estos pasos para actualizar tu API:

  1. Actualiza la implementación del complemento para usar la versión más reciente de car-ui-lib-plugin-apis. Para obtener la versión más reciente (1.2.0 o superior), consulta el repositorio de Maven de Google.

  2. Actualiza la implementación del complemento para implementar la interfaz PluginFactoryOEMV4. Este cambio requiere los siguientes pasos cuando el complemento de OEM implementa un componente. Actualiza la implementación de OEM de lo siguiente:

    1. Barra de herramientas, para implementar ToolbarControllerOEMV2.

    2. Elementos de la lista de contenido, para extender ContentListItemOEMV2.

    3. Manejo de resultados de la búsqueda del IME, para extender ImeSearchInterfaceOEMV2.

  3. Actualiza la app para usar la versión más reciente de la biblioteca de la IU del vehículo.

¿Qué sucede si no se aplica esta actualización?

Si no se completan los pasos que se proporcionan en esta página para un complemento de OEM, las apps expandidas, como Google Automotive Services (GAS), no cargarán las implementaciones del complemento de la biblioteca de la IU del vehículo, y no se aplicará ninguna personalización de OEM a través del mecanismo del complemento.

Este problema no afecta las personalizaciones de RRO existentes para la biblioteca de la IU del vehículo, y estas seguirán funcionando como de costumbre.