Présentation de HMI

Android Automotive est une plate-forme d'infoloisirs embarquée fournie avec l'Android Automotive. Projet Open Source (AOSP). Les articles de cette rubrique présentent les concepts et composants clés fournies par l'UI d'Android Automotive System et les applications de base nécessaires pour créer un humain efficace Système d'interface machine (HMI) pour les OEM, les développeurs tiers et les utilisateurs finaux.

  • Guide d'intégration de l'hôte AOSP L'hôte d'application permet aux applications automobiles tierces d'afficher des composants d'interface utilisateur (UI) de style OEM sur ses au nom de l'utilisateur.
  • Car Settings Structure (Structure des paramètres du véhicule). Les paramètres du véhicule fournissent une interface utilisateur visuelle axée sur la voiture, qui permet de se distraire au volant des optimisations, ainsi que des points d'entrée supplémentaires pour la personnalisation pour les OEM.
  • Guide d'intégration de la bibliothèque Car UI. La bibliothèque Car UI fournit un framework de développement d'UI permettant d'activer toutes les applications présentes dans voiture pour assurer la cohérence et la personnalisation.
  • Personnaliser les icônes système de la barre d'état La barre d'état est un composant de l'UI du système Android qui permet d'afficher de manière persistante des informations importantes pour les utilisateurs. Découvrez comment personnaliser les icônes système de la barre d'état.
  • Avertissements. Découvrez comment personnaliser les avertissements.
  • Téléphone. Utilisez cette appli système Android pour implémenter une expérience optimisée contre la distraction pour le Bluetooth les appels, la navigation des contacts et la gestion des appels.
  • Médias. Avec seulement quelques paramètres et un service, les développeurs peuvent étendre leurs applications multimédias existantes. Bien que les applications doivent respecter Automotive Media, les développeurs peuvent personnaliser les couleurs, les polices, les icônes et d'autres éléments du modèle pour pour créer une expérience de marque.
  • Notifications. Découvrez comment modifier l'apparence et la configuration des notifications.

Terminologie

Ces termes sont utilisés dans HMI et dans les articles associés:

Terme Définition
Applications principales L'ensemble clé d'applications essentielles au fonctionnement du système, y compris Paramètres, Radio, CVC, multimédia, numéroteur et clavier.
Document de définition de compatibilité (CDD) Énumère les exigences à remplir pour que les appareils soient compatibles avec la dernière version d'Android.
La suite de tests de compatibilité Suite d'évaluation sans frais de qualité professionnelle, disponible au téléchargement à l'adresse Téléchargements de la suite de tests de compatibilité
Personnalisation Modification d'une implémentation AOSP pour répondre aux exigences d'un OEM. Généralement, cela implique l'utilisation de superpositions de ressources pour appliquer des modifications esthétiques tout en en veillant au respect du CDD, de CTS et de toutes les consignes pertinentes relatives à l'expérience utilisateur.
Applications principales Un ensemble d'applications clés essentielles à tous les aspects d'Android, y compris les fonctionnalités, les capacités de mise à niveau, l'écosystème de développeurs tiers et les utilisateurs finaux. Les principales applications comprennent Notifications, Paramètres, Multimédia et Centre de communication/Téléphone. AOSP correspondant les implémentations doivent être de qualité de production.
Superpositions de ressources Pour modifier l'affichage de l'interface utilisateur, utilisez ce mécanisme pour remplacer les couleurs, modifier les dimensions, activer le dessin et appliquer les ressources de mise en page à la compilation (le plus courant) ou au moment de l'exécution (superpositions de ressources d'exécution (RRO)).
UI du système L'interface utilisateur en dehors d'une application appartenant au système, telle que le la barre de navigation, la barre d'état, l'écran de verrouillage et la boîte de dialogue de volume.
Thème Ensemble de couleurs et de styles utilisés pour déterminer l'apparence des composants et les applications qui héritent du thème.
Expérience utilisateur Domaine de la conception d'interface utilisateur (UI) et de sa facilité d'utilisation.

Personnalisation

L'implémentation AOSP de l'UI du système et d'autres applications système essentielles pour lancer le processus de développement de HMI. La modification de l'AOSP (principalement par le biais de superpositions de ressources) pour répondre aux exigences de marque, d'activité, et les obligations légales est appelée personnalisation.

Bien que le système global soit conçu et construit pour être flexible, différents composants sont attendus à personnaliser selon différents degrés:

  • UI du système. L'OEM peut personnaliser ou remplacer l'implémentation AOSP dans le les limites imposées par le CDD, le CTS et toute autre directive relative à l'expérience utilisateur applicable.

  • Applications système non héros (également appelées références) : Les OEM peuvent personnaliser ou remplacer l'implémentation AOSP.

  • Applications principales : Chaque application est accompagnée d'un ensemble de consignes de personnalisation détaillées. Nous recommandons vivement aux OEM d'utiliser l'implémentation AOSP, puis de la personnaliser dans le les limites permises par ces directives.

Configuration de la densité

Pour garantir que les éléments de l'interface utilisateur s'affichent correctement en fonction de la configuration d'affichage physique, la densité doit être définie sur le bucket (Métriques sur le Réseau Display) qui correspond le mieux à la densité physique, comme dans l'exemple suivant dans le fichier de compilation:

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

Moteur de restrictions de l'expérience utilisateur

CarUxRestrictionsManager permet aux applications d'écouter les modifications à l'état de conduite pour modifier l'expérience utilisateur de manière appropriée. Les OEM peuvent superposer fichier de configuration situé à l'emplacement packages/services/Car/service/res/xml/car_ux_restrictions_map.xml pour influer sur le comportement du système.

Thème système

Le thème qui définit l'ensemble d'éléments par défaut à l'échelle du système, tels que les couleurs et les styles de texte, est DeviceDefault : Nous encourageons les OEM à commencer le processus de personnalisation global en modifiant le thème DeviceDefault. Par défaut, l'UI du système, ainsi que toutes les applications système dans AOSP, héritent de ce thème. Les applications système développées par les OEM sont également encouragées à hériter de DeviceDefault. Tierce les applications développées ne sont pas censées hériter de DeviceDefault, mais utiliser à la place Theme.Car fournies dans la bibliothèque androidx.car. Les fichiers se trouvent à l'emplacement suivant:

  • Core. /frameworks/base/core/res/res/values/themes_device_defaults.xml
  • Couleurs : /frameworks/base/core/res/res/values/colors_car.xml
  • Styles : /frameworks/base/core/res/res/values/styles_car.xml
  • Superposition de voiture.
    /packages/services/Car/car_product/overlay/.../values/themes_device_defaults.xml

Les OEM doivent avoir une structure superposée parallèle au répertoire car_product. dans le répertoire "provider", ce qui étend davantage la superposition car_product.

Application Theme Playground

Cette application simplifie le processus de personnalisation du thème DeviceDefault en visualiser tous les attributs de thème en un seul endroit. De plus, en comparant le rendu de certains styles dans par rapport aux autres applications système, les développeurs peuvent rapidement déboguer les problèmes liés aux thèmes. Cette application est disponible à l'adresse:

  /packages/services/Car/tests/ThemePlayground

UI du système

L'UI du système comprend toute l'UI sous /frameworks/base, principalement dans /frameworks/base/packages/CarSystemUI Cela inclut la barre de navigation, la barre d'état, écran de verrouillage, boîte de dialogue de volume, toasts, sélecteur d'utilisateur et boîtes de dialogue d'autorisation. Les OEM peuvent personnaliser composants d'UI du système via les superpositions de ressources et la thématisation, à condition que chacun se trouve dans exigences du CDD, du CTS et des autres directives UX applicables.

Applications système

Android Automotive comprend un ensemble d'applications système essentielles pour l'ensemble du système de Google Cloud. Le Centre de communication, les médias, les notifications et les paramètres sont considérées comme des applications héros.

  • Centre de communication
  • CVC
  • IME (clavier)
  • Lanceur d'applications (écran d'accueil)
  • Lecteur multimédia local
  • Contenus multimédias
  • Messenger
  • Notifications
  • Radio
  • Paramètres

Écran d'accueil

L'écran d'accueil, appelé Car Launcher, est la page de destination de l'interface HMI. L'implémentation d'AOSP n'est fournie qu'à titre de référence. Les OEM doivent remplacer les composants leur propre implémentation, qui combine souvent la navigation, la lecture de contenus multimédias, la communication d'autres états système, si nécessaire. Souvent, l'appli Car Launcher affiche les applis disponibles sur le système. Pour apprendre à gérer des événements tels que les événements récents, les modifications de package et les événements sans interface graphique (aucune activité du lanceur d'applications), consultez l'implémentation de référence.

Notifications

Les notifications font partie intégrante du système d'exploitation Android et les mêmes constructions (y compris notification prioritaire, liste/centre de notifications, API Notification, classement et actions intégrées) ont été inclus dans Android Automotive. Pour plus d'informations, consultez la documentation Notifications Présentation. Pour optimiser les cas d'utilisation dans le secteur automobile, les modifications suivantes ont été apportées (par rapport aux pile de notifications portable):

  • Diminution du contenu global des notifications visible par les utilisateurs. lecture de contenus multimédias en continu, navigation en cours et « sans importance » (importance de LOW et en dessous) notifications de service de premier plan des applications système de la liste/du centre de notifications, avec la comprendre que ces notifications sont rendues redondantes (par exemple, un groupe montrant l'état du contenu multimédia) ou ne sont pas utiles.

  • Suppression des commandes contextuelles complexes (appui prolongé et longueur du balayage, par exemple) de contrôle).

  • Respect de la configuration du moteur de restrictions de l'expérience utilisateur.

    • L'aperçu du contenu des notifications de messagerie peut être masqué en fonction de l'état du disque.
    • Toutes les chaînes sont limitées à la longueur maximale.
  • Ajout de nouvelles catégories de notifications spécifiques aux voitures dans Android 9, disponible uniquement pour les applications système intégrées fonctionnant en tant que android.uid.system

  • CATEGORY_CAR_EMERGENCY Classées en haut de la liste des notifications. Contournements Commandes "Ne pas déranger".

  • CATEGORY_CAR_WARNING Classé en dessous du niveau d'urgence et au-dessus des autres (contourne le mode Ne pas déranger).
  • CATEGORY_CAR_INFORMATION Classées par rapport au reste des notifications en fonction de "importance" et la récence.

L'implémentation de bout en bout de la pile de notifications, des API Notification à l'UI, est considérée comme une application héros. Garantir une interopérabilité cohérente des API entre toutes les HU et pour maximiser la mise à niveau, les OEM sont vivement encouragés à adopter l'implémentation d'AOSP, le personnaliser légèrement.

Personnalisation

La thématisation DeviceDefault et les superpositions de ressources standards s'appliquent. Un nombre très limité de Les commandes de personnalisation du comportement sont disponibles à l'adresse suivante:

packages/apps/Car/Notification/res/values/config.xml

Paramètres

Application Paramètres (Paramètres du véhicule) est l'une des applications héros qui expose des commandes que l'utilisateur peut utiliser pour configurer certains aspects du système d'exploitation Android et le reste de la voiture. Paramètres propose plus de 200 fonctionnalités du système d'exploitation, qui sont étroitement liées Version d'Android. Pour permettre la mise à niveau et éviter la fragmentation, les OEM sont vivement encouragés de prendre l'implémentation AOSP, puis de la personnaliser (au lieu de la dupliquer).

Personnalisation

L'application Paramètres prend en compte la personnalisation et propose plusieurs méthodes pour la personnalisation.

  • Personnalisation des thèmes : Active la personnalisation visuelle de la façon dont chaque type d'objet des préférences doit être affichée, y compris:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • Personnalisation de la hiérarchie. Pour l'activer, procédez comme suit:

    • Démarrez dans un fragment racine arbitraire, superposez la valeur de config_settings_hierarchy_root_fragment dans le fichier intitulé Settings/res/values/config.xml

    • Personnalisation d'éléments (ordre, regroupement, texte, icônes, superposition, etc.) Settings/res/xml/*.xml

  • Injection statique : Lors de la configuration d'un projet de superposition, les OEM peuvent ajouter écrans propriétaires en définissant, puis en ajoutant les classes Fragment et Contrôleur supplémentaires. à la hiérarchie.

  • Injection dynamique : Si une application distincte (apk) héberge un l'écran des paramètres qui doit être accessible depuis l'application Paramètres principale, l'application distincte peut être injectées dynamiquement. Pour en savoir plus, consultez Préférences dynamiques.

Contenus multimédias

L'application multimédia est une application héros qui fournit une expérience utilisateur front-end pour le compte de médias. les applications qui mettent en œuvre MediaSession et MediaBrowser API. Les applications multimédias peuvent être des applications tierces (telles que Spotify et Pandora), ainsi que d'autres sources multimédias, telles que le streaming Bluetooth (BT) et les contenus multimédias locaux.

Android Auto (projection) offre des centaines d'applications multimédias, pour implémenter ces API multimédias, comme décrit dans Lecture audio pour Auto. Les API multimédias évoluent avec chaque version majeure d'Android et avec les versions des AndroidX. Pour garantir l'interopérabilité des API avec toutes les applications multimédias et les futures versions d'Android, les OEM sont Nous vous encourageons vivement à utiliser l'implémentation d'AOSP, puis à la personnaliser.

Personnalisation

La thématisation standard du thème DeviceDefault s'applique également aux contenus multimédias. En outre, il est possible de personnaliser l'apparence grâce aux superpositions de ressources, à condition que la personnalisation soit dans les limites des directives UX.

Multimédia et sources multimédias USB

Dans la mesure du possible, nous vous recommandons vivement de connecter ces sources multimédias via une implémentation de MediaSession et MediaBrowser (cela s'applique à toutes les applications multimédias tierces). Consultez l'application LocalMediaPlayer dans le fichier AOSP. Cette appli affiche les fichiers multimédias locaux et s'affiche en tant que source dans "Contenus multimédias".