Diagram berikut mengilustrasikan komponen sistem yang berinteraksi dengan Telepon:
Gambar 1. Komponen yang berinteraksi dengan Telepon
-
UI Sistem. Faset navigasi bawah untuk menghosting tombol Telepon, yang mendaftarkan intent
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
. Tindakan ini akan memulai aktivitas utama pengguna,TelecomActivity
. -
Peluncur Aplikasi. Mengelola seluruh daftar aplikasi. Telepon mendeklarasikan TelecomActivity dengan
android.intent.category.LAUNCHER
. Memilih aplikasi telepon dari daftar aplikasi peluncur akan menampilkan TelecomActivity. -
Widget layar utama. Dalam referensi AOSP, tidak ada widget Home. OEM sebaiknya mempertimbangkan untuk menambahkan widget Home untuk Telepon untuk menampilkan status ponsel yang terhubung saat ini (serta informasi lainnya).
-
Pusat Notifikasi
-
Notifikasi Pendahuluan (HUN) ditampilkan untuk panggilan masuk. Saat
InCallServiceImpl
Telepon menerima panggilan masuk, Telepon akan memposting HUN ke Pusat notifikasi, yang menampilkan detail panggilan, seperti nomor telepon atau info kontak. Telepon juga menampilkan dua tombol tindakan, Jawab dan Tolak. Dengan mengetuk tombol Jawab, panggilan akan dijawab danInCallServiceImpl
akan menangani panggilan aktif untuk menampilkan UI dalam panggilan Telepon dan menutup HUN. Mengklik HUN akan menampilkan halaman Dalam Panggilan layar penuh dengan tombol Jawab dan Tolak. -
Notifikasi muncul untuk panggilan tak terjawab yang belum dibaca. Mengklik notifikasi akan menampilkan halaman Histori Panggilan dan menandai panggilan tak terjawab sebagai telah dibaca. Mengetuk tombol Hubungi Kembali akan melakukan panggilan dan menampilkan antarmuka pengguna Dalam Panggilan di Telepon.
-
-
Asisten. Pengguna dapat meminta asisten untuk melakukan panggilan yang dapat menampilkan antarmuka pengguna InCall Telepon.
-
Google Maps. Memanggil penjual dari Google Maps akan mengirim intent DIAL dengan tambahan nomor telepon yang akan memulai halaman Dialpad untuk melakukan panggilan cepat.
-
CarInputService. Memantau tombol fisik tombol Telepon dan Akhiri Panggilan di setir. Menekan:
-
Tombol telepon dari setir saat tidak ada panggilan masuk akan mengirimkan intent DIAL dan menampilkan halaman Dialpad dari Telepon.
-
Tombol telepon dari setir saat ada panggilan masuk menyebabkan TelecomManager menjawab panggilan.
-
Tombol Akhiri Panggilan dari setir saat ada panggilan masuk, TelecomManager akan mengakhiri panggilan.
-
-
Bluetooth
-
PBAPClient. Mendownload kontak dari ponsel dan menulis ke penyedia kontak. Untuk setiap ponsel yang terhubung, akun dibuat dengan alamat MAC Bluetooth perangkat sebagai nama akun dan
com.android.bluetooth.pbapsink
(@string/pbap_account_type
yang ditentukan dipackages/apps/Bluetooth
) sebagai jenis akun. Kontak yang ditulis ke penyedia kontak ditulis dengan informasi akun dan dihapus saat ponsel terputus.PBAPClient
tidak berinteraksi langsung dengan Telepon, tetapi menulis kontak ke Penyedia Kontak. Telepon membaca kontak dari Penyedia Kontak. -
HfpClientConnectionService
. Mengelola panggilan Bluetooth melalui HFP dan melaporkan panggilan ke layanan Telekomunikasi.
-
-
Telekomunikasi. Framework Android Telecom mengelola panggilan audio dan video di perangkat Android. Karena Telepon adalah aplikasi telepon default, aplikasi ini mengimplementasikan
InCallService
API danInCallController
akan mengikat implementasi InCallService Telepon untuk menangani panggilan. Untuk mengetahui detail selengkapnya, lihat Membuat aplikasi ponsel pengganti dan Menjadi Aplikasi Telepon Default. -
Setelan Sistem. Telepon memantau daftar perangkat yang terhubung HFP dan menampilkan pesan error saat tidak ada ponsel yang terhubung ke telepon melalui Bluetooth. Dalam referensi AOSP, tombol Hubungkan ke Bluetooth akan menautkan pengguna ke halaman Setelan Bluetooth sistem untuk menyambungkan perangkat baru atau terhubung ke perangkat yang disambungkan.
-
Mesin Gangguan bagi Pengemudi. Layanan sistem Android ini menerapkan pembatasan UX berdasarkan kondisi mengemudi mobil. Telepon harus menjalankan semua pembatasan gangguan berkendara UX.Untuk melakukannya, Telepon harus memproses CarUXRestrictionManager dan menerapkan semua kebijakan. Dialer harus:
-
Hubungkan ke library Car dan dapatkan instance CarUXRestrictionManager.
-
Berlangganan update dalam daftar CarUxRestrictions dan terapkan seperti yang didokumentasikan.
-
Khususnya penting untuk Pemanggil:
-
Halaman setelan dioptimalkan untuk kendaraan. Pengguna tidak dapat mengakses halaman Setelan Telepon saat mengemudi. Dengan mengetuk menu Setelan dari panel tindakan, layar pemblokiran akan ditampilkan untuk mencegah pengguna mengakses Setelan saat mengemudi. Jika halaman Setelan sudah ditampilkan, layar pemblokiran akan muncul untuk menghentikan interaksi pengguna.
-
Setelan sistem tidak dapat diakses saat mengemudi. Di halaman Error, jika tidak ada perangkat Bluetooth yang terhubung, tombol Connect to Bluetooth akan menampilkan halaman setelan Bluetooth sistem. UXR tombol ini dibatasi sepenuhnya. Saat mengemudi, mengklik tombol ini akan menampilkan pesan error untuk memberi tahu pengguna agar memarkir mobil terlebih dahulu, lalu melakukan tindakan.
-
Pengguna tidak dapat memulai alur tambahkan ke favorit saat mengemudi. Tombol Tambahkan Favorit dinonaktifkan.
-
-
Alur penggunaan
Dialer Utama
Berbagai halaman untuk Telepon disediakan di bawah.
Gambar 2. Halaman Dialer utama
Penanganan panggilan
Alur proses penanganan panggilan ditampilkan di bawah:
Gambar 3. Penanganan panggilan
Notifikasi
Berbagai halaman notifikasi ditampilkan di bawah:
Gambar 4. Notifikasi
Status InCall
Alur halaman Dalam Panggilan ditampilkan di bawah:
Gambar 5. Halaman InCall
Telusuri
Tampilan Penelusuran adalah:
Gambar 6. Telusuri
Setelan
Opsi Setelan adalah:
Gambar 7. Setelan