Implementar rádio com mídia

A UI do Rádio é implementada como um aplicativo independente. Instruções sobre como integrar uma UI de rádio ao hardware de rádio podem ser encontradas em Implementar rádio .

A seção a seguir descreve como integrar Radio UI com Media para fornecer aos usuários uma experiência perfeita que permite aos usuários interagir com fontes de mídia e rádio como se fossem um único aplicativo.

Fonte de mídia alternando fluxo de usuário

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 alternância de aplicativos.

Fonte de mídia alternando fluxo de usuário

Figura 1. Fluxo de usuário de troca 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 intenções do Android que podem ser usadas para iniciar um seletor de fonte de mídia. No AOSP, esse seletor é implementado no App Launcher, apresentando a mesma UI para iniciar aplicativos, mas filtrado para exibir apenas fontes de mídia.

Os OEMs podem optar por adotar a implementação atual do App Launcher como está ou implementar um seletor de fonte de mídia personalizado.

O seletor pode atuar em dois modos:

  • Fluxo normal. Após utilizar o seletor, a fonte selecionada é exibida em Mídia para que o usuário possa navegar pelo seu conteúdo.
  • Como um interruptor. Um seletor é usado para alternar fontes, mas a mídia não é exibida ao usuário. Isso se aplica ao ícone do 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).

A intenção usada para alternar entre fontes de mídia pode ser obtida no método MediaSource#getSourceSelectorIntent() , que aceita um booleano popup que retorna uma intenção de 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.

Substitua o aplicativo de rádio

Dado que o aplicativo Rádio implementa Navegação de Mídia e Sessão de Mídia, o Rádio é exibido no inicializador de aplicativos. Para evitar o lançamento de mídia quando um usuário clica no ícone, dois elementos são necessários. A rádio deve :

  • Tenha uma atividade de lançador .
  • Ser declarado como uma fonte personalizada . Para fazer isso, adicione o nome do componente à chave custom_media_packages em car-media-common/res/values/config.xml .

Restrições de condução UX

A mídia deve observar todas as restrições de distração ao dirigir UX. Para isso, a mídia deve ouvir o CarUXRestrictionManager e implementar todas as suas políticas.