Replicați funcția Floating Bubble a Google Dialer cu Tasker și AutoTools

Puteți crea un Google Dialer Floating Bubble funcțional prezentat pe dispozitivele Pixel 2 cu Tasker și AutoTools - nu este nevoie de root!

Anterior, am împărtășit cum activați noua balon de apelare plutitoare a aplicației Google Phone prin modificarea fișierelor de pe dispozitivul Android. De atunci, dezvoltatorul nostru preferat de plugin Tasker, João Dias, a venit cu o soluție proprie folosind aplicația sa AutoTools pentru a recrea aceeași bulă plutitoare. Videoclipul lui este misto, dar cel care îl însoțește post lipsea puțin din descrierea sa, așa că m-am gândit să creez un tutorial separat și să îmbunătățesc designul lui João adăugând feedback vizual la comutatoarele din balonul plutitor de apelare.

Ca întotdeauna, vom urma mai întâi cu un tutorial și apoi la sfârșit puteți găsi link-uri de descărcare și instrucțiuni despre importarea proiectului.


Replicați balonul plutitor al Google Dialer

[appbox googleplay com.joaomgcd.autotools]

Pluginul AutoTools vine cu o nouă presetare a ecranului web: bară plutitoare. Folosind această presetare, putem recrea Google Dialer Floating Bubble pe orice telefon. Dacă vă cunoașteți cum să folosiți Tasker, vă va fi ușor de recreat, dar dacă nu sunteți familiarizat cu Tasker și AutoTools, citiți mai departe, deoarece vă vom arăta cum.

Modificările pe care le-am făcut includ eliminarea căilor către pictogramele de volum și microfon și înlocuirea acestora cu variabile. Am făcut același lucru cu comenzile pentru aceste opțiuni. În acest fel, putem crea o comutare vizuală atunci când butonul a fost apăsat. Este deosebit de util cu o opțiune de sunet, astfel încât să puteți vedea dacă microfonul este activat.

Apel primit

Profilul devine activ când se răspunde la un apel. Este prezentat AutoTool WebScreen: presetarea barei plutitoare.

PROFIL TASKER - Apel în curs

Profile: Call In Progress 

Eveniment: Telefon Offhook

Introduceți: Apel în curs

A1: Flash [ Text: Se apelează... Lung: oprit]

A2: Set de variabile [ Name:%callMute To: mute

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

A3: Setare variabilă [ Nume:%callSpeaker Către: difuzor

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

A4: Set de variabile [ Nume:%mutePath

Către:/pathto/micoff.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

A5: Set de variabile [ Nume:%volPath

Către:/pathto/voloff.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

A6: Ecran Web AutoTools [ Configurare: Presetare ecran: Bară plutitoare

Mod de afișare: Suprapunere

Închideți ID de suprapunere: apelați ui

Sursa: /pathto/page.html

Durata toast: 5000

Culoare de fundal: #00FFEBEE

Latime: 75

Inaltime: 75

Gravitație: stânga

Offset X: 50

Offset Y: -100

Animație: măriți

Id-ul de suprapunere: sun ui

Durata spectacol: 500

Durata ascunde: 250

Trageți: poate fi glisat oriunde

Mișcări de tragere: toate direcțiile

Fling To Dismiss: Nu Fling To Dismiss

Actualizare: adevărat

Pictograme: %volPath,%mutePath,

/pathto/endcall.png,

Comenzi: %callSpeaker,%callMute, end

Prefix de comandă: apel telefonic

Elemente vizibile: 3

Primele articole: 3,4,2,5

Umplutura articol: 24

Timp de animație: 400

Cercul când este restrâns: adevărat

Pictogramă de extindere personalizată:

/pathto/call.png

Snap To Items: true

Culoarea barei plutitoare: #1565C0

Culoare expansor: negru

Culoare spate expansor: #0D47A1 Timeout (secunde): 30 ]

citeşte mai mult

În loc de căi predefinite către microfon și volume și comenzile lor respective, folosesc variabile %mutePath și %volPath. Acestea se vor schimba ulterior, în funcție de ce comandă a fost emisă.

The %callMute și %callSpeaker țineți apăsată o comandă reală care este atribuită butoanelor existente. Comanda se va schimba atunci când este apăsat un buton, iar balonul flotant de apelare va afișa o pictogramă corectă.

Crearea (sau modificarea acestei bule dacă ați folosit tutorialul lui Joao) este puțin dureroasă, dar vestea bună este că putem copia și lipi această acțiune mai târziu. Asigurați-vă că atribuiți ID-ul WebScreen, deoarece vom avea nevoie de acesta mai târziu pentru a anula balonul.

Apel terminat

Este declanșat de comanda: apel telefonic=:=termină și rulează sarcina Apel terminat. Utilizați AutoTools WebScreen în modul de afișare închidere. Utilizați același ID WebScreen ca în profilul Apel primit.

PROFIL TASKER - Apel încheiat

Profile: Call Ended 

Eveniment: telefon inactiv

Introduceți: Apel încheiat

A1: Flash [ Text: Apel încheiat... Lung: oprit]

A2: Ecran Web AutoTools [ Configurare: Mod de afișare: Închidere

Închideți ID de suprapunere: apelați ui

Durata toast: 5000

Înălțime: 400

Gravitație: centru

Animație: Glisați de sus

Durata spectacol: 500

Durata ascunde: 250 Timeout (secunde): 30 ]

citeşte mai mult

Comenzi

Acest profil controlează toate acțiunile trimise de Dialer Floating Bubble. Fiecare declanșator începe cu un prefix apel telefonic=:= și declanșează una dintre comutări/acțiuni în funcție de intrarea interceptată.

PROFIL TASKER - Apelați comenzi

Profile: Call Commands 

Eveniment: Comanda AutoApps [ Configurare: Filtru de comandă: apel telefonic=:=

Nume variabile: comandă ]

Introduceți: Comenzi de apelare

A1: Dacă [ %comandă ~ *difuzor ]

A2: Setare variabilă [ Name:%callSpeaker To: unspeaker

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [ %comandă ~ difuzor ]

A3: Set de variabile [ Name:%volPath To:/pathto/volon.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [ %comandă ~ difuzor ]

A4: Setare variabilă [ Nume:%callSpeaker Către: difuzor

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [ %command ~ unspeaker ]

A5: Set de variabile [ Name:%volPath To:/pathto/voloff.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [ %command ~ unspeaker ]

A6: Ecran Web AutoTools

[Bară flotantă - la fel ca în Apel în curs ]

A7: difuzor [Setare: Comutare]

A8: Altfel, dacă [%comandă ~ *mute]

A9: Set de variabile [ Name:%callMute To: mute

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [%comandă ~ activează sunetul]

A10: Set de variabile [ Name:%mutePath To:/pathto/micoff.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [%comandă ~ activează sunetul]

A11: Set de variabile [ Nume:%callMute Pentru: activați sunetul

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [%comandă ~ mute]

A12: Set de variabile [ Name:%mutePath To:/pathto/micon.png

Variabile recursive: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]

Dacă [%comandă ~ mute]

A13: Ecran Web AutoTools

[Bară flotantă - la fel ca în Apel în curs ]

A14: Mic Mute [Setare: Comutare]

A15: Altfel, dacă [ %comandă ~ sfârșit ]

A16: Terminați apelul

A17: Încheiați dacă

citeşte mai mult

Știu că descrierea pare descurajantă la început, dar acesta este același set de acțiuni repetate de două ori. Când este apăsat sunetul sau difuzorul, trebuie să creăm un WebScreen alternativ cu pictograma opusă și comanda afișată utilizatorului.

A1,A8

Dacă comanda = speaker/mute va urma un set de acțiuni. Am spart puțin comenzile pentru a ușura procesarea tuturor acțiunilor. Capturăm comenzi pentru dezactivare/activare sunet și difuzor/dezactivare prin aceste acțiuni. Acesta este motivul pentru care folosesc caracterul metalic * în condiția IF.

A2, A4 și A9, A11

În funcție de comanda emisă (mute/unmute|speaker/unspeaker) am setat o comandă corectă care va fi atribuită data viitoare când apăs pe comutator. De exemplu, dacă apăs pe butonul pentru a dezactiva sunetul (command=:=mute), vreau să actualizez WebScreen și să mă asigur că data viitoare când apăs pe acest buton apelul va fi activat (command=:=unmute). Același lucru este valabil și pentru acțiunea difuzorului.

A3, A5 și A10, A12

Într-un mod similar, vreau să mă asigur că căile către pictogramele respective sunt modificate odată ce butonul este lansat. Dacă apăs pe o pictogramă de dezactivare a sunetului, vreau ca pictograma de activare a sunetului să fie înlocuită, prin urmare o cale trebuie actualizată.

A15

Dacă comanda arată sfârșit, doar terminați apelul.

A7, A14

Pur și simplu utilizați acțiunile dezactivare sunet și difuzor pentru a comuta setările.


Concluzie și descărcare

Acum știi cum să faci asta cu Tasker și AutoTools. Noul proiect Dialer Floating Bubble vă oferă un feedback vizual frumos, pentru a face puțin mai ușor interacțiunea cu telefonul în timpul unui apel telefonic. Simțiți-vă liber să modificați în continuare acest proiect Tasker.

Descărcați proiectul Tasker Dialer Floating Button

Descărcați fișierul ZIP de mai sus și extrageți conținutul în memoria internă a dispozitivului dvs. Android. Extrageți folderul callui în directorul Tasker/icoane. Deschideți Tasker și dezactivați „Modul începător” din Preferințe. Apoi, reveniți la pagina principală a lui Tasker și apăsați lung pe pictograma de pornire din colțul din stânga jos. Veți vedea o opțiune de „import” un proiect. Atingeți acea opțiune, apoi găsiți fișierul .prj.xml pe care l-ați extras mai devreme. Odată importat, veți vedea o filă nouă în partea de jos, alături de pictograma de pornire implicită în Tasker. Acesta conține profilurile și sarcinile acestui proiect de ajutor.

Urmează Tutoriale pentru dezvoltatori XDA feed pentru mai multe postări ca acesta. De asemenea, consultați-ne Sfaturi și trucuri pentru Tasker forum pentru cele mai recente creații printre pasionații de automatizare din comunitatea noastră.