Implémenter du texte en temps réel

Cette page explique comment implémenter le texte en temps réel (RTT) dans Android 9. Le texte en temps réel est une fonctionnalité destinée aux utilisateurs sourds ou malentendants. Elle remplace la technologie du téléscripteur (TTY). Grâce à cette fonctionnalité, les appareils peuvent utiliser le même numéro de téléphone pour les appels vocaux et les appels RTT, transmettre simultanément du texte au fur et à mesure de sa saisie, prendre en charge les communications avec le 112 et assurer la rétrocompatibilité avec les appareils TTY.

Dans un appel RTT, l'appelant et le destinataire sont informés qu'ils sont dans un appel RTT. Une fois la connexion établie, les deux parties rejoignent l'appel en mode texte, où la saisie de texte et le clavier sont activés. Lorsque vous saisissez du texte, il s'affiche et est envoyé tel quel, caractère par caractère.

Exemples et source

Les composants du framework sont disponibles dans AOSP à l'adresse Call.RttCall et Connection.RttTextStream. Les composants IMS/modem sont propriétaires et doivent être fournis par le fournisseur IMS/modem. Une implémentation de référence du RTT dans le téléphone est également disponible.

Code du clavier AOSP pour le RTT :

Implémentation

Pour implémenter le RTT, vous devez collaborer avec un fournisseur de modem/SoC, car un modem compatible avec le RTT est requis. Vous pouvez passer à Android 9 ou rétrotransférer une liste de correctifs du framework de téléphonie dans Android 8.0. Les API ajoutées dans Android 8.0 AOSP ne fonctionneront pas.

Cette fonctionnalité utilise les API publiques dans AOSP dans android.telecom et @SystemApis dans android.telephony.ims. Toute l'UI se trouve dans com.android.phone et le clavier de numérotation AOSP.

Pour implémenter RTT, importez le code AOSP et fournissez une pile IMS qui implémente les @SystemApis côté IMS pour RTT. Pour ce faire :

  • Activer/Désactiver le RTT avec ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Indiquer l'état du texte en temps réel d'un appel à l'aide de ImsStreamMediaProfile#mRttMode
  • Compatibilité avec les méthodes suivantes dans ImsCallSession :

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Prise en charge de l'appel des méthodes suivantes dans ImsCallSessionListener :

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Personnalisation

Vous pouvez activer ou désactiver cette fonctionnalité à l'aide de la configuration de l'appareil, config_support_rtt, dans la superposition de configuration de l'appareil pour packages/services/Telephony, et de l'indicateur de configuration de l'opérateur, CarrierConfigManager.RTT_SUPPORTED_BOOL, dans les fichiers de configuration de l'opérateur. Selon la configuration, la fonctionnalité est disponible ou non dans les paramètres d'accessibilité. Utilisez la configuration de l'appareil pour modifier les paramètres par défaut. Par défaut, cette fonctionnalité est désactivée.

Validation

Pour valider votre implémentation du RTT, exécutez les tests CTS et effectuez des tests RTT du clavier téléphonique.

Tests CTS

Les tests CTS (android.cts.telecom.RttOperationsTest) couvrent la partie AOSP de l'implémentation. Vous devez fournir vos propres tests pour la partie pile IMS de l'implémentation.

Tests RTT du clavier téléphonique

Description du scénario Maquette d'UI
Si le texte en temps réel est désactivé sur l'appareil, une boîte de dialogue s'affiche.

Bannière RTT

Dans les paramètres du téléphone, un écran de texte en temps réel est disponible sous Paramètres > Accessibilité. Il vous permet de choisir un autre mode RTT.

Accessibilité du texte en temps réel

Lorsque le RTT est activé par défaut :
  • L'interface utilisateur de numérotation standard pendant l'appel s'affiche.
  • Une fois l'appel établi, la vue du mode Texte en temps réel s'affiche. Si l'utilisateur destinataire n'est pas en mode RTT par défaut, une bannière indiquant que le mode RTT a été demandé s'affiche en attendant une réponse.

Interface utilisateur des appels texte en temps réel

Si le texte en temps réel est désactivé sur l'appareil :
  • L'écran d'appel entrant affiche le bouton de réponse standard et les libellés d'appel standards.

UI standard pour les appels RTT

Si le texte en temps réel est activé sur l'appareil et que la valeur par défaut est définie pour répondre à tous les appels en mode texte en temps réel :
  • L'écran d'appel entrant affiche le bouton "Texte en temps réel" et les libellés d'appel associés.
  • Lorsque vous répondez à l'appel, la vue du mode RTT se charge avec le clavier activé.

Mode Vue du texte en temps réel

Dans l'UI d'appel pour le texte en temps réel, des options sont proposées pour permettre aux utilisateurs de contrôler l'état de l'appel vocal et d'obtenir une aide générale sur l'utilisation du texte en temps réel :
  • Activez et désactivez le micro.
  • Activez et désactivez le haut-parleur.
  • Utilisez le clavier comme entrée.
  • Ajoutez un autre appel.
  • Passer d'un appel texte en temps réel à un appel vocal
  • Activez ou désactivez la fonction Mettre en attente.

Options de l'UI pour le texte en temps réel en cours d'appel

Sur l'écran "Détails de l'appel", sélectionnez le lien "Afficher la transcription" pour afficher la conversation complète avec le texte intégral de la session RTT. Les codes temporels s'affichent. L'utilisateur peut revenir à l'écran "Détails de l'appel" à l'aide du bouton Retour.

Détails de l'appel RTT