Como adicionar botões personalizados à barra de navegação do Samsung Galaxy S8/S8+

Um tutorial sobre como adicionar um botão personalizado à barra de navegação do Samsung Galaxy S8 ou Samsung Galaxy S8+. Não requer acesso root.

O Galaxy S8 e o Galaxy S8+ da Samsung são dois dos smartphones mais populares do mercado, em grande parte graças aos grandes avanços que a Samsung fez com sua tecnologia de exibição. Como a Samsung pretendia reduzir ao máximo os engastes com seus novos dispositivos principais, a empresa finalmente se livrou das teclas capacitivas que antes eram a base do hardware Samsung. Em seu lugar estão as teclas de navegação do software, que podem ser modificadas até certo ponto na interface do Samsung Experience.

Como de costume, no entanto, a implementação padrão do sintonizador da barra de navegação carece de personalização. A maior parte da personalização gira em torno do botão home – você pode alterar a sensibilidade e se ele desbloqueia ou não diretamente o telefone. Embora exista uma opção para alterar o layout do botão, o único layout para o qual você pode alternar é um layout invertido, em que as teclas traseira e recente são invertidas.

Nós do XDA-Developers estamos sempre olhando além do que o fabricante oferece para encontrar mais maneiras de personalizar seu telefone. É por isso que hoje estamos introduzindo um método para adicione botões adicionais à barra de navegação no Samsung Galaxy S8 e S8 +.

Se você acompanha o Portal XDA (como deveria), deve ter visto meu post do mês passado sobre como a personalização da barra de navegação pode ser realizada no Android 7.X dispositivos sem a necessidade de mods de interface do sistema, ROMs personalizados ou acesso root de qualquer tipo. O método envolve a modificação direta das configurações responsáveis ​​pelo ajuste da barra de navegação, mesmo que a GUI para modificar a barra de navegação tenha sido ocultada do usuário. Isso ocorre porque o código que compõe o sintonizador da barra de navegação oculta está nos repositórios do Android Open Source Project (AOSP) desde o Android Nougat, mas não estava até Android O que o Google expôs essa atividade no System UI Tuner. No entanto, desde que o software fornecido no seu dispositivo com Android Nougat não remova totalmente o código por trás do sintonizador da barra de navegação, é possível usar esse recurso sem esperar.

Modificar a barra de navegação envolve o envio de comandos shell por meio do ADB ou de um aplicativo que recebeu a permissão WRITE_SECURE_SETTINGS. Devido ao fato de que mexer com o ADB é algo com o qual muitas pessoas não estão familiarizadas, Membro Sênior do XDA paphonb desenvolveu um aplicativo chamado Barra de navegação personalizada para tornar tudo mais fácil para você.

À medida que milhares de pessoas começaram a testar seu aplicativo, muitos usuários do Galaxy S8 e Galaxy S8+ começaram a encontrar falhas frequentes na interface do sistema ao tentar usar o aplicativo. Nós assim assumido que modificar a barra de navegação além da implementação da Samsung era impossível - mas essa suposição foi considerada errada desde então. Veja como fazer exatamente isso.

Adicionando botões personalizados à barra de navegação no Galaxy S8 ou S8+

Após alguns testes iniciais, descobrimos que os mesmos comandos shell que estávamos enviando meu tutorial original também funcionam no Galaxy S8 e S8+, mas com uma ressalva importante. As teclas originais do alternador traseiro, inicial, recente e IME DEVE estar presente não importa qual layout você use. Se alguma dessas chaves estiver faltando, a IU do sistema começará a travar repetidamente. Além disso, qualquer tecla adicionada à barra de navegação parecerá um pouco estranha quando a barra de navegação Samsung muda automaticamente as cores para um fundo branco, mas estou procurando maneiras de contornar esse problema menor inconveniência.

De qualquer forma, vamos nos aprofundar nos comandos que você precisa aprender para modificar a barra de navegação do seu dispositivo Samsung Galaxy. A primeira coisa que você precisa fazer é configurar o ADB em sua máquina.

Configurando o ADB

Primeiro, baixe o binário ADB direto do Google para o seu sistema operacional específico e extraia-o para um diretório separado no seu computador. Próximo, instale o driver adequado para o seu telefone Samsung. Em seguida, habilite "Depuração USB" em Configurações -> Opções do desenvolvedor. Se você não vir as Opções do desenvolvedor, precisará habilitá-lo acessando Configurações -> Sobre o telefone e tocando em Número da versão 7 vezes. Por fim, certifique-se de que o ADB esteja funcionando iniciando um prompt de comando no mesmo diretório do binário ADB (segure shift + clique com o botão direito --> "abra o prompt de comando aqui") e execute o seguinte comando:

adb devices

Se você vir o número de série do seu dispositivo (e não diz não autorizado), você está certo. Se você vir um pop-up em seu telefone solicitando que você conceda acesso ADB ao seu computador, diga sim. Se você não perceber nada disso, tente reiniciar o computador/telefone e reconectá-lo ao computador. Caso contrário, tente reinstalar o driver.

Modificando a barra de navegação - método ADB

A sintaxe para modificar a barra de navegação é a seguinte:

settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, menu_ime"

onde KEYCODE_CONSTANT refere-se à constante de um Evento-chave e o caminho do ícone é o URI do arquivo que permite especificar um ícone personalizado para adicionar à barra de navegação. Descobri que ícones de tamanho 64x64 funcionam muito bem para nossos propósitos. Você pode baixar muitos ícones gratuitos do ÍconesDB local na rede Internet.

Por exemplo, o comando que enviei para adicionar uma tecla da barra de navegação que inicia o aplicativo Gmail é este:

settings put secure sysui_nav_bar "key(65:file:///storage/emulated/0/NavIcons/gmail.png),back; home; recent, menu_ime"

Como é absolutamente necessário ter back, home, recent e menu_ime em algum lugar do comando, isso significa que infelizmente não podemos substituir essas chaves de estoque para que possamos usar nossos próprios ícones personalizados da barra de navegação. Mas, pelo menos, podemos brincar com o espaçamento para poder inserir mais teclas personalizadas ou apenas obter o layout que preferiríamos. Por exemplo:

settingsputsecuresysui_nav_bar "space[#],back[#];home[#];recent[#],menu_ime[#]"

O valor entre colchetes é um multiplicador de tamanho relativo, permitindo reduzir ou expandir a largura do botão. Observe que os valores típicos para o multiplicador de tamanho relativo devem permanecer entre 0,85-1,15, caso contrário, os botões começarão a ocupar muito pouca ou muita largura para serem realmente utilizáveis. Não tente colocar "0" para o tamanho relativo em um esforço para ocultar a tecla da barra de navegação - você acabará travando a IU do sistema.

Caso você mexa em alguma coisa e acabe travando a interface do sistema, você pode retornar ao layout padrão da barra de navegação digitando um dos dois comandos a seguir:

settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"
settings delete secure sysui_nav_bar

Como um lembrete de algumas das coisas malucas que você pode fazer com o sintonizador oculto da barra de navegação do Android Nougat, aqui está uma captura de tela de um layout da barra de navegação que um de nossos leitores fez para rir.

A ciência foi longe demais? Créditos: Andy Yan

Modificando a barra de navegação - método do aplicativo

Tenho certeza de que esta é a parte em que a maioria de vocês está realmente interessada. Membro Sênior do XDA paphonbde Barra de navegação personalizada app tornaria tudo isso mais fácil. O desenvolvedor descobriu recentemente como interceptar certos KeyEvents que chamam determinados aplicativos – há até 5 KeyEvents que ele descobriu como interceptar no total. A explicação exata de como ele fez isso funcionar não é necessária aqui, portanto não entraremos em mais detalhes. Pensando nisso, o desenvolvedor conseguiu atualizar o app (a partir da versão 0.5.0) para que você possa essencialmente execute qualquer ação que desejar.

Por exemplo, o desenvolvedor adicionou recentemente a capacidade de adicionar uma ação que puxa para baixo a barra de status, inicie diretamente um aplicativo de sua escolhae, o mais importante, para desencadear um Evento Tasker. O recurso de evento Tasker em particular é a parte mais incrível, porque através do Tasker a quantidade de ações que você pode realizar é ilimitada. Se você quiser que o botão da barra de navegação faça alguma coisa, ele pode fazer isso. Junte isso à integração já existente do Tasker Profile e você poderá modificar contextualmente a barra de navegação do seu dispositivo para adicionar determinadas chaves apenas nas condições de sua escolha.

Para usar esses recursos especiais do aplicativo, você terá que desembolsar US$ 1,99 para atualizar para a versão pro do aplicativo. No momento, para usar o aplicativo no seu Samsung Galaxy S8/S8+, você precisa estar na versão beta mais recente (0.7.0). O aplicativo detectará automaticamente se você estiver usando um Galaxy S8/S8+ e desativará alguns recursos que farão com que seu dispositivo comece a travar.

O desenvolvedor me disse que ele ainda está trabalhando para preparar o aplicativo para lançamento estável para usuários desses telefones Samsung. Neste momento, eu faria espere alguns dias para que o desenvolvedor atualize seu aplicativo então você terá uma maneira fácil de modificar a barra de navegação sem precisar usar comandos ADB. O desenvolvedor é rápido em atualizar seu aplicativo – desde que o aplicativo foi lançado há menos de um mês, ele já viu inúmeras adições de recursos.


Conclusão

Se você for aventureiro o suficiente, você pode brincar com o sintonizador da barra de navegação oculta usando a sintaxe que mostrei anteriormente. A maioria das pessoas provavelmente esperará que o aplicativo Custom Navigation Bar seja atualizado - eu só queria divulgar essa notícia para que todos os nossos amigos do Galaxy S8/S8 + saibam o que esperar. Continuarei postando tutoriais relacionados ao sintonizador da barra de navegação, com o próximo focando em como adicionar cliques duplos/truques aos botões da barra de navegação.

Por favor, apoie o XDA-Developers de todas as maneiras que puder! Recentemente descobrimos que existiam vários blogs recortando, copiando, colando nossos tutoriais originais e outros conteúdos compartilhados por nossos usuários nos fóruns. Esses blogs têm tentado receber o crédito pelo enorme esforço que fazemos na compilação desses tutoriais, em vez de fornecer conteúdo de qualidade por conta própria. Você não encontrará tutoriais como os que escrevemos em nosso categoria de tutoriais ou tutoriais de nossos fóruns em qualquer outro lugar.

Siga-nos no Twitter, Google+, Facebook, ou YouTube. Confira nosso Laboratórios XDA app para uma maneira rápida de navegar em nossos fóruns (e considere obter XDA sem anúncios também!) no seu dispositivo móvel! Obrigado e fique ligado em nosso próximo tutorial!