En esta página, se describe cómo implementar texto en tiempo real (RTT) en Android 9. El RTT es una función para usuarios sordos o con hipoacusia que reemplaza la tecnología de teletipo (TTY). Con esta función, los dispositivos pueden usar el mismo número de teléfono para llamadas de voz y RTT, transmitir texto de forma simultánea a medida que se escribe carácter por carácter, admitir comunicaciones al 911 y proporcionar capacidad de compatibilidad con TTY.
En una llamada de RTT, tanto el emisor como el receptor tienen indicaciones de que están en una llamada de RTT. Cuando se conectan, ambos participantes ingresan a la llamada de RTT, en la que se activan el teclado y la entrada de texto. Cuando escribes, el texto aparece y se envía a medida que lo escribes, carácter por carácter.
Ejemplos y fuente
Los componentes del framework están disponibles en AOSP en Call.RttCall y Connection.RttTextStream. Los componentes de IMS/módem son propietarios y deben ser proporcionados por el proveedor de IMS/módem. También está disponible la implementación de referencia del RTT del marcador.
Código del marcador de AOSP para RTT:
- InCall: /java/com/android/incallui/rtt
- Registro de llamadas: /java/com/android/dialer/rtt
Implementación
Para implementar la función de RTT, debes trabajar con un proveedor de SoC o módem, ya que se requiere un módem que admita RTT. Puedes actualizar a Android 9 o transferir una lista de parches del framework de telefonía a Android 8.0. Las APIs agregadas en el AOSP de Android 8.0 no funcionarán.
Esta función usa APIs públicas en AOSP en android.telecom
y @SystemApis en android.telephony.ims
. Toda la IU se encuentra dentro de com.android.phone
y el marcador de AOSP.
Para implementar la función de RTT, importa el código del AOSP y proporciona una pila de IMS que implemente las @SystemApis del lado del IMS para RTT. Para ello, debes seguir estos pasos:
- Cómo activar o desactivar el RTT con
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Cómo indicar el estado de RTT de una llamada con
ImsStreamMediaProfile#mRttMode
Se agregó compatibilidad con los siguientes métodos en
ImsCallSession
:sendRttMessage
sendRttModifyRequest
sendRttModifyResponse
Se agregó compatibilidad para llamar a los siguientes métodos en
ImsCallSessionListener
:callSessionRttModifyRequestReceived
callSessionRttModifyResponseReceived
callSessionRttMessageReceived
Personalización
Puedes habilitar o inhabilitar esta función con la configuración del dispositivo, config_support_rtt
, en la superposición de configuración del dispositivo para packages/services/Telephony
y la marca de configuración del operador, CarrierConfigManager.RTT_SUPPORTED_BOOL
, en los archivos de configuración del operador.
Según la configuración, la función está disponible en la configuración de Accesibilidad o no. Usa la configuración del dispositivo para cambiar los parámetros de configuración predeterminados. De forma predeterminada, la función está desactivada.
Validación
Para validar tu implementación de RTT, ejecuta pruebas de CTS y realiza pruebas de RTT en el marcador.
Pruebas de CTS
Las pruebas de CTS (android.cts.telecom.RttOperationsTest
) abarcan la parte de AOSP de la implementación. Debes proporcionar tus propias pruebas para la parte de la pila de IMS de la implementación.
Pruebas de RTT en el marcador
Descripción del caso | Simulación de la IU |
---|---|
Si el RTT está inhabilitado en el dispositivo, se mostrará un diálogo sobre el RTT. | |
En la configuración del Teléfono, hay una pantalla de Texto en tiempo real disponible en Configuración > Accesibilidad que proporciona una opción para elegir un modo de RTT diferente. | |
Cuando el RTT está habilitado de forma predeterminada, ocurre lo siguiente:
|
|
Si la función de RTT está inhabilitada en el dispositivo, haz lo siguiente:
|
|
Si el RTT está habilitado en el dispositivo y tiene la configuración predeterminada para responder todas las llamadas como RTT:
|
|
En la IU de llamada para RTT, se proporcionan opciones para permitir que los usuarios controlen el estado de la llamada de voz y obtengan ayuda general sobre el uso de RTT:
|
|
En la pantalla Detalles de la llamada, si seleccionas el vínculo Ver transcripción, se mostrará una vista completa de la conversación con el texto completo de la sesión de RTT. Se muestran las marcas de tiempo. El usuario puede volver a la pantalla Detalles de la llamada con el botón Atrás. |