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:
- 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éinstallezCarDialerApp.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