Melakukan proses debug dan pengujian

Telepon dilengkapi dengan framework pengujian dan proses debug terintegrasi yang memungkinkan Anda memvalidasi fitur aplikasi Telepon tanpa memerlukan perangkat yang siap melakukan panggilan. Hal ini menghilangkan kebutuhan akan Bluetooth dan ponsel yang terhubung dengan layanan seluler. Framework Pengujian Telepon (DTF) ini menyederhanakan proses berikut:

  • Menyiapkan perangkat sungguhan untuk memvalidasi ide dengan cepat biasanya memakan waktu.
  • Pengujian fitur multi-panggilan memerlukan minimal tiga ponsel yang dilengkapi dengan kartu SIM, dua di antaranya hanya digunakan untuk melakukan panggilan.
  • Men-debug Telepon dan dependensinya.

Karena fungsi Telepon bergantung pada beberapa stack teknologi termasuk Telekomunikasi, Telepon, dan Profil Hands Free Bluetooth (HFP), bug dan masalah yang muncul dalam dependensi tersebut dapat menyebabkan ketidakstabilan Telepon. DTF memungkinkan Telepon berjalan secara independen dari dependensi ini.

Fitur

DTF menyediakan fitur berikut:

  • Penempatan panggilan. Melakukan dan menerima panggilan tanpa memerlukan perangkat yang siap melakukan panggilan melalui terminal dengan siaran Android Debug Bridge (adb).
  • Panggilan tiruan. Fungsi panggilan di-mock. Hal ini termasuk menahan, membisukan, menggabungkan, dan memutuskan koneksi.

Menggunakan DTF

Catatan: DTF hanya tersedia di Android 11 atau yang lebih baru.

Untuk menggunakan DTF:

  1. Build 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
    

    Akibatnya, CarDialerAppForTesting akan menggantikan aplikasi Telepon asli di perangkat pengujian.

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

Perintah

Perintah adb berikut hanya berfungsi setelah Telepon diluncurkan untuk pertama kalinya dan memerlukan penerima siaran untuk diinisialisasi. Setelah meluncurkan Telepon, perangkat Bluetooth palsu harus terhubung. Gunakan perintah (Penyiapan) Hubungkan perangkat berikut untuk melakukannya.

(Menyiapkan) Menghubungkan perangkat

Membuat koneksi Bluetooth palsu ke Telepon 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.

Melakukan 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"

Mengakhiri panggilan

Untuk mengakhiri panggilan:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"

Menahan panggilan saat ini

Untuk menjeda panggilan saat ini:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"

Berhenti menjeda panggilan saat ini

Untuk membatalkan penangguhan panggilan saat ini:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Gabungkan panggilan

Menggabungkan panggilan utama dan sekunder menjadi panggilan konferensi. Perintah ini hanya berfungsi jika panggilan utama dan sekunder ada. Konferensi telepon yang ada dianggap sebagai satu entitas.

Untuk menggabungkan panggilan:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Menghapus semua panggilan

Untuk menghapus semua panggilan dalam daftar panggilan:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"

Build emulator

Terkadang developer mungkin ingin menguji perubahan UI di emulator. Dalam kasus tersebut, CarDialerAppEmulatorBuild menyediakan penyiapan yang disederhanakan dan fungsi terbatas dibandingkan dengan DTF yang lebih canggih.

Data pengujian

Saat Perangkat Telepon diluncurkan, halaman error Bluetooth akan dilewati dan konten utama TelecomActivity akan ditampilkan. Kontak dan log panggilan ditampilkan di perangkat lokal. Developer dapat menggunakan aplikasi Kontak bawaan untuk membuat kontak pengujian atau mengimpor file .vcf.

Peniruan panggilan

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 Telepon atau menyiarkan intent panggilan akan memulai panggilan keluar.

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx