Car App
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
13 novembre 2024 | 1.4.0 | - | 1.7.0-beta03 | - |
Déclarer des dépendances
Pour ajouter une dépendance sur la bibliothèque Car App, vous devez ajouter le dépôt Maven de Google à votre projet. Référez-vous à la section Dépôt Maven de Google pour en savoir plus.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
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") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.7
Version 1.7.0-beta03
13 novembre 2024
Correction d'une faille de sécurité et d'autres corrections de bugs générales. Si vous utilisez une version antérieure, veuillez la mettre à jour pour utiliser cette version.
Publication d'androidx.car.app:app-*:1.7.0-beta03
. La version 1.7.0-beta03 contient ces commits.
Modifications apportées à l'API
- Mise à jour du code de sérialisation / désérialisation CAL pour ne gérer que les objets sur lesquels l'annotation
@CarProtocol
est déclarée. (Ic730e) CarAppExtender
peut désormais être utilisé pour étendre le frameworkNotification.Builder
au lieu deNotificationCompat.Builder
uniquement. (Id3ad7)- Ajoutez un
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST
supplémentaire. (I201f9) - Abandon du constructeur Builder vide sur
ConversationItem
et remplacement par un constructeur qui accepte les paramètres requis. Ajoute également une vérification pour éviter les messages nuls. (Ic8221)
Correction de bugs
- Assurez-vous que la carte
PlaceList
utilise le titre de l'en-tête de chaîne (texte uniquement). (Ic992f) - Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont des annotations de type d'utilisation. Les développeurs Kotlin doivent utiliser les arguments de compilation suivants pour appliquer une utilisation correcte:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
. (Ib5367, b/326456246)
Version 1.7.0-beta02
18 septembre 2024
Publication d'androidx.car.app:app-*:1.7.0-beta02
. La version 1.7.0-beta02 contient ces commits.
Modifications apportées à l'API
- Ajout d'
KEY_ROOT_HINT_MEDIA_HOST_VERSION
supplémentaire (I8796b) - Remplacement de la classe
TabContents.Api8Builder
par le constructeur@ExperimentalCarApi
dans la classeTabContents.Builder
(I26fbe) - Ajout d'une action d'intent et d'extras pour
CarMediaApp
(I50782) - Marquage des API de messagerie comme non expérimentales (I0b070)
- Ajout du chargement d'éléments à distance dans
SectionedItemTemplate
(permet de charger de longues listes sans plantage) (I0d122) - Ajout de
SectionedItemTemplate
à la liste des modèles compatibles dansTabTemplate
dans l'API 8. (Idc5d6)
Correction de bugs
- Suppression de la description manuelle de l'accès aux nouvelles API de la plate-forme, car cela se produit automatiquement via la modélisation d'API lorsque vous utilisez R8 avec AGP 7.3 ou version ultérieure (par exemple, R8 version 3.3) et pour tous les builds lorsque vous utilisez AGP 8.1 ou version ultérieure (par exemple, D8 version 8.1). Les clients qui n'utilisent pas AGP sont invités à passer à la version 8.1 de D8 ou ultérieure. Consultez cet article pour en savoir plus. (I9496c, b/345472586)
Version 1.7.0-beta01
26 juin 2024
Publication d'androidx.car.app:app-*:1.7.0-beta01
. La version 1.7.0-beta01 contient ces commits. Les fonctionnalités sont les mêmes que celles publiées dans alpha01, qui sont répétées ci-dessous:
Nouvelles fonctionnalités
- Carte avec contenu:nouveau modèle composé d'un canevas de carte et d'un modèle de contenu, qui peut pour le moment être une liste, une grille, un volet ou un message.
RoutePreview
,PlaceListNavigation
etMapTemplate
sont désormais obsolètes. Les modèles continueront de fonctionner tels quels.- Les applications exemples ont été mises à jour pour afficher l'utilisation de
MapWithContent
au lieu des modèles obsolètes
- Élément de conversation:nouvelles API permettant d'afficher les conversations (messagerie instantanée, SMS) et la lecture de l'Assistant dans la voiture.
- Dimensions du véhicule:nouvelle API permettant de récupérer les mesures du véhicule (données sur AAOS pour le moment).
Modifications apportées à l'API
- Ajoutez la balise
@ExperimentalCarApi
àMediaPlaybackTemplate.Builder
. (Ic1957) - Ajout d'un
SectionedItemTemplate
expérimental. (I5958a) - Introduction de
CarAppApiLevel 8
(I3fa22) - Ajoute
MediaPlaybackTemplate
pour afficher du contenu pendant la lecture multimédia dans la bibliothèque d'applications pour voitures. (I3c10d) - Ajout d'une nouvelle API permettant aux applications de détecter si le système est compatible avec l'audio en arrière-plan pendant la conduite. (I0f868)
Correction de bugs
- Corrige certaines instances de fuites de mémoire et de plantages dans le code client CAL et dans l'application exemple de navigation CAL. (I55e04)
- Remplacez
requireNotNull instances
dans la méthodeonDestroy
deBaseCarAppActivity
par des vérifications "si-nul" pour éviter les plantages. (Iec676)
Version 1.7.0-alpha02
17 avril 2024
Publication d'androidx.car.app:app-*:1.7.0-alpha02
. La version 1.7.0-alpha02 contient ces commits.
Nouvelles fonctionnalités
- Ajout d'options obsolètes pour les modèles basés sur des cartes que le modèle
MapWithContent
utilisera à l'avenir.
Modifications apportées à l'API
- Abandon des anciens
MapTemplate
,RoutePreviewNavigationTemplate
etPlaceListNavigationTemplate
, et incitation à utiliser le nouveauMapWithContentTemplate
(Ib0a08)
Version 1.7.0-alpha01
3 avril 2024
Publication d'androidx.car.app:app-*:1.7.0-alpha01
. Nous avons modifié notre schéma de gestion des versions de bibliothèque pour qu'il corresponde à la version active de CarApi. Cela permet de réduire la confusion concernant le schéma de dénomination en fonction des commentaires des développeurs. Par conséquent, nous allons passer directement de la version 1.5 à la version 1.7.La version 1.7.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
- Carte avec contenu: nouveau modèle nommé
MapWithContent
, qui accepte la liste / la grille / le volet / le message en tant que contenu dans une carte.- Les modèles
RoutePreview
,PlaceListNavigation
et Map sont désormais obsolètes. - Les exemples d'applications ont été mis à jour pour montrer la fonctionnalité des modèles obsolètes à l'aide de
MapWithContent
.
- Les modèles
- Élément de conversation: nouvelles API permettant d'afficher les conversations (messagerie instantanée, SMS) et la lecture de l'Assistant dans la voiture.
- Dimensions du véhicule: nouvelle API permettant de récupérer les mesures du véhicule (données sur AAOS pour le moment).
Modifications apportées à l'API
- Marquage du type d'image de ligne extra-petite comme expérimental (I5184b)
- Ajout de l'API
CarInfo#fetchExteriorDimensions
, qui permet d'accéder aux informations sur les dimensions extérieures du véhicule, telles que la hauteur, la largeur, etc. (Ia40c5) - Suppression de la balise
ExperimentalAPI
deMapWithContentTemplate
(I66db8) - Mettez à jour le paramètre
GridItem#setTitle
pour qu'il soit nullable. (I3d610) - L'API
GetHeader
ne nécessite pas l'API 7, car elle est rétrocompatible (I8c812) - Ajout de la prise en charge de
Header
dansListTemplate
, abandon deheaderAction
,headerTitle
etactionStrip
(I7ae01) - Abandon de
title
,headerAction
etactionStrip
dansGridTemplate
, et prise en charge deHeader
(I41a9c) - Suppression de l'exigence de niveau 7 pour les API expérimentales: badge, getters/setters de taille d'élément et de forme d'image
GridTemplate
, méthodesGridItem
pour obtenir/définir le badge. (Id71eb) - Abandon de
title
,headerAction
etactionStrip
dansPaneTemplate
, ajout de la prise en charge deHeader
(I23154) - Modification de la télémétrie Media Center de
BroadcastReceiver
en action de navigation personnalisée. (I4185f) - Ajout de la prise en charge de l'attribut
Header
dansMessageTemplate
. La prise en charge deActionStrip
,headerAction
ettitle
est désormais obsolète. (Ie2de8) - Modification de la visibilité des constantes d'alarme (Icf8a8)
- Suppression de l'attribut
isLoading
du modèle parent (I651e6) - Ajout d'extras pour informer les applications multimédias des principaux paramètres d'interface utilisateur (I85ca2)
- Ajout de la fonctionnalité d'analyse du centre multimédia à
MediaExtensions
(I7ce28) - Ajout d'une option pour les images très petites sur les lignes. (I72c03)
Correction de bugs
- Mise à jour du Javadoc sur
ConversationItem
pour indiquer que les messages doivent être triés de l'ancien au nouveau. (I77a2a) - Mise à jour de la logique de troncation
ListTemplate
pour supprimer les messages les plus anciens deConversationItem
. (Ie0a61)
Version 1.4
Version 1.4.0
29 mai 2024
Publication d'androidx.car.app:app-*:1.4.0
. La version 1.4.0 est une mise à niveau de la version 1.4.0-rc02.
Changements importants depuis la version 1.3.0
- Rendu de la carte du groupe d'instruments pour les applications de navigation
- Nouveau modèle d'onglet pour améliorer la mise en page et la facilité d'utilisation de l'application
- Compatibilité avec les limites de tâches adaptatives
- Actions secondaires sur les éléments de liste
Version 1.4.0-rc02
13 décembre 2023
Publication d'androidx.car.app:app-*:1.4.0-rc02
. Liste des commits de la version 1.4.0-rc02 Corrections mineures uniquement
Correction de bugs
- Mise à jour du Javadoc sur
ConversationItem
pour indiquer que les messages doivent être triés de l'ancien au plus récent. (I77a2a) - Mise à jour de la logique de troncation
ListTemplate
pour supprimer les messages les plus anciens deConversationItem
. (Ie0a61)
Version 1.4.0-rc01
1er novembre 2023
Publication d'androidx.car.app:app-*:1.4.0-rc01
sans modification notable. Liste des commits de la version 1.4.0-rc01
Version 1.4.0-beta02
20 septembre 2023
Publication d'androidx.car.app:app-*:1.4.0-beta02
. Liste des commits de la version 1.4.0-beta02 Cette version est presque identique à la version bêta 01, mais réduit la valeur requise pour compileSdk
à 33.
Correction de bugs
- Correction d'un bug qui empêchait les écrans de chargement dans les onglets d'être affichés correctement. (cae860)
Version 1.4.0-beta01
9 août 2023
Publication d'androidx.car.app:app-*:1.4.0-beta01
. Liste des commits de la version 1.4.0-beta01
Remarque:La version 1.4-beta01 nécessite compileSdk34, qui est toujours en cours de développement. La version 1.4-beta02 corrigera ce problème. Vous pouvez également ajouter
android.suppressUnsupportedCompileSdk=34
au fichiersettings.gradle
de votre projet pour supprimer temporairement l'avertissement de manière sécurisée.
Nouvelles fonctionnalités
- Rendu de la carte du groupe d'instruments pour les applications de navigation
- Nouveau modèle d'onglet pour améliorer la mise en page et la facilité d'utilisation de l'application
- Compatibilité avec les limites de tâches adaptatives
- Actions secondaires sur les éléments de liste
Modifications apportées à l'API
- Voir alpha02
Version 1.4.0-alpha02
26 juillet 2023
Publication d'androidx.car.app:app-*:1.4.0-alpha02
. Liste des commits de la version 1.4.0-alpha02
- La version alpha02 est destinée à préparer la prochaine version bêta01.
Nouvelles fonctionnalités
- Prise en charge du rendu de la carte sur le groupe d'instruments pour les applications de navigation
- Ajout d'onglets pour les applications afin d'améliorer l'expérience de mise en page
- Ajout d'options de rendu de modèles de liste / grille
- Ajout de nouvelles catégories pour la météo et les communications
- Déplacement de plusieurs API vers la prochaine version de CarApi 7
Modifications apportées à l'API
- Ajout de champs multimédias à
CarMessage
(I5aaf6) - Ajout d'actions personnalisées à
ConversationItem
dans la bibliothèque d'applications pour voitures. (Ie5ed6) - Ajout d'extras pour indiquer qu'un élément multimédia est lu avec un format audio immersif et présenter son logo de format de contenu (Icb5bb)
- Ajout d'un nouveau type d'action, l'API
ActionsConstraints
, pour prendre en charge le bouton de composition. (I31661) set/getTemplate
défini commeset/get ContentTemplate
(Ica036)- Le paramètre du modèle est désormais
@NonNull
. Mise à jour de la documentation de l'APIMapWithContentTemplate
(I0f8ed) - Suppression de la balise
@ExperimentalCarApi
pour les actions dansListTemplate
pour le lancement dans CAL 1.4 (I2cfcb) - Suppression de la balise
@ExperimentalCarApi
pourTabTemplate
(Ifcb82) - Suppression des annotations
@ExperimentalCarApi
des actions secondaires et des décorations de ligne (I8487e) - Ajout de l'ID de contenu de l'onglet actif à
TabTemplate
et abandon de l'état actif sur les onglets (I96932) - Ajout de la propriété
ItemImageShape
àGridTemplate
(Ibf431) - Ajoutez la propriété
ItemSize
àGridTemplate
, qui contrôle la taille des éléments de la grille en fonction des buckets de taille petite, moyenne et grande. (Icdb3b) - Ouvrez l'accès à l'API pour que les développeurs puissent obtenir une copie de la pile d'écran actuelle. (I48107)
- Ajout d'une catégorie pour les applications météo dans la bibliothèque d'applications pour voitures (I2be44)
- Ajout d'une catégorie pour les applications d'appel dans la bibliothèque d'applications pour voitures (Icab33)
GridItem.Builder#setBadge()
remplacé par des méthodessetImage()
surchargées (Id2000)- Ajout de la propriété d'icône au badge (I629b2)
- Ajout d'une méthode pour définir la couleur d'arrière-plan du badge à points (I6411c)
- Ajoutez la propriété Badge à
GridItem
pour qu'un badge puisse s'afficher au-dessus d'une imageGridItem
. (I95de7) - Ajout d'un objet Badge expérimental qui représente un badge à afficher sur une image. (I9878d)
Version 1.4.0-alpha01
22 février 2023
Publication d'androidx.car.app:app-*:1.4.0-alpha01
. Liste des commits de la version 1.4.0-alpha01
Modifications apportées à l'API
- Ajout d'actions de niveau supérieur à
GridTemplate
dans la bibliothèque d'applications pour voitures. (Id0191) - Ajout d'actions de niveau supérieur à
ListTemplate
dans la bibliothèque d'applications pour voitures. (I9efab) - Ajout d'extras pour associer le sous-titre d'un élément multimédia ou sa description à d'autres éléments multimédias. (Ic84bf)
- Mise à jour du niveau de l'API pour les actions de ligne vers le niveau 6. (Ie0a69)
- Ajout des rappels de messagerie à A4C. (Ie3986)
Correction de bugs
- Ajout des références de documentation Java manquantes pour
CarMessage
. (I5db1c) - Remplacement d'
equals()
ethashCode()
pourConversationItem
etCarMessage
. (I6fd10) - Amélioration de la validation de
ConversationItem.mMessages
(nécessite une valeur non nulle, non vide). (Iafc51) - Ajout des annotations
@Keep
aux champsConversationItem
. (I5d250) - Mise à jour des documents Java pour la décoration des lignes et les actions secondaires. (I000b6)
Version 1.3
Version 1.3.0-rc01
7 décembre 2022
Publication d'androidx.car.app:app-*:1.3.0-rc01
. Liste des commits de la version 1.3.0-rc01
- Corrections de bugs mineurs de la version bêta 01. Aucune modification majeure.
Version 1.3.0-beta01
7 septembre 2022
Publication de 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
et androidx.car.app:app-testing:1.3.0-beta01
. Liste des commits de la version 1.3.0-beta01
- Les applications pour voiture qui exploitent cette bibliothèque peuvent désormais accéder au Play Store via le niveau d'API 5. Pour en savoir plus, consultez notre guide du développeur. Les fonctionnalités annotées avec un niveau d'API 5 ou inférieur sont compatibles avec Android Auto 8.1, Google Automotive App Host 1.4 et leurs versions ultérieures.
Nouvelles fonctionnalités
La version beta01 vient ajouter les fonctionnalités suivantes à celles déjà apportées par la version 1.3.0-alpha01 de la bibliothèque Car App. Les modifications de fonctionnalités mentionnées ici interviennent exclusivement du côté de l'hôte. Les API ne sont pas modifiées.
- La barre de navigation flottante peut continuer à s'afficher même lorsque l'utilisateur affiche un écran de sélection basé sur une carte dans
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
etMapTemplate
. Pour cela, mettez à jour les informations de navigation viaNavigationManager.updateTrip()
. - Activer le bouton d'action avec
FLAG_DEFAULT
ajoute une animation d'expiration. Ce bouton sera activé par défaut après le délai d'inactivité. ([API 5 - All Templates]
) - Le sous-texte d'une
Row
ne sera pas tronqué lorsque le véhicule est garé, mais sera limité à deux lignes pendant la conduite. ([API 5 - All Templates]
) - Prise en charge de l'état "désactivé" pour les composants
Action
,Toggle
etRow
. ([API 5 - All Templates]
)
Modifications apportées à l'API
- Assouplissement des contraintes de listes
MapTemplate
pour permettre la prise en charge de listes sélectionnables. (I961ed) - Suppression de la contrainte pour les Actions d'en-tête pour prendre en charge les icônes personnalisées. (Iad28f)
- Ajout d'une contrainte
setOnClickListenerAllowed()
àActionsConstraints
. Cette action a permis àAction
de définirOnClickDelegate()
sur des actions, à l'exception des types d'icônes standards. (TYPE_APP_ICON
,TYPE_BACK
etTYPE_PAN
) (I3c745)
Correction de bugs
- Prise en charge des écrans incurvés par Android Automotive Template Host 1.4 et versions ultérieures. (
[Host change]
)
Version 1.3.0-alpha01
27 juillet 2022
Publication 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
et androidx.car.app:app-testing:1.3.0-alpha01
. Liste des commits de la version 1.3.0-alpha01
Les fonctionnalités annotées avec un niveau d'API 5 sont compatibles avec Android Auto 7.9 et les versions ultérieures.
Nouvelles fonctionnalités
- Niveau d'API 5 : nouveau
MapTemplate
utilisable par les applications de navigation pour afficher un volet ou lister du contenu à côté d'une carte. (If5826, If44b8) - Niveau d'API 5 : nouvelle API
CarAudioRecord
permettant l'enregistrement d'entrées audio via le micro du véhicule hôte. (I5e71a) - Niveau d'API 5 : nouvelle API
SuggestionManager
permettant aux applications de fournir des suggestions à l'hôte. (I5c103) - Niveau d'API 5 : nouvelle API
Alert
permettant d'afficher des notifications contextuelles dans leNavigationTemplate
. (I163a7, I5ad70) - Niveau d'API 5 : nouveaux composants
Header
etMapController
facilitant la réutilisation entre les modèles. (If5826) - Ajout de la catégorie
androidx.car.app.category.POI
pour la mise en œuvre d'applications de POI.androidx.car.app.category.PARKING
etandroidx.car.app.category.CHARGING
sont désormais obsolètes. (I59da1)
Modifications apportées à l'API
- Niveau d'API 5 : nouvelle méthode
onClick
dans l'interfaceSurfaceCallback
permettant l'interactivité des gestes sur la carte. (Ia9777) - Niveau d'API 5 : nouveaux indicateurs
Action.FLAG_IS_PERSISTENT
etAction.FLAG_DEFAULT
pour décrire les composantsAction
. (I96318, I5ad70) - Niveau d'API 5 : nouvel état activé/désactivé pour les composants
Action
,Row
etToggle
, avec prise en charge de l'hôte prévue pour la version 1.3.0-beta01 de la bibliothèque. (Id8a09) - Niveau d'API 5 : priorité donnée au nouveau composant
Header
viasetHeader
surPlaceListNavigationTemplate.Builder
etRoutePreviewNavigationTemplate.Builder
. Les méthodessetTitle
etsetHeaderAction
sont désormais obsolètes. (I30e6a) - Niveau d'API 5 : nouvelle méthode
setOnContentRefreshListner
surPlaceListMapTemplate.Builder
etPlaceListNavigationTemplate.Builder
destinée à être utilisée avec les implémentations de la nouvelle interfaceOnContentRefreshListner
. - Niveau d'API 5 : nouveaux éléments
setTripText
etsetTripIcon
dans leTravelEstimate.Builder
permettant de personnaliser la fiche d'estimation du temps de trajet. (Idcc6d, Ic620d) - Prise en charge des éléments
CarIconSpan
dans le titre duPaneTemplate
. (Ia1ee0) - Prise en charge des éléments
CarIconSpan
dans le titre et le texte d'uneRow
. (Ic1e3c) - Les éléments
ActionStrip
d'une carte peuvent désormais inclure jusqu'à quatre actions. (If3522) - Élévation de l'API Car App au niveau 5. (I26b8e)
- Les en-têtes et titres sont désormais facultatifs pour les éléments
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
etSignInTemplate
. (I2078d, Icadde)
Correction de bugs
- Modification des règles de dimensionnement des images dans
PaneTemplate
afin d'utiliser un cadre carré. (Idd72e) - Correction d'une exception survenant lorsque la pile d'écran était modifiée après
State.DESTROYED
. (I3c8eb) - Ajout d'une vérification de valeur nulle pour la tentative de récupération de l'icône de l'application. (I3f710)
- Modification de l'API Car Hardware afin d'utiliser
STATUS_UNKNOWN
par défaut, au lieu deSTATUS_UNAVAILABLE
. (Ic9444) - Vérification de l'existence de l'écran avant la création d'une surface. (Ice027a)
- Correction d'un bug impliquant
STATUS_UNIMPLEMENTED
dansCarValue.equals()
. (I24451)
Version 1.2
Version 1.2.0
9 novembre 2022
Publication d'androidx.car.app:app-*:1.2.0
. Liste des commits de la version 1.2.0
- Il s'agit d'une version de stabilisation. Il n'y a aucun changement par rapport à la version v1.2.0-rc01.
Version 1.2.0-rc01
23 mars 2022
Publication d'androidx.car.app:app-*:1.2.0-rc01
. Liste des commits de la version 1.2.0-rc01
- Cette version est une version de stabilisation et n'introduit aucune modification d'API par rapport à
v1.2.0-beta02
. De nouvelles fonctionnalités expérimentales (API de niveau 5) ont été ajoutées et sont destinées aux versions futures des plates-formes Android Auto et Android Automotive OS.
Correction de bugs
- Correction d'une exception survenant lorsque la pile d'écran était modifiée après
State.DESTROYED
. (I3c8eb) - Mise à jour de l'API
CarSensors
pour indiquer que ces éléments ne sont pas implémentés pour AAOS. (Idd57b) - Mise à jour de
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
pour indiquer que ACCESS_COARSE_LOCATION serait suffisant pour la fonctionnalité. (I510c2) - Rendu facultatif le numéro de sortie pour les manœuvres de type "rond-point avec angle". (Ife7d1)
Version 1.2.0-beta02
26 janvier 2022
Publication d'androidx.car.app:app-*:1.2.0-beta02
. Liste des commits de la version 1.2.0-beta02
Les applications pour voiture développées avec cette version de la bibliothèque et ciblant la plate-forme Android Automotive OS
peuvent désormais être publiées sur le canal de test ouvert du Play Store. Pour en savoir plus, consultez le guide du développeur.
Les fonctionnalités annotées avec un niveau d'API 4 ou inférieur sont compatibles avec Android Auto
7.2 et les versions ultérieures, ainsi qu'avec la nouvelle plate-forme Android Automotive OS
. Consultez la section Known Issues
ci-dessous pour les mises en garde.
Modifications apportées à l'API
- Ajout d'une API expérimentale
setOnContentRefreshListener
aux modèles de POI. (I6bf22)
Correction de bugs
- Correction d'une fuite de mémoire dans
CarAppService
lorsque l'hôte de la voiture se dissocie. (I5c9ca, b/203594731) - Mise à jour du Javadoc
CarAppActivity
pour inclure les exigences du mode de lancement singleTask. (Id2f95) - Réduction des problèmes d'affichage lors de la reprise. (Iff7e0)
Problèmes connus
- L'élément
ActionStrip
sur les cartes dansPlaceListNavigationTemplate
etRoutePreviewNavigateTemplate
sera disponible dans les prochaines versions des plates-formesAndroid Auto
etAndroid Automotive OS
.
Version 1.2.0-alpha02
15 décembre 2021
Publication d'androidx.car.app:app-*:1.2.0-alpha02
. Liste des commits de la version 1.2.0-alpha02
Les fonctionnalités annotées avec un niveau d'API 4 sont passées de la version expérimentale à la version stable, y compris les éléments ActionStrip
sur les cartes dans PlaceListNavigationTemplate
et RoutePreviewNavigateTemplate
, l'image CarIcon
dans les éléments Pane
et la QRCodeSignInMethod
et la possibilité de définir des indicateurs d'affichage dans les éléments Action
.
Nouvelles fonctionnalités
- Augmentation du nombre maximal d'éléments par
Pane
, passant de 2 à 4 dans Android Auto 7.1 et les versions ultérieures.
Modifications apportées à l'API
- Ajout d'une méthode expérimentale
toString()
àCarUnit
. (I36a3b)
Correction de bugs
- Correction d'un plantage qui survenait dans
CarAppPermissionActivity
si le rappel était désactivé. (If9823) - Mise à jour de la limite de liste par défaut
Pane
, passant à 4. (I0068b)
Version 1.2.0-alpha01
3 novembre 2021
Publication d'androidx.car.app:app-*:1.2.0-alpha01
. Liste des commits de la version 1.2.0-alpha01
Toutes les nouvelles fonctionnalités v1.2.0
(niveaux d'API 4 et au-delà) sont actuellement en phase de test et destinées aux versions futures des plates-formes Android Auto et Android Automotive OS. Pour en savoir plus, consultez le guide du développeur.
Modifications apportées à l'API
- Transition de l'API
AutomotiveCarInfo
vers la phase expérimentale. (Ia13e5) - Ajout du niveau d'API 4 à la bibliothèque Car App. (I2a2e7)
- Niveau d'API 4 : prise en charge des éléments
CarIcon
définis dans unPane
. (Ifcc12) - Niveau d'API 4 : ajout d'une méthode de connexion par code QR. (Ib623e)
- Niveau d'API 4 : ajout de set/getFlags aux composants
Action
. (Ic03ab) - Niveau d'API 4 : prise en charge des fonctions panorama et zoom dans
PlaceListNavigationTemplate
etRoutePreviewNavigationTemplate
. (I9d8a3)
Correction de bugs
- Niveau d'API 4 : ajout d'un mécanisme permettant aux applications d'envoyer des notifications de position à l'hôte de la voiture. (I3bad3)
- Correction d'un problème de logique de validation de l'hôte, qui n'identifiait pas correctement l'autorisation Templates_RENDERER. (I62618)
Version 1.1.0
Version 1.1.0
15 décembre 2021
Publication d'androidx.car.app:app-*:1.1.0
. Liste des commits de la version 1.1.0
Cette version est une version de stabilisation et n'introduit aucune modification par rapport à v1.1.0-rc01
. Consultez également les notes de version pour v1.2.0-alpha02
pour en savoir plus sur les nouvelles fonctionnalités de la bibliothèque Car App.
Modifications importantes depuis la version 1.0.0
- Niveau d'API 2 : ajout des éléments
SignInTemplate
etLongMessageTemplate
, pouvant être utilisés pour les flux de connexion lorsque le véhicule est à l'arrêt. - Niveau d'API 2 : prise en charge de l'interactivité dans les cartes dans le
NavigationTemplate
. - Niveau d'API 2 : prise en charge des éléments de texte modulés en fonction de la longueur, pour permettre aux applications de fournir plusieurs versions des chaînes à afficher en fonction de la taille de l'écran du véhicule.
- Niveau d'API 3 : ajout de
CarHardwareManager
, permettant d'interroger les données matérielles du véhicule, telles que le modèle et la marque, les niveaux de carburant et d'autres capteurs.
Version 1.1.0-rc01
3 novembre 2021
Publication d'androidx.car.app:app-*:1.1.0-rc01
. Liste des commits de la version 1.1.0-rc01
Cette version est une version de stabilisation et n'introduit aucune modification d'API par rapport à v1.1.0-beta01
. De nouvelles fonctionnalités expérimentales (API de niveau 4) ont été ajoutées et sont destinées aux versions futures de la plate-forme Android Auto. Pour en savoir plus sur les API expérimentales, consultez les notes de version pour v1.2.0-alpha01
.
Version 1.1.0-beta01
1er septembre 2021
Publication d'androidx.car.app:app-*:1.1.0-beta01
. Liste des commits de la version 1.1.0-beta01
Toutes les fonctionnalités de la v1.1.0
(niveau d'API 2 et au-delà) sont entièrement compatibles avec Android Auto 6.7 et les versions ultérieures. Pour en savoir plus, consultez le guide du développeur.
Modifications apportées à l'API
- Suppression de
Manager
des interfaces publiques. (Ie381b) - Ajout de la possibilité de définir un arrière-plan de marque personnalisé pour la demande d'autorisation. (I74b76)
- Ajout de
ScreenManager.getStackSize
. (I0b16a) - Suppression du constructeur
ScreenController
qui prend explicitementTestCarContext
. (Iefebc)
Correction de bugs
- Ajout d'une vérification du niveau d'API lors de la création de
CarHardwareManager
. (I48f9b) - Ajout de vérifications des utilisations non valides de
CarSpan
dans l'API. (I65ae6) - Correction d'un problème survenant lorsqu'un
Screen
était marqué comme terminé pendant sa création et entraînant un dysfonctionnement de la pile. (I81b13) - Correction d'un problème survenant lorsque des actions étaient associées à des icônes dans
CarAppExtender
, entraînant l'enregistrement d'erreurs Automotive OS parCarNotificationManager.notify
. (I3633d) - Ajout d'une méthode de handshake pour l'application et l'hôte afin de déterminer la version de l'API. (I7d6f8)
Version 1.1.0-alpha02
21 juillet 2021
Publication d'androidx.car.app:app-*:1.1.0-alpha02
. Liste des commits de la version 1.1.0-alpha02
Nouvelles fonctionnalités
- Niveau d'API 3 : ajout de
CarHardwareManager
, permettant d'interroger les données matérielles du véhicule, telles que le modèle et la marque, les niveaux de carburant et d'autres capteurs. En date de publication, cette fonctionnalité est uniquement disponible dans le canal de test ouvert pour Android Auto 6.7 et ses versions ultérieures. Les tests sur ordinateur nécessitent une nouvelle version deDesktop Head Unit
, qui sera publiée séparément. Consultez la page Tester les applications Android pour voitures pour savoir quand la nouvelle version sera disponible. - Suivez le guide du développeur et la documentation de référence de la bibliothèque pour en savoir plus et obtenir des consignes de conception concernant l'utilisation de ces fonctionnalités dans les hôtes de voiture compatibles avec le niveau d'API 3.
Modifications apportées à l'API
- Consolidation des méthodes de cycle de vie
SessionController
etScreenController
en une seule méthodemoveToState
. (I1ed00) - Ajout de
CarContext#getHostInfo()
. (I8977e) - Suppression des champs obsolètes. (I67168)
- Mise à jour de
SessionController
etScreenController
pour exposer directement les constructeurs. (Iabf22) - Suppression de
PinSignInMethod.Builder
etProviderSignInMethod.Builder
. (I9f0cb) - Ajout de "setCarAppResult()" pour permettre l'utilisation d'applications sur modèles "for result" dans AAOS. (I37741)
- Annotation des interfaces
CarHardware
avec@MainThread
. (Ib2f85) - Changement de nom :
OnCarDataListener
devientOnCarDataAvailableListener
. (I518ca) - Mise à jour du nom et du Javadoc des méthodes
CarInfo
,Speed
etMileage
. (I86672) - Changement de nom :
Toll
devientTollCard
. (I3e7c8) - Suppression et remplacement de
PinSignInMethod.getPin
(obsolète) parPinSignInMethod.getPinCode
. (I996ce) - Suppression et remplacement de
OnInputCompletedListener
parInputCallback
. (Ib5be1) - Modification de
PinSignInMethod
afin de recevoirCharSequence
au lieu deString
. (I275d5)
Correction de bugs
- Corrections du Javadoc pour le matériel du véhicule. (I2abbc)
Contribution externe
Problèmes connus
- Dans
SignInTemplate
, l'utilisation deInputSignInMethod
peut entraîner unNullPointerException
dans l'hôte de la voiture. Ce problème sera résolu dans la prochaine version de la bibliothèque. Pour contourner le problème, incluez la ligne suivante dans la configuration ProGuard de votre application :-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Version 1.1.0-alpha01
16 juin 2021
Publication d'androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
et androidx.car.app:app-testing:1.1.0-alpha01
. Liste des commits de la version 1.1.0-alpha01
Nouvelles fonctionnalités
- Niveau d'API 2 : ajout des éléments
SignInTemplate
etLongMessageTemplate
, pouvant être utilisés pour les flux de connexion lorsque le véhicule est à l'arrêt. - Niveau d'API 2 : prise en charge de l'interactivité dans les cartes dans le
NavigationTemplate
. - Niveau d'API 2 : prise en charge des éléments de texte modulés en fonction de la longueur, pour permettre aux applications de fournir plusieurs versions des chaînes à afficher en fonction de la taille de l'écran du véhicule.
- Suivez le guide du développeur et le Javadoc de la bibliothèque pour en savoir plus et obtenir des consignes de conception concernant l'utilisation de ces fonctionnalités dans les hôtes de voiture compatibles avec le niveau d'API 2.
Modifications apportées à l'API
- Définition des méthodes d'interface
*Callback
comme méthodes par défaut. Changement de nom :OnRequestPermissionsCallback
devientOnRequestPermissionsListener
. (Ib3ec9) - Mise à jour des classes
androidx.car.app.hardware
pour supprimer les classes de compilateurs et de paramètres inutiles. (I67beb) - Ajout de classes
androidx.car.app.hardware
permettant d'accéder à des données spécifiques du véhicule, comme le carburant, la batterie et la vitesse. (Iff3c9) - Prise en charge des éléments
ActionStrip
dansMessageTemplate
. (Ida657) - Ajout d'
setLoading
àMessageTemplate
. (I2a4b5) - Changement de nom :
ConnectionToCar
devientCarConnection
. (Ife9bd) - Modification de
NavigationTemplate
afin de renvoyer unPanModeDelegate
explicite. (I13877) - Modification de l'ordre des paramètres pour
CarContext.requestPermissions
. (Ib890a) - Mise à jour de la clé de métadonnées afin de définir le niveau d'API minimal du véhicule via
androidx.car.api.minCarApiLevel
. (Ib0d41) - Création d'une API permettant d'observer l'état de connexion du véhicule. (Ifc935)
- Prise en charge de la définition d'une fonction d'activation pour une
Action
. Ajout du mode panoramique aux types d'Action
. (Ica6af) - Création de
CarNotificationManager
pour prendre en charge l'envoi de notifications dans le véhicule. (I10d7a) - Ajout de
ConstraintManager
pour fournir des limites de liste à partir de l'hôte. (I8690e) - Ajout d'une API pour le mode panoramique et les bandes d'actions sur carte dans le
NavigationTemplate
. (I77aa6) - Ajout d'une API pour les fonctions panorama et zoom dans
SurfaceCallback
pour les applications de navigation. (Id5e9d) - Élévation de
CarAppApiLevel
au niveau 2. (Ic1540) - Ajout de la possibilité de demander des autorisations à partir d'un
CarAppService
. (I5421e) - Ajout de l'annotation
RequiresCarApi(2)
à l'API multitexte. (Iacb62) - Prise en charge de multiples variantes de texte dans le titre du modèle de demi-liste. (Ib8df7)
- Ajout d'un
LongMessageTemplate
(nécessite le niveau 2 de l'API Car). (Ic5cee)
Correction de bugs
- Mise à jour des critères de taille des images afin de tenir compte des écrans de voiture plus grands. (I116dc)
- Limitation à 2 du nombre d'actions ajoutées dans le corps d'un modèle. (I32157)
- Associé toute création de
PendingIntent
dans la bibliothèque Car App à la création d'un indicateur. (If84fe, b/186394900) - Mise à jour du Javadoc pour autoriser les modifications du texte des éléments
Row
en tant qu'actualisation. (If3f9c) - Transformation de
androidx.activity:activity:1.2.0
en dépendance d'API. (Id1cb9) - Modification de
SignInTemplate
etLongMessageTemplate
afin de restreindre les actions dans leurs corps à la catégorie "Véhicule à l'arrêt". Mise à jour de la documentation pour indiquer que ces actions ne s'afficheront que lorsque la voiture est garée. (Iddaa9) - Correction d'une exception qui survenait lors de l'affichage d'un
Screen
pendant le démarrage. (Ifcf40, b/184664896) - Prise en charge de la personnalisation de la couleur de texte dans
ForegroundCarColorSpan
. (I69e59) - Correction d'un problème qui entraînait l'observation de
ON_DESTROY
sur uneSession
après l'exécution deON_DESTROY
sur unScreen
. (I52e01, b/183696617) - Mise à jour du Javadoc concernant les cas où définir le temps restant d'une
TravelEstimate
sur une valeur inconnue est autorisé. (I99610, b/183632456) - Mise à jour de
Action
afin de prendre en chargeForegroundColorSpan
dans le titre et dans les couleurs d'arrière-plan personnalisées. (I578e4) - Blocage de l'exécution de
NavigationManagerCallback#onStopNavigation
si le rappel est effacé avant l'exécution par l'exécuteur. (I7fc5e, b/181143772) - Correction d'un problème qui exigeait que l'application adopte explicitement une dépendance sur "lifecycle-common-java8". (I8b8c8)
Problèmes connus
- Dans
SignInTemplate
, le clavier à l'écran affiche une icône de recherche au lieu d'une icône de saisie lorsque l'utilisateur souhaite confirmer une entrée. Pour contourner ce problème, les utilisateurs peuvent accéder au clavier du téléphone qui s'active lorsque le champ de saisie est sélectionné. - Dans Android Auto 6.5, les rappels de fonction panoramique et zoom dans
SurfaceCallback
peuvent être invoqués de manière incorrecte pour certains gestes tactiles.
Car App : version de test 1.0.0
Version 1.0.0-alpha01
24 mars 2021
Publication d'androidx.car.app:app-testing:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Première version Jetpack de cette bibliothèque, précédemment limitée aux tests de sources fermés. Consultez nos exemples pour savoir comment utiliser cette bibliothèque dans vos tests.
Nouvelles fonctionnalités
- Les contrôleurs des classes de modèle ont été supprimés. Les getters de modèle font désormais partie de la surface d'API publique, permettant de valider les valeurs définies dans les compilateurs.
- Le précédent
CarAppServiceController
a été remplacé par le nouveauSessionController
pour les tests de logiques associées au cycle de vie des connexions à l'hôte.
Version 1.0.0
Version 1.0.0
21 avril 2021
Publication d'androidx.car.app:app:1.0.0
. Liste des commits de la version 1.0.0
Principales fonctionnalités de la version 1.0.0
- Début avril, nous avons annoncé que les applications pouvaient commencer à publier des versions de production avec
androidx.car.app:app:1.0.0-rc01
. La version 1.0.0 de la bibliothèque Car App est désormais stable et entièrement compatible avec Android 6.1 et les versions ultérieures. - Référez-vous au guide du développeur pour découvrir comment créer des applications de navigation, de stationnement et de charge pour Android Auto exploitant cette bibliothèque.
Correction de bugs
- Correction d'une exception qui survenait lors de l'affichage d'un
Screen
pendant le démarrage. (70aae1, b/184664896) - Correction d'un problème qui entraînait l'observation de
ON_DESTROY
sur uneSession
après l'exécution deON_DESTROY
sur unScreen
. (0ceecb, b/183696617)
Version 1.0.0-rc01
24 mars 2021
Publication d'androidx.car.app:app:1.0.0-rc01
. Liste des commits de la version 1.0.0-rc01
Correction de bugs
- Correction d'un bug de condition de concurrence entraînant l'appel de
NavigationManagerCallback#onStopNavigation
après l'effacement du rappel. Ce problème survenait si le rappel était effacé avant son exécution effective par l'exécuteur de rappels. (I7fc5e, b/181143772) - Correction d'un problème qui obligeait l'application à adopter explicitement une dépendance sur
lifecycle-common-java8
. (I8b8c8) - Correction d'une
NullPointerException
déclenchée lorsque l'application recevait un appelstopNavigation
après avoir déjà supprimé un rappel. (Ib8b89, b/181143772) - Améliorations visant à empêcher les appels à une application dont l'état de cycle de vie n'est pas, au minimum,
CREATED
. (I86965, b/179800224, b/177921120) - Correction d'un problème qui provoquait une erreur ANR de l'hôte lorsqu'un niveau d'API minimum non valide était spécifié dans le fichier manifeste de l'application. (Iffedd, b/174231592)
Version 1.0.0-beta01
24 février 2021
Publication d'androidx.car.app:app:1.0.0-beta01
. Liste des commits de la version 1.0.0-beta01
Première version Jetpack de cette bibliothèque de sources, précédemment fermée. Compatible avec Android Auto 6.1 et les versions ultérieures. Référez-vous au guide du développeur pour découvrir comment créer des applications pour voiture exploitant cette bibliothèque.
Nouvelles fonctionnalités
- Introduction d'un
GridTemplate
que votre application peut utiliser pour afficher une liste d'éléments d'interface utilisateur sous forme de grille. - Introduction d'une méthode
CarAppService.createHostValidator
pour vérifier que la connexion à l'hôte provient d'une source fiable (par exemple, Android Auto). - Ajout d'une API
CarAppExtender.Builder.setColor
. (b/174231592)
Correction de bugs
- Correction d'un problème entraînant la réactivation du mauvais
Screen
lors d'un affichage séquentiel d'écrans. (b/177590791)