Implementando texto em tempo real

Esta página descreve como implementar o texto em tempo real (RTT) no Android 9. O RTT é um recurso para usuários surdos ou com deficiência auditiva que substitui a tecnologia de telefone de texto (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 é digitado caractere por caractere, oferecer suporte a 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 conectado, 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 Dialer RTT também está disponível.

Código do discador AOSP para RTT:

Implementação

Para implementar o 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 o backport de uma lista de patches de estrutura de telefonia para o Android 8.0. As 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 interface do usuário 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 o RTT via ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Indicando o status RTT de uma chamada via 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 de CTS e teste de discador RTT.

teste CTS

Os testes CTS ( android.cts.telecom.RttOperationsTest ) abrangem a parte AOSP da implementação. Você deve fornecer seus próprios testes para a parte da pilha IMS da implementação.

Teste RTT do discador

Descrição do cenário simulação de IU

Se o RTT estiver desabilitado no dispositivo, um banner sobre o RTT será exibido. Uma opção "Saiba mais" que direciona para a página do artigo da Central de Ajuda do Google com mais informações sobre RTT é exibida.

Chamada de banner é exibida.

banner RTT

Nas configurações do discador, uma tela "Texto em tempo real" está disponível em Configurações > Acessibilidade, que oferece uma opção para ativar o "modo RTT". O texto descritivo é exibido para explicar o modo: "Envie e receba mensagens de texto em vez de falar e ouvir durante uma chamada".

Acessibilidade RTT

Quando o RTT está ativado por padrão,
  • Enquanto a chamada é feita, a IU padrão de discagem em chamada é exibida.
  • Após a conexão da chamada, a exibição do modo RTT é exibida. Se o usuário receptor não entrar no modo RTT por padrão, um banner indicando que o modo RTT foi solicitado é exibido enquanto aguarda uma resposta.

IU de chamada RTT

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

IU 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 puck RTT e os rótulos de chamada associados.
  • Atender a chamada carrega a exibição do modo RTT com o teclado ativado.

visualização do modo RTT

Na IU 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 o uso do RTT.
  • Ativar e desativar o microfone.
  • Ativar e desativar o alto-falante.
  • Encaminhe o áudio para dispositivos de áudio externos, se disponível.

Opções de IU em chamada RTT

Na tela "Detalhes da chamada", é exibido um trecho do histórico da conversa RTT.
  • O snippet não excede uma linha de comprimento. Se a sessão RTT não incluir nenhum conteúdo de conversa, um aviso será exibido indicando que nenhum conteúdo foi armazenado.
  • O trecho inclui o ícone RTT para indicar uma chamada RTT.
  • Selecionar o link "Ver tudo" exibe uma visualização completa da conversa com o texto completo da sessão RTT. Carimbos de data/hora são exibidos. O usuário pode retornar à tela Detalhes da chamada usando o botão Voltar.

Detalhes da chamada RTT