Il seguente diagramma illustra i componenti di sistema che interagiscono con Telefono:
Figura 1. Componenti che interagiscono con Telefono
-
UI di sistema. Lasse di navigazione inferiore per ospitare il pulsante Telefono, che registra l'intent
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end
. Viene avviata l'attività principale dell'utente,TelecomActivity
. -
Avvio app. Gestisce l'intero elenco di app. Dialer dichiara TelecomActivity con
android.intent.category.LAUNCHER
. Se selezioni l'app Telefono dall'elenco delle app del programma di avvio, viene visualizzato TelecomActivity. -
Widget della casa. Nel riferimento AOSP non è presente il widget Home. Gli OEM potrebbero valutare la possibilità di aggiungere un widget della schermata Home per la funzionalità Telefono per visualizzare lo stato dello smartphone attualmente connesso (nonché altre informazioni).
-
Centro notifiche
-
La notifica Heads Up viene visualizzata per le chiamate in arrivo. Quando la funzionalità Telefono
InCallServiceImpl
riceve una chiamata in arrivo, pubblica un HUN nel Centro notifiche, che mostra i dettagli della chiamata, ad esempio il numero di telefono o i dati di contatto. Telefono mostra anche due pulsanti di azione, Rispondi e Rifiuta. Se tocchi il pulsante Rispondi, la chiamata viene risposta eInCallServiceImpl
gestisce la chiamata attiva per mostrare l'interfaccia utente di Chiamata in corso del dialer e chiude la finestra HUN. Se fai clic sull'HUN, viene visualizzata la pagina In chiamata a schermo intero con i pulsanti Rispondi e Rifiuta. -
Viene visualizzata una notifica per le chiamate senza risposta non lette. Se fai clic sulla notifica, viene visualizzata la pagina Cronologia chiamate e le chiamate senza risposta vengono contrassegnate come lette. Se tocchi il pulsante Riagg., viene effettuata una chiamata e viene visualizzata l'interfaccia utente InCall di Telefono.
-
-
Assistente. Gli utenti possono chiedere a un assistente di effettuare una chiamata che potrebbe mostrare l'interfaccia utente di Chiamata in corso di Telefono.
-
Google Maps. La chiamata a un commerciante da Google Maps invia l'intent DIAL con extra dei numeri di telefono che avviano la pagina Dialpad per la composizione rapida.
-
CarInputService. Monitora il tasto fisico dei pulsanti Chiama e Termina chiamata sul volante. Premendo:
-
Il pulsante di chiamata sul volante quando non ci sono chiamate in arrivo invia l'intent DIAL e mostra la pagina tastiera del tastierino.
-
Il pulsante di chiamata sul volante quando è presente una chiamata in arrivo fa sì che TelecomManager risponda alla chiamata.
-
Pulsante di terminazione chiamata sul volante quando è presente una chiamata in arrivo, TelecomManager termina la chiamata.
-
-
Bluetooth
-
PBAPClient. Scarica i contatti da uno smartphone e scrive al fornitore di servizi di telefonia. Per ogni smartphone connesso, viene creato un account con l'indirizzo MAC Bluetooth del dispositivo come nome dell'account e
com.android.bluetooth.pbapsink
(@string/pbap_account_type
definito inpackages/apps/Bluetooth
) come tipo di account. I contatti scritti nel fornitore di contatti vengono scritti con le informazioni dell'account e vengono cancellati quando lo smartphone viene disconnesso.PBAPClient
non interagisce direttamente con il Dialer, ma scrive i contatti nel fornitore di contatti. Telefono legge i contatti dal provider di contatti. -
HfpClientConnectionService
. Gestisce la chiamata Bluetooth tramite HFP e la segnala ai servizi di Telecom.
-
-
Telecom. Il framework Android Telecom gestisce le chiamate audio e video su un dispositivo Android. Poiché Telefono è l'app Telefono predefinita, implementa le API
InCallService
eInCallController
legherà l'implementazione di InCallService di Telefono per gestire le chiamate. Per maggiori dettagli, vedi Creare un'app Telefono sostitutiva e Diventare l'app Telefono predefinita. -
Impostazioni di sistema. La funzionalità Telefono monitora l'elenco dei dispositivi connessi tramite HFP e visualizza un messaggio di errore quando non sono connessi telefoni tramite Bluetooth. Nella documentazione di riferimento AOSP, il pulsante Connetti al Bluetooth indirizza gli utenti alla pagina Impostazioni Bluetooth del sistema per accoppiare un nuovo dispositivo o connettersi a un dispositivo accoppiato.
-
Motore di rilevamento della distrazione del conducente. Questo servizio di sistema Android impone limitazioni all'esperienza utente in base allo stato di guida dell'auto. La funzionalità Telefono deve eseguire tutte le limitazioni relative alle distrazioni alla guida UX.Per farlo, deve ascoltare il CarUXRestrictionManager e implementare tutte le norme. La funzionalità Telefono deve:
-
Collegarti alla libreria Car e ottenere un'istanza di CarUXRestrictionManager.
-
Abbonati agli aggiornamenti nell'elenco di CarUxRestrictions e implementali come descritto.
-
Di particolare importanza per Dialer:
-
La pagina delle impostazioni è ottimizzata per il veicolo. L'utente non è riuscito ad accedere alla pagina Impostazioni tastiera mentre guidava. Se tocchi il menu Impostazioni nella barra delle azioni, viene visualizzata una schermata di blocco per impedire all'utente di accedere alle Impostazioni mentre guida. Se la pagina Impostazioni è già visualizzata, verrà visualizzata la schermata di blocco per interrompere l'interazione dell'utente.
-
Non è possibile accedere alle impostazioni di sistema durante la guida. Nella pagina Errore, quando non sono connessi dispositivi Bluetooth, un pulsante Connetti al Bluetooth mostra la pagina delle impostazioni Bluetooth del sistema. L'UXR di questo pulsante è completamente limitato. Mentre guidi, se fai clic su questo pulsante viene visualizzato un messaggio di errore che informa l'utente di parcheggiare prima l'auto ed eseguire l'azione.
-
L'utente non può avviare la procedura di aggiunta ai preferiti durante la guida. Il pulsante Aggiungi preferito è disattivato.
-
-
Flussi utente
Dialer Main
Di seguito sono riportate le diverse pagine di Dialer.
Figura 2. Pagina principale della tastiera
Gestione chiamate
Di seguito è riportato il flusso di gestione delle chiamate:
Figura 3. Gestione chiamate
Notifiche
Di seguito sono riportate le diverse pagine di notifica:
Figura 4. Notifiche
Stato InCall
Di seguito è riportato il flusso della pagina In chiamata:
Figura 5. Pagina In chiamata
Cerca
Le visualizzazioni della ricerca sono:
Figura 6. Cerca
Impostazioni
Le opzioni Impostazioni sono:
Figura 7. Impostazioni