O Android 14 finalmente permite que os aplicativos mostrem conteúdo em ambas as telas em um dispositivo dobrável

Quando o Google lançou o Pixel Fold em maio, um dos recursos que disse que não estaria disponível no lançamento era o modo intérprete de tela dupla, um recurso que utiliza as telas interna e externa do dobrável para exibir traduções ao vivo. O modo intérprete de tela dupla foi lançado com a atualização do Android 14 do Pixel Fold e, até o momento, continua sendo o único recurso a fazer uso de ambas as telas no dobrável do Google. Felizmente, esse pode não ser o caso por muito mais tempo, já que o lançamento do Android 14 abriu silenciosamente a capacidade para aplicativos de terceiros usarem ambas as telas em telefones dobráveis.


Pixel_Fold_Dual_Screen_Interpreter_Mode

Modo intérprete de tela dupla no Pixel Fold. Fonte: Google.

Para ajudar os desenvolvedores de aplicativos a aproveitar os recursos exclusivos dos dobráveis, o Google criou a biblioteca Jetpack WindowManager, uma biblioteca de suporte que abstrai as APIs WindowManager de nível inferior na estrutura. Os desenvolvedores adicionam o Jetpack WindowManager como uma dependência do aplicativo para que possam fazer uso de suas APIs, como aquelas para gerenciar layouts divididos e ângulos de dobradiça. Na próxima versão 1.2.0 da biblioteca, novas “APIs de janela experimental para acessar a tela traseira” serão expostas aos aplicativos.

Para que o Jetpack WindowManager acesse itens como o sensor de ângulo da dobradiça e a tela traseira, o OEM precisa fazer algum trabalho para expô-los à biblioteca. Isso é feito implementando os módulos relevantes do Jetpack WindowManager Extensions, que são carregados no processo do aplicativo em tempo de execução. O módulo de incorporação de atividades é o que permite que os aplicativos mostrem “duas atividades simultaneamente lado a lado em um layout de vários painéis”, enquanto o módulo de informações de layout de janela disponibiliza a posição da dobradiça para os aplicativos para que eles possam “responder e mostrar layouts otimizados”. no modo de mesa em dobráveis.”

wm_extensions_in_app_process-1

Como as extensões do Jetpack WindowManager são carregadas no processo do aplicativo. Fonte: Google.

O módulo de área de janela dá aos aplicativos “acesso a monitores adicionais e áreas de exibição em alguns dispositivos dobráveis ​​​​e com vários monitores”. Este módulo foi adicionado pela primeira vez no Android 13 QPR3 em junho, a versão do sistema operacional que o Pixel Fold acompanha no lançamento. Quando implementado corretamente pelo OEM, o módulo permitiu que os aplicativos usassem o “modo de exibição traseira” para que pudessem mostrar o conteúdo na tela externa enquanto o telefone estava desdobrado. O aplicativo Câmera do Google usou isso para o recurso Selfie da câmera traseira do Pixel Fold, que permite usar a tela externa como um visor enquanto tira fotos das câmeras traseiras.

Uma mão segurando um Google Pixel Fold

Com o Android 14, o Google atualizou o módulo de área de janela para permitir que os aplicativos usem o “modo de exibição dupla” para que possam mostrar conteúdo tanto na tela interna quanto na externa. É por isso que o modo intérprete de tela dupla do Pixel Fold não foi lançado até que o telefone recebeu a atualização do Android 14, já que não era possível que os aplicativos usassem ambas as telas em um dobrável até agora. E como a API que o Google criou está disponível para todos os aplicativos, isso significa que qualquer aplicativo agora pode mostrar conteúdo apenas na tela externa ou nas telas externa e interna, se desejar, desde que o OEM implemente o módulo de área de janela.

Até agora, tanto o Google (obviamente) quanto a Samsung implementaram o módulo de área de janela em seus respectivos lançamentos do Android 14 para seus principais dobráveis. Usando o aplicativo de amostra Jetpack WindowManager do Google, meus testadores conseguiram fazer com que os modos de exibição traseira e dupla funcionassem no Pixel Fold e no Galaxy Z Fold 5, conforme mostrado abaixo.

Modo de tela dupla no Galaxy Z Fold 5. Créditos da imagem: Andrew Myrick.

Modo de tela dupla no Pixel Fold. Créditos da imagem: Anh.

Modo de exibição traseira no Pixel Fold. Créditos do vídeo: Anh.

A seção 7.1.1.1 do Documento de definição de compatibilidade do Android 14 (CDD) afirma que dispositivos com uma ou mais telas dobráveis ​​(como o Pixel Fold ou Galaxy Z Fold 5) ou dispositivos com uma dobradiça dobrável entre duas ou mais telas (como o Surface Duo ) são necessários para implementar a “versão correta do nível da API de extensões do Window Manager”. Isso significa que os telefones dobráveis ​​​​com Android 14 devem implementar pelo menos a versão 3 das extensões WindowManager.

No entanto, os OEMs só precisam implementar recursos para os quais seu dobrável realmente possui o hardware. Por exemplo, os OEMs só são obrigados a implementar o modo de exibição traseira se o seu dobrável incluir uma tela externa que “se alinhe com as câmeras do dispositivo traseiro”. O documento CDD/WindowManager Extensions não diz explicitamente que os OEMs são obrigados a implementar o modo de exibição dupla, então é possível que alguns possam desativá-lo por questões térmicas, mas não posso dizer com certeza. Esperamos que este recurso seja compatível com todos os dobráveis ​​​​que recebem Android 14, como o OnePlus Open. Estou animado para ver o que os desenvolvedores farão com esse novo recurso, mas e você?

Se você é um desenvolvedor que deseja usar as duas telas em uma tela dobrável, verifique a referência da API para as classes WindowArea no Jetpack WindowManager ou dê uma olhada no código de exemplo do Google para modo de exibição traseira e modo de exibição dupla.