Interfaz de usuario de conectividad

En Android 12 o versiones posteriores, los fabricantes de dispositivos pueden adoptar de forma 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 de API de Configuración rápida y Configuración. Todos estos cambios están disponibles en 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 de la interfaz de usuario de la experiencia de conectividad simplificada en AOSP a partir de Android 12.

Tarjeta de Internet en la Configuración rápida

El menú Configuración rápida incluye una tarjeta de Internet que abre un panel de Internet en el que los usuarios pueden cambiar entre las conexiones Wi-Fi y móviles. La tarjeta Internet combina las tarjetas Wi-Fi y Datos móviles que se usan en Android 11 o versiones anteriores.

Tarjeta de Internet en el menú de Configuración rápida

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.

Sección Llamadas y SMS en Configuración

Figura 2: Sección Llamadas y SMS en Configuración

Botón Restablecer en Configuración

En la app de Configuración, Redes y conexión a Internet > Internet, se incluye un botón de restablecimiento que permite a los usuarios restablecer los módems de telefonía y Wi-Fi en el dispositivo, lo que puede ser útil cuando se solucionan problemas de conectividad de red.

Botón Restablecer en Configuración para solucionar problemas de conectividad

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: Establece true para habilitar el comportamiento de simplificación de la conectividad, false para inhabilitarlo y usar el comportamiento heredado. A partir de Android 12, la ruta de código de false ya no se mantiene de forma activa.

Además, puedes configurar los siguientes modos de la interfaz de usuario para operadores individuales con la configuración del operador. Las claves de configuración son las siguientes:

  • CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL: 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étodo WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged).
  • CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL: Es un valor booleano que indica si se usa la conectividad de red de datos (IP) como condición complementaria para restringir la visualización del ícono sin llamadas.
  • CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL: Es un valor booleano que indica si se muestra el ícono de intensidad de la llamada 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 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ón config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes) y un período máximo de 6 horas (controlado a través de la superposición config_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 la API de stopRestrictingAutoJoinToSubscriptionId() se ejecuta mediante Configuración) 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 Wi-Fi.
  • TelephonyManager#rebootRadio(): Restablece el módem de radio.

Trabaja con varios operadores

Si adoptas la experiencia de conectividad simplificada para ciertos proveedores, pero no para otros, ten en cuenta el caso de varias tarjetas SIM, en el que un usuario usa dos SIM, una de un proveedor asociado que aceptó la IU cambia y la otra no. En esta situación, asegúrate de decidir qué IU ven los usuarios y de probar en detalle el comportamiento en tus dispositivos.