Implementando Texto em Tempo Real

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:

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.

Bandeira RTT

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.

Acessibilidade RTT

Quando o RTT está ativado por padrão:
  • Enquanto a chamada é efetuada, a UI padrão de discagem durante a chamada é exibida.
  • Após a conexão da chamada, a visualização do modo RTT é exibida. Se o usuário receptor não usar o modo RTT como padrão, um banner indicando que o modo RTT foi solicitado será exibido enquanto aguarda uma resposta.

IU de chamada RTT

Se o RTT estiver desativado no dispositivo:
  • A tela de chamada recebida exibe disco de atendimento padrão e rótulos de chamada padrão.

UI de chamada padrão RTT

Se o RTT estiver ativado no dispositivo e tiver o padrão definido para atender todas as chamadas como RTT:
  • A tela de chamada recebida exibe o disco RTT e os rótulos de chamada associados.
  • Atender a chamada carrega a visualização do modo RTT com o teclado ativado.

Visualização do modo 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:
  • Ative e desative o microfone.
  • Ative e desative o alto-falante.
  • Use o teclado como entrada.
  • Adicione outra chamada.
  • Mude para uma chamada de voz a partir de uma chamada RTT.
  • Ative e desative a espera.

Opções de IU de chamada 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.

Detalhes da chamada RTT