แผนภาพต่อไปนี้แสดงคอมโพเนนต์ของระบบที่โต้ตอบกับ Dialer
รูปที่ 1 คอมโพเนนต์ที่โต้ตอบกับ Dialer
-
UI ของระบบ แสดงองค์ประกอบการนําทางที่ต่ำกว่าเพื่อโฮสต์ปุ่มโทรศัพท์ ซึ่งจะบันทึก Intent
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
ซึ่งจะเริ่มต้นกิจกรรมหลักของผู้ใช้TelecomActivity
-
ตัวเปิดแอป จัดการรายการแอปทั้งหมด Dialer ประกาศ TelecomActivity ด้วย
android.intent.category.LAUNCHER
การเลือกแอปโทรศัพท์จากรายการแอปของ Launcher จะแสดง TelecomActivity -
วิดเจ็ตหน้าแรก ในข้อมูลอ้างอิง AOSP ไม่มีวิดเจ็ต Home OEM อาจต้องพิจารณาเพิ่มวิดเจ็ตหน้าแรกสำหรับโปรแกรมโทรออกเพื่อแสดงสถานะของโทรศัพท์ที่เชื่อมต่ออยู่ในปัจจุบัน (รวมถึงข้อมูลอื่นๆ)
-
ศูนย์การแจ้งเตือน
-
การแจ้งเตือน Heads Up (HUN) จะแสดงขึ้นเมื่อมีสายเรียกเข้า เมื่อ Dialer ของ
InCallServiceImpl
ได้รับสายเรียกเข้า Dialer จะโพสต์ HUN ไปยังศูนย์การแจ้งเตือน ซึ่งจะแสดงรายละเอียดการโทร เช่น หมายเลขโทรศัพท์หรือข้อมูลติดต่อ นอกจากนี้ Dialer ยังแสดงปุ่มดำเนินการ 2 ปุ่ม ได้แก่ รับสายและปฏิเสธ เมื่อแตะปุ่มรับสาย ระบบจะรับสายและInCallServiceImpl
จะจัดการสายที่ใช้งานอยู่เพื่อแสดง UI ของสายใน Dialer และปิด HUN การคลิก HUN จะแสดงหน้าการโทรแบบเต็มหน้าจอที่มีปุ่มรับสายและปฏิเสธ -
การแจ้งเตือนจะปรากฏขึ้นสำหรับสายที่ไม่ได้รับซึ่งยังไม่ได้อ่าน การคลิกการแจ้งเตือนจะแสดงหน้าประวัติการโทรและทําเครื่องหมายสายที่ไม่ได้รับว่าอ่านแล้ว การแตะปุ่มโทรกลับจะเป็นการโทรออกและแสดงอินเทอร์เฟซผู้ใช้ระหว่างการโทรของ Dialer
-
-
Assistant ผู้ใช้สามารถขอให้ผู้ช่วยโทรออกซึ่งอาจแสดงอินเทอร์เฟซผู้ใช้ของแป้นโทรศัพท์ขณะโทร
-
Google Maps การโทรหาผู้ขายจาก Google Maps จะส่ง Intent ของ DIAL พร้อมหมายเลขโทรศัพท์เพิ่มเติม ซึ่งจะเปิดหน้าแป้นโทรศัพท์สำหรับการโทรด่วน
-
CarInputService. ตรวจสอบปุ่มโทรและวางสายบนพวงมาลัย การกดปุ่มต่อไปนี้
-
ปุ่มโทรจากพวงมาลัยเมื่อไม่มีการโทรเข้าจะส่ง Intent ของ DIAL และแสดงหน้าแป้นโทรศัพท์ของ Dialer
-
ปุ่มโทรจากพวงมาลัยเมื่อมีสายเรียกเข้าจะทำให้ TelecomManager รับสาย
-
ปุ่มวางสายจากพวงมาลัยเมื่อมีสายเรียกเข้า TelecomManager จะวางสาย
-
-
บลูทูธ
-
PBAPClient ดาวน์โหลดรายชื่อติดต่อจากโทรศัพท์และเขียนไปยังผู้ให้บริการรายชื่อติดต่อ ระบบจะสร้างบัญชีสำหรับโทรศัพท์แต่ละเครื่องที่เชื่อมต่อโดยใช้ที่อยู่ MAC ของบลูทูธเป็นชื่อบัญชี และ
com.android.bluetooth.pbapsink
(@string/pbap_account_type
ที่ระบุไว้ในpackages/apps/Bluetooth
) เป็นประเภทบัญชี ระบบจะเขียนข้อมูลติดต่อไปยังผู้ให้บริการข้อมูลติดต่อด้วยข้อมูลบัญชีและล้างข้อมูลเมื่อยกเลิกการเชื่อมต่อโทรศัพท์PBAPClient
จะไม่โต้ตอบกับ Dialer โดยตรง แต่เขียนรายชื่อติดต่อไปยังผู้ให้บริการรายชื่อติดต่อแทน ตัวต่อสายโทรศัพท์อ่านรายชื่อติดต่อจาก Contacts Provider -
HfpClientConnectionService
จัดการการโทรผ่านบลูทูธผ่าน HFP และรายงานการโทรไปยังบริการโทรคมนาคม
-
-
โทรคมนาคม เฟรมเวิร์ก Android Telecom จะจัดการการโทรด้วยเสียงและวิดีโอคอลในอุปกรณ์ Android เนื่องจาก Dialer เป็นแอปโทรศัพท์เริ่มต้น จึงจะใช้
InCallService
API และInCallController
จะเชื่อมโยงการใช้งาน InCallService ของ Dialer เพื่อจัดการการโทร โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อสร้างแอปโทรศัพท์สำหรับใช้แทนและการเป็นแอปโทรศัพท์เริ่มต้น -
การตั้งค่าระบบ ตัวต่อสายจะตรวจสอบรายการอุปกรณ์ที่เชื่อมต่อ HFP และแสดงข้อความแสดงข้อผิดพลาดเมื่อไม่มีโทรศัพท์เชื่อมต่อกับตัวต่อสายผ่านบลูทูธ ในข้อมูลอ้างอิงของ AOSP ปุ่มเชื่อมต่อกับบลูทูธจะลิงก์ผู้ใช้ไปยังหน้าการตั้งค่าบลูทูธของระบบเพื่อจับคู่อุปกรณ์ใหม่หรือเชื่อมต่อกับอุปกรณ์ที่จับคู่ไว้
-
เครื่องมือตรวจจับการเสียสมาธิของผู้ขับขี่ บริการระบบ Android นี้จะจำกัด UX ตามสถานะการขับขี่ของรถ Dialer ต้องดำเนินการตามข้อจำกัดทั้งหมดที่รบกวน UX ขณะขับรถ โดยต้องฟัง CarUXRestrictionManager และนำนโยบายทั้งหมดไปใช้ Dialer ต้องมีลักษณะดังนี้
-
เชื่อมต่อกับไลบรารี Car และรับอินสแตนซ์ของ CarUXRestrictionManager
-
สมัครรับข้อมูลอัปเดตในรายการ CarUxRestrictions และนำไปใช้งานตามที่ระบุไว้ในเอกสาร
-
สิ่งสำคัญอย่างยิ่งสำหรับ Dialer
-
หน้าการตั้งค่าได้รับการเพิ่มประสิทธิภาพสำหรับยานพาหนะ ผู้ใช้เข้าถึงหน้าการตั้งค่าแป้นโทรไม่ได้ขณะขับรถ เมื่อแตะเมนูการตั้งค่าจากแถบการดำเนินการ ระบบจะแสดงหน้าจอบล็อกเพื่อป้องกันไม่ให้ผู้ใช้เข้าถึงการตั้งค่าขณะขับรถ หากหน้าการตั้งค่าแสดงอยู่แล้ว หน้าจอการบล็อกจะปรากฏขึ้นเพื่อหยุดการโต้ตอบของผู้ใช้
-
เข้าถึงการตั้งค่าระบบขณะขับรถไม่ได้ ในหน้าข้อผิดพลาด เมื่อไม่มีอุปกรณ์บลูทูธเชื่อมต่ออยู่ ปุ่มเชื่อมต่อกับบลูทูธจะแสดงหน้าการตั้งค่าบลูทูธของระบบ UXR ของปุ่มนี้ถูกจํากัดโดยสมบูรณ์ ขณะขับรถ การคลิกปุ่มนี้จะแสดงข้อความแสดงข้อผิดพลาดเพื่อแจ้งให้ผู้ใช้จอดรถก่อนแล้วค่อยดำเนินการ
-
ผู้ใช้ไม่สามารถเริ่มขั้นตอนการเพิ่มรายการโปรดขณะขับรถ ปุ่มเพิ่มรายการโปรดปิดอยู่
-
-
โฟลว์ผู้ใช้
Dialer Main
หน้าต่างๆ ของโปรแกรมโทรมีดังนี้
รูปที่ 2 หน้าหลักของ Dialer
การจัดการสายเรียกเข้า
ขั้นตอนกระบวนการส่งต่อสายมีดังนี้
รูปที่ 3 การจัดการสายเรียกเข้า
การแจ้งเตือน
หน้าการแจ้งเตือนต่างๆ จะแสดงอยู่ด้านล่าง
รูปที่ 4 การแจ้งเตือน
สถานะระหว่างการโทร
ขั้นตอนในหน้าระหว่างการโทรแสดงอยู่ด้านล่าง
รูปที่ 5 หน้าระหว่างการโทร
ค้นหา
การแสดงผลของ Search มีดังนี้
รูปที่ 6 ค้นหา
การตั้งค่า
ตัวเลือกการตั้งค่ามีดังนี้
รูปที่ 7 การตั้งค่า