Dialer dilengkapi dengan kerangka kerja debugging dan pengujian terintegrasi yang memungkinkan Anda untuk memvalidasi fitur aplikasi Dialer tanpa memerlukan perangkat siap panggilan. Ini menghilangkan kebutuhan akan Bluetooth dan telepon yang terhubung dengan layanan seluler. Kerangka Pengujian Dialer (DTF) ini menyederhanakan proses ini:
- Menyiapkan perangkat nyata untuk memvalidasi ide dengan cepat biasanya menghabiskan waktu.
- Pengujian fitur multi-panggilan memerlukan setidaknya tiga telepon yang dilengkapi kartu SIM, dua di antaranya hanya digunakan untuk melakukan panggilan.
- Debugging Dialer dan dependensinya.
Karena fungsionalitas Dialer bergantung pada beberapa tumpukan teknologi termasuk Telecom, Telephony, dan Bluetooth Hands Free Profile (HFP), bug dan masalah yang muncul pada ketergantungan tersebut dapat menyebabkan kelemahan Dialer. DTF memungkinkan Dialer untuk berjalan secara independen dari dependensi ini.
Fitur
DTF menyediakan fitur-fitur ini:
- Penempatan panggilan. Tempatkan dan terima panggilan tanpa memerlukan perangkat siap-panggilan melalui terminal dengan siaran Android Debug Bridge (adb) .
- Panggilan palsu. Fungsionalitas panggilan diejek. Ini termasuk menahan, mematikan, menggabungkan, dan memutuskan.
Menggunakan DTF
Catatan: DTF hanya tersedia di Android 11 atau lebih tinggi.
Untuk menggunakan DTF:
- Bangun dan instal varian build
CarDialerAppForTesting
sebagai berikut:cd %rRepoRoo%/packages/apps/Car/Dialer m CarDialerAppForTesting adb install %rRepoRoo%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
Akibatnya,
CarDialerAppForTesting
menggantikan aplikasi Dialer asli pada perangkat uji.CarDialerAppForTesting
tidak bekerja dengan perangkat nyata. Untuk menguji dengan perangkat nyata, instal ulangCarDialerApp.apk
.
perintah
Perintah adb berikut hanya berfungsi setelah Dialer diluncurkan untuk pertama kalinya dan memerlukan penerima siaran untuk diinisialisasi. Setelah meluncurkan Dialer, perangkat Bluetooth palsu harus terhubung. Gunakan perintah berikut (Pengaturan) Sambungkan perangkat untuk melakukannya.
(Pengaturan) Hubungkan perangkat
Membuat koneksi Bluetooth palsu ke Dialer dan harus dipanggil terlebih dahulu untuk mengaktifkan akses ke semua perintah terkait panggilan.
Untuk menghubungkan perangkat:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"
Catatan: Hanya setelah perangkat Bluetooth palsu telah terhubung, masing-masing perintah berikut dapat digunakan.
Lakukan panggilan keluar
Untuk melakukan panggilan keluar:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"
Terima panggilan masuk
Untuk menerima panggilan masuk:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"
Akhiri panggilan
Untuk mengakhiri panggilan:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"
Tahan panggilan saat ini
Untuk menahan panggilan saat ini:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"
Lepaskan panggilan saat ini
Untuk membatalkan panggilan saat ini:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Gabungkan panggilan
Gabungkan panggilan primer dan sekunder menjadi panggilan konferensi. Perintah ini hanya berfungsi jika ada panggilan primer dan sekunder. Panggilan konferensi yang ada dianggap sebagai satu kesatuan.
Untuk menggabungkan panggilan:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"
Hapus semua panggilan
Untuk menghapus semua panggilan dalam daftar panggilan:
adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"
Pembuatan emulator
Terkadang pengembang mungkin ingin menguji perubahan UI pada emulator. Dalam kasus seperti itu, CarDialerAppEmulatorBuild
menyediakan pengaturan yang disederhanakan dan fungsionalitas terbatas dibandingkan dengan DTF yang lebih kuat.
data uji
Saat Dialer diluncurkan, halaman kesalahan Bluetooth dilewati dan konten utama TelecomActivity
ditampilkan. Kontak dan log panggilan ditampilkan di perangkat lokal. Pengembang dapat menggunakan aplikasi Kontak stok untuk membuat kontak uji atau mengimpor file .vcf
.
Panggilan mengejek
Untuk mengejek panggilan masuk, gunakan Android Emulator untuk mengirim perintah Telnet. Untuk mempelajari lebih lanjut, lihat Menjalankan aplikasi di Android Emulator dan Mengirim perintah konsol Emulator .
telnet localhost 5554 gsm call xxx-xxx-xxxx
Melakukan panggilan telepon di aplikasi Dialer atau menyiarkan maksud panggilan akan memulai panggilan keluar.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx