Esta página descreve como implementar mensagens de texto em tempo real (RTT) no Android 9. O RTT é um recurso para usuários surdos ou com perda auditiva que substitui a tecnologia de teletipo (TTY). Com esse recurso, os dispositivos podem usar o mesmo número de telefone para chamadas de voz e RTT, transmitir texto simultaneamente à medida que ele é digitado caractere por caractere, oferecer suporte a comunicações de emergência e fornecer capacidade de compatibilidade com versões anteriores com TTY.
Em uma chamada RTT, o autor e o destinatário têm indicações de que estão em uma chamada RTT. Quando conectados, os dois lados entram na chamada RTT, em que a entrada de texto e o teclado são ativados. Ao digitar, o texto aparece e é enviado à medida que é digitado, caractere por caractere.
Exemplos e origem
Os componentes do framework estão disponíveis no AOSP em Call.RttCall e Connection.RttTextStream. Os componentes IMS/modem são proprietários e precisam ser fornecidos pelo fornecedor de IMS/modem. A implementação de referência do RTT do discador também está disponível.
Código do discador AOSP para RTT:
- InCall: /java/com/android/incallui/rtt
- Registro de chamadas: /java/com/android/dialer/rtt
Implementação
Para implementar o RTT, trabalhe com um provedor de modem/SoC, porque é necessário um modem que ofereça suporte ao RTT. Você pode fazer upgrade para o Android 9 ou fazer o backport de uma lista de patches do framework de telefonia para o Android 8.0. As APIs adicionadas no AOSP do Android 8.0 não funcionarão.
Esse recurso usa APIs públicas no AOSP em android.telecom e @SystemApis em android.telephony.ims. Toda a interface está em com.android.phone e no discador AOSP.
Para implementar o RTT, importe o código AOSP e forneça uma pilha IMS que implemente as @SystemApis do lado do IMS para RTT. Para isso, é necessário:
- Ativar/desativar o RTT usando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED) - Indicar o status do RTT de uma chamada usando
ImsStreamMediaProfile#mRttMode Suporte aos seguintes métodos em
ImsCallSession:sendRttMessagesendRttModifyRequestsendRttModifyResponse
Suporte para chamar os seguintes métodos em
ImsCallSessionListener:callSessionRttModifyRequestReceivedcallSessionRttModifyResponseReceivedcallSessionRttMessageReceived
Personalização
Você pode ativar ou desativar esse recurso usando a configuração do dispositivo, config_support_rtt, na sobreposição de configuração do dispositivo para packages/services/Telephony, e o flag de configuração da operadora, CarrierConfigManager.RTT_SUPPORTED_BOOL, nos arquivos de configuração da operadora.
Dependendo da configuração, o recurso está disponível nas configurações de acessibilidade ou não. Use a configuração do dispositivo para mudar as configurações padrão. Por padrão, o recurso está definido como "Desativado".
Validação
Para validar a implementação do RTT, execute testes CTS e faça testes de RTT do discador.
Teste CTS
Os testes CTS (android.cts.telecom.RttOperationsTest) abrangem a parte AOSP da implementação. Você precisa fornecer seus próprios testes para a parte da pilha IMS da implementação.
Teste de RTT do discador
| Descrição do cenário | Simulação de interface |
|---|---|
| Se o RTT estiver desativado no dispositivo, uma caixa de diálogo sobre o RTT será exibida. |
|
| Nas configurações do Telefone, uma tela de Mensagem de texto em tempo real está disponível em Configurações > Acessibilidade que oferece uma opção para escolher um modo RTT diferente. |
|
Quando o RTT está ativado por padrão:
|
|
Se o RTT estiver desativado no dispositivo:
|
|
Se o RTT estiver ativado no dispositivo e tiver a configuração padrão para atender todas as chamadas como RTT:
|
|
Na interface de chamada para RTT, as opções são fornecidas para permitir que os usuários controlem o estado da ligação e recebam ajuda geral sobre como usar o RTT:
|
|
| Na tela "Detalhes da chamada", selecionar o link "Ver transcrição" mostra uma visualização de conversas com o texto completo da sessão RTT. As marcações de tempo são exibidas. O usuário pode retornar à tela "Detalhes da chamada" usando o botão "Voltar". |
|






