Технические сведения

На следующей схеме показаны компоненты системы, взаимодействующие с Dialer:

Компоненты, взаимодействующие с Dialer

Рисунок 1. Компоненты, взаимодействующие с Dialer

  • Системный интерфейс. Нижний аспект навигации для размещения кнопки «Телефон», которая регистрирует intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end намерения. При этом запускается основная деятельность пользователя — TelecomActivity .

  • Панель запуска приложений. Управляет всем списком приложений. Dialer объявляет TelecomActivity с помощью android.intent.category.LAUNCHER . При выборе приложения для телефона из списка приложений средства запуска отображается TelecomActivity.

  • Домашний виджет. В справочнике AOSP нет виджета «Домой». OEM-производители могут рассмотреть возможность добавления виджета «Домой» для Dialer для отображения состояния текущего подключенного телефона (а также другой информации).

  • Центр уведомлений

    • Уведомление Heads Up Notification (HUN) отображается для входящих вызовов. Когда Dialer InCallServiceImpl получает входящий вызов, Dialer отправляет HUN в центр уведомлений, где отображаются сведения о вызове, такие как номер телефона или контактная информация. В Dialer также отображаются две кнопки действий: «Ответить» и «Отклонить». При нажатии кнопки «Ответить» на вызов принимается ответ, и InCallServiceImpl обрабатывает активный вызов, отображая пользовательский интерфейс Dialer в вызове, и отклоняет HUN. При нажатии на HUN отображается полноэкранная страница InCall с кнопками «Ответить» и «Отклонить».

    • Появляется уведомление о непрочитанных пропущенных вызовах. При нажатии на уведомление отображается страница «История вызовов» и помечаются пропущенные вызовы как прочитанные. Нажатие кнопки «Обратный вызов» осуществляет вызов и отображает пользовательский интерфейс InCall номеронабирателя.

  • Помощник. Пользователи могут попросить помощника совершить звонок, который может отобразить пользовательский интерфейс Dialer InCall.

  • Карты Гугл. При звонке продавцу из Google Maps отправляется намерение DIAL с дополнительными телефонными номерами, которые запускают страницу Dialpad для быстрого набора.

  • КарИнпутСервис. Контролирует физическую клавишу кнопок вызова и завершения вызова на руле. Нажатие кнопки:

    • Кнопка вызова на рулевом колесе, когда нет входящего вызова, отправляет намерение DIAL и отображает страницу панели набора номера в Dialer.

    • Кнопка вызова на руле при входящем звонке заставляет TelecomManager ответить на звонок.

    • Кнопка «Завершить вызов» на руле при входящем звонке TelecomManager завершает звонок.

  • Bluetooth

    • PBAPClient. Скачивает контакты с телефона и пишет провайдеру контактов. Для каждого подключенного телефона создается учетная запись с MAC-адресом Bluetooth устройства в качестве имени учетной записи и com.android.bluetooth.pbapsink ( @string/pbap_account_type , определенный в packages/apps/Bluetooth ) в качестве типа учетной записи. Контакты, записанные в поставщик контактов, записываются вместе с информацией об учетной записи и удаляются при отключении телефона. PBAPClient не взаимодействует напрямую с Dialer, а вместо этого записывает контакты в поставщик контактов. Dialer считывает контакты из поставщика контактов.

    • HfpClientConnectionService . Управляет вызовом Bluetooth через HFP и сообщает о вызове службам связи.

  • Телеком. Платформа Android Telecom управляет аудио- и видеовызовами на устройстве Android. Поскольку Dialer является телефонным приложением по умолчанию, оно реализует API InCallService , а InCallController свяжет реализацию InCallService Dialer для обработки вызовов. Дополнительные сведения см. в разделах «Создание замены приложения для телефона» и «Становление приложения для телефона по умолчанию» .

  • Настройки системы. Программа дозвона отслеживает список устройств, подключенных к HFP, и отображает сообщение об ошибке, если ни один телефон не подключен к номеронабирателю через Bluetooth. В справочнике AOSP кнопка «Подключиться к Bluetooth» направляет пользователей на страницу настроек Bluetooth системы для сопряжения нового устройства или подключения к сопряженному устройству.

  • Двигатель отвлечения внимания водителя. Этот системный сервис Android накладывает ограничения UX в зависимости от состояния вождения автомобиля. Программа дозвона должна выполнить все ограничения на отвлечение внимания при вождении UX. Для этого программа дозвона должна прослушивать CarUXRestrictionManager и реализовать все политики. Звонилка должна:

    • Подключитесь к библиотеке Car и получите экземпляр CarUXRestrictionManager .

    • Подпишитесь на обновления списка CarUxRestrictions и реализуйте их согласно документации.

    • Особое значение для Dialer:

      • Страница настроек оптимизирована для автомобиля. Пользователь не мог получить доступ к странице настроек дозвона во время вождения. При нажатии на меню «Настройки» на панели действий отображается экран блокировки, запрещающий пользователю доступ к настройкам во время вождения. Если страница настроек уже отображается, появится экран блокировки, чтобы остановить взаимодействие с пользователем.

      • Доступ к системным настройкам во время вождения невозможен. Если на странице «Ошибка» не подключено ни одно устройство Bluetooth, кнопка «Подключиться к Bluetooth» отображает страницу настроек Bluetooth системы. UXR этой кнопки полностью ограничен. Во время вождения при нажатии на эту кнопку отображается сообщение об ошибке, информирующее пользователя о необходимости сначала припарковать автомобиль, а затем выполнить действие.

      • Пользователь не может запустить процесс добавления в избранное во время вождения. Кнопка «Добавить в избранное» отключена.

Пользовательские потоки

Главная номеронабиратель

Ниже представлены различные страницы Dialer.

Главная страница звонилки

Рисунок 2. Главная страница дозвона

Обработка вызовов

Ниже представлена ​​последовательность операций обработки вызова:

Обработка вызовов

Рисунок 3. Обработка вызовов

Уведомления

Ниже показаны различные страницы уведомлений:

Уведомления

Рисунок 4. Уведомления

Статус входящего звонка

Схема страницы InCall показана ниже:

Страница InCall

Рисунок 5. Страница InCall

Поисковые дисплеи:

Поиск

Рисунок 6. Поиск

Настройки

Варианты настроек:

Настройки

Рисунок 7. Настройки