Depurar y probar

Dialer está equipado con un marco integrado de depuración y prueba que le permite validar las funciones de la aplicación Dialer sin la 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:

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

Dado que la funcionalidad de Dialer depende de varias pilas de tecnología, incluidas telecomunicaciones, telefonía y perfil de manos libres Bluetooth (HFP), los errores y problemas que surgen en esas dependencias pueden causar fallas 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 necesidad de un dispositivo listo para llamar a través del terminal con una transmisión de Android Debug Bridge (adb) .
  • Llamadas simuladas. Se burlan de la funcionalidad de llamada. Esto incluye mantener, silenciar, fusionar y desconectar.

Utilice el DTF

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

Para utilizar el DTF:

  1. Compile e instale la variante de compilación CarDialerAppForTesting de la siguiente manera:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/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 que se inicia 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.

(Configurar) Conectar un dispositivo

Establece una conexión Bluetooth falsa con el Marcador y se debe llamar primero para permitir el acceso a todos los comandos relacionados con las llamadas.

Para conectar un dispositivo:

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

Nota: Sólo después de que se haya conectado un dispositivo Bluetooth falso se podrán utilizar 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"

finalizar una llamada

Para finalizar una llamada:

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

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

Retener la llamada actual

Para sacar la llamada actual en espera:

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

fusionar llamadas

Fusione las llamadas primarias y secundarias en una llamada de conferencia. Este comando funciona sólo cuando existen tanto la llamada primaria como la secundaria. Una conferencia telefónica existente se considera 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"

Construcción del emulador

A veces, es posible que los desarrolladores quieran 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 omite la página de error de Bluetooth y se muestra el contenido principal de TelecomActivity . Los contactos y registros de llamadas se muestran en el dispositivo local. Los desarrolladores pueden utilizar la aplicación Contactos estándar para crear contactos de prueba o importar un archivo .vcf .

llamar burlándose

Para simular llamadas entrantes, use el emulador de Android 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 Marcador o transmitir una intención de llamada inicia una llamada saliente.

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