จำลองคุณสมบัติฟองลอยของ Google Dialer ด้วย Tasker และ AutoTools

คุณสามารถสร้าง Google Dialer Floating Bubble ที่ใช้งานได้ซึ่งมีอยู่ในอุปกรณ์ Pixel 2 ด้วย Tasker และ AutoTools - ไม่ต้องรูท!

ก่อนหน้านี้เราได้แชร์วิธีการ เปิดใช้งานฟองสบู่ตัวหมุนหมายเลขใหม่ของแอป Google Phone โดยการแก้ไขไฟล์บนอุปกรณ์ Android ของคุณ ตั้งแต่นั้นมา ผู้พัฒนาปลั๊กอิน Tasker คนโปรดของเรา ชูเอา ดิอาสได้คิดวิธีแก้ปัญหาของเขาเองโดยใช้แอป AutoTools เพื่อสร้างฟองอากาศแบบลอยตัวแบบเดิมขึ้นมาใหม่ วิดีโอของเขาเจ๋งมากแต่ประกอบด้วย โพสต์ ขาดคำอธิบายเล็กน้อย ดังนั้นฉันคิดว่าจะสร้างบทช่วยสอนแยกต่างหาก และปรับปรุงการออกแบบของ João โดยเพิ่มการตอบสนองด้วยภาพให้กับปุ่มสลับใน Dialer Floating Bubble

และเช่นเคย เราจะปฏิบัติตามบทช่วยสอนก่อน จากนั้นคุณจะพบลิงก์ดาวน์โหลดและคำแนะนำในการนำเข้าโปรเจ็กต์ในตอนท้าย


จำลองฟองลอยของ Google Dialer

[appbox googleplay com.joaomgcd.autotools]

ปลั๊กอิน AutoTools มาพร้อมกับการตั้งค่าล่วงหน้าบนหน้าจอเว็บใหม่: แถบลอย เมื่อใช้ค่าที่ตั้งล่วงหน้านี้ เราสามารถสร้าง Google Dialer Floating Bubble บนโทรศัพท์เครื่องใดก็ได้ หากคุณรู้วิธีการใช้งาน Tasker คุณจะพบว่ามันง่ายต่อการสร้างใหม่ แต่ถ้าคุณไม่คุ้นเคยกับ Tasker และ AutoTools โปรดอ่านต่อเนื่องจากเราจะแสดงให้คุณเห็นว่าทำอย่างไร

การเปลี่ยนแปลงที่ฉันทำรวมถึงการลบเส้นทางไปยังไอคอนระดับเสียงและไมโครโฟน และแทนที่ด้วยตัวแปร ฉันทำเช่นเดียวกันกับคำสั่งสำหรับตัวเลือกเหล่านี้ วิธีนี้เราสามารถสร้างการสลับภาพเมื่อกดปุ่มได้ ตัวเลือกปิดเสียงมีประโยชน์อย่างยิ่ง คุณจึงดูได้ว่าไมโครโฟนเปิดอยู่หรือไม่

สายเรียกเข้า

โปรไฟล์จะเปิดใช้งานเมื่อมีการรับสาย AutoTool WebScreen: การตั้งค่าล่วงหน้าของแถบลอยจะปรากฏขึ้น

โปรไฟล์ผู้ทำภารกิจ - กำลังดำเนินการโทร

Profile: Call In Progress 

เหตุการณ์: โทรศัพท์ Offhook

Enter: กำลังดำเนินการโทร

A1: แฟลช [ ข้อความ: กำลังโทร... ยาว: ปิด ]

A2: ชุดตัวแปร [ ชื่อ:%callปิดเสียงถึง: ปิดเสียง

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

A3: ชุดตัวแปร [ ชื่อ:%callSpeaker ถึง: ลำโพง

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

A4: ชุดตัวแปร [ ชื่อ:%mutePath

ถึง:/pathto/micoff.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

A5: ชุดตัวแปร [ ชื่อ:%volPath

ถึง:/pathto/voloff.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

A6: หน้าจอเว็บ AutoTools [ การกำหนดค่า: การตั้งค่าหน้าจอล่วงหน้า: แถบลอย

โหมดการแสดงผล: การซ้อนทับ

ปิด Overlay ID: โทร ui

ที่มา: /pathto/page.html

ระยะเวลาขนมปังปิ้ง: 5000

สีพื้นหลัง: #00FFEBEE

ความกว้าง: 75

ส่วนสูง: 75

แรงโน้มถ่วง: ซ้าย

ออฟเซ็ต X: 50

ออฟเซ็ต Y: -100

ภาพเคลื่อนไหว: ซูมเข้า

รหัสซ้อนทับ: โทร ui

ระยะเวลาการแสดง: 500

ซ่อนระยะเวลา: 250

ลาก: ลากได้ทุกที่

ลากการเคลื่อนไหว: ทุกทิศทาง

เหวี่ยงเพื่อยกเลิก: ไม่มีการเหวี่ยงเพื่อยกเลิก

อัปเดต: จริง

ไอคอน: %volPath,%mutePath,

/pathto/endcall.png,

คำสั่ง: %callSpeaker,%callMute, สิ้นสุด

คำนำหน้าคำสั่ง: phonecall

รายการที่มองเห็นได้: 3

รายการแรก: 3,4,2,5

ช่องว่างภายในรายการ: 24

เวลาแอนิเมชั่น: 400

วงกลมเมื่อยุบ: จริง

ไอคอนขยายแบบกำหนดเอง:

/pathto/call.png

จัดชิดรายการ: จริง

แท่งลอยสี: #1565C0

สีขยาย: สีดำ

สีด้านหลังตัวขยาย: #0D47A1 หมดเวลา (วินาที):30 ]

อ่านเพิ่มเติม

แทนที่จะใช้เส้นทางที่กำหนดไว้ล่วงหน้าไปยังไมโครโฟนและระดับเสียงและคำสั่งที่เกี่ยวข้อง ฉันใช้ตัวแปร %ปิดเสียงเส้นทาง และ %volPath. สิ่งเหล่านี้จะเปลี่ยนแปลงในภายหลังขึ้นอยู่กับคำสั่งที่ออก

ที่ % โทรปิดเสียง และ %โทรลำโพง ถือคำสั่งจริงที่กำหนดให้กับปุ่มที่มีอยู่ คำสั่งจะเปลี่ยนเมื่อกดปุ่ม และ Dialer Floating Bubble จะแสดงไอคอนที่ถูกต้อง

การสร้าง (หรือแก้ไขลูกโป่งนี้หากคุณใช้บทช่วยสอนของ Joao ) อาจยุ่งยากเล็กน้อย แต่ข่าวดีก็คือเราสามารถคัดลอกและวางการกระทำนี้ในภายหลังได้ ตรวจสอบให้แน่ใจว่าได้กำหนด WebScreen ID เนื่องจากเราจะต้องใช้สิ่งนี้ในภายหลังเพื่อยกเลิกบับเบิล

จบการสนทนา

มันถูกกระตุ้นโดยคำสั่ง: phonecall=:=สิ้นสุด และรันงาน Call Ended ใช้ AutoTools WebScreen ในโหมดการแสดงผลปิด ใช้ WebScreen ID เดียวกันกับในโปรไฟล์สายเรียกเข้า

โปรไฟล์ TASKER - การโทรสิ้นสุดแล้ว

Profile: Call Ended 

เหตุการณ์: โทรศัพท์ไม่ได้ใช้งาน

Enter: การโทรสิ้นสุดแล้ว

A1: Flash [ ข้อความ: วางสายแล้ว... ยาว: ปิด ]

A2: หน้าจอเว็บ AutoTools [ การกำหนดค่า: โหมดการแสดงผล: ปิด

ปิด Overlay ID: โทร ui

ระยะเวลาขนมปังปิ้ง: 5000

ส่วนสูง: 400

แรงโน้มถ่วง: ศูนย์กลาง

ภาพเคลื่อนไหว: เลื่อนเข้าจากด้านบน

ระยะเวลาการแสดง: 500

ซ่อนระยะเวลา: 250 หมดเวลา (วินาที):30 ]

อ่านเพิ่มเติม

คำสั่ง

โปรไฟล์นี้ควบคุมการกระทำทั้งหมดที่ส่งโดย Dialer Floating Bubble ทริกเกอร์แต่ละตัวจะเริ่มต้นด้วยคำนำหน้า โทร=:= และทริกเกอร์การสลับ/การดำเนินการอย่างใดอย่างหนึ่ง ขึ้นอยู่กับอินพุตที่ถูกดัก

โปรไฟล์ผู้ทำภารกิจ - คำสั่งการโทร

Profile: Call Commands 

เหตุการณ์: คำสั่ง AutoApps [ การกำหนดค่า: ตัวกรองคำสั่ง: phonecall=:=

ชื่อตัวแปร: command ]

เข้าสู่: คำสั่งการโทร

A1: ถ้า [ %command ~ *speaker ]

A2: ตั้งค่าตัวแปร [ ชื่อ:%callSpeaker ถึง: unspeaker

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %คำสั่ง ~ ลำโพง ]

A3: ชุดตัวแปร [ ชื่อ:%volPath ถึง:/pathto/volon.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %คำสั่ง ~ ลำโพง ]

A4: ชุดตัวแปร [ ชื่อ:%callSpeaker ถึง: ลำโพง

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ unspeaker ]

A5: ชุดตัวแปร [ ชื่อ:%volPath ถึง:/pathto/voloff.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ unspeaker ]

A6: หน้าจอเว็บ AutoTools

[แถบลอย - เช่นเดียวกับใน Call in Progress ]

A7: สปีกเกอร์โฟน [ ตั้งค่า: สลับ ]

A8: อย่างอื่นถ้า [ %command ~ *mute ]

A9: ชุดตัวแปร [ ชื่อ:%callปิดเสียงถึง: ปิดเสียง

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ เปิดเสียง ]

A10: ชุดตัวแปร [ ชื่อ:%mutePath To:/pathto/micoff.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ เปิดเสียง ]

A11: ชุดตัวแปร [ ชื่อ:%callปิดเสียงถึง: เปิดเสียง

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ mute ]

A12: ชุดตัวแปร [ ชื่อ:%mutePath To:/pathto/micon.png

ตัวแปรการเรียกซ้ำ: ปิด ทำคณิตศาสตร์: ปิด ผนวก: ปิด ]

ถ้า [ %command ~ mute ]

A13: หน้าจอเว็บ AutoTools

[แถบลอย - เช่นเดียวกับใน Call in Progress ]

A14: ปิดเสียงไมค์ [ ตั้งค่า: สลับ ]

A15: อย่างอื่นถ้า [ %command ~ end ]

A16: วางสาย

A17: สิ้นสุดถ้า

อ่านเพิ่มเติม

ฉันรู้ว่าคำอธิบายดูน่ากลัวในตอนแรก แต่นี่เป็นชุดการกระทำเดิมซ้ำสองครั้ง เมื่อกดปิดเสียงหรือลำโพง เราต้องสร้าง WebScreen ทางเลือกที่มีไอคอนและคำสั่งตรงกันข้ามที่แสดงให้ผู้ใช้เห็น

A1,A8

หากคำสั่ง = ลำโพง/ปิดเสียง ชุดของการดำเนินการจะตามมา ฉันแฮ็กคำสั่งเล็กน้อยเพื่อให้ง่ายต่อการประมวลผลการกระทำทั้งหมด เรากำลังบันทึกคำสั่งปิดเสียง/เปิดเสียง และคำสั่งของผู้พูด/ผู้ไม่พูดโดยการกระทำเหล่านี้ นี่คือสาเหตุที่ฉันใช้ * wildcard ในเงื่อนไข IF

A2,A4 และ A9,A11

ขึ้นอยู่กับคำสั่งที่ออก (ปิดเสียง/เปิดเสียง|ลำโพง/ไม่พูด) ฉันตั้งค่าคำสั่งที่ถูกต้องซึ่งจะถูกกำหนดในครั้งถัดไปที่ฉันกดปุ่มสลับ ตัวอย่างเช่น หากฉันกดปุ่มเพื่อปิดเสียง (command=:=mute) ฉันต้องการอัปเดต WebScreen และตรวจสอบให้แน่ใจว่าครั้งถัดไปที่ฉันกดปุ่มนี้ การโทรจะถูกเปิดเสียง (command=:=unmute) เช่นเดียวกับการกระทำของผู้พูด

A3,A5 และ A10,A12

ในทำนองเดียวกัน ฉันต้องการให้แน่ใจว่าเส้นทางไปยังไอคอนที่เกี่ยวข้องมีการเปลี่ยนแปลงเมื่อมีการออกปุ่ม ถ้าฉันกดไอคอนปิดเสียง ฉันต้องการให้ไอคอนเปิดเสียงเข้ามาแทนที่ ดังนั้นจึงต้องอัปเดตเส้นทาง

ก15

หากคำสั่งอ่านว่าสิ้นสุด ให้วางสายทันที

A7,A14

เพียงใช้การกระทำปิดเสียงและลำโพงเพื่อสลับการตั้งค่า


บทสรุปและดาวน์โหลด

ตอนนี้คุณรู้วิธีการทำเช่นนี้ด้วย Tasker และ AutoTools โปรเจ็กต์ Dialer Floating Bubble ใหม่ให้การตอบรับด้วยภาพที่สวยงามแก่คุณ เพื่อให้การโต้ตอบกับโทรศัพท์ของคุณขณะสนทนาโทรศัพท์ง่ายขึ้นอีกนิด อย่าลังเลที่จะแก้ไขโครงการ Tasker นี้เพิ่มเติม

ดาวน์โหลดโครงการปุ่มลอยตัวของ Tasker Dialer

ดาวน์โหลดไฟล์ ZIP ด้านบนและแตกเนื้อหาลงในที่จัดเก็บข้อมูลภายในของอุปกรณ์ Android ของคุณ แยกโฟลเดอร์ callui ไปยังไดเร็กทอรี Tasker/icons. เปิด Tasker และปิดการใช้งาน "Beginner Mode" ใน Preferences จากนั้นกลับไปที่หน้าหลักของ Tasker แล้วกดไอคอนโฮมที่มุมซ้ายล่างค้างไว้ คุณจะเห็นตัวเลือกในการ "นำเข้า" โครงการ แตะตัวเลือกนั้น จากนั้นค้นหาไฟล์ .prj.xml ที่คุณแตกไว้ก่อนหน้านี้ เมื่อนำเข้าแล้ว คุณจะเห็นแท็บใหม่ที่ด้านล่างข้างไอคอนโฮมเริ่มต้นใน Tasker ประกอบด้วยโปรไฟล์และงานของโครงการตัวช่วยนี้

ปฏิบัติตาม บทช่วยสอนสำหรับนักพัฒนา XDA ฟีดสำหรับโพสต์เพิ่มเติมเช่นนี้ นอกจากนี้โปรดตรวจสอบของเรา เคล็ดลับและเทคนิคทาซเคอร์ ฟอรัมสำหรับการสร้างสรรค์ล่าสุดในหมู่ผู้ชื่นชอบระบบอัตโนมัติในชุมชนของเรา