Depuración y prueba

Dialer está equipado con un marco integrado de depuración y prueba que le permite validar las funciones de la aplicación Dialer sin necesidad de dispositivos listos para llamar. Esto elimina la necesidad de Bluetooth y teléfonos conectados con servicio celular. Este Dialer Testing Framework (DTF) simplifica estos procesos:

  • La configuración de un dispositivo real para validar ideas rápidamente suele consumir tiempo.
  • Probar las funciones de llamadas múltiples requiere al menos tres teléfonos equipados con tarjeta SIM, dos de los cuales se usan solo para realizar llamadas.
  • Depuración de Dialer y sus dependencias.

Dado que la funcionalidad de Dialer depende de varias pilas de tecnología, incluidas Telecom, Telephony y Bluetooth Hands Free Profile (HFP), los errores y problemas que surgen en esas dependencias pueden causar problemas en Dialer. El DTF permite que Dialer se ejecute independientemente de estas dependencias.

Características

El DTF proporciona estas características:

  • Colocación de llamadas. Realice y reciba llamadas sin la necesidad de un dispositivo listo para llamadas a través de la terminal con una transmisión de Android Debug Bridge (adb) .
  • Simulacros de llamadas. Se simula la funcionalidad de llamada. Esto incluye retener, silenciar, fusionar y desconectar.

Usando el DTF

Nota: El DTF solo está disponible en Android 11 o superior.

Para usar el DTF:

  1. Compile e instale la variante de compilación CarDialerAppForTesting de la siguiente manera:
    cd %rRepoRoo%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoo%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Como resultado, CarDialerAppForTesting reemplaza la aplicación Dialer original en el dispositivo de prueba.

    CarDialerAppForTesting no funciona con dispositivos reales. Para probar con un dispositivo real, reinstale CarDialerApp.apk .

Comandos

Los siguientes comandos adb funcionan solo después de iniciar Dialer por primera vez y requieren que se inicialice el receptor de transmisión. Después de iniciar Dialer, se debe conectar un dispositivo Bluetooth falso. Utilice el siguiente comando (Configuración) Conectar un dispositivo para hacerlo.

(Configuración) Conectar un dispositivo

Establece una conexión Bluetooth falsa con Dialer y debe llamarse primero para habilitar el acceso a todos los comandos relacionados con la llamada.

Para conectar un dispositivo:

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

Nota: solo después de que se haya conectado un dispositivo Bluetooth falso, se pueden usar cada uno de los siguientes comandos.

Realizar una llamada saliente

Para realizar una llamada saliente:

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

Recibir una llamada entrante

Para recibir una llamada entrante:

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

Terminar una llamada

Para finalizar una llamada:

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

Poner en espera la llamada actual

Para poner la llamada actual en espera:

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

Retirar la llamada actual

Para tomar la llamada actual fuera de espera:

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

fusionar llamadas

Combine las llamadas principal y secundaria en una llamada de conferencia. Este comando funciona solo cuando existen las llamadas primaria y secundaria. Una llamada de conferencia existente se considera como una sola entidad.

Para fusionar llamadas:

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

Borrar todas las llamadas

Para eliminar todas las llamadas de la lista de llamadas:

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

compilación del emulador

A veces, los desarrolladores pueden querer probar los cambios de la interfaz de usuario en un emulador. En tales casos, CarDialerAppEmulatorBuild proporciona una configuración simplificada y una funcionalidad limitada en comparación con el DTF más potente.

Datos de prueba

Cuando se inicia Dialer, se pasa por alto la página de error de Bluetooth y se muestra el contenido principal de TelecomActivity . Los contactos y los registros de llamadas se muestran en el dispositivo local. Los desarrolladores pueden usar la aplicación Contactos de stock para crear contactos de prueba o importar un archivo .vcf .

llamada burlona

Para simular llamadas entrantes, use Android Emulator para enviar comandos Telnet. Para obtener más información, consulte Ejecutar aplicaciones en el emulador de Android y Enviar comandos de la consola del emulador .

telnet localhost 5554
gsm call xxx-xxx-xxxx

Realizar una llamada telefónica en la aplicación Dialer o transmitir una intención de llamada inicia una llamada saliente.

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