Descobrimos como ativar o novo recurso Always on Display do Google Pixel 2 no Nexus 6P, Google Pixel e Pixel XL sem precisar de root!
O Google Pixel 2 e Pixel 2 XL são os mais novos smartphones da série de smartphones Pixel do Google e, embora o hardware seja principalmente um melhoria incremental em relação aos telefones Pixel da geração anterior, o software tem alguns recursos realmente interessantes Novas características. Existe a nova tecnologia de câmera usada no telefone Recurso Modo Retrato, o recurso de reconhecimento de música sempre ouvindo chamado Agora jogandoe um recurso Always on Display. Infelizmente, nenhum desses recursos chegará aos smartphones anteriores do Google, pelo menos oficialmente. Mostramos anteriormente que é possível ativar o Always on Display do Pixel 2 via ROM personalizada, mas descobrimos recentemente que é possível habilite Always on Display no Nexus 6P, Pixel e Pixel XL sem root.
Créditos da imagem: Membro Júnior XDA InFlames03
Always on Display agora pode ser ativado graças ao Android 8.1 e Substratum
Anteriormente, informamos que seria impossível ativar o recurso Always on Display em qualquer telefone Google mais antigo. Isso ocorre porque o Google codificou a função que permite que Always on Display sempre retorne falso. Este foi o caso na queda do código-fonte do Android 8.0 Oreo, mas não é mais verdade com o lançamento do Visualização do desenvolvedor 1 do Android 8.1 Oreo.
Conforme mostrado nas capturas de tela acima, a função responsável por determinar se o Always on Display deve ou não ser habilitado anteriormente retornava apenas “falso”. No último Configuração do AmbientDisplay código, no entanto, agora ele verifica um valor de configuração booleano chamado "config_dozeAlwaysOnDisplayDisponível", que é definido pelo Google como verdadeiro no Pixel 2 e Pixel 2 XL, mas falso em todos os outros telefones que eles fabricam.
Para ser mais específico, o Google usa uma sobreposição de estrutura instalada em /vendor/overlay chamada framework-res_auto_generated_rro para especificar o valor desta configuração. Como esta sobreposição de estrutura é baseada no OverlayManagerService (OMS), podemos criar nossa própria sobreposição de estrutura para force config_dozeAlwaysOnDisplayDisponível para retornar "true" no Nexus 6P, Pixel e Pixel XL.
Isto é possível porque o OMS, o framework temático construído pela Sony, é integrado nativamente a partir do Android Oreo. Graças a isso, podemos usar os comandos integrados para gerenciar e instalar nossos próprios temas—tudo sem precisar de root. Ao fazer isso, os desenvolvedores descobriram como obter o popular Gerenciador de temas de substrato trabalhando em dispositivos Android Oreo. Assim, para que o Always on Display funcione, usaremos o gerenciador de temas Substratum com seu plugin Andromeda para instalar nossa sobreposição de estrutura especial no Nexus 6P, Pixel e Pixel XL.
Por fim, há mais um ponto de confusão que quero abordar: o fato de estarmos usando o que é popularmente chamado de “mecanismo de tema” para ativar um recurso oculto. Embora o Substratum seja comumente usado para instalar temas, é mais correto chamar esses temas de "recursos sobreposições." Isso ocorre porque esses "temas" especificam valores que substituem os recursos originais de seu destino aplicativo. Normalmente, as sobreposições de recursos apenas substituem os valores de cores no aplicativo original, mas também podem ter como alvo números inteiros, strings ou valores booleanos nos recursos do aplicativo. Algumas sobreposições de substrato existentes usam isso para personalize a tela de bloqueio, a tela de aplicativos recentes e as configurações rápidas por exemplo.
De qualquer forma, espero que você entenda melhor o que estamos prestes a fazer. Siga o tutorial abaixo para ativar o Always on Display do Pixel 2 nos telefones Google Pixel de primeira geração, bem como no Nexus 6P.
Como ativar o recurso Always on Display do Google Pixel 2 no Nexus 6P, Pixel e Pixel XL
Requisitos:
- Nexus 6P, Google Pixel ou Google Pixel XL. O Nexus 5X funcionará, mas não é recomendado devido à falta de uma tela OLED.
- Prévia do desenvolvedor do Android 8.1 Oreo 1. Você pode encontrar os arquivos de firmware aqui.
- Licença para Plug-in Andromeda do Substratum ($1.99). Sem isso, você não conseguirá instalar a sobreposição de framework que fizemos. Pelo menos, não facilmente.
Tutorial
Agradecimentos especiais ao membro júnior do XDA InFlames03 por auxiliar na descoberta deste recurso, testá-lo e finalmente oferecer uma sobreposição de framework para download. Confira seu novo Oreo e Fresco temas.
- Configure o Substratum e seu plugin Andromeda. Você pode seguir este tutorial todo o caminho até terminar a parte 1.
- Instale o APK ativador AlwaysOn de AndroidFileHost ou o Aplicativo Pixel Enabler da Google Play Store. O primeiro é apenas uma sobreposição básica que habilita esse recurso, enquanto o último incluirá mais recursos no futuro.
- Abra o substrato e procure por "Ativador Sempre Ligado" por Sai na lista de temas. Toque nele.
- Toque em "selecione para alternar todas as sobreposições."
- Toque no botão de rolo de pintura flutuante.
- Selecione "Construir e habilitar."
- Reinício.
- Abra Configurações -> Tela. Expandir o "Avançado"categoria e toque em"Exibição ambiente."
- Você deverá ver um "Sempre" alternar. Desative e reative-o. Aproveite sempre em exibição!
Como alternativa, você pode assistir ao vídeo a seguir que descreve as etapas básicas necessárias para ativar o Always on Display. O vídeo foi capturado pelo membro sênior do XDA eqbirvin em seu Google Pixel XL rodando Android 8.1 Oreo. Observe que ainda recomendamos que você reinicie, mesmo que o vídeo não mostre nenhuma reinicialização.
Ressalvas
O Nexus 6P, Pixel e Pixel XL não oferecem um recurso Always on Display por padrão porque suas telas não estão devidamente ajustadas para entrar no estado de sono de baixo consumo de energia que as telas do Pixel 2 estão. Portanto, usar essa sobreposição para ativar o Always on Display pode ser considerado um hack, pois tem suas ressalvas. Não usamos isso há muito tempo para medir o consumo de energia ou outros problemas potenciais, mas até agora aqui estão os problemas que encontramos:
- Pressionar o botão liga / desliga para ativar diretamente na tela de bloqueio do Always on Display não funciona. Você tem que pressionar o botão liga / desliga duas vezes.
- Tocar duas vezes para ativar diretamente na tela de bloqueio do Always on Display não funciona. Você tem que tocar duas vezes duas vezes (4 toques).
- Às vezes, uma tela cinza pode aparecer durante a fase de desbloqueio.
Você não terá nenhum dos problemas acima se desbloquear o telefone na tela Always on Display usando o leitor de impressão digital. Se você encontrar algum dos problemas listados acima, um simples bloqueio e desbloqueio com sua impressão digital também pode resolver o problema.
Conclusão
Suspeitamos que os problemas listados acima estão relacionados à transição inadequada da tela do estado Always on Display para o estado de tela ligada e estamos procurando possíveis soluções. É possível que esses problemas nunca sejam corrigidos ou que sejam corrigidos coincidentemente em uma prévia do desenvolvedor futura. Nosso maior medo é que o Google veja o que estamos fazendo e, novamente, codifique o Always on Display. Esperamos que isso não aconteça, mas certamente é uma possibilidade. Por enquanto, aproveite o recurso Always on Display do Google Pixel 2 enquanto pode!