L'UI Radio est implémentée en tant qu'application indépendante. Vous trouverez des instructions sur l'intégration d'une UI radio au matériel radio dans la section Implémenter le radio.
La section suivante explique comment intégrer l'UI Radio aux contenus multimédias pour offrir aux utilisateurs une expérience fluide qui leur permet d'interagir avec les sources multimédias et la radio comme s'il s'agissait d'une seule application.
Parcours utilisateur de changement de source multimédia
Le diagramme suivant montre comment l'implémentation de référence de Radio et de Media implémente le flux utilisateur de changement d'application.
Figure 1 : Parcours utilisateur de changement de source multimédia
Pour assurer une transition fluide entre Radio et les autres applications dans Media, la bibliothèque car-media-common
définit des intents Android pouvant être utilisés pour lancer un sélecteur de source multimédia. Dans AOSP, ce sélecteur est implémenté dans le lanceur d'applications, qui présente la même interface utilisateur pour le lancement d'applications, mais filtrée pour n'afficher que les sources multimédias.
Les OEM peuvent choisir de conserver l'implémentation actuelle du lanceur d'applications telle quelle ou d'implémenter un sélecteur de source multimédia personnalisé.
Le sélecteur peut agir dans deux modes:
- Flux normal : Une fois le sélecteur utilisé, la source sélectionnée s'affiche dans "Media" afin que l'utilisateur puisse parcourir son contenu.
- En tant que commutateur. Un sélecteur permet de changer de source, mais le contenu multimédia n'est pas affiché à l'utilisateur. C'est le cas de l'icône du sélecteur sur la page d'accueil. Une fois la source sélectionnée, l'écran précédent le plus récent s'affiche (dans ce cas, la page d'accueil).
L'intent utilisé pour basculer entre les sources multimédias peut être obtenu à partir de la méthode MediaSource#getSourceSelectorIntent()
, qui accepte une valeur booléenne popup
qui renvoie un intent pour lancer chacun des flux décrits ci-dessus.
Les intents réels sont définis à l'emplacement packages/apps/Car/libs/car-media-common/res/values/config.xml
. Pour personnaliser cette configuration, utilisez des superpositions au moment de la compilation.
Remplacer l'application Radio
Étant donné que l'application Radio implémente la fonctionnalité de navigation multimédia et la session multimédia, elle s'affiche dans le lanceur d'applications. Pour éviter le lancement de Media lorsqu'un utilisateur clique sur l'icône, deux éléments sont nécessaires. La radio doit:
- avoir une activité de lanceur ;
- être déclarée en tant que source personnalisée ; Pour ce faire, ajoutez le nom du composant à la clé
custom_media_packages
danscar-media-common/res/values/config.xml
.
Restrictions de circulation pour l'expérience utilisateur
Les contenus multimédias doivent respecter toutes les restrictions liées aux distractions au volant. Pour ce faire, Media doit écouter CarUXRestrictionManager et implémenter toutes ses règles.
- Les contenus multimédias doivent se connecter à la bibliothèque Car et obtenir une instance de CarUXRestrictionManager.
- Les médias doivent s'abonner aux mises à jour de la liste des CarUxRestrictions et les implémenter comme indiqué dans la documentation.
- Voici quelques points particulièrement importants pour les contenus multimédias :
UX_RESTRICTIONS_NO_SETUP
. Dans ce cas, le flux de connexion doit être désactivé.UX_RESTRICTIONS_LIMIT_STRING_LENGTH
. Les messages d'erreur et les autres textes fournis par les applications multimédias doivent être limités à la longueur indiquée.