Janelamento para computadores

Esta página detalha os recursos e cenários de teste relacionados ao modo Janela para Computador.

No Android 17 e versões mais recentes, é possível ativar o modo Janela para Computador por tela. Para mais informações, consulte Ativar o modo Janela para Computador.

Recursos do modo Janela para Computador

Esta seção descreve os principais recursos e configurações relacionados ao modo Janela para Computador.

Ativar limites de tarefas

Para configurar o número máximo de tarefas com suporte no modo Janela para Computador:

  1. Ative o modo Janela para Computador.
  2. Defina a flag de sobreposição de configuração config_maxDesktopWindowingActiveTasks em config.xml como o número máximo de tarefas com suporte. Para oferecer suporte a um número ilimitado de tarefas, defina a flag como o valor padrão de 0:

    <integer name="config_maxDesktopWindowingActiveTasks">4</integer>
    

Recursos específicos do navegador

O Android 16 introduziu dois recursos específicos do navegador: inserções de cabeçalho personalizáveis e gerenciamento de instâncias de apps. Esta seção descreve os cenários de teste para verificar a compatibilidade do navegador. Os OEMs precisam verificar se a implementação do recurso funciona conforme o esperado.

Casos de teste para inserções de cabeçalho personalizáveis

Os casos de teste a seguir verificam a compatibilidade do navegador com inserções de cabeçalho personalizáveis:

  • Interatividade da interface: verifique se a interface da barra de legenda do navegador permanece totalmente interativa em todas as configurações de janela (formato livre, tela dividida e tela cheia).
  • Liberação de ícones do sistema: confirme se a interface do navegador não é renderizada abaixo dos ícones do sistema.
  • Aplicação da cor de primeiro plano: verifique se as cores de primeiro plano corretas são aplicadas aos ícones do sistema no cabeçalho do app com base no tema do navegador. Isso é particularmente importante quando o tema do navegador é diferente do tema do sistema.
  • Arrastar janela: valide se uma janela de formato livre pode ser arrastada pressionando e segurando qualquer área vazia da barra de guias.
  • Visibilidade da guia ao redimensionar: teste se as guias são mostradas ou ocultadas com base na largura da janela para manter a usabilidade ideal.

Casos de teste para gerenciamento de instâncias de apps com comportamento de gesto arrastável

Os casos de teste a seguir verificam a compatibilidade do navegador com o gerenciamento de instâncias de apps:

  • Criação de novas janelas: confirme se arrastar uma guia da barra de guias para uma área vazia cria uma nova janela do navegador contendo essa guia.
  • Nenhuma janela nova para a última guia (instância única): se apenas uma instância do navegador estiver aberta, verifique se arrastar a última guia dessa janela não cria uma nova janela.

Modos de comportamento com prioridade para o modo Janela para Computador e o modo de toque

O modo Janela para Computador foi projetado para oferecer suporte a uma variedade de formatos além de tablets independentes, incluindo clamshells e dispositivos com telas externas conectadas. Como diferentes formatos têm expectativas de interação diferentes do usuário, geralmente ditadas pelo método de entrada principal (toque ou teclado e mouse), o modo Janela para Computador emprega dois modos de comportamento distintos:

  • Modo com prioridade para o modo Janela para Computador:oferece uma experiência otimizada para teclado e touchpad em que o sistema prefere o modo Janela para Computador de formato livre. Esse modo é destinado a configurações semelhantes a laptops.
  • Modo de toque:oferece uma experiência otimizada para toque em que o sistema prefere o modo Janela para Computador de tela cheia. Esse modo é o padrão para tablets independentes.

Esses modos não são ambientes de trabalho separados, mas estados por tela que ditam os comportamentos padrão da interface.

Diferenças de comportamento

A tabela a seguir resume as principais diferenças funcionais e de interface entre os modos com prioridade para o modo Janela para Computador e o modo de toque:

Recurso Modo de toque Modo com prioridade para o modo Janela para Computador
Inicialização padrão As janelas são iniciadas em tela cheia, a menos que uma janela de formato livre já esteja na frente. As janelas são iniciadas em formato livre, a menos que uma janela de tela cheia já esteja na frente.
Tipo de barra de tarefas Usa a barra de tarefas temporária (mostrando apenas apps fixados) em tela cheia. Sempre usa a barra de tarefas da área de trabalho (mostrando apps fixados e abertos).
Refoco As janelas são reativadas com base no modo de exibição atual (por exemplo, reativando em formato livre se a tela estiver no modo Janela para Computador). As janelas são reativadas com base no próprio modo de janela salvo (por exemplo, uma janela de tela cheia sempre é retomada em tela cheia).
Arrastar para cima Arrastar uma janela para a borda superior entra no modo Tela cheia. Arrastar uma janela para a borda superior entra no estado Maximizado.
Controles de janela Usa o identificador do app para controles de tela cheia. Usa o menu flutuante para controles de tela cheia.

O modo com prioridade para o modo Janela para Computador é um estado por tela, o que significa que um dispositivo pode hospedar simultaneamente uma tela interna com prioridade para o modo de toque e uma tela externa com prioridade para o modo Janela para Computador.

Acionadores de mudança

O sistema avalia vários fatores para determinar o modo apropriado para uma tela:

  • Periférico de entrada:uma tela muda para o modo com prioridade para o modo Janela para Computador se um teclado e um touchpad ou mouse estiverem conectados e ativados.
  • Tela externa:as telas externas conectadas geralmente são definidas como padrão para um modo com prioridade para o modo Janela para Computador, a menos que estejam espelhando a tela interna.
  • Posição do dispositivo:para dispositivos conversíveis, o modo pode mudar com base na orientação física (por exemplo, mudar para o modo de toque quando o teclado é virado para trás).

Implementação técnica

A "fonte da verdade" para esse estado é o modo de janela da tela, especificamente o modo de janela da TaskDisplayArea da tela. Os componentes do shell e do inicializador podem acessar esse estado usando DisplayAreaInfo ou a WindowConfiguration do contexto da tela.

Modo Janela para Computador por tela

No Android 17 e versões mais recentes, para telas que podem hospedar tarefas, conforme definido por Display.canHostTasks, o WindowManager (WM) determina a qualificação para o modo Janela para Computador com base em critérios que os fabricantes de equipamentos originais (OEMs, na sigla em inglês) podem configurar. Por padrão, o WM verifica os seguintes critérios:

  • Suporte ao modo Janela para Computador de formato livre
  • Decorações do sistema ativadas
  • Modo de conteúdo ou tela padrão ativado

Quando a qualificação de uma tela muda, o WM chama IDisplayWindowListener.onDesktopModeEligibleChanged. A API oculta WindowManager.isEligibleForDesktopMode retorna se a tela está qualificada para o modo Janela para Computador. O shell do WM intercepta essa chamada e, se a tela se qualificar, decide se ela oferece suporte ao modo Janela para Computador e aloca os recursos necessários.