Informacje techniczne

Poniższy diagram ilustruje komponenty systemu współpracujące z Dialerem:

Komponenty współpracujące z Dialerem

Rysunek 1. Komponenty współpracujące z Dialerem

  • Interfejs systemu. Dolny aspekt nawigacji, w którym znajduje się przycisk Telefon, który rejestruje intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end . Spowoduje to rozpoczęcie głównej aktywności użytkownika, TelecomActivity .

  • Program uruchamiający aplikacje. Zarządza całą listą aplikacji. Dialer deklaruje TelecomActivity za pomocą android.intent.category.LAUNCHER . Wybranie aplikacji na telefon z listy aplikacji w programie uruchamiającym powoduje wyświetlenie TelecomActivity.

  • Widżet domowy. W odniesieniu do AOSP nie ma widżetu Home. Producenci OEM mogą rozważyć dodanie widżetu głównego do programu Dialer, który będzie wyświetlał stan aktualnie podłączonego telefonu (a także inne informacje).

  • Centrum powiadomień

    • W przypadku połączeń przychodzących wyświetlane jest powiadomienie Heads Up (HUN). Kiedy Dialer InCallServiceImpl odbierze połączenie przychodzące, Dialer wysyła HUN do centrum powiadomień, które wyświetla szczegóły połączenia, takie jak numer telefonu lub dane kontaktowe. Dialer wyświetla także dwa przyciski akcji: Odbierz i Odrzuć. Dotykając przycisku Odbierz, połączenie zostanie odebrane, a InCallServiceImpl obsłuży aktywne połączenie, aby wyświetlić interfejs użytkownika Dialera w trakcie połączenia i odrzucić numer HUN. Kliknięcie HUN powoduje wyświetlenie pełnoekranowej strony InCall z przyciskami Odbierz i Odrzuć.

    • Pojawia się powiadomienie o nieprzeczytanych nieodebranych połączeniach. Kliknięcie powiadomienia powoduje wyświetlenie strony Historii połączeń i oznaczenie nieodebranych połączeń jako przeczytanych. Dotknięcie przycisku Oddzwoń powoduje nawiązanie połączenia i wyświetlenie interfejsu użytkownika programu Dialer InCall.

  • Asystent. Użytkownicy mogą poprosić asystenta o wykonanie połączenia, co może wyświetlić interfejs użytkownika Dialer InCall.

  • Mapy Google. Zadzwonienie do sprzedawcy z Map Google powoduje wysłanie intencji DIAL z dodatkowymi numerami telefonów, co spowoduje uruchomienie strony Dialpad umożliwiającej szybkie wybieranie.

  • Usługa CarInput. Monitoruje klawisz fizyczny przycisków połączenia i zakończenia połączenia na kierownicy. Naciśnięcie:

    • Przycisk połączenia na kierownicy, gdy nie ma połączenia przychodzącego, wysyła polecenie DIAL i wyświetla stronę Dialpad w programie Dialer.

    • Przycisk połączenia na kierownicy w przypadku połączenia przychodzącego powoduje odebranie połączenia przez TelecomManager.

    • Przycisk Zakończ połączenie na kierownicy, gdy nadejdzie połączenie przychodzące, TelecomManager zakończy połączenie.

  • Bluetooth

    • Klient PBAPC. Pobiera kontakty z telefonu i zapisuje je do dostawcy kontaktów. Dla każdego podłączonego telefonu tworzone jest konto zawierające adres MAC Bluetooth urządzenia jako nazwę konta i com.android.bluetooth.pbapsink ( @string/pbap_account_type zdefiniowany w packages/apps/Bluetooth ) jako typ konta. Kontakty zapisane u dostawcy kontaktów są zapisywane wraz z informacjami o koncie i usuwane po odłączeniu telefonu. PBAPClient nie współpracuje bezpośrednio z Dialerem, ale zamiast tego zapisuje kontakty do dostawcy kontaktów. Dialer odczytuje kontakty od dostawcy kontaktów.

    • HfpClientConnectionService . Zarządza połączeniem Bluetooth poprzez HFP i raportuje połączenie do usług telekomunikacyjnych.

  • Telekomunikacja. Struktura Android Telecom zarządza połączeniami audio i wideo na urządzeniu z Androidem. Ponieważ Dialer jest domyślną aplikacją na telefon, implementuje interfejsy API InCallService , a InCallController powiąże implementację InCallService Dialera w celu obsługi połączeń. Aby uzyskać więcej informacji, zobacz Tworzenie zastępczej aplikacji na telefon i Stawanie się domyślną aplikacją na telefon .

  • Ustawienia systemowe. Dialer monitoruje listę urządzeń podłączonych do HFP i wyświetla komunikat o błędzie, gdy żaden telefon nie jest podłączony do dialera poprzez Bluetooth. W dokumentacji AOSP przycisk Połącz z Bluetooth łączy użytkowników ze stroną ustawień Bluetooth systemu, gdzie można sparować nowe urządzenie lub połączyć się ze sparowanym urządzeniem.

  • Silnik rozpraszający uwagę kierowcy. Ta usługa systemu Android nakłada ograniczenia UX na podstawie stanu jazdy samochodu. Dialer musi wykonać wszystkie ograniczenia rozpraszające kierowcę UX. Aby to zrobić, Dialer musi nasłuchiwać menedżera CarUXRestrictionManager i wdrożyć wszystkie zasady. Dialer musi:

    • Połącz się z biblioteką Car i uzyskaj instancję CarUXRestrictionManager .

    • Subskrybuj aktualizacje na liście CarUxRestrictions i wdrażaj je zgodnie z dokumentacją.

    • Szczególnie ważne dla Dialera:

      • Strona ustawień jest zoptymalizowana pod kątem pojazdu. Użytkownik nie mógł uzyskać dostępu do strony ustawień dialera podczas jazdy. Dotknięcie menu Ustawienia na pasku akcji powoduje wyświetlenie ekranu blokującego, uniemożliwiającego użytkownikowi dostęp do Ustawień podczas jazdy. Jeśli strona Ustawienia jest już wyświetlona, ​​pojawi się ekran blokowania, aby przerwać interakcję użytkownika.

      • Podczas jazdy nie można uzyskać dostępu do ustawień systemu. Jeśli na stronie Błąd nie jest podłączone żadne urządzenie Bluetooth, przycisk Połącz z Bluetooth powoduje wyświetlenie strony ustawień Bluetooth systemu. UXR tego przycisku jest całkowicie ograniczony. Podczas jazdy kliknięcie tego przycisku powoduje wyświetlenie komunikatu o błędzie informującego użytkownika, aby najpierw zaparkował samochód, a następnie wykonał czynność.

      • Użytkownik nie może rozpocząć procesu dodawania do ulubionych podczas jazdy. Przycisk Dodaj ulubione jest wyłączony.

Przepływy użytkowników

Główny dialer

Poniżej znajdują się różne strony Dialera.

Główna strona Dialera

Rysunek 2. Strona główna Dialera

Obsługa połączeń

Poniżej przedstawiono przebieg procesu obsługi połączeń:

Obsługa połączeń

Rysunek 3. Obsługa połączeń

Powiadomienia

Poniżej wyświetlane są różne strony powiadomień:

Powiadomienia

Rysunek 4. Powiadomienia

Stan połączenia

Poniżej przedstawiono przebieg strony InCall:

Strona InCall

Rysunek 5. Strona InCall

Ekrany wyszukiwania to:

Szukaj

Rysunek 6. Szukaj

Ustawienia

Opcje ustawień to:

Ustawienia

Rysunek 7. Ustawienia