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 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 che il ricevente hanno indicazioni che indicano che sono in corso una chiamata RTT. Una volta connessi, entrambi i lati entrano nella chiamata RTT in cui vengono attivati l'input 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 su 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 Telefono 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 per 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. Ciò richiede:
- Attivare/disattivare RTT utilizzando
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Indicazione dello stato RTT di una chiamata utilizzando
ImsStreamMediaProfile#mRttMode
Supporto per i 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 RTT è disattivato sul dispositivo, viene visualizzata una finestra di dialogo relativa a 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. |