Реализация текста в реальном времени

На этой странице описано, как реализовать передачу текста в реальном времени (RTT) в Android 9. RTT — это функция для глухих или слабослышащих пользователей, которая заменяет технологию текстового телефона (TTY). Благодаря этой функции устройства могут использовать один и тот же номер телефона для голосовых вызовов и вызовов RTT, одновременно передавать текст по мере его ввода посимвольно, поддерживать связь 911 и обеспечивать обратную возможность с помощью TTY.

При вызове RTT и вызывающий абонент, и получатель имеют индикацию того, что они находятся в вызове RTT. При подключении обе стороны вводят вызов RTT, при котором активируется ввод текста и клавиатура. При наборе текст появляется и отправляется по мере набора, символ за символом.

Примеры и источник

Компоненты платформы доступны в AOSP по адресу Call.RttCall и Connection.RttTextStream . Компоненты IMS/модема являются собственностью компании и должны поставляться поставщиком IMS/модема. Также доступна эталонная реализация Dialer RTT.

Код дозвона AOSP для RTT:

Выполнение

Чтобы реализовать RTT, вам следует работать с поставщиком модема/SoC, поскольку требуется модем, поддерживающий RTT. Вы можете выполнить обновление до Android 9 или перенести список исправлений инфраструктуры телефонии в Android 8.0. API, добавленные в Android 8.0 AOSP, не будут работать.

Эта функция использует общедоступные API в AOSP в android.telecom и @SystemApis в android.telephony.ims . Весь пользовательский интерфейс находится внутри com.android.phone и программы набора номера AOSP.

Чтобы реализовать RTT, импортируйте код AOSP и предоставьте стек IMS, который реализует @SystemApis на стороне IMS для RTT. Это требует:

  • Включение/выключение RTT с помощью ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Индикация статуса RTT вызова с помощью ImsStreamMediaProfile#mRttMode
  • Поддержка следующих методов в ImsCallSession :

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Поддержка вызова следующих методов в ImsCallSessionListener :

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Кастомизация

Вы можете включить или отключить эту функцию, используя конфигурацию устройства config_support_rtt в наложении конфигурации устройства для packages/services/Telephony и флаг конфигурации оператора связи CarrierConfigManager.RTT_SUPPORTED_BOOL в файлах конфигурации оператора связи. В зависимости от конфигурации эта функция либо доступна в настройках специальных возможностей, либо нет. Используйте конфигурацию устройства, чтобы изменить настройки по умолчанию. По умолчанию эта функция отключена.

Проверка

Чтобы проверить реализацию RTT, запустите тесты CTS и выполните тестирование RTT номеронабирателя.

CTS-тестирование

Тесты CTS ( android.cts.telecom.RttOperationsTest ) охватывают часть реализации AOSP. Вы должны предоставить свои собственные тесты для части реализации стека IMS.

Тестирование RTT дозвонщика

Описание сценария макет пользовательского интерфейса
Если на устройстве отключен RTT, отображается диалоговое окно о RTT.

Баннер РТТ

В настройках набора номера в разделе «Настройки» > «Доступность» доступен экран «Текст в реальном времени», на котором можно выбрать другой режим RTT.

Доступность RTT

Когда RTT включен по умолчанию:
  • При совершении вызова отображается стандартный пользовательский интерфейс набора номера во время вызова.
  • При подключении вызова отображается режим RTT. Если принимающий пользователь по умолчанию не переходит в режим RTT, во время ожидания ответа отображается баннер, указывающий, что режим RTT был запрошен.

Пользовательский интерфейс вызова RTT

Если RTT отключен на устройстве:
  • На экране входящего вызова отображается стандартная шайба ответа и стандартные метки вызовов.

Стандартный интерфейс вызова RTT

Если RTT включен на устройстве и по умолчанию настроен на ответ на все вызовы как RTT:
  • На экране входящего вызова отображается шайба RTT и соответствующие метки вызовов.
  • При ответе на вызов загружается вид режима RTT с включенной клавиатурой.

Просмотр режима RTT

В пользовательском интерфейсе вызова для RTT предусмотрены параметры, позволяющие пользователям контролировать состояние голосового вызова и получать общую справку по использованию RTT:
  • Включите и выключите микрофон.
  • Включение и выключение динамика.
  • Используйте клавиатуру в качестве ввода.
  • Добавьте еще один звонок.
  • Переключитесь на голосовой вызов из вызова RTT.
  • Включите и выключите удержание.

Параметры пользовательского интерфейса RTT при вызове

На экране «Сведения о вызове» при выборе ссылки «Просмотреть расшифровку» отображается полное представление разговора с полным текстом сеанса RTT. Отображаются временные метки. Пользователь может вернуться к экрану сведений о вызове с помощью кнопки «Назад».

Детали звонка RTT