Sous Android 12 ou version ultérieure, les fabricants d'appareils peuvent opter pour une expérience de connectivité simplifiée qui aide les utilisateurs à mieux comprendre leurs connexions réseau, à passer d'un fournisseur d'accès Internet à un autre et à résoudre les problèmes de connectivité réseau. Ces modifications de l'expérience utilisateur par rapport à Android 11 ou version antérieure se reflètent dans l'interface utilisateur, l'iconographie et les modifications apportées à l'API pour les Réglages rapides et les Réglages rapides. Toutes ces modifications sont disponibles dans AOSP pour que les fabricants d'appareils puissent les activer telles quelles ou les personnaliser.
Présentation de l'expérience de connectivité simplifiée
Cette section décrit les principales modifications apportées à l'interface utilisateur de l'expérience de connectivité simplifiée dans AOSP à partir d'Android 12.
Bloc "Internet" dans les Réglages rapides
Le menu Réglages rapides inclut un bloc Internet qui ouvre un panneau Internet dans lequel les utilisateurs peuvent basculer entre les connexions Wi-Fi et les données mobiles. Le bloc "Internet" combine les blocs "Wi-Fi" et "Données mobiles" utilisés dans Android 11 ou version antérieure.
Figure 1 : Bloc "Internet" dans les Réglages rapides
Section "Appels et SMS" dans les paramètres
L'application Paramètres inclut une section Appels et SMS sous Réseau et Internet qui affiche l'état de disponibilité et les options d'appels Wi-Fi.
Figure 2. Section "Appels et SMS" dans "Paramètres"
Bouton "Réinitialiser" dans les paramètres
Dans l'application Paramètres, Réseau et Internet > Internet inclut un bouton de réinitialisation qui permet aux utilisateurs de réinitialiser les modems de téléphonie et Wi-Fi de l'appareil, ce qui peut être utile pour résoudre les problèmes de connectivité réseau.
Figure 3. Bouton de réinitialisation pour résoudre les problèmes de connectivité
Implémentation
Pour activer l'expérience de connectivité simplifiée sur votre appareil, utilisez l'indicateur global suivant:
- Nom :
persist.sys.fflag.override.settings_provider_model
- Type: booléen
- Valeur: définie sur
true
pour activer le comportement de simplification de la connectivité,false
pour le désactiver et utiliser l'ancien comportement. À partir d'Android 12, le chemin de code defalse
n'est plus activement géré.
Vous pouvez également configurer les modes suivants de l'interface utilisateur pour des opérateurs individuels à l'aide de la configuration de l'opérateur. Les clés de configuration sont les suivantes:
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: valeur booléenne indiquant si l'opérateur configure les réseaux Wi-Fi qui font partie de son réseau principal et qui s'affichent dans le réseau mobile. Cela fonctionne de concert avec la méthodeWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: valeur booléenne indiquant si la connectivité du réseau de données (IP) est utilisée comme condition supplémentaire pour filtrer l'affichage de l'icône Pas d'appel.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: valeur booléenne indiquant si l'icône intensité de l'appel s'affiche dans l'UI du système.
API de framework
Pour désactiver temporairement les réseaux Wi-Fi à proximité, utilisez les API suivantes:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: permet à l'utilisateur de sélectionner un réseau opérateur sans désactiver le Wi-Fi. Désactive tous les réseaux Wi-Fi visibles pendant une durée minimale de 30 minutes (contrôlée via le calqueconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) et une durée maximale de 6 heures (contrôlée via le calqueconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Les réseaux Wi-Fi sont réactivés chaque fois que le Wi-Fi est activé, que l'appareil est redémarré, si l'utilisateur sélectionne un réseau Wi-Fi (auquel cas l'APIstopRestrictingAutoJoinToSubscriptionId()
est exécutée par les paramètres) ou si le réseau n'est pas visible pendant 60 minutes.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: restaure le fonctionnement normal.
Pour prendre en charge le bouton de réinitialisation et résoudre les problèmes de l'interface utilisateur, implémentée dans la classe com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, utilisez les API suivantes:
WifiManager#restartWifiSubsystem(String reason)
: redémarre le sous-système Wi-Fi.TelephonyManager#rebootRadio()
: réinitialise le modem radio.
Fonctionner avec plusieurs opérateurs
Si vous adoptez l'expérience de connectivité simplifiée pour certains opérateurs, mais pas pour d'autres, tenez compte du scénario multi-SIM, où un utilisateur utilise deux SIM, l'une d'un opérateur partenaire qui a opté pour les modifications de l'UI et l'autre non. Dans ce scénario, veillez à choisir l'UI que les utilisateurs verront et à tester minutieusement le comportement sur vos appareils.