A Radio UI é implementada como um aplicativo independente. Instruções sobre como integrar uma interface do usuário de rádio ao hardware de rádio podem ser encontradas em Implementing Radio .
A seção a seguir descreve como integrar a interface do usuário do rádio com a mídia para fornecer aos usuários uma experiência perfeita que permite que os usuários interajam com fontes de mídia e rádio como se fossem um único aplicativo.
Fluxo de usuário de troca de fonte de mídia
O diagrama a seguir ilustra como a implementação de referência de Rádio e Mídia implementa o fluxo de usuário de comutação de aplicativos.
Figura 1. Fluxo de usuário de comutação de fonte de mídia
Para fornecer uma transição perfeita entre Rádio e outros aplicativos em Mídia, a biblioteca car-media-common
define as intenções do Android que podem ser usadas para iniciar um seletor de fonte de mídia. No AOSP, esse seletor é implementado no Iniciador de aplicativos, apresentando a mesma interface do usuário para iniciar aplicativos, mas filtrado para exibir apenas fontes de mídia.
Os OEMs podem optar por adotar a implementação atual do Iniciador de aplicativos como está ou implementar um seletor de fonte de mídia personalizado.
O seletor pode atuar em dois modos:
- Fluxo normal. Após usar o seletor, a fonte selecionada é exibida em Mídia para que o usuário possa navegar pelo seu conteúdo.
- Como interruptor. Um seletor é usado para alternar as fontes, mas a mídia não é exibida ao usuário. Isso vale para o ícone Seletor na Página inicial. Após selecionar uma fonte, a tela anterior mais recente é exibida ao usuário (neste caso, a página inicial).
O intent usado para alternar entre as fontes de mídia pode ser obtido no método MediaSource#getSourceSelectorIntent()
, que aceita um booleano popup
-up que retorna um intent para iniciar cada um dos fluxos descritos acima.
As intenções reais são definidas em packages/apps/Car/libs/car-media-common/res/values/config.xml
. Para personalizar essa configuração, use sobreposições em tempo de compilação.
Substituindo o aplicativo Rádio
Dado que o aplicativo Radio implementa Media Browse e Media Session, Radio é exibido no inicializador de aplicativos. Para evitar o lançamento de mídia quando um usuário clica no ícone, são necessários dois elementos. O rádio deve :
- Tenha uma atividade de lançador .
- Seja declarado como uma fonte personalizada . Para fazer isso, adicione o nome do componente à chave
custom_media_packages
emcar-media-common/res/values/config.xml
.
Restrições de condução UX
A mídia deve observar todas as restrições de distração de condução UX. Para isso, a Mídia deve ouvir o CarUXRestrictionManager e implementar todas as suas políticas.
- A mídia deve se conectar à biblioteca Car e obter uma instância de CarUXRestrictionManager .
- A mídia deve assinar atualizações na lista de CarUxRestrictions e implementá-las conforme documentado.
- Particularmente importantes para a mídia são:
-
UX_RESTRICTIONS_NO_SETUP
. Nesse caso, o fluxo de entrada deve ser desabilitado. -
UX_RESTRICTIONS_LIMIT_STRING_LENGTH
. As mensagens de erro e outros textos fornecidos pelos aplicativos de mídia devem ser limitados ao tamanho especificado.
-