Dettagli tecnici

Lo schema seguente illustra i componenti del sistema che interagiscono con Dialer:

Componenti che interagiscono con Dialer

Figura 1. Componenti che interagiscono con Dialer

  • Interfaccia utente del sistema. Faccetta di navigazione inferiore per ospitare il pulsante Telefono, che registra l' intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end . Verrà avviata l'attività principale dell'utente, TelecomActivity .

  • Avvio applicazioni. Gestisce l'intero elenco delle app. Dialer dichiara TelecomActivity con android.intent.category.LAUNCHER . Selezionando l'app del telefono dall'elenco delle app del launcher viene visualizzata TelecomActivity.

  • Widget domestico. Nel riferimento AOSP non è presente il widget Home. Gli OEM potrebbero prendere in considerazione l'aggiunta di un widget Home per Dialer per visualizzare lo stato del telefono attualmente connesso (oltre ad altre informazioni).

  • Centro notifiche

    • Viene visualizzata la notifica Heads Up (HUN) per le chiamate in arrivo. Quando Dialer InCallServiceImpl riceve una chiamata in arrivo, Dialer pubblica un HUN nel Centro notifiche, che mostra i dettagli della chiamata, come il numero di telefono o le informazioni di contatto. Dialer visualizza anche due pulsanti di azione, Rispondi e Rifiuta. Toccando il pulsante Rispondi, si risponde alla chiamata e InCallServiceImpl gestisce la chiamata attiva per mostrare l'interfaccia utente della chiamata in corso del Dialer e ignora l'HUN. Facendo clic su HUN viene visualizzata la pagina InCall a schermo intero con i pulsanti Rispondi e Rifiuta.

    • Viene visualizzata una notifica per le chiamate perse non lette. Facendo clic sulla notifica viene visualizzata la pagina Cronologia chiamate e contrassegna le chiamate perse come lette. Toccando il pulsante Richiama si effettua una chiamata e viene visualizzata l'interfaccia utente InCall del Dialer.

  • Assistente. Gli utenti possono chiedere a un assistente di effettuare una chiamata che potrebbe visualizzare l'interfaccia utente Dialer InCall.

  • Google Maps. Chiamando un commerciante da Google Maps viene inviato l'intento DIAL con numeri di telefono aggiuntivi che avvierà la pagina del tastierino numerico per la composizione rapida.

  • CarInputService. Monitora il tasto fisico dei pulsanti Chiama e Termina chiamata sul volante. Premendo il:

    • Il pulsante di chiamata dal volante quando non ci sono chiamate in arrivo invia l'intento DIAL e visualizza la pagina Tastierino numerico di Dialer.

    • Il pulsante di chiamata sul volante quando c'è una chiamata in arrivo fa sì che TelecomManager risponda alla chiamata.

    • Pulsante Fine chiamata dal volante quando c'è una chiamata in arrivo, TelecomManager termina la chiamata.

  • Bluetooth

    • PBAPClient. Scarica i contatti da un telefono e scrive al provider dei contatti. Per ogni telefono connesso, viene creato un account con l'indirizzo MAC Bluetooth del dispositivo come nome account e com.android.bluetooth.pbapsink ( @string/pbap_account_type definito in packages/apps/Bluetooth ) come tipo di account. I contatti scritti nel fornitore dei contatti vengono scritti con le informazioni sull'account e vengono cancellati quando il telefono viene disconnesso. PBAPClient non interagisce direttamente con Dialer ma scrive invece i contatti al provider di contatti. Dialer legge i contatti dal provider di contatti.

    • HfpClientConnectionService . Gestisce la chiamata Bluetooth tramite HFP e segnala la chiamata ai servizi Telecom.

  • Telecomunicazioni. Il framework Android Telecom gestisce le chiamate audio e video su un dispositivo Android. Poiché Dialer è l'app telefonica predefinita, implementa le API InCallService e InCallController collegherà l'implementazione InCallService di Dialer per gestire le chiamate. Per ulteriori dettagli, consulta Creare un'app per telefono sostitutiva e Diventare l'app per telefono predefinita .

  • Impostazioni di sistema. Il combinatore monitora l'elenco dei dispositivi connessi all'HFP e visualizza un messaggio di errore quando nessun telefono è connesso al combinatore tramite Bluetooth. Nel riferimento AOSP, il pulsante Connetti a Bluetooth collega gli utenti alla pagina Impostazioni Bluetooth del sistema per associare un nuovo dispositivo o per connettersi a un dispositivo accoppiato.

  • Motore di distrazione del conducente. Questo servizio di sistema Android impone restrizioni UX in base allo stato di guida dell'auto. Il dialer deve eseguire tutte le restrizioni sulle distrazioni di guida UX. Per fare ciò, il dialer deve ascoltare CarUXRestrictionManager e implementare tutte le policy. Il comunicatore deve:

    • Connettiti alla libreria dell'auto e ottieni un'istanza di CarUXRestrictionManager .

    • Iscriviti agli aggiornamenti nell'elenco delle restrizioni CarUx e implementali come documentato.

    • Di particolare importanza per Dialer:

      • La pagina delle impostazioni è ottimizzata per il veicolo. L'utente non ha potuto accedere alla pagina Impostazioni dialer durante la guida. Toccando il menu Impostazioni dalla barra delle azioni, viene visualizzata una schermata di blocco per impedire all'utente di accedere alle Impostazioni durante la guida. Se la pagina Impostazioni è già visualizzata, verrà visualizzata la schermata di blocco per interrompere l'interazione dell'utente.

      • Non è possibile accedere alle impostazioni del sistema durante la guida. Nella pagina Errore, quando nessun dispositivo Bluetooth è connesso, un pulsante Connetti a Bluetooth visualizza la pagina delle impostazioni Bluetooth del sistema. L'UXR di questo pulsante è completamente limitato. Durante la guida, facendo clic su questo pulsante viene visualizzato un messaggio di errore per informare l'utente di parcheggiare prima l'auto e poi di eseguire l'azione.

      • L'utente non può avviare il flusso di aggiunta ai preferiti durante la guida. Il pulsante Aggiungi un preferito è disabilitato.

Flussi utente

Principale combinatore

Di seguito sono riportate le diverse pagine di Dialer.

Pagina principale del Dialer

Figura 2. Pagina principale del Dialer

Gestione delle chiamate

Il flusso del processo di gestione delle chiamate è presentato di seguito:

Gestione delle chiamate

Figura 3. Gestione delle chiamate

Notifiche

Le diverse pagine di notifiche sono visualizzate di seguito:

Notifiche

Figura 4. Notifiche

Stato della chiamata in corso

Il flusso della pagina InCall è mostrato di seguito:

Pagina InCall

Figura 5. Pagina Chiamata in arrivo

Le visualizzazioni di ricerca sono:

Ricerca

Figura 6. Ricerca

Impostazioni

Le opzioni Impostazioni sono:

Impostazioni

Figura 7. Impostazioni