Mishaal Rahman / Autoridade Android
Resumo
- A partir do Android 15, os aplicativos destinados à nova versão serão forçados a ficar de ponta a ponta por padrão, o que torna as barras de status e navegação transparentes.
- No entanto, o Google adicionou discretamente uma API que os aplicativos podem usar para cancelar a aplicação de ponta a ponta.
- No entanto, essa API não é mencionada em nenhum documento de desenvolvedor, postagem de blog ou codelab do Google.
Embora o Android tenha oferecido há muito tempo aos aplicativos a capacidade de usar a tela inteira do seu telefone, permitindo que eles desenhem conteúdo abaixo das barras de status e navegação, muitos aplicativos não aproveitam isso. Há muitas razões pelas quais os desenvolvedores têm evitado fazer seus aplicativos irem de ponta a ponta, mas na próxima atualização do Android 15, eles não terão escolha a não ser fazer isso — ou pelo menos, foi o que pensamos.
Para contextualizar um pouco, os aplicativos há muito tempo conseguem ir de ponta a ponta implementando algumas APIs que dizem ao SO para desenhar o aplicativo abaixo das duas “barras do sistema” (ou seja, as barras de status e navegação). O motivo pelo qual o Google não aplicou esse comportamento imediatamente é que muitos aplicativos podem ter problemas de IU se forem forçados a ir de ponta a ponta. Por exemplo, um aplicativo pode ter um elemento interativo como um botão de ação flutuante que se sobreporia à barra de navegação se fosse de ponta a ponta.
Para resolver isso, o Google deu aos desenvolvedores uma maneira de lidar com sobreposições usando inserções, que especificam quais partes da tela do aplicativo se cruzam com a IU do sistema. No entanto, como o edge-to-edge nunca foi imposto em aplicativos, muitos desenvolvedores não precisaram se preocupar em lidar com esses conflitos de IU. Isso deve mudar com o Android 15, no entanto.
Quando o Google anunciou o Android 15 Beta 1 no início deste ano, eles revelaram que os aplicativos direcionados ao Android 15 serão exibidos de ponta a ponta por padrão. Para ajudar os desenvolvedores com essa transição, o Google publicou novos documentos, tutoriais e codelabs para desenvolvedores que demonstram como lidar com as imposições de ponta a ponta no Android 15.
O que nenhum desses guias menciona, no entanto, é que na verdade existe uma API que os aplicativos podem usar para desativar o modo de ponta a ponta.
À esquerda: o aplicativo tem como alvo o SDK 34 (Android 14) e não é de ponta a ponta em um dispositivo Android 15.
À direita: O aplicativo tem como alvo o SDK 35 (Android 15) e é edge-to-edge em um dispositivo Android 15. Fonte: Google
A API em questão é um atributo chamado windowOptOutEdgeToEdgeEnforcement
que os aplicativos podem definir como true em seus arquivos de tema. O atributo é false por padrão, o que significa que a imposição de ponta a ponta será aplicada à janela se ela fizer parte de um aplicativo que tem como alvo o Android 15. Se o atributo for definido como true, no entanto, a imposição de ponta a ponta não será aplicada à janela em questão.
No entanto, a descrição da API avisa que “este atributo será descontinuado e desabilitado em um nível futuro do SDK”, o que significa que essa solução alternativa não existirá para sempre. No mínimo, ela dá aos desenvolvedores pelo menos dois anos adicionais para otimizar seus aplicativos para o modo edge-to-edge, já que a Google Play Store não forçará os aplicativos a serem direcionados ao Android 15 até 31 de agosto de 2026. Mesmo assim, não sabemos exatamente qual versão do Android realmente descontinuará e desabilitará esse atributo, como o Google avisa, o que significa que ele pode ser usado para evitar o suporte ao modo edge-to-edge por mais de dois anos.
De qualquer forma, esperamos que a maioria dos desenvolvedores atualize seus aplicativos para suportar o modo de ponta a ponta em vez de optar por sair. Caso contrário, esperamos que esse atributo seja usado apenas para optar temporária e seletivamente por certas janelas fora da aplicação de ponta a ponta. Vários aplicativos do próprio Google podem estar fazendo exatamente isso, já que o pessoal do grupo GN Issues no Telegram apontou que aplicativos como Phone by Google e Google Play Services não estão desenhando de ponta a ponta, apesar de terem como alvo o Android 15.
Depois, há o Google Chrome para Android, que também pode usar essa API para desativar o modo edge-to-edge. Alguns desenvolvedores também estão pressionando o Google a fornecer um mecanismo de opt-out em versões futuras do Android e, se eles obedecerem, a aplicação edge-to-edge do Android pode voltar a ser apenas uma sugestão.