Déboguer et tester

Dialer est doté d'un framework de débogage et de test intégré qui vous permet de : valider les fonctionnalités de l'application Téléphone sans avoir besoin d'appareils prêts pour les appels. Il n'est donc plus nécessaire pour le Bluetooth et les téléphones connectés avec un service mobile. Ce framework de test de numérotation (DTF) simplifie ces processus:

  • Configurer un véritable appareil pour valider rapidement des idées prend généralement du temps.
  • Pour tester les fonctionnalités multi-appels, vous devez disposer d'au moins trois téléphones équipés d'une carte SIM, qui servent uniquement à passer des appels.
  • Déboguer Dialer et ses dépendances.

La fonctionnalité de Téléphone dépend de plusieurs piles technologiques, dont Télécommunications, Téléphonie, et Bluetooth Hands Free Profile (HFP), les bugs et les problèmes qui surviennent dans ces dépendances peut causer une imprécision de l'application Téléphone. DTF permet à Dialer de s'exécuter indépendamment de ces dépendances.

Fonctionnalités

Le DTF offre les fonctionnalités suivantes:

  • Emplacement des appels. Passez et recevez des appels sans avoir à un appareil prêt à appeler via le terminal avec une Android Debug Bridge (adb) annonce.
  • Appels fictifs. La fonctionnalité d'appel est simulée. Cela inclut la mise en attente, la coupure du son, la fusion et la déconnexion.

Utiliser le DTF

Remarque : Le DTF n'est disponible que sur Android 11 ou version ultérieure.

Pour utiliser le DTF:

  1. Créez et installez la variante de compilation CarDialerAppForTesting comme suit:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Par conséquent, CarDialerAppForTesting remplace l'application Téléphone d'origine sur le appareil de test.

    CarDialerAppForTesting ne fonctionne pas avec de vrais appareils. Pour tester avec un vrai appareil, réinstallez CarDialerApp.apk.

Commandes

Les commandes adb suivantes ne fonctionnent qu'après le premier lancement de Téléphone et nécessitent le broadcast receiver à initialiser. Après avoir lancé Téléphone, un faux appareil Bluetooth doit être connectés. Pour ce faire, utilisez la commande de connexion d'un appareil (configuration) ci-dessous.

(Configurer) Connecter un appareil

Établit une fausse connexion Bluetooth avec l'application Téléphone et doit être appelée en premier pour permettre l'accès à toutes les commandes liées aux appels.

Pour connecter un appareil:

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

Remarque : Ce n'est qu'après la connexion d'un faux appareil Bluetooth que chacun des vous pouvez utiliser les commandes suivantes.

Passer un appel sortant

Pour passer un appel sortant:

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

Recevoir un appel entrant

Pour recevoir un appel entrant:

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

Mettre fin à un appel

Pour mettre fin à un appel:

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

Mettre l'appel en cours en attente

Pour mettre l'appel en cours en attente:

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

Raccrocher l'appel en cours

Pour réactiver l'appel en cours:

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

Fusionner les appels

Fusionner les appels principal et secondaire en conférence téléphonique Cette commande ne fonctionne que lorsque les appels principaux et secondaires existent. Une conférence téléphonique existante est considérée comme une entité.

Pour fusionner des appels:

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

Effacer tous les appels

Pour supprimer tous les appels de la liste d'appels:

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

Build de l'émulateur

Les développeurs peuvent parfois vouloir tester les modifications de l'interface utilisateur sur un émulateur. Dans ce cas, CarDialerAppEmulatorBuild offre une configuration simplifiée et des fonctionnalités limitées par rapport au DTF, plus puissant.

Données de test

Lorsque l'application Téléphone est lancée, la page d'erreur Bluetooth est ignorée et le contenu principal de TelecomActivity s'affiche. Les contacts et les journaux d'appels sont affichés sur la appareil. Les développeurs peuvent utiliser l'application Contacts existante pour créer des contacts de test ou importer un .vcf.

Simulation d'appel

Pour simuler des appels entrants, utilisez Android Emulator afin d'envoyer des commandes Telnet. Pour en savoir plus, consultez Exécuter des applications sur Android Emulator et Envoyer des commandes à la console de l'émulateur

telnet localhost 5554
gsm call xxx-xxx-xxxx

Le fait de passer un appel téléphonique dans l'application Téléphone ou de diffuser un intent d'appel lance un appel sortant.

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