Отладка и тестирование

Dialer оснащен интегрированной средой отладки и тестирования, которая позволяет проверять функции приложения Dialer без необходимости использования устройств, готовых к вызову. Это устраняет необходимость в Bluetooth и подключенных телефонах с сотовой связью. Эта платформа тестирования номеронабирателей (DTF) упрощает эти процессы:

  • Настройка реального устройства для быстрой проверки идей обычно требует времени.
  • Для тестирования функций множественных вызовов требуется как минимум три телефона с SIM-картой, два из которых используются только для совершения вызовов.
  • Отладка Dialer и его зависимостей.

Поскольку функциональность Dialer зависит от нескольких стеков технологий, включая телекоммуникации, телефонию и профиль Bluetooth Hands Free (HFP), ошибки и проблемы, возникающие в этих зависимостях, могут привести к нестабильности Dialer. DTF позволяет Dialer работать независимо от этих зависимостей.

Функции

DTF предоставляет следующие возможности:

  • Размещение звонка. Совершайте и принимайте звонки без необходимости использования устройства, готового к вызову, через терминал с трансляцией Android Debug Bridge (adb) .
  • Шуточные звонки. Функциональность звонков высмеивается. Это включает в себя удержание, приглушение, объединение и отключение.

Используйте DTF

Примечание. DTF доступен только в Android 11 или более поздней версии.

Чтобы использовать DTF:

  1. Соберите и установите вариант сборки CarDialerAppForTesting следующим образом:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    В результате CarDialerAppForTesting заменяет исходное приложение Dialer на тестовом устройстве.

    CarDialerAppForTesting не работает с реальными устройствами. Для тестирования на реальном устройстве переустановите CarDialerApp.apk .

Команды

Следующие команды adb работают только после первого запуска Dialer и требуют инициализации широковещательного приемника. После запуска Dialer необходимо подключить поддельное Bluetooth-устройство. Для этого используйте следующую команду (Настройка) Подключите устройство.

(Настройка) Подключите устройство

Устанавливает фиктивное соединение Bluetooth с номеронабирателем, и его необходимо вызвать первым, чтобы обеспечить доступ ко всем командам, связанным с вызовом.

Чтобы подключить устройство:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"

Примечание. Только после подключения поддельного устройства Bluetooth можно использовать каждую из следующих команд.

Сделать исходящий звонок

Чтобы совершить исходящий звонок:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"

Принять входящий звонок

Чтобы принять входящий звонок:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"

Завершить вызов

Чтобы завершить вызов:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"

Удержать текущий вызов

Чтобы поставить текущий вызов на удержание:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"

Снять текущий вызов

Чтобы снять текущий вызов с удержания:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Объединить вызовы

Объедините основной и дополнительный вызовы в конференц-связь. Эта команда работает только тогда, когда существуют как первичный, так и вторичный вызовы. Существующая конференц-связь считается единым объектом.

Чтобы объединить вызовы:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

Очистить все вызовы

Чтобы удалить все вызовы в списке вызовов:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"

Сборка эмулятора

Иногда разработчикам может потребоваться протестировать изменения пользовательского интерфейса на эмуляторе. В таких случаях CarDialerAppEmulatorBuild обеспечивает упрощенную настройку и ограниченную функциональность по сравнению с более мощным DTF.

Данные испытаний

При запуске Dialer страница ошибок Bluetooth пропускается и отображается основное содержимое TelecomActivity . Контакты и журналы вызовов отображаются на локальном устройстве. Разработчики могут использовать стандартное приложение «Контакты» для создания тестовых контактов или импорта файла .vcf .

Вызов насмешливый

Чтобы имитировать входящие вызовы, используйте эмулятор Android для отправки команд Telnet. Дополнительные сведения см. в разделах «Запуск приложений с помощью эмулятора Android» и «Отправить консольные команды эмулятора» .

telnet localhost 5554
gsm call xxx-xxx-xxxx

При совершении телефонного звонка в приложении Dialer или трансляции намерения вызова начинается исходящий вызов.

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx