Car App
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
13 de noviembre de 2024 | 1.4.0 | - | 1.7.0-beta03 | - |
Cómo declarar dependencias
Para agregar una dependencia en la biblioteca de la app para vehículos, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.7
Versión 1.7.0-beta03
13 de noviembre de 2024
Se corrigió una vulnerabilidad de seguridad y otros errores generales. Si usas una versión anterior, actualízala para usar esta versión.
Lanzamiento de androidx.car.app:app-*:1.7.0-beta03
. La versión 1.7.0-beta03 contiene estas confirmaciones.
Cambios en la API
- Actualiza el código de serialización o deserialización de CAL para que solo controle los objetos que tengan declarada la anotación
@CarProtocol
. (Ic730e). CarAppExtender
ahora se puede usar para extender el frameworkNotification.Builder
en lugar de soloNotificationCompat.Builder
. (Id3ad7).- Agrega
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST
adicionales. (I201f9). - Deja de estar disponible el constructor de Builder vacío en
ConversationItem
y reemplázalo por un constructor que tome los parámetros obligatorios. También se agrega una verificación para proteger contra mensajes nulos. (Ic8221)
Correcciones de errores
- Asegúrate de que el mapa de
PlaceList
use el título de encabezado de cadena (solo texto). (Ic992f). - Esta biblioteca ahora usa anotaciones de nulidad de JSpecify, que son de tipo de uso. Los desarrolladores de Kotlin deberían usar los siguientes argumentos del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
. (Ib5367, b/326456246).
Versión 1.7.0-beta02
18 de septiembre de 2024
Lanzamiento de androidx.car.app:app-*:1.7.0-beta02
. La versión 1.7.0-beta02 contiene estas confirmaciones.
Cambios en la API
- Se agregó
KEY_ROOT_HINT_MEDIA_HOST_VERSION
adicional (I8796b). - Se reemplazó la clase
TabContents.Api8Builder
por el constructor@ExperimentalCarApi
en la claseTabContents.Builder
(I26fbe). - Se agregaron la acción de intent y los extras para
CarMediaApp
(I50782). - Se marcaron las APIs de mensajería como no experimentales (I0b070).
- Se agregó la carga de elementos remotos a
SectionedItemTemplate
(permite que las listas largas se carguen sin fallas) (I0d122). - Se agregó
SectionedItemTemplate
a la lista de plantillas compatibles dentro deTabTemplate
en el nivel de API 8. (Idc5d6).
Correcciones de errores
- Se quitó el esquema manual de acceso a las nuevas APIs de la plataforma, ya que esto se realiza automáticamente a través del modelado de API cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usen AGP que actualicen a la versión 8.1 de D8 o una posterior. Consulta este artículo para obtener más detalles. (I9496c, b/345472586).
Versión 1.7.0-beta01
26 de junio de 2024
Lanzamiento de androidx.car.app:app-*:1.7.0-beta01
. La versión 1.7.0-beta01 contiene estas confirmaciones. Las funciones son las mismas que se publicaron en alpha01, que se repiten a continuación:
Nuevas funciones
- Mapa con contenido: Es una nueva plantilla de lienzo de mapa más una plantilla de contenido, que por ahora puede ser de lista, cuadrícula, panel o mensaje.
RoutePreview
,PlaceListNavigation
yMapTemplate
ahora son obsoletos. Las plantillas seguirán funcionando tal como están.- Se actualizaron las apps de ejemplo para mostrar el uso de
MapWithContent
en lugar de plantillas obsoletas.
- Elemento de conversación: Se agregaron nuevas APIs para mostrar conversaciones (MI, SMS) y la lectura de Asistente en el vehículo.
- Dimensiones del vehículo: Nueva API para recuperar las medidas del vehículo (datos en AAOS en este momento).
Cambios en la API
- Se agregó la etiqueta
@ExperimentalCarApi
aMediaPlaybackTemplate.Builder
. (Ic1957). - Se agregó un nuevo
SectionedItemTemplate
en la versión experimental. (I5958a). - Se introdujo
CarAppApiLevel 8
(I3fa22). - Se agregó
MediaPlaybackTemplate
para mostrar contenido durante la reproducción de contenido multimedia en la biblioteca de Car App. (I3c10d). - Se agregó una nueva API para que las apps detecten si el sistema admite audio en segundo plano mientras se conduce (I0f868).
Correcciones de errores
- Se corrigieron ciertas instancias de fugas de memoria y fallas en el código del cliente de CAL y en la app de ejemplo de navegación de CAL. (I55e04)
- Reemplaza
requireNotNull instances
en el métodoonDestroy
deBaseCarAppActivity
con verificaciones if-null para evitar fallas. (Iec676).
Versión 1.7.0-alpha02
17 de abril de 2024
Lanzamiento de androidx.car.app:app-*:1.7.0-alpha02
. La versión 1.7.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron marcas obsoletas para las plantillas basadas en mapas que la plantilla
MapWithContent
admitirá en el futuro.
Cambios en la API
- Se dieron de baja las versiones anteriores de
MapTemplate
,RoutePreviewNavigationTemplate
yPlaceListNavigationTemplate
, y se recomienda usar las nuevasMapWithContentTemplate
(Ib0a08).
Versión 1.7.0-alpha01
3 de abril de 2024
Lanzamiento de androidx.car.app:app-*:1.7.0-alpha01
. Cambiamos nuestro esquema de control de versiones de bibliotecas para que coincida con la versión activa de CarApi. Esto se hace para reducir la confusión sobre el esquema de nombres en función de los comentarios de los desarrolladores. Como resultado, omitimos las versiones 1.5 y 1.6 y pasamos directamente a la 1.7. La versión 1.7.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Mapa con contenido: Nueva plantilla llamada
MapWithContent
que admite lista, cuadrícula, panel o mensaje como contenido dentro de un mapa.RoutePreview
,PlaceListNavigation
y las plantillas de mapas dejaron de estar disponibles.- Se actualizaron las apps de ejemplo para mostrar la funcionalidad de las plantillas obsoletas con
MapWithContent
.
- Elemento de conversación: Nuevas APIs para mostrar conversaciones (MI, SMS) y la lectura de Asistente en el vehículo.
- Dimensiones de vehículos: Nueva API para recuperar las medidas de los vehículos (por el momento, datos en AAOS).
Cambios en la API
- Se marcó el tipo de imagen de fila extra pequeña como experimental (I5184b).
- Se agregó la API de
CarInfo#fetchExteriorDimensions
, que permite acceder a la información de las dimensiones exteriores del vehículo, como la altura, el ancho, etcétera (Ia40c5). - Se quitó la etiqueta
ExperimentalAPI
deMapWithContentTemplate
(I66db8). - Se actualizó el parámetro
GridItem#setTitle
para que sea nulo. (I3d610). - La API de
GetHeader
no requiere el nivel de API 7 porque es retrocompatible (I8c812). - Se agregó compatibilidad con
Header
enListTemplate
y se dieron de bajaheaderAction
,headerTitle
yactionStrip
(I7ae01). - Se dieron de baja
title
,headerAction
yactionStrip
enGridTemplate
y se agregó compatibilidad conHeader
(I41a9c). - Se quitó el requisito de nivel 7 para las APIs experimentales: insignia, métodos get/set de tamaño de elementos y forma de imagen de
GridTemplate
, métodosGridItem
para obtener o establecer insignias. (Id71eb) - Se dieron de baja
title
,headerAction
yactionStrip
enPaneTemplate
, y se agregó compatibilidad nueva conHeader
(I23154). - Se cambió la telemetría de Media Center de
BroadcastReceiver
a la acción personalizada de exploración. (I4185f). - Se agregó compatibilidad con el atributo
Header
enMessageTemplate
. La compatibilidad conActionStrip
,headerAction
ytitle
dejó de estar disponible. (Ie2de8). - Se modificó la visibilidad constante de la alerta (Icf8a8).
- Se quitó el atributo
isLoading
de la plantilla superior (I651e6). - Se agregaron elementos adicionales para informar a las apps de música sobre los parámetros principales de la IU (I85ca2).
- Se agregó la función de estadísticas del centro multimedia a
MediaExtensions
(I7ce28). - Se agregó la opción de imagen extrapequeña en las filas. (I72c03)
Correcciones de errores
- Se actualizó javadoc en
ConversationItem
para indicar que los mensajes deben ordenarse de la más antigua a la más reciente. (I77a2a) - Se actualizó la lógica de truncamiento de
ListTemplate
para quitar los mensajes más antiguos deConversationItem
(Ie0a61).
Versión 1.4
Versión 1.4.0
29 de mayo de 2024
Lanzamiento de androidx.car.app:app-*:1.4.0
. La versión 1.4.0 es una promoción de la versión 1.4.0-rc02.
Cambios importantes desde la versión 1.3.0
- Renderización de mapas del clúster de instrumentos para apps de navegación
- Nueva plantilla de pestaña para mejorar el diseño y la usabilidad de la app
- Compatibilidad con los límites de tareas adaptables
- Acciones secundarias en elementos de lista
Versión 1.4.0-rc02
13 de diciembre de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-rc02
. La versión 1.4.0-rc02 contiene estas confirmaciones. Solo correcciones menores
Correcciones de errores
- Se actualizó javadoc en
ConversationItem
para indicar que los mensajes deben ordenarse de la más antigua a la más reciente (I77a2a). - Se actualizó la lógica de truncamiento de
ListTemplate
para quitar los mensajes más antiguos deConversationItem
(Ie0a61).
Versión 1.4.0-rc01
1 de noviembre de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-rc01
sin cambios notables. La versión 1.4.0-rc01 contiene estas confirmaciones.
Versión 1.4.0-beta02
20 de septiembre de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-beta02
. La versión 1.4.0-beta02 contiene estas confirmaciones. Esto es casi idéntico a beta01, pero reduce el requisito de compileSdk
a 33.
Correcciones de errores
- Se corrigió un error por el que las pantallas de carga en las pestañas no se mostraban correctamente. (cae860)
Versión 1.4.0-beta01
9 de agosto de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-beta01
. La versión 1.4.0-beta01 contiene estas confirmaciones.
Nota: La versión 1.4-beta01 requiere compileSdk34, que aún se encuentra en estado de desarrollo. La versión 1.4-beta02 corregirá este problema. Como alternativa, puedes agregar
android.suppressUnsupportedCompileSdk=34
al archivosettings.gradle
de tu proyecto para suprimir temporalmente la advertencia de forma segura.
Nuevas funciones
- Renderización de mapas del clúster de instrumentos para apps de navegación
- Nueva plantilla de pestaña para mejorar el diseño y la usabilidad de la app
- Compatibilidad con los límites de tareas adaptables
- Acciones secundarias en elementos de lista
Cambios en la API
- Consulta alpha02
Versión 1.4.0-alpha02
26 de julio de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-alpha02
. La versión 1.4.0-alpha02 contiene estas confirmaciones.
- El lanzamiento de Alpha02 es una preparación para una próxima versión de beta01.
Nuevas funciones
- Procesamiento de mapas en el clúster de instrumentos para apps de navegación
- Se agregaron pestañas para las apps para mejorar la experiencia de diseño
- Se agregaron opciones de renderización de plantillas de lista o cuadrícula
- Se agregaron nuevas categorías para el clima y las comunicaciones
- Se movieron varias APIs a la próxima versión de CarApi 7.
Cambios en la API
- Se agregaron campos multimedia a
CarMessage
(I5aaf6). - Se agregaron acciones personalizadas a
ConversationItem
en la biblioteca de Car App (Ie5ed6). - Se agregaron elementos adicionales para indicar que un elemento multimedia se reproduce con un formato de audio envolvente y mostrar su logotipo de formato de contenido (Icb5bb).
- Se agregó un nuevo tipo de acción, la API de
ActionsConstraints
, para admitir el botón de composición. (I31661) - Se hizo
set/getTemplate
comoset/get ContentTemplate
(Ica036). - El parámetro de plantilla ahora sería
@NonNull
. Se actualizó la documentación de la API deMapWithContentTemplate
(I0f8ed). - Se quita la etiqueta
@ExperimentalCarApi
para las Acciones enListTemplate
para el lanzamiento en CAL 1.4 (I2cfcb). - Se quita la etiqueta
@ExperimentalCarApi
paraTabTemplate
(Ifcb82). - Se quitaron las anotaciones
@ExperimentalCarApi
de las acciones secundarias y decoraciones de la fila (I8487e). - Se agregó el ID de contenido de la pestaña activa a
TabTemplate
y se dio de baja el estado activo en las pestañas (I96932). - Se agregó la propiedad
ItemImageShape
aGridTemplate
(Ibf431). - Se agregó la propiedad
ItemSize
aGridTemplate
, que controla el tamaño de los elementos de la cuadrícula según buckets relativos pequeños, medianos y grandes. (Icdb3b) - Abre el acceso a la API para que los desarrolladores obtengan una copia de la pila de pantallas actual. (I48107)
- Se agregó una categoría para apps del clima a la biblioteca de apps para vehículos (I2be44).
- Se agregó una categoría para las apps que realizan llamadas a la biblioteca de apps para vehículos (Icab33).
- Se reemplazó
GridItem.Builder#setBadge()
por métodossetImage()
sobrecargados (Id2000). - Se agregó la propiedad de ícono a la insignia (I629b2).
- Se agregó un método para establecer el color de fondo de la insignia de punto (I6411c).
- Agrega la propiedad Insignia a
GridItem
, lo que permite que se muestre una insignia sobre una imagenGridItem
. (I95de7). - Se agregó un objeto de insignia experimental que representará una insignia que se mostrará sobre una imagen. (I9878d)
Versión 1.4.0-alpha01
22 de febrero de 2023
Lanzamiento de androidx.car.app:app-*:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregaron acciones de nivel superior a
GridTemplate
en la biblioteca de apps para vehículos (Id0191). - Se agregaron acciones de nivel superior a
ListTemplate
en la biblioteca de apps para vehículos (I9efab). - Se agregaron elementos adicionales para vincular el subtítulo o la descripción de un elemento multimedia a otros elementos. (Ic84bf)
- Se actualizó el nivel de API de las acciones de fila al nivel 6. (Ie0a69).
- Se agregaron devoluciones de llamada de mensajería a A4C (Ie3986).
Correcciones de errores
- Se agregaron las referencias faltantes a documentos de Java para
CarMessage
(I5db1c). - Se anularon
equals()
yhashCode()
paraConversationItem
yCarMessage
(I6fd10). - Se mejoró la validación de
ConversationItem.mMessages
(se requieren valores no nulos ni vacíos) (Iafc51). - Se agregaron anotaciones
@Keep
a los camposConversationItem
(I5d250). - Se actualizaron los documentos Java para la decoración de filas y las acciones secundarias (I000b6).
Versión 1.3
Versión 1.3.0-rc01
7 de diciembre de 2022
Lanzamiento de androidx.car.app:app-*:1.3.0-rc01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
- Se corrigieron errores menores de la versión beta01. No hay cambios importantes.
Versión 1.3.0-beta01
7 de septiembre de 2022
Se lanzaron androidx.car.app:app:1.3.0-beta01
, androidx.car.app:app-projected:1.3.0-beta01
, androidx.car.app:app-automotive:1.3.0-beta01
y androidx.car.app:app-testing:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
- Las apps para automóviles creadas con esta biblioteca ahora pueden acceder a Play Store mediante el nivel de API 5 (consulta nuestra guía para desarrolladores). Las funciones anotadas con nivel de API 5 o inferior son compatibles con Android Auto 8.1+ y el host de la app de Automotive de Google 1.4+.
Nuevas funciones
Además de las funciones agregadas a la biblioteca de apps para automóviles 1.3.0-alpha01, se agregaron las siguientes funciones como parte de la versión beta01 (todas las funciones que se describen aquí solo incluyen cambios en el host sin cambios en la API):
- La barra de navegación flotante se seguirá mostrando incluso cuando el usuario esté en una pantalla de selección basada en mapas de
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
yMapTemplate
. Para ello, actualiza la información de navegación medianteNavigationManager.updateTrip()
. - Habilita el botón de acción con
FLAG_DEFAULT
para tener una animación de tiempo de espera. Este botón se activará de forma predeterminada después del tiempo de espera ([API 5 - All Templates]
). - El subtexto de un
Row
no se trunca cuando el automóvil está estacionado, pero se trunca a 2 líneas mientras conduces ([API 5 - All Templates]
). - Estado de compatibilidad inhabilitada para
Action
,Toggle
,Row
([API 5 - All Templates]
).
Cambios en la API
- Se flexibilizaron las restricciones de la lista
MapTemplate
para admitir listas seleccionables (I961ed). - Se quitó la restricción para las acciones de encabezado a fin de permitir íconos personalizados (Iad28f).
- Se agregó una restricción
setOnClickListenerAllowed()
aActionsConstraints
. Se permitió queAction
configuraraOnClickDelegate()
en acciones, excepto los tipos de íconos estándar (TYPE_APP_ICON
,TYPE_BACK
, andTYPE_PAN
) (I3c745).
Correcciones de errores
- Se agregó compatibilidad con el host de plantillas de Android Automotive 1.4+ con pantallas curvas (
[Host change]
).
Versión 1.3.0-alpha01
27 de julio de 2022
Lanzamiento de androidx.car.app:app:1.3.0-alpha01
, androidx.car.app:app-projected:1.3.0-alpha01
, androidx.car.app:app-automotive:1.3.0-alpha01
y androidx.car.app:app-testing:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Las funciones anotadas con nivel de API 5 son compatibles con Android Auto 7.9 y versiones posteriores.
Nuevas funciones
- Nivel de API 5: Se agregó un
MapTemplate
nuevo que pueden usar las apps de navegación para mostrar contenido en un panel o una lista junto a un mapa (If5826, If44b8). - Nivel de API 5: Se agregó la nueva API de
CarAudioRecord
para permitir la grabación de entrada de audio con el micrófono del vehículo host (I5e71a). - Nivel de API 5: Se agregó la nueva API de
SuggestionManager
para permitir que las apps proporcionen sugerencias al host (I5c103). - Nivel de API 5: Se agregó la nueva API de
Alert
para mostrar notificaciones contextuales enNavigationTemplate
(I163a7, I5ad70). - Nivel de API 5: Se agregaron nuevos componentes
Header
yMapController
para facilitar la reutilización en plantillas (If5826). - Se agregó
androidx.car.app.category.POI
como categoría para habilitar apps de lugares de interés (yandroidx.car.app.category.PARKING
yandroidx.car.app.category.CHARGING
dejaron de estar disponibles) (I59da1).
Cambios en la API
- Nivel de API 5: Se agregó el nuevo método
onClick
en la interfazSurfaceCallback
para permitir la interacción de presionar en el mapa (Ia9777). - Nivel de API 5: Se agregaron nuevas marcas
Action.FLAG_IS_PERSISTENT
yAction.FLAG_DEFAULT
para describirAction
(I96318, I5ad70). - Nivel de API 5: Se agregó un nuevo estado habilitado/inhabilitado para los componentes
Action
,Row
yToggle
(la compatibilidad de host con la versión 1.3.0-beta01 de la biblioteca) (ID8a09). - Nivel de API 5: Se dio preferencia al nuevo componente
Header
mediantesetHeader
en elPlaceListNavigationTemplate.Builder
yRoutePreviewNavigationTemplate.Builder
, por lo que dejaron de estar disponibles los métodossetTitle
ysetHeaderAction
existentes (I30e6a). - Nivel de API 5: Se agregó un nuevo método
setOnContentRefreshListner
enPlaceListMapTemplate.Builder
yPlaceListNavigationTemplate.Builder
para usar con implementaciones de la nueva interfazOnContentRefreshListner
. - Nivel de API 5: Se agregaron nuevos objetos
setTripText
ysetTripIcon
enTravelEstimate.Builder
para personalizar la tarjeta de estimación de viajes (Idcc6d, Ic620d). - Se agregó compatibilidad con objetos
CarIconSpan
en el título dePaneTemplate
(Ia1ee0). - Se agregó compatibilidad con objetos
CarIconSpan
en el título y el texto de unaRow
(Ic1e3c). - Los elementos
ActionStrip
de mapas ahora pueden tener hasta cuatro acciones (If3522). - Se actualizó el nivel de API de Car App a 5 (I26b8e).
- Los encabezados/títulos ahora son opcionales para
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
ySignInTemplate
(I2078d, Icadde).
Correcciones de errores
- Se actualizaron las reglas de tamaño de imagen de
PaneTemplate
para que sean un cuadro de límite cuadrado (Idd72e). - Se corrigió una excepción que sucede si la pila de pantalla se modifica después de
State.DESTROYED
(I3c8eb). - Se agregó una verificación de nulabilidad para recuperar el ícono de la app (I3f710).
- Se actualizó la API de Car Hardware para usar
STATUS_UNKNOWN
en lugar deSTATUS_UNAVAILABLE
de forma predeterminada (Ic9444). - Se comprueba si la pantalla existe antes de crear la superficie (Ice027a).
- Se corrigió el error
CarValue.equals()
relacionado conSTATUS_UNIMPLEMENTED
(I24451).
Versión 1.2
Versión 1.2.0
9 de noviembre de 2022
Se lanzó androidx.car.app:app-*:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
- Esta es una versión de estabilización y no hay cambios en comparación con la versión v1.2.0-rc01.
Versión 1.2.0-rc01
23 de marzo de 2022
Lanzamiento de androidx.car.app:app-*:1.2.0-rc01
. La versión 1.2.0-rc01 contiene estas confirmaciones.
- Esta es una versión de estabilización, y no hay cambios de API en comparación con
v1.2.0-beta02
. Se agregaron nuevas funciones experimentales (nivel de API 5) que se diseñaron para versiones futuras de Android Auto y Android Automotive.
Correcciones de errores
- Se corrigió una excepción que sucede si la pila de pantalla se modifica después de
State.DESTROYED
(I3c8eb). - Se actualizó la API de
CarSensors
para indicar que no se implementaron para AAOS (Idd57b). - Se actualizó
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
a fin de indicar que ACCESS_COARSE_LOCATION es suficiente para la función (I510c2). - Se hizo un número de salida opcional para los tipos de maniobra de rotonda con ángulo (Ife7d1).
Versión 1.2.0-beta02
26 de enero de 2022
Lanzamiento de androidx.car.app:app-*:1.2.0-beta02
. La versión 1.2.0-beta02 contiene estas confirmaciones.
Las apps para vehículos creadas con esta versión de biblioteca que están orientadas a la plataforma Android Automotive OS
ahora pueden publicarse en el canal de pruebas abiertas de Play Store. Consulta la guía para desarrolladores a fin de obtener más detalles.
Las funciones anotadas con nivel de API 4 o inferior son compatibles con Android Auto
7.2 y versiones posteriores y con la nueva plataforma Android Automotive OS
. Consulta la sección Known Issues
a continuación para conocer las advertencias.
Cambios en la API
- Se agregó la API experimental de
setOnContentRefreshListener
a las plantillas de lugares de interés (I6bf22).
Correcciones de errores
- Se corrigió una fuga de memoria en
CarAppService
cuando se desvincula el host del vehículo (I5c9ca, b/203594731). - Se actualizó el código javadoc de
CarAppActivity
para que incluya los requisitos del modo de lanzamiento de una sola tarea (Id2f95). - Se redujo el error visual en la reanudación (Iff7e0).
Errores conocidos
- Los mapas
ActionStrip
enPlaceListNavigationTemplate
yRoutePreviewNavigateTemplate
comenzarán a estar disponibles en las próximas actualizaciones deAndroid Auto
yAndroid Automotive OS
.
Versión 1.2.0-alpha02
15 de diciembre de 2021
Lanzamiento de androidx.car.app:app-*:1.2.0-alpha02
. La versión 1.2.0-alpha02 contiene estas confirmaciones..
Las funciones anotadas con el nivel de API 4 se actualizaron de experimentales a estables, incluidos los mapas ActionStrip
en PlaceListNavigationTemplate
y RoutePreviewNavigateTemplate
, la imagen CarIcon
en Pane
, el QRCodeSignInMethod
y la capacidad de establecer sugerencias de renderización (p. ej., marcas) en Action
.
Nuevas funciones
- En Android Auto 7.1 y versiones posteriores, el límite del artículo de
Pane
se aumentó de 2 a 4.
Cambios en la API
- Se agregó un método
toString()
experimental aCarUnit
(I36a3b).
Correcciones de errores
- Se corrigió una falla que ocurría en
CarAppPermissionActivity
si no funcionaba la devolución de llamada (If9823). - Se cambió el límite predeterminado de
Pane
a 4 (I0068b).
Versión 1.2.0-alpha01
3 de noviembre de 2021
Se lanzó androidx.car.app:app-*:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Todas las funciones nuevas de v1.2.0
(API 4 o superior) se encuentran actualmente en fase experimental y se orientan a versiones futuras de Android Auto y el SO Android Automotive. Consulta la guía para desarrolladores a fin de obtener más detalles.
Cambios en la API
- La API de
AutomotiveCarInfo
pasó a ser experimental (Ia13e5). - Se agregó el nivel de API 4 de la biblioteca de Car App (I2a2e7).
- Nivel de API 4: Se agregó compatibilidad para configurar un elemento
CarIcon
enPane
(Ifcc12). - Nivel de API 4: Se agregó el método de acceso con código QR (Ib623e).
- Nivel de API 4: Se agregó set/getFlags a
Action
(Ic03ab). - Nivel de API 4: Se agregó compatibilidad con el desplazamiento lateral y el zoom en
PlaceListNavigationTemplate
yRoutePreviewNavigationTemplate
(I9d8a3).
Correcciones de errores
- Nivel de API 4: Se agregó un mecanismo para permitir que las apps envíen actualizaciones de ubicación al host del vehículo (I3bad3).
- Se solucionó un problema en el que la lógica de validación del host no encontraba correctamente el permiso TEMPLATE_RENDERER (I62618).
Versión 1.1.0
Versión 1.1.0
15 de diciembre de 2021
Lanzamiento de androidx.car.app:app-*:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Esta es una versión de estabilización, y no hay cambios de API en comparación con v1.1.0-rc01
. Consulta también las notas de la versión de v1.2.0-alpha02
a fin de obtener más detalles sobre las nuevas funciones de la biblioteca de apps para vehículos.
Cambios importantes desde 1.0.0
- Nivel de API 2:
SignInTemplate
yLongMessageTemplate
que se pueden usar para flujos de acceso cuando el vehículo está estacionado - Nivel de API 2: Compatibilidad con la interactividad de mapas dentro de la
NavigationTemplate
- Nivel de API 2: Compatibilidad con textos de varios tamaños para permitir que las apps proporcionen diferentes versiones de strings según el tamaño de la pantalla del vehículo
- Nivel de API 3:
CarHardwareManager
que se puede usar para consultar datos de hardware del vehículo, como el modelo y la marca, los niveles de combustible y otros sensores
Versión 1.1.0-rc01
3 de noviembre de 2021
Se lanzó androidx.car.app:app-*:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Esta es una versión de estabilización, y no hay cambios de API en comparación con v1.1.0-beta01
. Se agregaron nuevas funciones experimentales (nivel de API 4) que se diseñaron para versiones futuras de Android Auto. Consulta las notas de la versión de v1.2.0-alpha01
para obtener más detalles sobre las APIs experimentales.
Versión 1.1.0-beta01
1 de septiembre de 2021
Lanzamiento de androidx.car.app:app-*:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Todas las funciones de v1.1.0
(nivel de API 2 o posterior) son totalmente compatibles con Android Auto 6.7 y versiones posteriores. Consulta la guía para desarrolladores a fin de obtener más detalles.
Cambios en la API
- Se quitó
Manager
como interfaz pública (Ie381b). - Se agregó la capacidad de establecer un fondo de marca personalizado para la solicitud de permisos (I74b76).
- Se agregó
ScreenManager.getStackSize
(I0b16a). - Se quitó el constructor
ScreenController
, que toma explícitamenteTestCarContext
(Iefebc).
Correcciones de errores
- Se agregó la verificación del nivel de API cuando se crea
CarHardwareManager
(I48f9b). - Se agregaron verificaciones de usos de
CarSpan
no válidos en la API (I65ae6). - Se solucionó un problema por el que, si se marcaba
Screen
como finalizada durante su creación, dejaba la pila en un estado dañado (I81b13). - Se solucionó un problema por el que
CarNotificationManager.notify
registraba un error para AutomotiveOS si había acciones con íconos enCarAppExtender
(I3633d). - Se agregó un método de protocolo de enlace para que la app y el host establezcan una versión de API (I7d6f8).
Versión 1.1.0-alpha02
21 de julio de 2021
Lanzamiento de androidx.car.app:app-*:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Nivel de API 3: Se agregó un
CarHardwareManager
que se puede usar para consultar datos de hardware del vehículo, como el modelo y la marca, los niveles de combustible y otros sensores. Actualmente, esta función solo está disponible para Android Auto 6.7 y versiones posteriores en el canal de pruebas abiertas. Para probarla en un entorno de escritorio, se requiere una versión nueva deDesktop Head Unit
, que se lanzará por separado. Consulta la página Cómo probar apps de Android para vehículos a fin de obtener información detallada sobre cuándo habrá una versión nueva disponible. - Sigue la guía para desarrolladores y la referencia sobre la biblioteca para obtener detalles adicionales y lineamientos de diseño sobre el uso de estas funciones en hosts de vehículos que son compatibles con el nivel de API 3.
Cambios en la API
- Se consolidaron los métodos de ciclo de vida
SessionController
yScreenController
en un solo métodomoveToState
(I1ed00). - Se agregó
CarContext#getHostInfo()
(I8977e). - Se quitaron los campos obsoletos (I67168).
- Se actualizaron
SessionController
yScreenController
para exponer los constructores de forma directa (Iabf22). - Se quitaron
PinSignInMethod.Builder
yProviderSignInMethod.Builder
(I9f0cb). - Se agregó "setCarAppResult()" a fin de habilitar el uso de apps basadas en plantillas "para obtener un resultado" en AAOS (I37741).
- Se anotaron las interfaces de
CarHardware
con@MainThread
(Ib2f85). - Se cambió el nombre de
OnCarDataListener
aOnCarDataAvailableListener
(I518ca). - Se cambiaron los nombres de los métodos
CarInfo
,Speed
yMileage
, y se actualizó javadoc (I86672). - Se cambió el nombre de
Toll
aTollCard
(I3e7c8). - Se quitó el objeto
PinSignInMethod.getPin
obsoleto que se reemplazó porPinSignInMethod.getPinCode
(I996ce). - Se quitó
OnInputCompletedListener
(se reemplazó conInputCallback
) (Ib5be1). - Se cambió
PinSignInMethod
para que tomeCharSequence
en lugar deString
(I275d5).
Correcciones de errores
- Se implementaron correcciones de Javadoc para el hardware de autos (I2abbc).
Contribución externa
Errores conocidos
- El uso de
InputSignInMethod
dentro deSignInTemplate
puede generar unaNullPointerException
en el host del vehículo. Este tema se abordará en la próxima versión de la biblioteca. Para solucionar este problema, incluye la siguiente línea en la configuración de ProGuard de tu app:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Versión 1.1.0-alpha01
16 de junio de 2021
Lanzamiento de androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
y androidx.car.app:app-testing:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Nivel de API 2:
SignInTemplate
yLongMessageTemplate
nuevas que se pueden usar para flujos de acceso cuando el vehículo está estacionado - Nivel de API 2: Compatibilidad nueva con la interactividad de mapas dentro de la
NavigationTemplate
- Nivel de API 2: Compatibilidad nueva con textos de varios tamaños para permitir que las apps proporcionen diferentes versiones de strings según el tamaño de la pantalla del vehículo
- Sigue la guía para desarrolladores y el Javadoc de la biblioteca para obtener detalles adicionales y lineamientos de diseño sobre el uso de estas funciones en hosts de vehículos que son compatibles con el nivel de API 2.
Cambios en la API
- Se volvieron predeterminados todos los métodos de interfaz
*Callback
y se cambió el nombre deOnRequestPermissionsCallback
aOnRequestPermissionsListener
(Ib3ec9). - Se actualizaron las clases
androidx.car.app.hardware
para quitar los compiladores y las clases de parámetros innecesarios (I67beb). - Se agregaron clases
androidx.car.app.hardware
para acceder a datos específicos del vehículo, como la batería, la velocidad y el nivel de combustible (Iff3c9). - Se agregó compatibilidad con
ActionStrip
enMessageTemplate
(Ida657). - Se agregó
setLoading
aMessageTemplate
(I2a4b5). - Se cambió el nombre de
ConnectionToCar
aCarConnection
(Ife9bd). - Se cambió
NavigationTemplate
para mostrar unPanModeDelegate
explícito (I13877). - Se actualizó el orden de parámetros para
CarContext.requestPermissions
(Ib890a). - Se actualizó la clave de metadatos a fin de definir el nivel de API mínimo para vehículos en
androidx.car.api.minCarApiLevel
(Ib0d41). - Se creó una API que permite observar el estado de conexión del vehículo (Ifc935).
- Se agregó compatibilidad a fin de configurar un botón de activación para una
Action
y se agregó el tipoAction
del modo de desplazamiento lateral (Ica6af). - Se creó
CarNotificationManager
a fin de admitir el envío de notificaciones en el vehículo (I10d7a). - Se agregó
ConstraintManager
para proporcionar límites de lista del host (I8690e). - Se agregó el modo de desplazamiento lateral y la API de la barra de acciones en mapa, en
NavigationTemplate
(I77aa6). - Se agregó la API de zoom y de desplazamiento lateral en
SurfaceCallback
para las apps de navegación (Id5e9d). - Se actualizó el
CarAppApiLevel
a 2 (Ic1540). - Se agregó la capacidad de solicitar permisos de un
CarAppService
(I5421e). - Se agregó la anotación
RequiresCarApi(2)
a la API de multi-text (Iacb62). - Se permiten diferentes variantes de texto en el título de la plantilla de mitad de la lista (Ib8df7).
- Se agregó una
LongMessageTemplate
nueva (requiere el nivel de API 2 para vehículos) (Ic5cee).
Correcciones de errores
- Se actualizaron los requisitos de tamaño de la imagen para admitir pantallas de vehículos más grandes (I116dc).
- No se permite agregar más de 2 acciones en los cuerpos de las plantillas (I32157).
- Se garantizó la creación de todos los
PendingIntent
en las marcas establecidas, en la biblioteca de la app para vehículos (If84fe, b/186394900). - Se actualizó javadoc a fin de permitir los cambios de texto de
Row
como actualizaciones (If3f9c). - Ahora,
androidx.activity:activity:1.2.0
es una dependencia de API (Id1cb9). - Se hizo que
SignInTemplate
yLongMessageTemplate
requieran en el cuerpo acciones que solo se realizan con el vehículo estacionado y documentación actualizada para indicar que se mostrarán únicamente cuando el vehículo está estacionado (Iddaa9). - Se corrigió una excepción que se producía cuando se abría una
Screen
durante el inicio (Ifcf40, b/184664896). - Se permite el color de texto personalizado en
ForegroundCarColorSpan
(I69e59). - Se solucionó un problema en el que se observaba
ON_DESTROY
en una instancia deSession
después de producirse unON_DESTROY
deScreen
(I52e01, b/183696617). - Se actualizó javadoc para cuando se permite configurar el tiempo restante de una
TravelEstimate
en un tiempo desconocido (I99610, b/183632456). - Se actualizó
Action
para admitirForegroundColorSpan
en el título y cualquier color de fondo personalizado (I578e4). - No ejecutes
NavigationManagerCallback#onStopNavigation
si se borra la devolución de llamada antes de que se ejecute el ejecutor (I7fc5e, b/181143772). - Se solucionó un problema por el cual se requería que la app tomara de forma explícita una dependencia en lifecycle-common-java8 (I8b8c8).
Errores conocidos
- En la
SignInTemplate
, el teclado en pantalla muestra un ícono de "búsqueda" en lugar de un ícono para "ingresar" cuando el usuario quiere confirmar la entrada. De forma alternativa, los usuarios pueden acceder al teclado del teléfono que se activa cuando se enfoca el campo de entrada. - En la versión 6.5 de Android Auto, es posible que las devoluciones de llamada de zoom y de desplazamiento lateral en
SurfaceCallback
se invoquen de forma errónea con algunos gestos táctiles.
Car App Testing versión 1.0.0
Versión 1.0.0-alpha01
24 de marzo de 2021
Lanzamiento de androidx.car.app:app-testing:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Esta es la primera versión de Jetpack de la biblioteca de pruebas de código cerrado anterior. Consulta nuestros ejemplos para usar esta biblioteca en tus pruebas.
Nuevas funciones
- Se quitaron los controladores para las clases de modelo. Los métodos get de los modelos ahora forman parte de la superficie de la API pública, lo que permite validar aquellos valores que se establecieron en los compiladores.
- Se reemplazó el
CarAppServiceController
anterior por el nuevoSessionController
para probar la lógica relacionada con el ciclo de vida de la conexión a los hosts.
Versión 1.0.0
Versión 1.0.0
21 de abril de 2021
Lanzamiento de androidx.car.app:app:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
- A principios de abril, anunciamos que las apps ya pueden publicar en el canal de producción con
androidx.car.app:app:1.0.0-rc01
. La Biblioteca de apps para vehículos v1.0.0 ahora es estable y totalmente compatible con Android Auto 6.1 y versiones posteriores. - Consulta la guía para desarrolladores a fin de obtener información sobre la compilación de apps de carga, navegación y estacionamiento para Android Auto con la biblioteca.
Correcciones de errores
- Se corrigió una excepción que se producía cuando se abría una
Screen
durante el inicio (70aae1, b/184664896). - Se solucionó un problema en el que se observaba
ON_DESTROY
en una instancia deSession
después de producirse unON_DESTROY
deScreen
(0ceecb, b/183696617).
Versión 1.0.0-rc01
24 de marzo de 2021
Lanzamiento de androidx.car.app:app:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error de condición de carrera en el que se llamaba a
NavigationManagerCallback#onStopNavigation
después de que se borraba la devolución de llamada. Esto ocurría si se borraba la devolución de llamada antes de que se ejecutara el ejecutor de devolución de llamada (I7fc5e, b/181143772). - Se solucionó un problema por el que la app requería una dependencia en
lifecycle-common-java8
de forma explícita (I8b8c8). - Se corrigió una
NullPointerException
que se producía cuando la app recibía una llamadastopNavigation
cuando ya se había quitado una devolución de llamada (Ib8b89, b/181143772). - Se implementaron mejoras para no enviar llamadas a la app si su ciclo de vida no está al menos en un estado
CREATED
(I86965, b/179800224, b/177921120). - Se solucionó un problema por el que se generaba una API mínima no válida especificada en el manifiesto de la app, lo que provocaba un error de ANR en el host (Iffedd, b/174231592).
Versión 1.0.0-beta01
24 de febrero de 2021
Lanzamiento de androidx.car.app:app:1.0.0-beta01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Esta es la primera versión de Jetpack de la biblioteca de código cerrado anterior y es compatible con Android Auto 6.1 o versiones posteriores. Sigue la guía para desarrolladores a fin de obtener más información sobre la compilación de apps para vehículos con la biblioteca.
Nuevas funciones
- Se incorporó un elemento
GridTemplate
que tu app puede usar para mostrar una lista de elementos de la IU en un diseño de cuadrículas. - Se incorporó un método
CarAppService.createHostValidator
para validar que una conexión de host es de una fuente confiable (por ejemplo, Android Auto). - Se agregó una API de
CarAppExtender.Builder.setColor
(b/174231592).
Correcciones de errores
- Se solucionó un problema por el cual se reanudaba el elemento
Screen
incorrecto cuando resaltaban las pantallas de forma secuencial (b/177590791).