Esta página descreve como implementar texto em tempo real (RTT) no Android 9. RTT é um recurso para usuários surdos ou com deficiência auditiva que substitui a tecnologia Text Telephone (TTY). Com esse recurso, os dispositivos podem usar o mesmo número de telefone para chamadas de voz e RTT, transmitir texto simultaneamente enquanto ele é digitado caractere por caractere, suportar comunicações 911 e fornecer capacidade reversa com TTY.
Em uma chamada RTT, tanto o chamador quanto o receptor têm indicações de que estão em uma chamada RTT. Quando conectados, ambos os lados entram na chamada RTT onde a entrada de texto e o teclado são ativados. Ao digitar, o texto aparece e é enviado conforme é digitado, caractere por caractere.
Exemplos e fonte
Os componentes da estrutura estão disponíveis no AOSP em Call.RttCall e Connection.RttTextStream . Os componentes do IMS/modem são proprietários e devem ser fornecidos pelo fornecedor do IMS/modem. A implementação de referência do Dialer RTT 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 RTT, você deve trabalhar com um provedor de modem/SoC porque é necessário um modem que suporte RTT. Você pode atualizar para o Android 9 ou fazer backport de uma lista de patches da estrutura de telefonia para o Android 8.0. APIs adicionadas no Android 8.0 AOSP não funcionarão.
Este recurso usa APIs públicas em AOSP em android.telecom
e @SystemApis em android.telephony.ims
. Toda a IU está dentro de com.android.phone
e do discador AOSP.
Para implementar RTT, importe o código AOSP e forneça uma pilha IMS que implemente @SystemApis do lado IMS para RTT. Isto exige:
- Ativando/desativando RTT usando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Indicando o status RTT de uma chamada usando
ImsStreamMediaProfile#mRttMode
Suporte para os seguintes métodos em
ImsCallSession
:-
sendRttMessage
-
sendRttModifyRequest
-
sendRttModifyResponse
-
Suporte para chamar os seguintes métodos em
ImsCallSessionListener
:-
callSessionRttModifyRequestReceived
-
callSessionRttModifyResponseReceived
-
callSessionRttMessageReceived
-
Costumizaçã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 sinalizador 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 alterar as configurações padrão. Por padrão, o recurso está definido como Desativado.
Validação
Para validar sua implementação de RTT, execute testes CTS e teste RTT do discador.
Teste CTS
Os testes CTS ( android.cts.telecom.RttOperationsTest
) cobrem a parte AOSP da implementação. Você deve fornecer seus próprios testes para a parte da pilha IMS da implementação.
Teste de discador RTT
Descrição do cenário | Simulação da interface do usuário |
---|---|
Se o RTT estiver desativado no dispositivo, uma caixa de diálogo sobre o RTT será exibida. | |
Nas configurações do discador, uma tela de texto em tempo real está disponível em Configurações > Acessibilidade , que oferece a opção de 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 o padrão definido para atender todas as chamadas como RTT:
| |
Na interface de usuário durante a chamada para RTT, são fornecidas opções para permitir que os usuários controlem o estado da chamada de voz e obtenham ajuda geral sobre como usar o RTT:
| |
Na tela Detalhes da chamada, selecionar o link Ver transcrição exibe uma visualização completa da conversa com o texto completo da sessão RTT. Os carimbos de data e hora são exibidos. O usuário pode retornar à tela Detalhes da chamada usando o botão Voltar. |