Можете да създадете функционален плаващ балон на Google Dialer, който се предлага в устройствата Pixel 2 с Tasker и AutoTools - не се изисква root!
Преди това сме споделяли как да активирайте новото плаващо балонче за набиране на приложението Google Phone чрез модифициране на файлове на вашето Android устройство. Оттогава любимият ни разработчик на плъгини Tasker, Жоао Диас, излезе със собствено решение, използвайки своето приложение AutoTools, за да пресъздаде същия плаващ балон. Видеото му е готино, но придружаващото пост малко липсваше в описанието му, така че реших да създам отделен урок и да подобря дизайна на João, като добавя визуална обратна връзка към превключвателите в плаващия балон на Dialer.
Както винаги, първо ще последваме урок и след това в края можете да намерите връзки за изтегляне и инструкции за импортиране на проекта.
Копиране на плаващия балон на Google Dialer
[appbox googleplay com.joaomgcd.autotools]
Приставката AutoTools идва с нова предварително зададена настройка на уеб екрана: плаваща лента. Използвайки тази предварителна настройка, можем да пресъздадем плаващия балон на Google Dialer на всеки телефон. Ако се ориентирате в Tasker, ще ви е лесно да пресъздадете, но ако не сте запознати с Tasker и AutoTools, прочетете нататък, тъй като ще ви покажем как.
Промените, които направих, включват премахване на пътеки към иконите за сила на звука и микрофон и ги замених с променливи. Направих същото с команди за тези опции. По този начин можем да създадем визуално превключване, когато бутонът е натиснат. Това е особено полезно с опция за заглушаване, така че можете да видите дали микрофонът е активиран.
Входящо повикване
Профилът става активен при отговор на повикване. Представена е предварително зададената настройка AutoTool WebScreen: плаваща лента.
ПРОФИЛ НА TASKER - Обаждането е в ход
Profile: Call In Progress
Събитие: Вдигната слушалка на телефона
Въведете: Обаждането е в ход
A1: Flash [ Text: Calling... Дълго: Изкл.]
A2: Набор от променливи [ Име:%callMute До: заглушаване
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
A3: Променлива Set [ Name:%callSpeaker To: speaker
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
A4: Набор от променливи [ Име:%mutePath
До:/pathto/micoff.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
A5: Набор от променливи [ Име:%volPath
До:/pathto/voloff.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
A6: Уеб екран на AutoTools [ Конфигурация: Предварително зададен екран: Плаваща лента
Режим на показване: наслагване
Затваряне на ID на наслагването: извикване на потребителския интерфейс
Източник: /pathto/page.html
Продължителност на тоста: 5000
Цвят на фона: #00FFEBEE
Ширина: 75
Височина: 75
Гравитация: Ляво
Отместване X: 50
Отместване Y: -100
Анимация: Увеличаване
Идентификационен номер на наслагване: потребителски интерфейс за извикване
Продължителност на шоуто: 500
Продължителност на скриване: 250
Плъзгане: Плъзгане навсякъде
Плъзгащи движения: Всички посоки
Fling To Dismiss: Няма Fling To Dismiss
Актуализация: вярно
Икони: %volPath,%mutePath,
/pathto/endcall.png,
Команди: %callSpeaker,%callMute, край
Префикс на командата: phonecall
Видими елементи: 3
Първи елементи: 3,4,2,5
Подплата на артикул: 24
Време за анимация: 400
Кръг при свиване: вярно
Персонализирана икона за разгъване:
/pathto/call.png
Прилепване към елементи: вярно
Цвят на плаваща лента: #1565C0
Цвят на разширителя: черен
Заден цвят на разширителя: #0D47A1 Време за изчакване (секунди):30 ]
Прочетете още
Вместо предварително дефинирани пътища до микрофона и обемите и съответните им команди, използвам променливи %mutePath и %volPath. Те ще се променят по-късно в зависимост от подадената команда.
The %callMute и %callSpeaker задръжте действителна команда, която е присвоена на съществуващите бутони. Командата ще се промени при натискане на бутон и плаващият балон на набиране ще покаже правилна икона.
Създаването (или модифицирането на този балон, ако сте използвали урока на Joao) е малко болезнено, но добрата новина е, че можем просто да копираме и поставим това действие по-късно. Уверете се, че сте задали WebScreen ID, тъй като това ще ни трябва по-късно, за да анулираме балончето.
Обаждането приключи
Задейства се от командата: телефонно обаждане=:=край и изпълнява задачата Call Ended. Използвайте AutoTools WebScreen в затворения режим на показване. Използвайте същия WebScreen ID като в профила за входящо повикване.
ПРОФИЛ НА TASKER - Обаждането приключи
Profile: Call Ended
Събитие: Телефонът е неактивен
Въведете: разговорът приключи
A1: Flash [ Текст: Обаждането приключи... Дълго: Изкл.]
A2: Уеб екран на AutoTools [ Конфигурация: Режим на показване: Затваряне
Затваряне на ID на наслагването: извикване на потребителския интерфейс
Продължителност на тоста: 5000
Височина: 400
Гравитация: Център
Анимация: Плъзнете отгоре
Продължителност на шоуто: 500
Продължителност на скриване: 250 Изчакване (секунди): 30 ]
Прочетете още
Команди
Този профил контролира всички действия, изпратени от плаващия балон за набиране. Всеки тригер започва с префикс телефонно обаждане=:= и задейства едно от превключванията/действията в зависимост от прихванатия вход.
ПРОФИЛ НА TASKER - Команди за повикване
Profile: Call Commands
Събитие: Команда AutoApps [ Конфигурация: Филтър за команди: phonecall=:=
Имена на променливи: команда ]
Въведете: Команди за повикване
A1: Ако [ %command ~ *speaker ]
A2: Набор от променливи [ Име:%callSpeaker To: unspeaker
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ говорител ]
A3: Набор от променливи [ Име:%volPath To:/pathto/volon.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ говорител ]
A4: Променлива Set [ Name:%callSpeaker To: speaker
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ unspeaker ]
A5: Набор от променливи [ Име:%volPath To:/pathto/voloff.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ unspeaker ]
A6: Уеб екран на AutoTools
[Плаваща лента - същото като в текущия разговор]
A7: Високоговорител [ Комплект: Превключване ]
A8: Else If [ %command ~ *mute ]
A9: Набор от променливи [ Име:%callMute До: заглушаване
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ включване на звука ]
A10: Набор от променливи [ Име:%mutePath To:/pathto/micoff.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ включване на звука ]
A11: Променлива Set [ Име:%callMute To: включване на звука
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ заглушаване ]
A12: Набор от променливи [ Име:%mutePath To:/pathto/micon.png
Рекурсивни променливи: Изкл. Извършване на математика: Изкл. Добавяне: Изкл.]
Ако [ %command ~ заглушаване ]
A13: Уеб екран на AutoTools
[Плаваща лента - същото като в текущия разговор]
A14: Заглушаване на микрофона [Набор: Превключване]
A15: Else If [ %command ~ end ]
A16: Край на разговора
A17: Край, ако
Прочетете още
Знам, че първоначално описанието изглежда обезсърчително, но това е един и същ набор от действия, повторени два пъти. Когато се натисне заглушаване или високоговорител, трябва да създадем алтернативен уеб екран с противоположна икона и команда, показани на потребителя.
A1, A8
Ако командата = високоговорител/заглушаване, ще последва набор от действия. Хакнах малко командите, за да улесня обработката на всички действия. Чрез тези действия улавяме команди за заглушаване/включване на звука и за високоговорител/дезговорител. Ето защо използвам * заместващия знак в условието IF.
A2,A4 и A9,A11
В зависимост от издадената команда (изключване/включване на звука|високоговорител/деактивиране на високоговорител) задавам правилна команда, която ще бъде зададена следващия път, когато натисна превключвателя. Например, ако натисна бутона за заглушаване (command=:=mute), искам да актуализирам уеб екрана и да се уверя, че следващия път, когато натисна този бутон, звукът на повикването ще бъде включен (command=:=unmute). Същото важи и за действието на високоговорителя.
A3,A5 и A10,A12
По подобен начин искам да се уверя, че пътищата до съответните икони се променят, след като бутонът бъде издаден. Ако натисна икона за заглушаване, искам иконата за заглушаване да бъде заменена, следователно пътят трябва да бъде актуализиран.
A15
Ако командата гласи край — просто прекратете разговора.
A7, A14
Просто използвайте действия за заглушаване и високоговорител, за да превключите настройките.
Заключение и изтегляне
Сега знаете как да направите това с Tasker и AutoTools. Новият проект Dialer Floating Bubble ви предоставя хубава визуална обратна връзка, за да улесните малко взаимодействието с телефона си по време на телефонен разговор. Чувствайте се свободни да модифицирате допълнително този проект на Tasker.
Изтеглете проекта за плаващ бутон Tasker Dialer
Изтеглете горния ZIP файл и извлечете съдържанието във вътрешната памет на вашето устройство с Android. Извлечете папката callui в директорията Tasker/icons. Отворете Tasker и деактивирайте „Режим за начинаещи“ в Предпочитания. След това се върнете на главната страница на Tasker и натиснете дълго иконата за начало в долния ляв ъгъл. Ще видите опция за „импортиране“ на проект. Докоснете тази опция, след което намерете файла .prj.xml, който сте извлекли по-рано. След като бъде импортиран, ще видите нов раздел в долната част до иконата за начало по подразбиране в Tasker. Това съдържа профилите и задачите на този помощен проект.
Следвай Уроци за разработчици на XDA емисия за повече публикации като тази. Освен това разгледайте нашите Съвети и трикове на Tasker форум за най-новите творения сред ентусиастите по автоматизация в нашата общност.