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 RTT est une fonctionnalité destinée aux utilisateurs sourds ou malentendants qui remplace la technologie de 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 RTT, transmettre simultanément du texte à mesure qu'il est saisi caractère par caractère, prendre en charge les communications d'urgence et assurer la rétrocompatibilité avec le TTY.

Dans un appel texte en temps réel, l'appelant et le destinataire voient qu'ils sont dans un appel texte en temps réel. Une fois connectés, les deux interlocuteurs entrent dans l'appel RTT, où la saisie de texte et le clavier sont activés. Lorsque vous saisissez du texte, il s'affiche et est envoyé à mesure que vous le saisissez, 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. L'implémentation de référence du RTT du clavier est également disponible.

Code du clavier AOSP pour RTT:

Implémentation

Pour implémenter le RTT, vous devez faire appel à un fournisseur de modem/SoC, car un modem compatible avec le RTT est nécessaire. Vous pouvez passer à Android 9 ou rétroporter 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 des API publiques dans AOSP dans android.telecom et @SystemApis dans android.telephony.ims. L'ensemble de l'interface utilisateur se trouve dans com.android.phone et le clavier AOSP.

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

  • Activation/Désactivation du RTT à l'aide de ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Indique 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 des tests CTS et des tests RTT du clavier.

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 de la pile IMS de l'implémentation.

Test du RTT du clavier

Description du scénario Modèle d'UI
Si le RTT est désactivé sur l'appareil, une boîte de dialogue s'affiche à ce sujet.

Bannière RTT

Dans les paramètres du clavier, un écran de texte en temps réel est disponible sous Paramètres > Accessibilité, qui permet de choisir un autre mode de texte en temps réel.

Accessibilité du RTT

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

UI pendant les appels RTT

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

UI d'appel standard RTT

Si le RTT est activé sur l'appareil et que la valeur par défaut est définie pour répondre à tous les appels en RTT:
  • L'écran d'un appel entrant affiche la rondelle RTT et les libellés d'appel associés.
  • Répondre à l'appel charge la vue du mode RTT avec le clavier activé.

Vue du mode RTT

Dans l'UI de l'appel pour le mode RTT, des options sont fournies pour permettre aux utilisateurs de contrôler l'état de l'appel vocal et d'obtenir de l'aide générale sur l'utilisation du mode RTT:
  • 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 et désactivez la fonctionnalité Maintien.

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

Sur l'écran "Détails de l'appel", sélectionnez le lien "Voir la transcription" pour afficher la conversation complète avec le texte complet 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