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

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