Debugging dan Pengujian

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:

  1. 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 ulang CarDialerApp.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