Interface do usuário de conectividade

No Android 12 ou superior, os fabricantes de dispositivos podem adotar opcionalmente uma experiência de conectividade simplificada que ajuda os usuários a entender melhor suas conexões de rede, alternar entre provedores de Internet e solucionar problemas de conectividade de rede. Essas alterações na experiência do usuário em comparação com o Android 11 ou inferior são refletidas na interface do usuário, na iconografia e nas alterações da API para configurações e configurações rápidas. Todas essas alterações estão disponíveis no AOSP para que os fabricantes de dispositivos habilitem como estão ou personalizem.

Visão geral da experiência de conectividade simplificada

Esta seção descreve as principais mudanças na interface do usuário da experiência de conectividade simplificada no AOSP a partir do Android 12.

Bloco de Internet em Configurações rápidas

O menu Configurações rápidas inclui um bloco de Internet que abre um painel de Internet onde os usuários podem alternar entre conexões Wi-Fi e celulares. O bloco Internet combina os blocos Wi-Fi e Dados Móveis usados ​​no Android 11 ou inferior.

Bloco de Internet no menu Configurações rápidas

Figura 1. Bloco de Internet em Configurações rápidas

Seção de chamadas e SMS em Configurações

O aplicativo Configurações inclui uma seção Chamadas e SMS em Rede e Internet que exibe o status de disponibilidade e as opções de chamada Wi-Fi.

Seção de chamadas e SMS em Configurações

Figura 2. Seção de chamadas e SMS em Configurações

Botão Redefinir em Configurações

No aplicativo Configurações, Rede e Internet > Internet inclui um botão de redefinição que permite que os usuários redefinam os modems de telefonia e Wi-Fi no dispositivo, o que pode ser útil ao solucionar problemas de conectividade de rede.

Botão Redefinir em Configurações para solucionar problemas de conectividade

Figura 3. Botão Redefinir para solucionar problemas de conectividade

Implementação

Para habilitar a experiência de conectividade simplificada em seu dispositivo, use o seguinte sinalizador de configurações globais:

  • Nome: persist.sys.fflag.override.settings_provider_model
  • Tipo: booleano
  • Valor: Defina como true para habilitar o comportamento de simplificação de conectividade, false para desabilitá-lo e usar o comportamento legado. A partir do Android 12, o codepath para false não é mais mantido ativamente.

Além disso, você pode configurar os seguintes modos da interface do usuário para operadoras individuais usando a configuração da operadora . As chaves de configuração são:

  • CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL : Um booleano que indica se a operadora configura redes Wi-Fi que fazem parte de sua rede principal e são exibidas como parte da rede celular. Isso funciona em conjunto com o WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged) .
  • CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL : Um booleano que indica se a conectividade de rede de dados (IP) é usada como uma condição suplementar para exibir o ícone de não chamada .
  • CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL : um booleano que indica se o ícone de intensidade da chamada é exibido na interface do usuário do sistema.

APIs de estrutura

Para desativar temporariamente as redes Wi-Fi próximas, use as seguintes APIs:

  • WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId) : permite que o usuário selecione uma rede de operadora sem desabilitar o Wi-Fi. Desativa todas as redes Wi-Fi atualmente visíveis por uma duração mínima de 30 minutos (controlada por meio da sobreposição config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes ) e uma duração máxima de 6 horas (controlada por meio da sobreposição config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes ). As redes Wi-Fi são reativadas sempre que o Wi-Fi é alternado, o dispositivo é reinicializado, se o usuário selecionar uma rede Wi-Fi (nesse caso, a API stopRestrictingAutoJoinToSubscriptionId() é executada por Configurações) ou se a rede não estiver visível por 60 minutos.
  • WifiManager#stopRestrictingAutoJoinToSubscriptionId() : Restaura a operação normal.

Para oferecer suporte ao botão de redefinição e à interface do usuário de solução de problemas, que é implementada na classe com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager , use as seguintes APIs:

  • WifiManager#restartWifiSubsystem(String reason) : Reinicia o subsistema Wi-Fi.
  • TelephonyManager#rebootRadio() : Reinicia o modem de rádio.

Trabalhando com várias operadoras

Se você adotar a experiência de conectividade simplificada para determinadas operadoras, mas não para outras, esteja ciente do cenário multi-SIM, em que um usuário usa dois SIMs, um de uma operadora parceira que optou pelas alterações de interface do usuário, enquanto o outro não. Nesse cenário, certifique-se de decidir qual IU os usuários veem e testar completamente o comportamento em seus dispositivos.