Debug dan pengujian

Dialer dilengkapi dengan kerangka debugging dan pengujian terintegrasi yang memungkinkan Anda memvalidasi fitur aplikasi Dialer tanpa memerlukan perangkat siap panggilan. Hal ini menghilangkan kebutuhan akan Bluetooth dan telepon yang terhubung dengan layanan seluler. Kerangka Pengujian Dialer (DTF) ini menyederhanakan proses berikut:

  • Menyiapkan perangkat nyata untuk memvalidasi ide dengan cepat biasanya menghabiskan waktu.
  • Pengujian fitur multi-panggilan memerlukan setidaknya tiga ponsel yang dilengkapi kartu SIM, dua di antaranya hanya digunakan untuk melakukan panggilan.
  • Men-debug 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 dependensi tersebut dapat menyebabkan kegagalan Dialer. DTF memungkinkan Dialer berjalan secara independen dari dependensi ini.

Fitur

DTF menyediakan fitur-fitur berikut:

  • Penempatan panggilan. Tempatkan dan terima panggilan tanpa memerlukan perangkat siap panggilan melalui terminal dengan siaran Android Debug Bridge (adb) .
  • Panggilan tiruan. Fungsionalitas panggilan diejek. Ini termasuk menahan, mematikan suara, menggabungkan, dan memutuskan sambungan.

Gunakan DTF

Catatan: DTF hanya tersedia di Android 11 atau lebih tinggi.

Untuk menggunakan DTF:

  1. Bangun dan instal varian build CarDialerAppForTesting sebagai berikut:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Hasilnya, CarDialerAppForTesting menggantikan aplikasi Dialer asli pada perangkat pengujian.

    CarDialerAppForTesting tidak berfungsi dengan perangkat nyata. Untuk menguji dengan perangkat sebenarnya, instal ulang CarDialerApp.apk .

Perintah

Perintah adb berikut hanya berfungsi setelah Dialer diluncurkan untuk pertama kalinya dan memerlukan inisialisasi penerima siaran. Setelah meluncurkan Dialer, perangkat Bluetooth palsu harus terhubung. Gunakan perintah berikut (Pengaturan) Hubungkan 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 terhubung, setiap 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"

Menerima 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 menghentikan 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 bila 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 bertenaga.

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 .

Panggil mengejek

Untuk meniru 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