Detail teknis

Diagram berikut mengilustrasikan komponen sistem yang berinteraksi dengan Telepon:

Komponen 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 dan InCallServiceImpl 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 di packages/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 dan InCallController 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.

Halaman Dialer utama

Gambar 2. Halaman Dialer utama

Penanganan panggilan

Alur proses penanganan panggilan ditampilkan di bawah:

Penanganan Panggilan

Gambar 3. Penanganan panggilan

Notifikasi

Berbagai halaman notifikasi ditampilkan di bawah:

Notifikasi

Gambar 4. Notifikasi

Status InCall

Alur halaman Dalam Panggilan ditampilkan di bawah:

Halaman InCall

Gambar 5. Halaman InCall

Tampilan Penelusuran adalah:

Telusuri

Gambar 6. Telusuri

Setelan

Opsi Setelan adalah:

Setelan

Gambar 7. Setelan