Debug e test

Dialer è dotato di un framework integrato di debug e test che ti consente di convalidare le funzionalità dell'app Dialer senza la necessità di dispositivi pronti per le chiamate. Ciò elimina la necessità del Bluetooth e dei telefoni connessi con servizio cellulare. Questo Dialer Testing Framework (DTF) semplifica questi processi:

  • Configurare un dispositivo reale per convalidare rapidamente le idee in genere richiede tempo.
  • Per testare le funzionalità multi-chiamata sono necessari almeno tre telefoni dotati di scheda SIM, due dei quali utilizzati 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 Profilo vivavoce Bluetooth (HFP), bug e problemi che si verificano in tali dipendenze possono causare instabilità di Dialer. Il DTF consente a Dialer di funzionare indipendentemente da queste dipendenze.

Caratteristiche

Il DTF fornisce queste funzionalità:

  • Posizionamento delle chiamate. Effettua e ricevi chiamate senza la necessità di un dispositivo pronto per le chiamate tramite il terminale con una trasmissione Android Debug Bridge (adb) .
  • Chiamate finte. La funzionalità delle chiamate viene derisa. Ciò include il mantenimento, il silenziamento, l'unione e la disconnessione.

Usa il DTF

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

Per utilizzare il DTF:

  1. Crea e installa la variante di build CarDialerAppForTesting come segue:
    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 Dialer originale sul dispositivo di prova.

    CarDialerAppForTesting non funziona con dispositivi reali. Per testare con un dispositivo reale, reinstallare CarDialerApp.apk .

Comandi

I seguenti comandi adb funzionano solo dopo il primo avvio di Dialer e richiedono l'inizializzazione del ricevitore di trasmissione. Dopo aver avviato Dialer, è necessario connettere un falso dispositivo Bluetooth. Utilizzare il seguente comando (Configurazione) Connetti un dispositivo per farlo.

(Configurazione) Connettere un dispositivo

Stabilisce una falsa connessione Bluetooth con Dialer e deve essere chiamato prima per consentire l'accesso a tutti i comandi relativi alla chiamata.

Per connettere un dispositivo:

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

Nota: solo dopo aver collegato un falso dispositivo Bluetooth è possibile utilizzare ciascuno dei seguenti comandi.

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

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

Termina 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 corrente

Per mettere in attesa la chiamata corrente:

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

Riprendi la chiamata corrente

Per mettere in attesa la chiamata corrente:

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

Unisci le chiamate

Unisci le chiamate primarie e secondarie in una chiamata in conferenza. Questo comando funziona solo quando esistono sia la chiamata primaria che quella secondaria. Una chiamata in conferenza esistente è considerata una singola entità.

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 dall'elenco chiamate:

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

Creazione dell'emulatore

A volte gli sviluppatori potrebbero voler testare le modifiche dell'interfaccia utente su un emulatore. In questi casi, CarDialerAppEmulatorBuild fornisce una configurazione semplificata e funzionalità limitate rispetto al più potente DTF.

Dati di test

Quando viene avviato Dialer, la pagina di errore Bluetooth viene ignorata e viene visualizzato il contenuto principale di TelecomActivity . I contatti e i registri delle chiamate vengono visualizzati sul dispositivo locale. Gli sviluppatori possono utilizzare l'app Contatti standard per creare contatti di prova o importare un file .vcf .

Chiamata beffarda

Per simulare le chiamate in entrata, utilizza l'emulatore Android per inviare comandi Telnet. Per ulteriori informazioni, consulta Eseguire app sull'emulatore Android e inviare comandi della console dell'emulatore .

telnet localhost 5554
gsm call xxx-xxx-xxxx

Effettuando una chiamata nell'app Dialer o trasmettendo un intento di chiamata si avvia una chiamata in uscita.

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