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

В 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, код для 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-карты: одну от оператора-партнера, который выбрал изменения в пользовательском интерфейсе, а другую — нет. В этом случае обязательно определите, какой интерфейс будет отображаться для пользователей, и тщательно протестируйте его работу на своих устройствах.