Implementazione del testo in tempo reale

Questa pagina descrive come implementare il testo in tempo reale (RTT) in Android 9. RTT è una funzionalità per utenti non udenti o con problemi di udito che sostituisce la tecnologia Text Telephone (TTY). Con questa funzione, i dispositivi possono utilizzare lo stesso numero di telefono per le chiamate vocali e RTT, trasmettere simultaneamente il testo mentre viene digitato carattere per carattere, supportare le comunicazioni di emergenza e fornire funzionalità di retromarcia con TTY.

In una chiamata RTT, sia il chiamante che il destinatario ricevono indicazioni che indicano che si trovano in una chiamata RTT. Una volta connessi, entrambi i lati entrano nella chiamata RTT in cui vengono attivati ​​l'immissione di testo e la tastiera. Durante la digitazione, il testo viene visualizzato e inviato così come viene digitato, carattere per carattere.

Esempi e fonte

I componenti del framework sono disponibili in AOSP in Call.RttCall e Connection.RttTextStream . I componenti IMS/modem sono proprietari e devono essere forniti dal fornitore IMS/modem. È disponibile anche l'implementazione di riferimento RTT del dialer.

Codice combinatore AOSP per RTT:

Implementazione

Per implementare RTT, dovresti collaborare con un provider di modem/SoC perché è richiesto un modem che supporti RTT. Puoi eseguire l'aggiornamento ad Android 9 o eseguire il backport di un elenco di patch del framework di telefonia in Android 8.0. Le API aggiunte in Android 8.0 AOSP non funzioneranno.

Questa funzionalità utilizza le API pubbliche in AOSP in android.telecom e @SystemApis in android.telephony.ims . Tutta l'interfaccia utente si trova all'interno di com.android.phone e del dialer AOSP.

Per implementare RTT, importa il codice AOSP e fornisci uno stack IMS che implementa @SystemApis lato IMS per RTT. Questo richiede:

  • Attivazione/disattivazione di RTT utilizzando ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Indica lo stato RTT di una chiamata utilizzando ImsStreamMediaProfile#mRttMode
  • Supporto per i seguenti metodi in ImsCallSession :

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Supporto per chiamare i seguenti metodi in ImsCallSessionListener :

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Personalizzazione

È possibile abilitare o disabilitare questa funzionalità utilizzando la configurazione del dispositivo, config_support_rtt , nell'overlay di configurazione del dispositivo per packages/services/Telephony e il flag di configurazione dell'operatore, CarrierConfigManager.RTT_SUPPORTED_BOOL , nei file di configurazione dell'operatore. A seconda della configurazione, la funzionalità è disponibile tramite le impostazioni di Accessibilità oppure no. Utilizzare la configurazione del dispositivo per modificare le impostazioni predefinite. Per impostazione predefinita, la funzionalità è impostata su Disattivata.

Validazione

Per convalidare l'implementazione di RTT, esegui test CTS ed esegui test RTT del dialer.

Test CTS

I test CTS ( android.cts.telecom.RttOperationsTest ) coprono la parte AOSP dell'implementazione. È necessario fornire i propri test per la parte dello stack IMS dell'implementazione.

Test RTT del dialer

Descrizione dello scenario Simulazione dell'interfaccia utente
Se RTT è disabilitato sul dispositivo, viene visualizzata una finestra di dialogo su RTT.

Striscione RTT

Nelle impostazioni del Dialer, è disponibile una schermata di testo in tempo reale in Impostazioni > Accessibilità che fornisce un'opzione per scegliere una modalità RTT diversa.

Accessibilità RTT

Quando RTT è abilitato per impostazione predefinita:
  • Mentre viene effettuata la chiamata, viene visualizzata l'interfaccia utente standard per la composizione della chiamata.
  • Al momento della connessione della chiamata, viene visualizzata la visualizzazione della modalità RTT. Se l'utente ricevente non passa automaticamente alla modalità RTT, in attesa di una risposta viene visualizzato un banner che indica che la modalità RTT è stata richiesta.

Interfaccia utente delle chiamate RTT

Se RTT è disabilitato sul dispositivo:
  • La schermata delle chiamate in arrivo visualizza il disco di risposta standard e le etichette delle chiamate standard.

Interfaccia utente di chiamata standard RTT

Se RTT è abilitato sul dispositivo e ha l'impostazione predefinita per rispondere a tutte le chiamate come RTT:
  • La schermata delle chiamate in arrivo visualizza il disco RTT e le etichette delle chiamate associate.
  • Rispondere alla chiamata carica la visualizzazione in modalità RTT con la tastiera abilitata.

Visualizzazione in modalità RTT

Nell'interfaccia utente delle chiamate per RTT vengono fornite opzioni per consentire agli utenti di controllare lo stato della chiamata vocale e ottenere assistenza generale sull'utilizzo di RTT:
  • Attiva e disattiva il microfono.
  • Attiva e disattiva l'altoparlante.
  • Utilizzare la tastiera come input.
  • Aggiungi un'altra chiamata.
  • Passa a una chiamata vocale da una chiamata RTT.
  • Attiva e disattiva la sospensione.

Opzioni dell'interfaccia utente durante le chiamate RTT

Nella schermata Dettagli chiamata, selezionando il collegamento Visualizza trascrizione viene visualizzata una visualizzazione completa della conversazione con il testo completo della sessione RTT. Vengono visualizzati i timestamp. L'utente può tornare alla schermata Dettagli chiamata utilizzando il pulsante Indietro.

Dettagli della chiamata RTT