Car App

Créez des applications basées sur des modèles pour Android Auto et Android Automotive OS.
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.

Signaler un nouveau problème

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 framework Notification.Builder au lieu de NotificationCompat.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 classe TabContents.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 dans TabTemplate 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 et MapTemplate 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éthode onDestroy de BaseCarAppActivity 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 et PlaceListNavigationTemplate, et incitation à utiliser le nouveau MapWithContentTemplate (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.
  • É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 de MapWithContentTemplate (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 dans ListTemplate, abandon de headerAction, headerTitle et actionStrip (I7ae01)
  • Abandon de title, headerAction et actionStrip dans GridTemplate, et prise en charge de Header (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éthodes GridItem pour obtenir/définir le badge. (Id71eb)
  • Abandon de title, headerAction et actionStrip dans PaneTemplate, ajout de la prise en charge de Header (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 dans MessageTemplate. La prise en charge de ActionStrip, headerAction et title 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 de ConversationItem. (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 de ConversationItem. (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 fichier settings.gradle de votre projet pour supprimer temporairement l'avertissement de manière sécurisée.

Nouvelles fonctionnalités

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 comme set/get ContentTemplate (Ica036)
  • Le paramètre du modèle est désormais @NonNull. Mise à jour de la documentation de l'API MapWithContentTemplate (I0f8ed)
  • Suppression de la balise @ExperimentalCarApi pour les actions dans ListTemplate pour le lancement dans CAL 1.4 (I2cfcb)
  • Suppression de la balise @ExperimentalCarApi pour TabTemplate (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éthodes setImage() 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 image GridItem. (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() et hashCode() pour ConversationItem et CarMessage. (I6fd10)
  • Amélioration de la validation de ConversationItem.mMessages (nécessite une valeur non nulle, non vide). (Iafc51)
  • Ajout des annotations @Keep aux champs ConversationItem. (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 et MapTemplate. Pour cela, mettez à jour les informations de navigation via NavigationManager.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 et Row. ([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éfinir OnClickDelegate() sur des actions, à l'exception des types d'icônes standards. (TYPE_APP_ICON, TYPE_BACK et TYPE_PAN) (I3c745)

Correction de bugs

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 le NavigationTemplate. (I163a7, I5ad70)
  • Niveau d'API 5 : nouveaux composants Header et MapController 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 et androidx.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'interface SurfaceCallback permettant l'interactivité des gestes sur la carte. (Ia9777)
  • Niveau d'API 5 : nouveaux indicateurs Action.FLAG_IS_PERSISTENT et Action.FLAG_DEFAULT pour décrire les composants Action. (I96318, I5ad70)
  • Niveau d'API 5 : nouvel état activé/désactivé pour les composants Action ,Row et Toggle, 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 sur PlaceListNavigationTemplate.Builder et RoutePreviewNavigationTemplate.Builder. Les méthodes setTitle et setHeaderAction sont désormais obsolètes. (I30e6a)
  • Niveau d'API 5 : nouvelle méthode setOnContentRefreshListner sur PlaceListMapTemplate.Builder et PlaceListNavigationTemplate.Builder destinée à être utilisée avec les implémentations de la nouvelle interface OnContentRefreshListner.
  • Niveau d'API 5 : nouveaux éléments setTripText et setTripIcon dans le TravelEstimate.Builder permettant de personnaliser la fiche d'estimation du temps de trajet. (Idcc6d, Ic620d)
  • Prise en charge des éléments CarIconSpan dans le titre du PaneTemplate. (Ia1ee0)
  • Prise en charge des éléments CarIconSpan dans le titre et le texte d'une Row. (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 et SignInTemplate. (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 de STATUS_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 dans CarValue.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 dans PlaceListNavigationTemplate et RoutePreviewNavigateTemplate sera disponible dans les prochaines versions des plates-formes Android Auto et Android 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 un Pane. (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 et RoutePreviewNavigationTemplate. (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 et LongMessageTemplate, 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 explicitement TestCarContext. (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 par CarNotificationManager.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 de Desktop 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 et ScreenController en une seule méthode moveToState. (I1ed00)
  • Ajout de CarContext#getHostInfo(). (I8977e)
  • Suppression des champs obsolètes. (I67168)
  • Mise à jour de SessionController et ScreenController pour exposer directement les constructeurs. (Iabf22)
  • Suppression de PinSignInMethod.Builder et ProviderSignInMethod.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 devient OnCarDataAvailableListener. (I518ca)
  • Mise à jour du nom et du Javadoc des méthodes CarInfo, Speed et Mileage. (I86672)
  • Changement de nom : Toll devient TollCard. (I3e7c8)
  • Suppression et remplacement de PinSignInMethod.getPin (obsolète) par PinSignInMethod.getPinCode. (I996ce)
  • Suppression et remplacement de OnInputCompletedListener par InputCallback. (Ib5be1)
  • Modification de PinSignInMethod afin de recevoir CharSequence au lieu de String. (I275d5)

Correction de bugs

  • Corrections du Javadoc pour le matériel du véhicule. (I2abbc)

Contribution externe

Problèmes connus

  • Dans SignInTemplate, l'utilisation de InputSignInMethod peut entraîner un NullPointerException 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 et LongMessageTemplate, 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 devient OnRequestPermissionsListener. (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 dans MessageTemplate. (Ida657)
  • Ajout d'setLoading à MessageTemplate. (I2a4b5)
  • Changement de nom : ConnectionToCar devient CarConnection. (Ife9bd)
  • Modification de NavigationTemplate afin de renvoyer un PanModeDelegate 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 et LongMessageTemplate 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 une Session après l'exécution de ON_DESTROY sur un Screen. (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 charge ForegroundColorSpan 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 nouveau SessionController 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 une Session après l'exécution de ON_DESTROY sur un Screen. (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 appel stopNavigation 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

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)