Interfaz de usuario de conectividad

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.

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, 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.

Botón de restablecimiento 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: Se establece en true para habilitar el comportamiento de simplificación de la conectividad y en false para inhabilitarlo y usar el comportamiento heredado. A partir de Android 12, la ruta de código para false 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étodo WifiNetworkSuggestion.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ó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, Configuración ejecuta la API de stopRestrictingAutoJoinToSubscriptionId()) 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.