A interface escalonável melhora sua capacidade de criar configurações de várias janelas no Android Automotive OS (AAOS). Ela oferece uma estrutura que você pode usar para orquestrar onde e como os apps são mostrados na tela. O resultado é mais controle sobre o fluxo de informações.
Os desenvolvedores de apps do sistema podem considerar esses fatores.
Contêineres de apps configuráveis
Os painéis da interface escalonável servem como contêineres configuráveis para apps, o que permite a criação de layouts diversos em que os apps podem aparecer simultaneamente na tela ou em tamanhos diferentes.
A interface escalonável oferece suporte a mudanças de tamanho do painel no ambiente de execução. No entanto, isso causa um impacto significativo na performance, já que os apps precisam ajustar o conteúdo.
A interface escalonável oferece mecanismos para reduzir o impacto visualmente. Por exemplo, fornecendo uma tela Overlay integrada ao redimensionar os painéis para evitar a redefinição do layout do aplicativo por frame. Você precisa definir a experiência do app.
Comunicar estados do sistema
É possível usar a interface escalonável para acionar eventos do sistema baseados em transmissão, o que significa que você pode configurar regras para quando e como diferentes apps são iniciados e quais dos eventos do sistema são visíveis para esses apps.
Isso adiciona flexibilidade aos apps do sistema, já que eles reagem aos eventos definidos no nível do sistema. Por exemplo, uma NavigationCardActivity pode ser configurada para ser iniciada quando uma sessão de navegação ativa e um app de mapa não estiverem na tela. Ela também pode permitir que os apps do sistema mudem o tema de cores com base em indicadores centralizados controlados pela velocidade de um veículo.
Desenvolvedores de apps de terceiros
Os desenvolvedores de apps de terceiros precisam considerar esses aspectos ao ativar configurações de várias janelas.
Posicionamento do painel do app: os apps podem ser colocados em vários tamanhos de painel, exigindo um design adaptável. Isso é necessário para apps em qualquer configuração de várias janelas e não é específico da interface escalonável.
Processamento de margens: os apps precisam processar margens (áreas da tela ocupadas por elementos da interface do sistema ou recortes de exibição). Os painéis publicam atualizações sobre as margens, o que permite que os apps se adaptem. Isso é exigido pelos requisitos do Android de que os apps processem mudanças de margem do sistema e não é específico da interface escalonável.
Modo imersivo: os apps que usam o modo imersivo (em que as barras do sistema podem ser ocultadas e o app preenche a tela) precisam ser considerados. A interface escalonável oferece controle sobre a definição do modo imersivo e como cada posicionamento do painel precisa ser definido nesse modo.
Você precisa determinar como usar o modo imersivo, considerando a segurança do motorista e outros requisitos.
Com base nos requisitos do Android, um app não pode esperar que outro preencha a tela ao receber uma solicitação de modo imersivo. O SO concede ou rejeita essas solicitações.