Détails techniques

Le diagramme suivant illustre les composants du système qui interagissent avec Dialer :

Composants qui interagissent avec Dialer

Figure 1. Composants qui interagissent avec Dialer

  • Interface utilisateur du système. Facette de navigation inférieure pour héberger le bouton Téléphone, qui enregistre l' intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end . Cela démarre l'activité principale de l'utilisateur, TelecomActivity .

  • Lanceur d'applications. Gère toute la liste des applications. Dialer déclare TelecomActivity avec android.intent.category.LAUNCHER . La sélection de l'application téléphonique dans la liste des applications du lanceur affiche TelecomActivity.

  • Widget d'accueil. Dans la référence AOSP, il n'y a pas de widget Accueil. Les OEM pourraient envisager d'ajouter un widget Accueil pour Dialer afin d'afficher l'état du téléphone actuellement connecté (ainsi que d'autres informations).

  • Centre de notification

    • La notification Heads Up (HUN) s'affiche pour les appels entrants. Lorsque le Dialer InCallServiceImpl reçoit un appel entrant, le Dialer publie un HUN sur le centre de notification, qui affiche les détails de l'appel, tels que le numéro de téléphone ou les informations de contact. Le numéroteur affiche également deux boutons d'action, Répondre et Refuser. En appuyant sur le bouton Répondre, l'appel reçoit une réponse et InCallServiceImpl gère l'appel actif pour afficher l'interface utilisateur d'appel du numéroteur et rejette le HUN. Cliquer sur le HUN affiche la page InCall en plein écran avec les boutons Répondre et Rejeter.

    • Une notification apparaît pour les appels manqués non lus. Cliquer sur la notification affiche la page Historique des appels et marque les appels manqués comme lus. En appuyant sur le bouton Rappel, vous passez un appel et affichez l'interface utilisateur InCall du numéroteur.

  • Assistant. Les utilisateurs peuvent demander à un assistant de passer un appel pouvant afficher l'interface utilisateur de Dialer InCall.

  • Google Maps. L'appel d'un commerçant à partir de Google Maps envoie l'intention DIAL avec des numéros de téléphone supplémentaires qui démarreront la page Dialpad pour une numérotation rapide.

  • CarInputService. Surveille la touche physique des boutons d'appel et de fin d'appel sur le volant. En appuyant sur :

    • Le bouton d'appel depuis le volant lorsqu'il n'y a pas d'appel entrant envoie l'intention DIAL et affiche la page Dialpad de Dialer.

    • Le bouton d'appel depuis le volant lorsqu'il y a un appel entrant amène le TelecomManager à répondre à l'appel.

    • Bouton Fin d'appel sur le volant lorsqu'il y a un appel entrant, le TelecomManager met fin à l'appel.

  • Bluetooth

    • PBAPClient. Télécharge les contacts depuis un téléphone et écrit au fournisseur de contacts. Pour chaque téléphone connecté, un compte est créé avec l'adresse MAC Bluetooth de l'appareil comme nom de compte et com.android.bluetooth.pbapsink ( @string/pbap_account_type défini dans packages/apps/Bluetooth ) comme type de compte. Les contacts écrits sur le fournisseur de contacts sont écrits avec les informations du compte et sont effacés lorsque le téléphone est déconnecté. PBAPClient n'interagit pas directement avec Dialer mais écrit des contacts dans le fournisseur de contacts. Le numéroteur lit les contacts du fournisseur de contacts.

    • HfpClientConnectionService . Gère l'appel Bluetooth via HFP et signale l'appel aux services Télécom.

  • Télécom. Le framework Android Telecom gère les appels audio et vidéo sur un appareil Android. Étant donné que Dialer est l'application téléphonique par défaut, elle implémente les API InCallService et InCallController liera l'implémentation InCallService du Dialer pour gérer les appels. Pour plus de détails, consultez Créer une application téléphonique de remplacement et Devenir l'application téléphonique par défaut .

  • Les paramètres du système. Le numéroteur surveille la liste des appareils connectés au HFP et affiche un message d'erreur lorsqu'aucun téléphone n'est connecté au numéroteur via Bluetooth. Dans la référence AOSP, le bouton Se connecter à Bluetooth relie les utilisateurs à la page Paramètres Bluetooth du système pour coupler un nouvel appareil ou pour se connecter à un appareil couplé.

  • Moteur de distraction du conducteur. Ce service du système Android impose des restrictions UX en fonction de l'état de conduite de la voiture. Dialer doit exécuter toutes les restrictions de distraction de conduite UX. Pour ce faire, Dialer doit écouter le CarUXRestrictionManager et mettre en œuvre toutes les politiques. Le composeur doit :

    • Connectez-vous à la bibliothèque Car et obtenez une instance de CarUXRestrictionManager .

    • Abonnez-vous aux mises à jour dans la liste des CarUxRestrictions et implémentez-les comme documenté.

    • D'une importance particulière pour Dialer :

      • La page Paramètres est optimisée pour le véhicule. L'utilisateur n'a pas pu accéder à la page Paramètres du numéroteur en conduisant. En appuyant sur le menu Paramètres depuis la barre d'action, un écran de blocage s'affiche pour empêcher l'utilisateur d'accéder aux Paramètres pendant la conduite. Si la page Paramètres est déjà affichée, l'écran de blocage apparaîtra pour arrêter l'interaction de l'utilisateur.

      • Les paramètres du système ne sont pas accessibles pendant la conduite. Sur la page Erreur, lorsqu'aucun appareil Bluetooth n'est connecté, un bouton Se connecter à Bluetooth affiche la page des paramètres Bluetooth du système. L'UXR de ce bouton est entièrement restreint. Pendant la conduite, cliquer sur ce bouton affiche un message d'erreur pour informer l'utilisateur de garer d'abord la voiture puis d'effectuer l'action.

      • L'utilisateur ne peut pas démarrer le flux d'ajout aux favoris pendant qu'il conduit. Le bouton Ajouter un favori est désactivé.

Flux d'utilisateurs

Numéroteur principal

Les différentes pages de Dialer sont fournies ci-dessous.

Page principale du numéroteur

Figure 2. Page principale du numéroteur

Traitement des appels

Le flux du processus de traitement des appels est présenté ci-dessous :

Traitement des appels

Figure 3. Gestion des appels

Notifications

Les différentes pages de notifications sont affichées ci-dessous :

Notifications

Figure 4. Notifications

Statut d'appel

Le flux de la page InCall est présenté ci-dessous :

Page d'appel

Figure 5. Page InCall

Les affichages de recherche sont :

Recherche

Figure 6. Recherche

Paramètres

Les options de paramètres sont :

Paramètres

Figure 7. Paramètres