Debuguj i testuj

Dialer ma zintegrowaną platformę debugowania i testowania, która pozwala weryfikować funkcje aplikacji Telefon bez konieczności używania urządzeń obsługujących połączenia. Dzięki temu nie trzeba w przypadku Bluetootha i telefonów połączonych z siecią komórkową. DTF (This Dialer Testing Framework) upraszcza te procesy:

  • Skonfigurowanie prawdziwego urządzenia do szybkiej weryfikacji pomysłów zwykle zajmuje dużo czasu.
  • Do testowania funkcji wielokrotnych połączeń potrzebne są co najmniej trzy telefony z kartą SIM, które służą wyłącznie do nawiązywania połączeń.
  • Debugowanie Telefonu i jego zależności.

Ponieważ działanie aplikacji Dialer zależy od kilku stosu technologicznego, w tym telekomunikacji, telefonii, i Bluetooth Hands Free Profile (HFP), błędy i problemy pojawiające się w tych zależnościach mogą niestabilności telefonu. DTF umożliwia działanie aplikacji Dialer niezależnie od tych zależności.

Funkcje

Format DTF zapewnia te funkcje:

  • Miejsce docelowe połączenia. Nawiązuj i odbieraj połączenia bez konieczności korzystania z obsługującego połączenia telefoniczne za pomocą terminala Android Debug Bridge (adb) transmisję.
  • Imitacje rozmów. Funkcja nawiązywania połączeń jest udawana. Obejmuje to przytrzymywanie, wyciszanie, scalanie i rozłączanie treści.

Korzystanie z trybu DTF

Uwaga: plik DTF jest dostępny tylko na Androidzie 11 i nowszych.

Aby użyć pliku DTF:

  1. Utwórz i zainstaluj wariant kompilacji CarDialerAppForTesting w ten sposób:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    Dlatego CarDialerAppForTesting zastępuje na urządzenia testowego.

    CarDialerAppForTesting nie działa na prawdziwych urządzeniach. Aby przeprowadzić test na prawdziwym urządzeniu, i ponownie zainstaluj CarDialerApp.apk.

Polecenia

Poniższe polecenia adb działają tylko po pierwszym uruchomieniu Telefonu i wymagają odbiornika, który ma zostać zainicjowany. Po uruchomieniu Telefonu fałszywe urządzenie Bluetooth musi być połączone. Aby to zrobić, skorzystaj z poniższego polecenia (Konfiguracja) Podłącz urządzenie.

(Konfiguracja) Podłącz urządzenie

Nawiązuje fałszywe połączenie Bluetooth z Telefonem i musi zostać wywołane jako pierwsze, aby umożliwić dostęp do wszystkich poleceń powiązanych z połączeniem.

Aby podłączyć urządzenie:

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

Uwaga: dopiero po podłączeniu fałszywego urządzenia Bluetooth każde z tych urządzeń tych poleceń.

Wykonywanie połączenia wychodzącego

Aby nawiązać połączenie wychodzące:

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

Odbierz połączenie przychodzące

Aby odebrać połączenie przychodzące:

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

Kończenie połączenia

Aby zakończyć połączenie:

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

Wstrzymaj bieżące połączenie

Aby zawiesić bieżące połączenie:

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

Wstrzymaj bieżące połączenie

Aby wznowić bieżące połączenie:

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

Scal połączenia

Scal połączenie podstawowe i dodatkowe w połączenie konferencyjne. To polecenie działa tylko wtedy, gdy zarówno między wywołaniami głównymi i dodatkowymi. Istniejące połączenie konferencyjne jest traktowane jako pojedyncze podmiotu zabezpieczeń.

Aby scalić połączenia:

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

Usuń wszystkie połączenia

Aby usunąć wszystkie połączenia z listy połączeń:

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

Kompilacja emulatora

Czasami deweloperzy mogą chcieć przetestować zmiany interfejsu użytkownika za pomocą emulatora. W takich przypadkach CarDialerAppEmulatorBuild oferuje uproszczoną konfigurację i ograniczoną funkcjonalność w porównaniu z bardziej zaawansowanymi plikami DTF.

Dane testowe

Po uruchomieniu Telefonu strona błędu Bluetooth jest pomijana, a główna zawartość Wyświetlono: TelecomActivity. Kontakty i rejestry połączeń są wyświetlane lokalnie urządzenia. Deweloperzy mogą używać standardowej aplikacji Kontakty do tworzenia kontaktów testowych oraz importowania .vcf.

Naśmiewanie się z połączeń

Aby imitować połączenia przychodzące, użyj emulatora Androida do wysyłania poleceń Telnet. Więcej informacji: Uruchamianie aplikacji przy użyciu emulatora Androida oraz Wyślij polecenia konsoli emulatora.

telnet localhost 5554
gsm call xxx-xxx-xxxx

Nawiązanie połączenia w aplikacji Telefon lub nadanie intencji połączenia powoduje rozpoczęcie połączenia wychodzącego.

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