Cette section explique comment personnaliser l'application de référence Control Center et l'UI.
Parcours utilisateur et interface utilisateur
Cette section décrit les parcours utilisateur et explique comment lancer le centre de contrôle.
Lancer le centre de contrôle
Vous pouvez lancer le centre de contrôle depuis le Lanceur d'applications ou une icône de la barre de navigation de l'UI système. L'icône n'apparaît que dans les versions pour lesquelles les utilisateurs visibles en arrière-plan sont activés (pour en savoir plus, consultez UserHandleAware).
Vous pouvez consulter le centre de contrôle à tout moment. Le Centre de contrôle se compose d'une combinaison de fenêtres translucides et d'arrière-plans transparents. Il peut donc s'afficher au-dessus de n'importe quelle autre application, y compris les vidéos et contenus multimédias en cours de lecture. Sur la page de destination de l'application :
- L'agencement de l'écran et l'utilisation des écrans local et distant.
- Écrans contenant du contenu multimédia et des commandes multimédias.
- Chaque écran présente une vue détaillée des commandes multimédias (et plus encore).
La disposition des écrans représente la disposition des écrans dans le véhicule. Chaque écran est un DevicePickerScreen. Pour personnaliser l'emplacement et la taille de chaque écran, utilisez une superposition de ressources d'exécution (RRO). Pour en savoir plus, consultez Modifier la valeur des ressources d'une application au moment de l'exécution.
Pour chaque écran sur lequel le centre de contrôle est ouvert, un écran différent avec une bordure lumineuse est affiché. Il s'agit de l'écran local, c'est-à-dire l'écran utilisé.
Un écran sur deux est un écran distant pour représenter un autre écran de la voiture que vous pouvez identifier en fonction de la disposition des écrans dans le fragment. Pour calculer le nombre total de zones d'occupant configurées dans le véhicule, utilisez CarOccupantZoneManager#getAllOccupantZones.
Chaque écran définit un attribut personnalisé controlcenter:occupantZoneId pour associer les données à la zone d'occupant correspondante. Lorsqu'une application multimédia est lue sur un écran spécifique, l'écran correspondant affiche la pochette de l'album multimédia. Un bouton Lecture (ou Pause) s'affiche sous l'écran.
Si l'application multimédia active est une tâche visible (ouverte derrière le centre de contrôle), un bouton Partager situé à côté du bouton Lecture est activé pour ouvrir la page de mirroring. L'option Partager vous permet de partager l'affichage de l'application multimédia. Elle est particulièrement utile pour les applications multimédias avec vidéo.
Éléments d'écran
Lorsque vous appuyez sur un écran, une vue détaillée du contenu multimédia en cours de lecture s'affiche. C'est ce qu'on appelle l'écran de détails. La vue affiche les métadonnées du contenu multimédia, telles que le titre, la progression de la lecture et l'artiste. Ces boutons permettent de contrôler davantage la zone des occupants.
Sortie audio indique la sortie audio sur laquelle le contenu multimédia est lu (par exemple, les haut-parleurs de la voiture ou un casque). Sortie audio : ouvre une boîte de dialogue permettant de modifier la sortie audio et le volume du contenu multimédia.
L'option Verrouiller la saisie sur l'écran verrouille la saisie sur l'écran. Cette opération ne peut pas être appliquée à l'écran du conducteur.
L'option Display Power (Alimentation de l'écran) coupe l'alimentation de l'écran. Cette opération ne peut pas être appliquée à l'écran du conducteur.
La vue Détails affiche un bouton Partager sur lequel appuyer lorsque le contenu multimédia est une tâche visible derrière l'application Centre de contrôle. Partager ouvre la page de mise en miroir :
Démarrer une session de visionnage à plusieurs
La page de mirroring est semblable à la page de destination, car elle utilise un RRO.
Pour ajouter un écran à regarder à plusieurs, appuyez sur l'écran, puis sur OK.
Un Mirroring Activity s'ouvre alors, hébergeant l'application partagée et fournissant des commandes flottantes et temporaires permettant de quitter la session de visionnage à plusieurs ou de revenir sur la page de mirroring pour ajouter ou supprimer des participants.
Résumé
Vous trouverez ci-dessous un récapitulatif des différentes pages du centre de contrôle.
Consignes de personnalisation
Le centre de contrôle utilise la bibliothèque Car UI pour vous permettre de personnaliser et de fournir un thème et une structure de base qui peuvent être adoptés tels quels ou modifiés en fonction de ces restrictions.
| Personnalisation | Description |
|---|---|
| SHOULD |
Ajustez le thème et le style généraux à l'aide d'un RRO, par exemple :
|
| MAY | Modifiez la structure générale de l'interface utilisateur du centre de contrôle. |
Le centre de contrôle appartient à une suite d'applications système, qui inclut les applications Média, Centre de notifications et Lanceur d'applications. Ces applications partagent des styles et des ressources définis à différents niveaux de la structure AOSP :
framework/base/coreTheme.DeviceDefault, le thème conçu pour être utilisé par les OEM afin de personnaliser l'apparence par défaut des appareils.packages/services/Car/car_product/overlay :Theme.DeviceDefault qui sont utilisés pour produire l'apparence AOSP d'Android Automotive. Les OEM peuvent choisir d'exclure cette superposition et d'utiliser la leur à la place.packages/apps/Car/libs/car-ui-lib :packages/apps/Car/libs/car-apps-common :packages/services/Car/car_product/overlay).packages/apps/Car/MultiDisplay/ControlCenter :Theme.CarUi et sont définies dans car-ui-lib. ControlCenterActivity utilise Theme.Transparent personnalisé, qui étend Theme.CarUi.Pour prendre en charge un flux (comme le visionnage à plusieurs qui nécessite que la tâche mise en miroir soit visible), le centre de contrôle utilise une combinaison de fenêtres translucides et d'arrière-plans transparents qui n'envoient pas l'application en arrière-plan ni Lifecycle events.
<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
</style>