Diagram berikut menggambarkan komponen sistem yang berinteraksi dengan Dialer:
Gambar 1. Komponen yang berinteraksi dengan Dialer
Sistem UI. Sisi navigasi bawah untuk menghosting 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 Home untuk Dialer untuk menampilkan status ponsel yang terhubung saat ini (serta informasi lainnya).
Pusat Pemberitahuan
Heads Up Notification (HUN) ditampilkan untuk panggilan masuk. Ketika Dialer
InCallServiceImpl
menerima panggilan masuk, Dialer memposting HUN ke pusat Pemberitahuan, yang menunjukkan detail panggilan, seperti nomor telepon atau info kontak. Dialer juga menampilkan dua tombol aksi, Jawab dan Tolak. Dengan menekan tombol Jawab, panggilan dijawab danInCallServiceImpl
menangani panggilan aktif untuk menampilkan UI panggilan Dialer dan mengabaikan HUN. Mengklik HUN menampilkan halaman InCall layar penuh dengan tombol Jawab dan Tolak.Pemberitahuan muncul untuk panggilan tak terjawab yang belum dibaca. Mengeklik notifikasi akan menampilkan halaman Riwayat Panggilan dan menandai panggilan tak terjawab sebagai telah dibaca. Mengetuk tombol Panggil Kembali menempatkan panggilan dan menampilkan antarmuka pengguna InCall Dialer.
Asisten. Pengguna dapat meminta asisten untuk melakukan panggilan yang dapat menampilkan antarmuka pengguna Dialer InCall.
Google Maps. 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 setir. Menekan:
Tombol panggil dari kemudi saat tidak ada panggilan masuk mengirimkan maksud DIAL dan menampilkan halaman Dialpad Dialer.
Tombol panggil dari kemudi saat ada panggilan masuk menyebabkan TelecomManager menjawab panggilan tersebut.
Tombol Akhiri Panggilan dari kemudi saat ada panggilan masuk, TelecomManager mengakhiri panggilan.
Bluetooth
Klien PBAP. Download kontak dari telepon dan menulis ke penyedia kontak. Untuk setiap telepon yang terhubung, sebuah akun dibuat dengan alamat MAC Bluetooth perangkat sebagai nama akun dan
com.android.bluetooth.pbapsink
(@string/pbap_account_type
didefinisikan dalampackages/apps/Bluetooth
) sebagai jenis akun. Kontak yang ditulis ke penyedia kontak ditulis dengan informasi akun dan dihapus saat 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 ke layanan Telecom.
telekomunikasi. Kerangka kerja Android Telecom mengelola panggilan audio dan video di perangkat Android. Karena Dialer adalah aplikasi telepon default, ini 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 ke HFP dan menampilkan pesan kesalahan ketika tidak ada telepon yang terhubung ke dialer melalui Bluetooth. Dalam referensi AOSP, tombol Hubungkan ke Bluetooth menghubungkan pengguna ke halaman Pengaturan Bluetooth sistem untuk memasangkan perangkat baru atau untuk menghubungkan ke perangkat yang dipasangkan.
Mesin Pengalih Penggerak. Layanan sistem Android ini memberlakukan batasan 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 Pembatasan CarUx dan terapkan seperti yang didokumentasikan.
Yang sangat penting bagi Dialer:
Halaman pengaturan dioptimalkan untuk kendaraan. Pengguna tidak dapat mengakses halaman Pengaturan Dialer 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 Error, ketika tidak ada perangkat Bluetooth yang terhubung, tombol Connect to Bluetooth akan menampilkan halaman pengaturan Bluetooth sistem. UXR tombol ini sepenuhnya dibatasi. Saat mengemudi, mengklik tombol ini menampilkan pesan kesalahan untuk memberi tahu pengguna untuk memarkir mobil terlebih dahulu dan kemudian melakukan tindakan.
Pengguna tidak dapat memulai aliran add-to-favorite saat mengemudi. Tombol Tambahkan Favorit dinonaktifkan.
Alur Pengguna
Telepon Utama
Halaman yang berbeda untuk Dialer disediakan di bawah ini.
Gambar 2. Halaman Main Dialer
Penanganan Panggilan
Alur proses penanganan panggilan disajikan di bawah ini:
Gambar 3. Penanganan panggilan
Pemberitahuan
Halaman notifikasi yang berbeda ditampilkan di bawah ini:
Gambar 4. Pemberitahuan
Status Dalam Panggilan
Alur halaman InCall ditunjukkan di bawah ini:
Gambar 5. Halaman InCall
Mencari
Tampilan Pencarian adalah:
Gambar 6. Pencarian
Pengaturan
Opsi Pengaturan adalah:
Gambar 7. Pengaturan