Interfaccia utente per la connettività

In Android 12 o versioni successive, i produttori di dispositivi possono optionally adottare un'esperienza di connettività semplificata che aiuta gli utenti a comprendere meglio le connessioni di rete, a passare da un provider di servizi internet all'altro e a risolvere i problemi di connettività di rete. Questi cambiamenti nell'esperienza utente rispetto ad Android 11 o versioni precedenti si riflettono nell'interfaccia utente, nell'iconografia e nelle modifiche alle API per Impostazioni rapide e Impostazioni. Tutte queste modifiche sono disponibili in AOSP e possono essere attivate così come sono o personalizzate dai produttori di dispositivi.

Panoramica dell'esperienza di connettività semplificata

Questa sezione descrive le principali modifiche all'interfaccia utente dell'esperienza di connettività semplificata in AOSP a partire da Android 12.

Riquadro Internet nelle Impostazioni rapide

Il menu Impostazioni rapide include un riquadro internet che apre un riquadro internet in cui gli utenti possono passare dalla connessione Wi-Fi alla rete cellulare e viceversa. Il riquadro internet combina i riquadri Wi-Fi e Dati mobili utilizzati in Android 11 o versioni precedenti.

Riquadro Internet nel menu Impostazioni rapide

Figura 1. Riquadro Internet nelle Impostazioni rapide

Sezione Chiamate e SMS in Impostazioni

L'app Impostazioni include una sezione Chiamate e SMS in Rete e internet in cui viene visualizzato lo stato di disponibilità e le opzioni per le chiamate Wi-Fi.

Sezione Chiamate e SMS in Impostazioni

Figura 2. Sezione Chiamate e SMS in Impostazioni

Pulsante Reimposta in Impostazioni

Nell'app Impostazioni, Rete e internet > Internet è incluso un pulsante di reimpostazione che consente agli utenti di reimpostare i modem di telefonia e Wi-Fi sul dispositivo, il che può essere utile per la risoluzione dei problemi di connettività di rete.

Pulsante Reimposta nelle Impostazioni per risolvere i problemi di connettività

Figura 3. Pulsante di ripristino per la risoluzione dei problemi di connettività

Implementazione

Per attivare l'esperienza di connettività semplificata sul tuo dispositivo, utilizza il seguente flag delle impostazioni globali:

  • Nome: persist.sys.fflag.override.settings_provider_model
  • Tipo: booleano
  • Valore: impostato su true per attivare il comportamento di semplificazione della connettività, false per disattivarlo e utilizzare il comportamento precedente. A partire da Android 12, il percorso del codice per false non è più gestito attivamente.

Inoltre, puoi configurare le seguenti modalità dell'interfaccia utente per i singoli operatori utilizzando la configurazione dell'operatore. Le chiavi di configurazione sono:

  • CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL: un valore booleano che indica se l'operatore configura reti Wi-Fi che fanno parte della sua rete di base e vengono visualizzate come parte della rete mobile. Questa operazione viene eseguita in tandem con il metodo WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged).
  • CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL: un valore booleano che indica se la connettività della rete dati (IP) viene utilizzata come condizione supplementare per la visualizzazione del gate dell'icona Nessuna chiamata.
  • CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL: un valore booleano che indica se l'icona intensità della chiamata viene visualizzata nell'interfaccia utente del sistema.

API di framework

Per disattivare temporaneamente le reti Wi-Fi nelle vicinanze, utilizza le seguenti API:

  • WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId): consente all'utente di selezionare una rete dell'operatore senza disattivare il Wi-Fi. Disattiva tutte le reti Wi-Fi visibili per una durata minima di 30 minuti (controllata tramite l'overlay config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes) e una durata massima di 6 ore (controllata tramite l'overlay config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes).config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes Le reti Wi-Fi vengono riattivate ogni volta che il Wi-Fi viene attivato/disattivato, il dispositivo viene rebooted, se l'utente seleziona una rete Wi-Fi (in questo caso l'API stopRestrictingAutoJoinToSubscriptionId() viene eseguita da Impostazioni) o se la rete non è visibile per 60 minuti.
  • WifiManager#stopRestrictingAutoJoinToSubscriptionId(): ripristina il normale funzionamento.

Per supportare il pulsante di ripristino e l'interfaccia utente per la risoluzione dei problemi, implementata nella classe com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager, utilizza le seguenti API:

  • WifiManager#restartWifiSubsystem(String reason): riavvia il sottosistema Wi-Fi.
  • TelephonyManager#rebootRadio(): reimposta il modem radio.

Lavorare con più operatori

Se adotti l'esperienza di connettività semplificata per alcuni operatori, ma non per altri, tieni presente lo scenario multi-SIM, in cui un utente utilizza due SIM, una di un operatore partner che ha optato per le modifiche all'interfaccia utente e l'altra no. In questo scenario, assicurati di decidere quale UI sarà visibile agli utenti e di testarne attentamente il comportamento sui tuoi dispositivi.