Implementowanie tekstu w czasie rzeczywistym

Na tej stronie opisano, jak zaimplementować tekst w czasie rzeczywistym (RTT) w systemie Android 9. RTT to funkcja dla użytkowników niesłyszących i niedosłyszących, która zastępuje technologię telefonu tekstowego (TTY). Dzięki tej funkcji urządzenia mogą używać tego samego numeru telefonu do połączeń głosowych i RTT, jednocześnie przesyłać tekst wpisywany znak po znaku, obsługiwać komunikację pod numerem 911 i zapewniać wsteczną możliwość korzystania z TTY.

W przypadku połączenia RTT zarówno osoba dzwoniąca, jak i odbiorca mają wskazania, że ​​biorą udział w połączeniu RTT. Po nawiązaniu połączenia obie strony rozpoczynają połączenie RTT, w którym aktywowane jest wprowadzanie tekstu i klawiatura. Podczas wpisywania tekst pojawia się i jest wysyłany w miarę wpisywania, znak po znaku.

Przykłady i źródło

Komponenty Framework są dostępne w AOSP pod adresem Call.RttCall i Connection.RttTextStream . Komponenty IMS/modemu są zastrzeżone i powinny być dostarczone przez dostawcę IMS/modemu. Dostępna jest także implementacja referencyjna dialera RTT.

Kod dialera AOSP dla RTT:

Realizacja

Aby zaimplementować RTT, powinieneś współpracować z dostawcą modemu/SoC, ponieważ wymagany jest modem obsługujący RTT. Możesz uaktualnić system do systemu Android 9 lub przenieść listę poprawek platformy telefonicznej do systemu Android 8.0. Interfejsy API dodane w systemie Android 8.0 AOSP nie będą działać.

Ta funkcja korzysta z publicznych interfejsów API w AOSP w android.telecom i @SystemApis w android.telephony.ims . Cały interfejs użytkownika znajduje się w com.android.phone i dialerze AOSP.

Aby zaimplementować RTT, zaimportuj kod AOSP i dostarcz stos IMS, który implementuje @SystemApis po stronie IMS dla RTT. To wymaga:

  • Włączanie/wyłączanie RTT za pomocą ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Wskazywanie statusu RTT połączenia za pomocą ImsStreamMediaProfile#mRttMode
  • Obsługa następujących metod w ImsCallSession :

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Wsparcie dla wywoływania następujących metod w ImsCallSessionListener :

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Dostosowywanie

Możesz włączyć lub wyłączyć tę funkcję za pomocą konfiguracji urządzenia, config_support_rtt , w nakładce konfiguracji urządzenia dla packages/services/Telephony i flagi konfiguracji operatora, CarrierConfigManager.RTT_SUPPORTED_BOOL , w plikach konfiguracyjnych operatora. W zależności od konfiguracji funkcja jest dostępna w ustawieniach dostępności lub nie. Użyj konfiguracji urządzenia, aby zmienić ustawienia domyślne. Domyślnie funkcja ta jest wyłączona.

Walidacja

Aby sprawdzić poprawność implementacji RTT, uruchom testy CTS i wykonaj testy RTT dialera.

Testy CTS

Testy CTS ( android.cts.telecom.RttOperationsTest ) obejmują część implementacji AOSP. Należy dostarczyć własne testy dla części stosu IMS implementacji.

Testowanie dialera RTT

Opis scenariusza Próba interfejsu użytkownika
Jeśli na urządzeniu funkcja RTT jest wyłączona, zostanie wyświetlone okno dialogowe dotyczące funkcji RTT.

Baner RTT

W ustawieniach Dialera w obszarze Ustawienia > Dostępność dostępny jest ekran Tekst w czasie rzeczywistym, który umożliwia wybranie innego trybu RTT.

Dostępność RTT

Gdy funkcja RTT jest domyślnie włączona:
  • Podczas nawiązywania połączenia wyświetlany jest standardowy interfejs wybierania numeru w trakcie połączenia.
  • Po nawiązaniu połączenia wyświetlany jest widok trybu RTT. Jeśli użytkownik odbierający nie przejdzie domyślnie w tryb RTT, podczas oczekiwania na odpowiedź zostanie wyświetlony baner wskazujący, że zażądano trybu RTT.

Interfejs użytkownika połączenia RTT

Jeśli RTT jest wyłączony na urządzeniu:
  • Na ekranie połączenia przychodzącego wyświetlany jest standardowy krążek odbierający i standardowe etykiety połączeń.

Interfejs standardowego połączenia RTT

Jeśli na urządzeniu jest włączony tryb RTT i domyślnie ustawione jest odbieranie wszystkich połączeń w trybie RTT:
  • Na ekranie połączenia przychodzącego wyświetlany jest krążek RTT i powiązane etykiety połączeń.
  • Odebranie połączenia powoduje wczytanie widoku trybu RTT z włączoną klawiaturą.

Widok w trybie RTT

W interfejsie użytkownika połączenia RTT dostępne są opcje umożliwiające użytkownikom kontrolowanie stanu połączenia głosowego i uzyskiwanie ogólnej pomocy na temat korzystania z RTT:
  • Włącz i wyłącz mikrofon.
  • Włącz i wyłącz głośnik.
  • Użyj klawiatury jako wejścia.
  • Dodaj kolejne połączenie.
  • Przełącz na połączenie głosowe z połączenia RTT.
  • Włączanie i wyłączanie wstrzymania.

Opcje interfejsu użytkownika RTT podczas połączenia

Na ekranie Szczegóły połączenia wybranie łącza Zobacz transkrypcję powoduje wyświetlenie pełnego widoku rozmowy z pełnym tekstem sesji RTT. Wyświetlane są znaczniki czasu. Użytkownik może powrócić do ekranu Szczegóły połączenia za pomocą przycisku Wstecz.

Szczegóły połączenia RTT