Diagram berikut menggambarkan komponen sistem yang berinteraksi dengan Dialer:
Gambar 1. Komponen yang berinteraksi dengan Dialer
UI Sistem. Sisi navigasi bawah untuk menampung tombol Telepon, yang mendaftarkan
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
niat. Ini memulai aktivitas utama pengguna,TelecomActivity
.Peluncur Aplikasi. Mengelola seluruh daftar aplikasi. Dialer mendeklarasikan TelecomActivity dengan
android.intent.category.LAUNCHER
. Memilih aplikasi telepon dari daftar aplikasi peluncur akan menampilkan TelecomActivity.Widget rumah. Dalam referensi AOSP, tidak ada widget Beranda. OEM mungkin ingin mempertimbangkan untuk menambahkan widget Beranda untuk Dialer guna menampilkan status ponsel yang terhubung saat ini (serta informasi lainnya).
Pusat Pemberitahuan
Pemberitahuan Pengingat (HUN) ditampilkan untuk panggilan masuk. Ketika Dialer
InCallServiceImpl
menerima panggilan masuk, Dialer memposting HUN ke pusat Pemberitahuan, yang menampilkan rincian panggilan, seperti nomor telepon atau info kontak. Dialer juga menampilkan dua tombol tindakan, Jawab dan Tolak. Dengan mengetuk tombol Jawab, panggilan dijawab danInCallServiceImpl
menangani panggilan aktif untuk menampilkan UI panggilan Dialer dan menutup HUN. Mengklik HUN menampilkan halaman InCall layar penuh dengan tombol Jawab dan Tolak.Pemberitahuan muncul untuk panggilan tidak terjawab yang belum dibaca. Mengklik notifikasi akan menampilkan halaman Riwayat Panggilan dan menandai panggilan tidak terjawab sebagai telah dibaca. Mengetuk tombol Panggil Kembali akan melakukan panggilan dan menampilkan antarmuka pengguna InCall Dialer.
Asisten. Pengguna dapat meminta asisten untuk melakukan panggilan yang mungkin menampilkan antarmuka pengguna Dialer InCall.
Google Peta. Memanggil pedagang dari Google Maps mengirimkan maksud DIAL dengan tambahan nomor telepon yang akan memulai halaman Dialpad untuk panggilan cepat.
Layanan Masukan Mobil. Memantau kunci fisik tombol Panggil dan Akhiri Panggilan di roda kemudi. Menekan:
Tombol panggil dari roda kemudi ketika tidak ada panggilan masuk mengirimkan maksud DIAL dan menampilkan halaman Dialpad Dialer.
Tombol panggil dari kemudi ketika ada panggilan masuk menyebabkan TelecomManager menjawab panggilan tersebut.
Tombol Akhiri Panggilan dari kemudi bila ada panggilan masuk, TelecomManager akan mengakhiri panggilan tersebut.
Bluetooth
Klien PBAP. Mengunduh kontak dari telepon dan menulis ke penyedia kontak. Untuk setiap ponsel yang terhubung, sebuah akun dibuat dengan alamat MAC Bluetooth perangkat sebagai nama akun dan
com.android.bluetooth.pbapsink
(@string/pbap_account_type
ditentukan dalampackages/apps/Bluetooth
) sebagai jenis akun. Kontak yang ditulis ke penyedia kontak ditulis dengan informasi akun dan dihapus ketika telepon terputus.PBAPClient
tidak berinteraksi langsung dengan Dialer melainkan menulis kontak ke Penyedia Kontak. Dialer membaca kontak dari Penyedia Kontak.HfpClientConnectionService
. Mengelola panggilan Bluetooth melalui HFP dan melaporkan panggilan tersebut ke layanan Telekomunikasi.
Telekomunikasi. Kerangka kerja Android Telecom mengelola panggilan audio dan video pada perangkat Android. Karena Dialer adalah aplikasi telepon default, ia mengimplementasikan API
InCallService
danInCallController
akan mengikat implementasi InCallService Dialer untuk menangani panggilan. Untuk detail selengkapnya, lihat Membuat aplikasi telepon pengganti dan Menjadi Aplikasi Telepon Default .Pengaturan sistem. Dialer memonitor daftar perangkat yang terhubung dengan HFP dan menampilkan pesan kesalahan ketika tidak ada telepon yang terhubung ke dialer melalui Bluetooth. Dalam referensi AOSP, tombol Sambungkan ke Bluetooth menghubungkan pengguna ke halaman Pengaturan Bluetooth sistem untuk memasangkan perangkat baru atau untuk menyambung ke perangkat yang dipasangkan.
Mesin Pengalih perhatian Pengemudi. Layanan sistem Android ini menerapkan pembatasan UX berdasarkan kondisi mengemudi mobil. Dialer harus menjalankan semua pembatasan gangguan mengemudi UX. Untuk melakukannya, Dialer harus mendengarkan CarUXRestrictionManager dan menerapkan semua kebijakan. Pemanggil harus:
Hubungkan ke perpustakaan Mobil dan dapatkan instance CarUXRestrictionManager .
Berlangganan pembaruan dalam daftar CarUxRestrictions dan terapkan seperti yang didokumentasikan.
Yang sangat penting bagi Dialer:
Halaman pengaturan dioptimalkan untuk kendaraan. Pengguna tidak dapat mengakses halaman Pengaturan Telepon saat mengemudi. Dengan mengetuk menu Pengaturan dari bilah tindakan, layar pemblokiran ditampilkan untuk mencegah pengguna mengakses Pengaturan saat mengemudi. Jika halaman Pengaturan sudah ditampilkan, layar pemblokiran akan muncul untuk menghentikan interaksi pengguna.
Pengaturan sistem tidak dapat diakses saat mengemudi. Pada halaman Kesalahan, ketika tidak ada perangkat Bluetooth yang terhubung, tombol Hubungkan ke Bluetooth menampilkan halaman pengaturan Bluetooth sistem. UXR tombol ini sepenuhnya dibatasi. Saat mengemudi, mengklik tombol ini akan menampilkan pesan kesalahan untuk memberi tahu pengguna agar memarkir mobil terlebih dahulu dan kemudian melakukan tindakan.
Pengguna tidak dapat memulai aliran tambahkan ke favorit saat mengemudi. Tombol Tambahkan Favorit dinonaktifkan.
Arus pengguna
Pemanggil Utama
Halaman berbeda untuk Dialer disediakan di bawah.
Gambar 2. Halaman Pemanggil Utama
Penanganan panggilan
Alur proses penyerahan panggilan disajikan di bawah ini:
Gambar 3. Penanganan panggilan
Pemberitahuan
Halaman notifikasi yang berbeda ditampilkan di bawah:
Gambar 4. Notifikasi
Status Panggilan Masuk
Alur halaman InCall ditunjukkan di bawah ini:
Gambar 5. Halaman InCall
Mencari
Tampilan Pencarian adalah:
Gambar 6. Pencarian
Pengaturan
Opsi Pengaturannya adalah:
Gambar 7. Pengaturan