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

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

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

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

Функции

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

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

Использование DTF

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

Чтобы использовать ДТФ:

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

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

    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

Выполнение телефонного звонка в приложении "Набор номера" или передача намерения звонка запускает исходящий вызов.

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