Debug dan pengujian

Telepon dilengkapi dengan framework pengujian dan proses debug terintegrasi yang memungkinkan Anda memvalidasi fitur aplikasi Telepon tanpa memerlukan perangkat yang siap digunakan untuk menelepon. Hal ini meniadakan kebutuhan untuk 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 akan menghabiskan waktu.
  • Pengujian fitur multi-panggilan memerlukan setidaknya tiga ponsel yang dilengkapi kartu SIM, dua yang hanya digunakan untuk melakukan panggilan.
  • Melakukan debug Telepon dan dependensinya.

Karena fungsi Telepon bergantung pada beberapa technology stack, termasuk Telekomunikasi, Telepon, dan {i>Bluetooth Hands Free Profile<i} (HFP), {i>bug<i} dan masalah yang muncul dalam dependensi tersebut dapat menyebabkan kegagalan Telepon. DTF memungkinkan Telepon berjalan secara independen dari dependensi ini.

Fitur

DTF menyediakan fitur-fitur berikut:

  • Penempatan panggilan. Melakukan dan menerima panggilan tanpa memerlukan perangkat yang siap pakai melalui terminal dengan Android Debug Bridge (adb) .
  • Panggilan palsu. Fungsi panggilan ditiru. Tindakan ini meliputi menahan, membisukan audio, menggabungkan, dan memutuskan sambungan.

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
    

    Oleh karena itu, CarDialerAppForTesting akan menggantikan aplikasi Telepon asli di perangkat pengujian.

    CarDialerAppForTesting tidak berfungsi dengan perangkat sebenarnya. 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 yang akan diinisialisasi. Setelah meluncurkan Telepon, perangkat Bluetooth palsu harus terhubung. Gunakan langkah berikut (Penyiapan) Hubungkan perintah perangkat untuk melakukannya.

(Menyiapkan) Menghubungkan perangkat

Membuat sambungan Bluetooth palsu ke Telepon dan harus dipanggil terlebih dahulu untuk mengaktifkan akses untuk semua perintah yang terkait dengan 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 gunakan perintah berikut.

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 menangguhkan panggilan saat ini:

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

Batalkan penahanan panggilan saat ini

Untuk menonaktifkan panggilan saat ini:

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

Gabungkan panggilan

Gabungkan panggilan utama dan sekunder ke dalam panggilan konferensi. Perintah ini hanya berfungsi jika keduanya terdapat panggilan utama dan sekunder. Panggilan konferensi yang ada akan dianggap sebagai panggilan entitas.

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 di 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 pada emulator. Dalam kasus tersebut, CarDialerAppEmulatorBuild menyediakan penyiapan yang sederhana dan fungsi terbatas dibandingkan dengan DTF yang lebih canggih.

Uji data

Saat Telepon diluncurkan, halaman error Bluetooth akan diabaikan dan konten utama TelecomActivity ditampilkan. Kontak dan log panggilan ditampilkan di jaringan perangkat seluler. Pengembang dapat menggunakan aplikasi Kontak stok untuk membuat kontak pengujian atau untuk mengimpor File .vcf.

Mengejek 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