Пользовательский интерфейс подключения

В Android 12 и более поздних версиях производители устройств могут опционально внедрить упрощённый интерфейс подключения, который помогает пользователям лучше понимать свои сетевые подключения, переключаться между интернет-провайдерами и устранять неполадки. Эти изменения в пользовательском интерфейсе по сравнению с Android 11 и более ранними версиями отражены в пользовательском интерфейсе, иконках и изменениях API для быстрых настроек и настроек. Все эти изменения доступны в AOSP для производителей устройств, которые могут включить их как есть или настроить.

Обзор упрощенного процесса подключения

В этом разделе описываются основные изменения пользовательского интерфейса упрощенного подключения в AOSP, начиная с Android 12.

Плитка «Интернет» в быстрых настройках

В меню быстрых настроек есть плитка «Интернет», которая открывает панель «Интернет», где пользователи могут переключаться между Wi-Fi и сотовой связью. Плитка «Интернет» объединяет плитки «Wi-Fi» и «Мобильные данные», используемые в Android 11 и более ранних версиях.

Плитка «Интернет» в меню быстрых настроек

Рисунок 1. Плитка «Интернет» в быстрых настройках

Раздел «Вызовы и SMS» в настройках

В приложении «Настройки» в разделе «Сеть и Интернет» есть раздел « Вызовы и SMS» , в котором отображается статус доступности и параметры вызовов по Wi-Fi.

Раздел «Вызовы и SMS» в настройках

Рисунок 2. Раздел «Вызовы и SMS» в настройках

Кнопка сброса в настройках

В приложении «Настройки» в разделе «Сеть и Интернет» > «Интернет» есть кнопка сброса , которая позволяет пользователям сбросить настройки телефонии и модемов Wi-Fi на устройстве, что может быть полезно при устранении неполадок с сетевым подключением.

Кнопка «Сброс» в настройках для устранения проблем с подключением

Рисунок 3. Кнопка сброса для устранения неполадок подключения

Выполнение

Чтобы включить упрощенное подключение на вашем устройстве, используйте следующий флаг глобальных настроек:

  • Имя: persist.sys.fflag.override.settings_provider_model
  • Тип: логический
  • Значение: true , чтобы включить режим упрощения подключения, false , чтобы отключить его и использовать устаревший режим. Начиная с Android 12, codepath для false больше не поддерживается активно.

Кроме того, с помощью конфигурации оператора можно настроить следующие режимы пользовательского интерфейса для отдельных операторов. Ключи конфигурации:

  • CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL : Логическое значение, указывающее, настраивает ли оператор сети Wi-Fi, входящие в его базовую сеть и отображаемые как часть мобильной сети. Работает совместно с методом WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged) .
  • CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL : логическое значение, указывающее, используется ли подключение к сети передачи данных (IP) в качестве дополнительного условия для отображения значка отсутствия вызова .
  • CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL : логическое значение, указывающее, отображается ли значок уровня сигнала вызова в пользовательском интерфейсе системы.

API-интерфейсы фреймворка

Чтобы временно отключить ближайшие сети Wi-Fi, используйте следующие API:

  • WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId) : позволяет пользователю выбрать сеть оператора, не отключая Wi-Fi. Отключает все видимые сети Wi-Fi минимум на 30 минут (управляется с помощью наложения config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes ) и максимум на 6 часов (управляется с помощью наложения config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes ). Сети Wi-Fi включаются снова при каждом переключении Wi-Fi, перезагрузке устройства, выборе пользователем сети Wi-Fi (в этом случае API stopRestrictingAutoJoinToSubscriptionId() выполняется в настройках) или если сеть не видна в течение 60 минут.
  • WifiManager#stopRestrictingAutoJoinToSubscriptionId() : восстанавливает нормальную работу.

Для поддержки кнопки сброса и пользовательского интерфейса устранения неполадок, который реализован в классе com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager , используйте следующие API:

  • WifiManager#restartWifiSubsystem(String reason) : перезапускает подсистему Wi-Fi.
  • TelephonyManager#rebootRadio() : Сбрасывает радиомодем.

Работа с несколькими операторами

Если вы используете упрощённый интерфейс для определённых операторов, но не для всех, учтите возможность использования нескольких SIM-карт, когда пользователь использует две SIM-карты: одну от оператора-партнёра, который принял изменения в интерфейсе, а другую — нет. В этом случае обязательно определите, какой интерфейс будет отображаться для пользователей, и тщательно протестируйте его на своих устройствах.