Questa pagina descrive come implementare il testo in tempo reale (RTT) in Android 9. RTT è una funzionalità per non udenti o persone con problemi di udito che sostituisce la tecnologia telescrivente (TTY). Con questa funzionalità, i dispositivi possono utilizzare lo stesso numero di telefono per le chiamate vocali e RTT, trasmettere contemporaneamente il testo man mano che viene digitato carattere per carattere, supportare le comunicazioni di emergenza 112 e fornire compatibilità con TTY.
In una chiamata RTT, sia il chiamante sia il ricevente hanno indicazioni che si trovano in una chiamata RTT. Una volta stabilita la connessione, entrambe le parti entrano nella chiamata RTT, dove vengono attivati l'inserimento di testo e la tastiera. Quando digiti, il testo viene visualizzato e inviato man mano che viene digitato, carattere per carattere.
Esempi e origine
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 per la tastiera.
Codice del dialer AOSP per RTT:
- InCall: /java/com/android/incallui/rtt
- Registro chiamate: /java/com/android/dialer/rtt
Implementazione
Per implementare RTT, devi collaborare con un fornitore di modem/SoC perché è necessario un modem che supporti RTT. Puoi eseguire l'upgrade 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
. L'intera interfaccia utente si trova in com.android.phone
e nel dialer AOSP.
Per implementare RTT, importa il codice AOSP e fornisci uno stack IMS che implementi @SystemApis lato IMS per RTT. Per questo, devi:
- Attivare/disattivare RTT utilizzando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Indicazione dello stato RTT di una chiamata utilizzando
ImsStreamMediaProfile#mRttMode
Supporto dei seguenti metodi in
ImsCallSession
:sendRttMessage
sendRttModifyRequest
sendRttModifyResponse
Supporto per la chiamata dei seguenti metodi in
ImsCallSessionListener
:callSessionRttModifyRequestReceived
callSessionRttModifyResponseReceived
callSessionRttMessageReceived
Personalizzazione
Puoi attivare o disattivare 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 o meno tramite le impostazioni di Accessibilità. Utilizza la configurazione del dispositivo per modificare le impostazioni predefinite. Per impostazione predefinita, la funzionalità è impostata su Off.
Convalida
Per convalidare l'implementazione di RTT, esegui i test CTS e i test RTT del tastierino.
Test CTS
I test CTS (android.cts.telecom.RttOperationsTest
) coprono la parte AOSP
dell'implementazione. Devi fornire i tuoi test per la parte dello stack IMS
dell'implementazione.
Test RTT del dialer
Descrizione dello scenario | Mock di UI |
---|---|
Se la funzionalità RTT è disattivata sul dispositivo, viene visualizzata una finestra di dialogo relativa al RTT. | |
Nelle impostazioni della tastiera, in Impostazioni > Accessibilità è disponibile una schermata di Real-Time Text che offre la possibilità di scegliere una modalità RTT diversa. | |
Quando RTT è attivo per impostazione predefinita:
|
|
Se la funzionalità RTT è disattivata sul dispositivo:
|
|
Se RTT è abilitato sul dispositivo e l'impostazione predefinita è rispondere a tutte le chiamate come RTT:
|
|
Nell'interfaccia utente durante la chiamata per RTT sono disponibili opzioni per consentire agli utenti di controllare lo stato della chiamata vocale e ricevere assistenza generale sull'utilizzo di RTT:
|
|
Nella schermata Dettagli chiamata, se selezioni il link Visualizza trascrizione, viene visualizzata una visualizzazione completa della conversazione con il testo integrale della sessione RTT. Vengono visualizzati i timestamp. L'utente può tornare alla schermata Dettagli chiamata utilizzando il pulsante Indietro. |