Esta página descreve como implementar texto em tempo real (RTT, na sigla em inglês) no Android 9. A 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 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 conforme é 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 de 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 do 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. É possível fazer upgrade para o Android 9 ou fazer backport de uma lista de patches do framework de telefonia para o Android 8.0. As APIs adicionadas no Android 8.0 AOSP não vão funcionar.
Esse recurso usa APIs públicas no AOSP em android.telecom e @SystemApis em
android.telephony.ims. Toda a interface está dentro do com.android.phone e do discador
do AOSP.
Para implementar o RTT, importe o código do AOSP e forneça uma pilha IMS que implemente as @SystemApis do lado do IMS para o RTT. Para isso, é necessário:
- Ativar/desativar o RTT usando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED) - Indicando o status da RTT de uma chamada usando
ImsStreamMediaProfile#mRttMode Compatibilidade com os seguintes métodos em
ImsCallSession:sendRttMessagesendRttModifyRequestsendRttModifyResponse
Suporte para chamar os seguintes métodos em
ImsCallSessionListener:callSessionRttModifyRequestReceivedcallSessionRttModifyResponseReceivedcallSessionRttMessageReceived
Personalização
É possível 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 a 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 sua implementação do RTT, execute testes do CTS e faça testes de RTT do discador.
Teste do CTS
Os testes CTS (android.cts.telecom.RttOperationsTest) abrangem a parte do 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 a RTT estiver desativada no dispositivo, uma caixa de diálogo sobre a RTT será mostrada. |
|
| Nas configurações do discador, uma tela de Mensagem de texto em tempo real está disponível em Configurações > Acessibilidade, com uma opção para escolher um modo de RTT diferente. |
|
Quando o RTT está ativado por padrão:
|
|
Se a RTT estiver desativada no dispositivo:
|
|
Se a RTT estiver ativada no dispositivo e definida como padrão para atender todas as chamadas como RTT:
|
|
Na interface de RTT durante a chamada, há opções 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", selecione o link "Ver transcrição" para mostrar uma conversa completa com o texto completo da sessão de RTT. Os carimbos de data/hora são exibidos. O usuário pode voltar à tela "Detalhes da chamada" usando o botão "Voltar". |
|






