Questa pagina descrive come implementare la funzionalità Real-Time Text (RTT) in Android 9. RTT è una funzionalità per utenti sordi 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 con il 911 e fornire la compatibilità con TTY.
In una chiamata RTT, sia il chiamante sia il ricevente hanno indicazioni che si trovano in una chiamata RTT. Una volta connessi, entrambi gli interlocutori entrano nella chiamata RTT in cui vengono attivati l'inserimento di testo e la tastiera. Durante la digitazione, 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 all'indirizzo 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 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
. Tutta la UI 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 implementi le @SystemApis lato IMS per RTT. Per questo devi:
- Attivazione/disattivazione di RTT tramite
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Indicare lo 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 tramite le impostazioni di accessibilità o meno. 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 il test RTT del dialer.
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 | UI mock |
---|---|
Se RTT è disattivato sul dispositivo, viene visualizzata una finestra di dialogo relativa a RTT. | |
Nelle impostazioni del dialer, è disponibile una schermata Real-Time Text in Impostazioni > Accessibilità che offre un'opzione per scegliere una modalità RTT diversa. | |
Quando RTT è attivo per impostazione predefinita:
|
|
Se RTT è disabilitato sul dispositivo:
|
|
Se RTT è attivato sul dispositivo e l'impostazione predefinita
è impostata per 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 completo della sessione RTT. Vengono visualizzati i timestamp. L'utente può tornare alla schermata Dettagli chiamata utilizzando il pulsante Indietro. |