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:
- Chiamata in entrata: /java/com/android/incallui/rtt
- Registro chiamate: /java/com/android/dialer/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. | |
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. | |
Quando RTT è abilitato per impostazione predefinita:
| |
Se RTT è disabilitato sul dispositivo:
| |
Se RTT è abilitato sul dispositivo e ha l'impostazione predefinita per rispondere a tutte le chiamate come 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:
| |
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. |