En Android 12 o versiones posteriores, los fabricantes de dispositivos pueden adoptar, de manera opcional, una experiencia de conectividad simplificada que ayuda a los usuarios a comprender mejor sus conexiones de red, alternar entre los proveedores de Internet y solucionar problemas de conectividad de red. Estos cambios en la experiencia del usuario, en comparación con Android 11 o versiones anteriores, se reflejan en la interfaz de usuario, la iconografía y los cambios en la API de Configuración rápida y Configuración. Todos estos cambios están disponibles en el AOSP para que los fabricantes de dispositivos los habiliten tal como están o los personalicen.
Descripción general de la experiencia de conectividad simplificada
En esta sección, se describen los principales cambios en la interfaz de usuario de la experiencia de conectividad simplificada en el AOSP a partir de Android 12.
Tarjeta de Internet en la Configuración rápida
El menú de Configuración rápida incluye un mosaico de Internet que abre un panel de Internet en el que los usuarios pueden cambiar entre conexiones Wi-Fi y celulares. La tarjeta Internet combina las tarjetas Wi-Fi y Datos móviles que se usan en Android 11 o versiones anteriores.
Figura 1: Tarjeta de Internet en la Configuración rápida
Sección Llamadas y SMS en Configuración
La app de Configuración incluye una sección Llamadas y SMS en Internet y redes que muestra el estado de disponibilidad y las opciones de Llamada por Wi-Fi.
Figura 2: Sección Llamadas y SMS en Configuración
Botón Restablecer en Configuración
En la app de Configuración, Internet y redes > Internet incluye un botón de restablecimiento que permite a los usuarios restablecer los módems de telefonía y Wi-Fi del dispositivo, lo que puede ser útil cuando se solucionan problemas de conectividad de red.
Figura 3: Botón de restablecimiento para solucionar problemas de conectividad
Implementación
Para habilitar la experiencia de conectividad simplificada en tu dispositivo, usa la siguiente marca de configuración global:
- Nombre:
persist.sys.fflag.override.settings_provider_model
- Tipo: Booleano
- Valor: Se establece en
true
para habilitar el comportamiento de simplificación de la conectividad y enfalse
para inhabilitarlo y usar el comportamiento heredado. A partir de Android 12, la ruta de código parafalse
ya no se mantiene de forma activa.
Además, puedes configurar los siguientes modos de la interfaz de usuario para cada empresa de transporte individual con la configuración de la empresa de transporte. Las claves de configuración son las siguientes:
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: Es un valor booleano que indica si el operador configura redes Wi-Fi que forman parte de su red principal y se muestran como parte de la red móvil. Esto funciona en conjunto con el métodoWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: Es un valor booleano que indica si la conectividad de la red de datos (IP) se usa como condición complementaria para controlar la visualización del ícono de sin llamadas.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: Es un valor booleano que indica si el ícono de intensidad de la llamada se muestra en la IU del sistema.
APIs de Framework
Para inhabilitar temporalmente las redes Wi-Fi cercanas, usa las siguientes APIs:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: Permite que el usuario seleccione una red de operador sin inhabilitar la conexión Wi-Fi. Inhabilita todas las redes Wi-Fi visibles durante un período mínimo de 30 minutos (controlado a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) y un período máximo de 6 horas (controlado a través de la superposiciónconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Las redes Wi-Fi se vuelven a habilitar cada vez que se activa o desactiva la conexión Wi-Fi, se reinicia el dispositivo, si el usuario selecciona una red Wi-Fi (en cuyo caso, Configuración ejecuta la API destopRestrictingAutoJoinToSubscriptionId()
) o si la red no está visible durante 60 minutos.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: Restablece el funcionamiento normal.
Para admitir el botón de restablecimiento y la interfaz de usuario de solución de problemas, que se implementa en la clase com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, usa las siguientes APIs:
WifiManager#restartWifiSubsystem(String reason)
: Reinicia el subsistema de Wi-Fi.TelephonyManager#rebootRadio()
: Restablece el módem de radio.
Trabaja con varias empresas de transporte
Si adoptas la experiencia de conectividad simplificada para ciertos operadores, pero no para otros, ten en cuenta la situación de SIM múltiple, en la que un usuario usa dos SIM, una de un operador socio que optó por los cambios en la IU y la otra no. En este caso, asegúrate de decidir qué IU verán los usuarios y de probar a fondo el comportamiento en tus dispositivos.