Déboguer et tester

Dialer est équipé d'un cadre de débogage et de test intégré qui vous permet de valider les fonctionnalités de l'application Dialer sans avoir besoin d'appareils prêts à appeler. Cela élimine le besoin de Bluetooth et de téléphones connectés au service cellulaire. Ce Dialer Testing Framework (DTF) simplifie ces processus :

  • La mise en place d'un véritable appareil pour valider rapidement les idées prend généralement du temps.
  • Le test des fonctionnalités d'appels multiples nécessite au moins trois téléphones équipés d'une carte SIM, dont deux sont utilisés uniquement pour passer des appels.
  • Débogage du Dialer et de ses dépendances.

Étant donné que la fonctionnalité de Dialer dépend de plusieurs piles technologiques, notamment les télécommunications, la téléphonie et le profil mains libres Bluetooth (HFP), les bogues et les problèmes qui surviennent dans ces dépendances peuvent provoquer un déséquilibre du Dialer. Le DTF permet à Dialer de s'exécuter indépendamment de ces dépendances.

Caractéristiques

Le DTF offre les fonctionnalités suivantes :

  • Placement d'appel. Passez et recevez des appels sans avoir besoin d'un appareil prêt à appeler via le terminal avec une diffusion Android Debug Bridge (adb) .
  • Des appels simulés. La fonctionnalité d’appel est moquée. Cela inclut la mise en attente, la mise en sourdine, la fusion et la déconnexion.

Utiliser le DTF

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

Pour utiliser le DTF :

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

    En conséquence, CarDialerAppForTesting remplace l'application Dialer d'origine sur l'appareil de test.

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

Commandes

Les commandes adb suivantes ne fonctionnent qu'après le premier lancement de Dialer et nécessitent l'initialisation du récepteur de diffusion. Après avoir lancé Dialer, un faux appareil Bluetooth doit être connecté. Utilisez la commande suivante (Configuration) Connecter un périphérique pour ce faire.

(Configurer) Connecter un appareil

Établit une fausse connexion Bluetooth avec Dialer et doit être appelé 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 chacune des commandes suivantes peut être utilisée.

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"

Reprendre l'appel en cours

Pour reprendre l’appel en cours :

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

Fusionner les appels

Fusionnez les appels principaux et secondaires dans une conférence téléphonique. Cette commande ne fonctionne que lorsque les appels principal et secondaire existent. Une conférence téléphonique existante est considérée comme une seule 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"

Construction de l'émulateur

Parfois, les développeurs souhaitent tester les modifications de l’interface utilisateur sur un émulateur. Dans de tels cas, CarDialerAppEmulatorBuild fournit une configuration simplifiée et des fonctionnalités limitées par rapport au DTF plus puissant.

Données de test

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

Appel moqueur

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

telnet localhost 5554
gsm call xxx-xxx-xxxx

Passer un appel téléphonique dans l'application Dialer ou diffuser une intention d'appel démarre un appel sortant.

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