Esta página describe cómo implementar texto en tiempo real (RTT) en Android 9. RTT es una función para usuarios sordos o con problemas de audición que reemplaza la tecnología de teléfono de texto (TTY). Con esta característica, los dispositivos pueden usar el mismo número de teléfono para llamadas de voz y RTT, transmitir texto simultáneamente a medida que se escribe carácter por carácter, admitir comunicaciones al 911 y proporcionar capacidad hacia atrás con TTY.
En una llamada RTT, tanto la persona que llama como el receptor tienen indicaciones de que están en una llamada RTT. Cuando están conectados, ambos lados ingresan a la llamada RTT donde se activa la entrada de texto y el teclado. Al escribir, el texto aparece y se envía a medida que se escribe, carácter a carácter.
Ejemplos y fuente
Los componentes del marco están disponibles en AOSP en Call.RttCall y Connection.RttTextStream . Los componentes de IMS/módem son propietarios y deben ser suministrados por el proveedor de IMS/módem. La implementación de referencia de Dialer RTT también está disponible.
Código de marcador AOSP para RTT:
- En llamada: /java/com/android/incallui/rtt
- Registro de llamadas: /java/com/android/dialer/rtt
Implementación
Para implementar RTT, debe trabajar con un proveedor de módem/SoC porque se requiere un módem que admita RTT. Puede actualizar a Android 9 o respaldar una lista de parches del marco de telefonía en Android 8.0. Las API agregadas en Android 8.0 AOSP no funcionarán.
Esta función utiliza API públicas en AOSP en android.telecom
y @SystemApis en android.telephony.ims
. Toda la interfaz de usuario se encuentra dentro de com.android.phone
y el marcador AOSP.
Para implementar RTT, importe el código AOSP y proporcione una pila IMS que implemente @SystemApis del lado IMS para RTT. Esto requiere:
- Activar/desactivar RTT usando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Indicar el estado RTT de una llamada usando
ImsStreamMediaProfile#mRttMode
Soporte para los siguientes métodos en
ImsCallSession
:-
sendRttMessage
-
sendRttModifyRequest
-
sendRttModifyResponse
-
Soporte para llamar a los siguientes métodos en
ImsCallSessionListener
:-
callSessionRttModifyRequestReceived
-
callSessionRttModifyResponseReceived
-
callSessionRttMessageReceived
-
Personalización
Puede habilitar o deshabilitar esta función usando la configuración del dispositivo, config_support_rtt
, en la superposición de configuración del dispositivo para packages/services/Telephony
, y el indicador de configuración del operador, CarrierConfigManager.RTT_SUPPORTED_BOOL
, en los archivos de configuración del operador. Dependiendo de la configuración, la función está disponible a través de la configuración de Accesibilidad o no. Utilice la configuración del dispositivo para cambiar la configuración predeterminada. De forma predeterminada, la función está desactivada.
Validación
Para validar su implementación de RTT, ejecute pruebas CTS y realice pruebas de RTT del marcador.
pruebas CTS
Las pruebas CTS ( android.cts.telecom.RttOperationsTest
) cubren la parte AOSP de la implementación. Debe proporcionar sus propias pruebas para la parte de la implementación de la pila IMS.
Prueba de RTT del marcador
Descripción del escenario | simulacro de interfaz de usuario |
---|---|
Si RTT está deshabilitado en el dispositivo, se muestra un cuadro de diálogo sobre RTT. | |
En la configuración del Marcador, hay una pantalla de Texto en tiempo real disponible en Configuración > Accesibilidad que brinda una opción para elegir un modo RTT diferente. | |
Cuando RTT está habilitado de forma predeterminada:
| |
Si RTT está deshabilitado en el dispositivo:
| |
Si RTT está habilitado en el dispositivo y tiene la configuración predeterminada para responder todas las llamadas como RTT:
| |
En la interfaz de usuario durante la llamada para RTT, se proporcionan opciones para permitir a los usuarios controlar el estado de la llamada de voz y obtener ayuda general sobre el uso de RTT:
| |
En la pantalla Detalles de la llamada, al seleccionar el enlace Ver transcripción se muestra una vista completa de la conversación con el texto completo de la sesión RTT. Se muestran marcas de tiempo. El usuario puede regresar a la pantalla de detalles de la llamada usando el botón Atrás. |