Debug e test

Dialer è dotato di un framework integrato di debug e test che consente di di convalidare le funzionalità dell'app Telefono senza dover utilizzare dispositivi compatibili con le chiamate. In questo modo non è necessario per Bluetooth e telefoni connessi con servizio cellulare. Questo framework di test del dialer (DTF) semplifica questi processi:

  • La configurazione di un dispositivo reale per una convalida rapida delle idee richiede in genere tempo.
  • Per testare le funzioni di chiamata multipla sono necessari almeno tre telefoni con scheda SIM, due dei seguenti utilizzate solo per effettuare chiamate.
  • Debug di Dialer e delle sue dipendenze.

Poiché la funzionalità di Dialer dipende da diversi stack tecnologici, tra cui Telecomunicazioni, Telefonia, e Bluetooth Hands Free Profile (HFP), i bug e i problemi che si verificano in queste dipendenze possono causa problemi di irregolarità della connessione a Telefono. Il DTF consente l'esecuzione di Dialer indipendentemente da queste dipendenze.

Funzionalità

Il DTF offre le seguenti funzionalità:

  • Posizionamento delle chiamate. Effettua e ricevi chiamate senza bisogno di un pronto per le chiamate tramite il terminale Android Debug Bridge (adb) la trasmissione.
  • Chiamate fittizie. La funzionalità di chiamata è stata simulata. tra cui attesa, disattivazione audio l'unione e la disconnessione.

Utilizzare il formato DTF

Nota: il formato DTF è disponibile solo su Android 11 o versioni successive.

Per utilizzare il formato DTF:

  1. Crea e installa la variante di build CarDialerAppForTesting nel seguente modo:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Di conseguenza, CarDialerAppForTesting sostituisce l'app Telefono originale nella dispositivo di test.

    CarDialerAppForTesting non funziona con dispositivi reali. Per eseguire il test con un dispositivo reale, reinstalla CarDialerApp.apk.

Comandi

I seguenti comandi adb funzionano solo dopo il primo avvio di Telefono e richiedono il broadcast receiver da inizializzare. Dopo l'avvio dell'app Telefono, un dispositivo Bluetooth falso deve essere connessi. Per farlo, utilizza il seguente comando (Configurazione) per connettere un dispositivo.

(Configura) Connetti un dispositivo

Stabilisce una connessione Bluetooth falsa a Telefono e deve essere prima chiamata per abilitare l'accesso a tutti i comandi correlati alle chiamate.

Per connettere un dispositivo:

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

Nota: solo dopo aver connesso un dispositivo Bluetooth falso, è possibile si possono usare i seguenti comandi.

Effettuare una chiamata in uscita

Per effettuare una chiamata in uscita:

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

Ricevere una chiamata in arrivo

Per ricevere una chiamata in arrivo:

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

Terminare una chiamata

Per terminare una chiamata:

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

Metti in attesa la chiamata in corso

Per mettere in attesa la chiamata in corso:

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

Riprendi la chiamata in corso

Per disattivare la chiamata in corso:

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

Unisci

Unisci le chiamate principali e secondarie in un'audioconferenza. Questo comando funziona solo sono presenti le chiamate principali e secondarie. Un'audioconferenza esistente è considerata come un singolo dell'oggetto.

Per unire le chiamate:

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

Cancella tutte le chiamate

Per rimuovere tutte le chiamate nell'elenco:

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

Build emulatore

A volte gli sviluppatori potrebbero voler testare le modifiche alla UI su un emulatore. In questi casi, CarDialerAppEmulatorBuild offre una configurazione semplificata e funzionalità limitate rispetto al più potente DTF.

Dati del test

All'avvio di Telefono, la pagina di errore Bluetooth viene bypassata e i contenuti principali TelecomActivity visualizzato. I contatti e i registri chiamate sono visualizzati nella dispositivo. Gli sviluppatori possono utilizzare l'app Contatti di Google per creare contatti di prova o importare .vcf.

Simulazione chiamata

Per simulare le chiamate in entrata, utilizza Android Emulator per inviare comandi Telnet. Per saperne di più, vedi Eseguire app sull'emulatore Android e Invia i comandi della console Emulator.

telnet localhost 5554
gsm call xxx-xxx-xxxx

Quando si effettua una telefonata nell'app Telefono o si trasmette un intent di chiamata, viene avviata una chiamata in uscita.

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