Replique o recurso de bolha flutuante do Google Dialer com Tasker e AutoTools

Você pode criar uma bolha flutuante do Google Dialer funcional apresentada em dispositivos Pixel 2 com Tasker e AutoTools - sem necessidade de root!

Anteriormente, compartilhamos como ativar o novo balão de discagem flutuante do aplicativo Google Phone modificando arquivos em seu dispositivo Android. Desde então, nosso desenvolvedor de plugin Tasker favorito, João Dias, encontrou uma solução própria usando seu aplicativo AutoTools para recriar a mesma bolha flutuante. O vídeo dele é legal, mas o que acompanha publicar estava faltando um pouco na descrição, então pensei em criar um tutorial separado e melhorar o design do João adicionando feedback visual aos botões do Dialer Floating Bubble.

Como sempre, primeiro seguiremos com um tutorial e no final você encontrará links para download e instruções sobre como importar o projeto.


Replicar a bolha flutuante do Google Dialer

[appbox googleplay com.joaomgcd.autotools]

O plugin AutoTools vem com uma nova predefinição de tela da web: barra flutuante. Usando esta predefinição, podemos recriar a bolha flutuante do Google Dialer em qualquer telefone. Se você conhece o Tasker, achará fácil recriá-lo, mas se não estiver familiarizado com o Tasker e o AutoTools, continue lendo, pois mostraremos como.

As alterações que fiz incluem a remoção de caminhos para os ícones de volume e microfone e a substituição por variáveis. Fiz o mesmo com comandos para essas opções. Dessa forma, podemos criar uma alternância visual quando o botão for pressionado. É especialmente útil com uma opção de mudo, para que você possa ver se o microfone está ativado.

Chamada recebida

O perfil fica ativo quando uma chamada é atendida. A predefinição AutoTool WebScreen: barra flutuante é apresentada.

PERFIL TASKER - Chamada em andamento

Profile: Call In Progress 

Evento: Telefone fora do gancho

Digite: Chamada em andamento

A1: Flash [Texto: Chamando... Longo: desligado]

A2: Conjunto de variáveis ​​[Nome:%callMute Para: mudo

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

A3: Conjunto de variáveis ​​[Nome:%callSpeaker Para: alto-falante

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

A4: Conjunto de variáveis ​​[Nome:%mutePath

Para:/pathto/micoff.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

A5: Conjunto de variáveis ​​[Nome:%volPath

Para:/pathto/voloff.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

A6: Tela da Web do AutoTools [Configuração: Predefinição de tela: Barra flutuante

Modo de exibição: sobreposição

Fechar ID de sobreposição: chamar ui

Fonte: /pathto/page.html

Duração do brinde: 5000

Cor de fundo: #00FFEBEE

Largura: 75

Altura: 75

Gravidade: Esquerda

Deslocamento X: 50

Deslocamento Y: -100

Animação: Ampliar

ID de sobreposição: ligue para a interface do usuário

Duração do show: 500

Ocultar Duração: 250

Arrastar: arrastável para qualquer lugar

Movimentos de arrastar: todas as direções

Arremesso para dispensar: Não há arremesso para dispensar

Atualização: verdadeiro

Ícones: %volPath,%mutePath,

/pathto/endcall.png,

Comandos:%callSpeaker,%callMute, fim

Prefixo de comando: chamada telefônica

Itens visíveis: 3

Primeiros Itens: 3,4,2,5

Preenchimento de item: 24

Tempo de animação: 400

Círculo quando recolhido: verdadeiro

Ícone de expansão personalizado:

/pathto/call.png

Ajustar aos itens: verdadeiro

Cor da barra flutuante: #1565C0

Cor do expansor: preto

Cor traseira do expansor: #0D47A1 Tempo limite (segundos):30]

consulte Mais informação

Em vez de caminhos predefinidos para o microfone e volumes e seus respectivos comandos, estou usando variáveis %mutePath e %volCaminho. Eles mudarão posteriormente dependendo de qual comando foi emitido.

O %callMudo e %chamadaAlto-falante segure um comando real atribuído aos botões existentes. O comando mudará quando um botão for pressionado e o Dialer Floating Bubble exibirá um ícone correto.

Criar (ou modificar este balão se você usou o tutorial do João) é um pouco doloroso, mas a boa notícia é que podemos simplesmente copiar e colar esta ação mais tarde. Certifique-se de atribuir o ID do WebScreen, pois precisaremos dele mais tarde para cancelar o balão.

Chamada finalizada

É acionado pelo comando: chamada=:=fim e executa a tarefa Chamada finalizada. Use o AutoTools WebScreen no modo de exibição fechado. Use o mesmo ID WebScreen do perfil de chamada recebida.

PERFIL TASKER - Chamada encerrada

Profile: Call Ended 

Evento: telefone inativo

Digite: Chamada encerrada

A1: Flash [Texto: Chamada encerrada... Longo: desligado]

A2: Tela da Web do AutoTools [Configuração: Modo de exibição: Fechar

Fechar ID de sobreposição: chamar ui

Duração do brinde: 5000

Altura: 400

Gravidade: Centro

Animação: deslizar de cima para baixo

Duração do show: 500

Duração da ocultação: 250 Tempo limite (segundos): 30]

consulte Mais informação

Comandos

Este perfil controla todas as ações enviadas pelo Dialer Floating Bubble. Cada gatilho começa com um prefixo telefonema=:= e aciona uma das alternâncias/ações dependendo da entrada interceptada.

PERFIL TASKER - Comandos de chamada

Profile: Call Commands 

Evento: Comando AutoApps [Configuração: Filtro de Comando: phonecall=:=

Nomes de variáveis: comando]

Digite: Comandos de Chamada

A1: Se [% comando ~ * alto-falante]

A2: Conjunto de variáveis ​​[Nome:%callSpeaker Para: unspeaker

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ alto-falante]

A3: Conjunto de variáveis ​​[Nome:%volPath To:/pathto/volon.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ alto-falante]

A4: Conjunto de variáveis ​​[Nome:%callSpeaker Para: alto-falante

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ sem alto-falante]

A5: Conjunto de variáveis ​​[Nome:%volPath To:/pathto/voloff.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ sem alto-falante]

A6: Tela da Web do AutoTools

[Barra flutuante - igual à chamada em andamento]

A7: Viva-voz [Definir: Alternar]

A8: Else If [%command ~ *mute]

A9: Conjunto de variáveis ​​[Nome:%callMute Para: mudo

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ ativar som]

A10: Conjunto de variáveis ​​[Nome:%mutePath To:/pathto/micoff.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ ativar som]

A11: Conjunto de variáveis ​​[Nome:%callMute Para: ativar o som

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ mudo]

A12: Conjunto de variáveis ​​[Nome:%mutePath To:/pathto/micon.png

Variáveis ​​​​recursivas: Off Do Maths: Off Append: Off ]

Se [% comando ~ mudo]

A13: Tela da Web do AutoTools

[Barra flutuante - igual à chamada em andamento]

A14: Microfone mudo [Definir: Alternar]

A15: Caso contrário, se [% comando ~ fim]

A16: Finalizar chamada

A17: Terminar se

consulte Mais informação

Eu sei que a descrição parece assustadora no início, mas este é o mesmo conjunto de ações repetidas duas vezes. Quando mudo ou alto-falante são pressionados, temos que criar uma WebScreen alternativa com ícone e comando opostos exibidos ao usuário.

A1,A8

Se o comando = alto-falante/mudo, um conjunto de ações será seguido. Hackeei um pouco os comandos para facilitar o processamento de todas as ações. Estamos capturando comandos de ativar/ativar som e alto-falante/não-falante por meio dessas ações. É por isso que estou usando o curinga * na condição IF.

A2, A4 e A9, A11

Dependendo do comando emitido (mute/unmute|speaker/unspeaker), defino um comando correto que será atribuído na próxima vez que eu pressionar o botão de alternância. Por exemplo, se eu pressionar o botão para silenciar (command=:=mute), quero atualizar o WebScreen e ter certeza de que na próxima vez que eu pressionar este botão a chamada será ativada (command=:=unmute). O mesmo vale para a ação do alto-falante.

A3, A5 e A10, A12

De maneira semelhante, quero ter certeza de que os caminhos para os respectivos ícones sejam alterados assim que o botão for emitido. Se eu pressionar um ícone de mudo, quero que o ícone de ativar o som seja substituído, portanto, um caminho deve ser atualizado.

A15

Se o comando for final, basta encerrar a chamada.

A7, A14

Basta usar as ações mudo e alto-falante para alternar as configurações.


Conclusão e download

Agora você sabe como fazer isso com Tasker e AutoTools. O novo projeto Dialer Floating Bubble fornece um feedback visual agradável para tornar a interação com seu telefone durante uma chamada um pouco mais fácil. Sinta-se à vontade para modificar ainda mais este projeto Tasker.

Baixe o projeto do botão flutuante Tasker Dialer

Baixe o arquivo ZIP acima e extraia o conteúdo para o armazenamento interno do seu dispositivo Android. Extraia a pasta callui para o diretório Tasker/icons. Abra o Tasker e desative o "Modo Iniciante" em Preferências. Em seguida, volte para a página principal do Tasker e mantenha pressionado o ícone inicial no canto inferior esquerdo. Você verá uma opção para “importar” um projeto. Toque nessa opção e encontre o arquivo .prj.xml que você extraiu anteriormente. Depois de importado, você verá uma nova guia na parte inferior ao lado do ícone inicial padrão no Tasker. Contém os perfis e tarefas deste projeto auxiliar.

Segue o Tutoriais para desenvolvedores XDA feed para mais posts como esse. Além disso, confira nosso Dicas e truques do Tasker fórum para as últimas criações entre os entusiastas da automação em nossa comunidade.