Files
app_Settings/res/xml/mobile_network_settings.xml
Gil Cukierman a2ddff3865 Honor DISALLOW_CELLULAR_2G User Restriction in Enable2gPreferenceController
When 2g is disallowed by a device admin the 2g toggle in the preference
screen will implement the following behaviors as a result of being
changed to a RestrictedSwitchPreference:
1. become disabled (greyed out)
2. show a summary message explaining that the preference was disabled by
   an admin
3 show a pop up when a user tries to click on the preference informing
  them that the setting is unusable because it was disabled by an admin.

Additionally, the toggle will show as unchecked (off) when admins
disable 2g.

When 2g is re-enabled by a device admin, the preference screen will go back
to its previous state.

Test: atest Enable2gPreferenceControllerTest
Bug: b/248250240
Change-Id: I7af901f2d9f62ebfe884e01724d8eff845c2968e
2022-10-19 21:01:17 +00:00

284 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2019 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="mobile_network_pref_screen">
<com.android.settings.widget.SettingsMainSwitchPreference
android:key="use_sim_switch"
android:title="@string/mobile_network_use_sim_on"
settings:controller="com.android.settings.network.telephony.MobileNetworkSwitchController"/>
<PreferenceCategory
android:key="enabled_state_container"
android:title="@string/summary_placeholder"
settings:controller="com.android.settings.network.telephony.DisabledSubscriptionController"
android:layout="@layout/preference_category_no_label">
<com.android.settings.datausage.DataUsageSummaryPreference
android:key="status_header"
android:visibility="gone"
android:selectable="false"/>
<ListPreference
android:key="calls_preference"
android:title="@string/calls_preference"
settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
settings:allowDividerAbove="true"/>
<ListPreference
android:key="sms_preference"
android:title="@string/sms_preference"
settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"/>
<Preference
android:key="cdma_lte_data_service_key"
android:title="@string/cdma_lte_data_service"
settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController"
settings:allowDividerAbove="true"
settings:allowDividerBelow="false"/>
<SwitchPreference
android:key="mobile_data_enable"
android:title="@string/mobile_data_settings_title"
android:summary="@string/mobile_data_settings_summary"
settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"
settings:allowDividerAbove="true"/>
<com.android.settingslib.RestrictedSwitchPreference
android:key="button_roaming_key"
android:title="@string/roaming"
android:persistent="false"
android:summaryOn="@string/roaming_enable"
android:summaryOff="@string/roaming_disable"
settings:userRestriction="no_data_roaming"
settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
<Preference
android:key="data_usage_summary"
android:title="@string/mobile_data_usage_title"
settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
<com.android.settings.datausage.BillingCyclePreference
android:key="billing_preference"
android:title="@string/billing_cycle"
settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/>
<SwitchPreference
android:key="carrier_wifi_toggle"
android:title="@string/carrier_wifi_offload_title"
android:summary="@string/carrier_wifi_offload_summary"
settings:controller="com.android.settings.network.CarrierWifiTogglePreferenceController"/>
<Preference
android:key="carrier_wifi_network"
android:title="@string/carrier_wifi_network_title"
android:selectable="false"
settings:searchable="false"/>
<SwitchPreference
android:key="mms_message"
android:title="@string/mms_message_title"
android:summary="@string/mms_message_summary"
settings:controller="com.android.settings.network.telephony.MmsMessagePreferenceController"/>
<SwitchPreference
android:key="data_during_calls"
android:title="@string/data_during_calls_title"
android:summary="@string/data_during_calls_summary"
settings:controller="com.android.settings.network.telephony.DataDuringCallsPreferenceController"/>
<SwitchPreference
android:key="enhanced_4g_lte"
android:title="@string/enhanced_4g_lte_mode_title"
android:persistent="false"
android:summary="@string/enhanced_4g_lte_mode_summary"
settings:keywords="@string/keywords_enhance_4g_lte"
settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
<SwitchPreference
android:key="4g_calling"
android:title="@string/enhanced_4g_lte_mode_title_4g_calling"
android:persistent="false"
android:summary="@string/enhanced_4g_lte_mode_summary_4g_calling"
settings:keywords="@string/keywords_enhance_4g_lte"
settings:controller="com.android.settings.network.telephony.Enhanced4gCallingPreferenceController"/>
<SwitchPreference
android:key="advance_call"
android:title="@string/enhanced_4g_lte_mode_title_advanced_calling"
android:persistent="false"
android:summary="@string/enhanced_4g_lte_mode_summary"
settings:keywords="@string/keywords_enhance_4g_lte"
settings:controller="com.android.settings.network.telephony.Enhanced4gAdvancedCallingPreferenceController"/>
<SwitchPreference
android:key="contact_discovery_opt_in"
android:title="@string/contact_discovery_opt_in_title"
android:persistent="false"
android:summary="@string/contact_discovery_opt_in_summary"
settings:controller="com.android.settings.network.telephony.ContactDiscoveryPreferenceController"/>
<ListPreference
android:key="preferred_network_mode_key"
android:title="@string/preferred_network_mode_title"
android:summary="@string/preferred_network_mode_summary"
android:entries="@array/preferred_network_mode_choices"
android:entryValues="@array/preferred_network_mode_values"
android:dialogTitle="@string/preferred_network_mode_dialogtitle"
settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
<ListPreference
android:key="enabled_networks_key"
android:title="@string/preferred_network_mode_title"
android:summary="@string/preferred_network_mode_summary"
android:entries="@array/enabled_networks_choices"
android:entryValues="@array/enabled_networks_values"
android:dialogTitle="@string/preferred_network_mode_dialogtitle"
settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
<Preference
android:key="carrier_settings_version_key"
android:title="@string/carrier_settings_version"
android:enabled="false"
android:shouldDisableView="false"
android:selectable="false"
settings:controller="com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController"
settings:enableCopying="true"/>
<PreferenceCategory
android:key="calling_category"
android:title="@string/call_category"
settings:controller="com.android.settings.network.telephony.CallingPreferenceCategoryController">
<Preference
android:key="wifi_calling"
android:title="@string/wifi_calling_settings_title"
android:summary="@string/wifi_calling_summary"
settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController">
<intent android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
<extra android:name="show_drawer_menu" android:value="true"/>
</intent>
</Preference>
<SwitchPreference
android:key="video_calling_key"
android:title="@string/video_calling_settings_title"
android:persistent="true"
settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController"/>
<SwitchPreference
android:key="backup_calling_key"
android:title="@string/backup_calling_settings_title"
android:persistent="false"
android:summary="@string/backup_calling_setting_summary"
settings:keywords="@string/keywords_backup_calling"
settings:controller="com.android.settings.network.telephony.BackupCallingPreferenceController"/>
</PreferenceCategory>
<com.android.settings.network.telephony.cdma.CdmaListPreference
android:key="cdma_system_select_key"
android:title="@string/cdma_system_select_title"
android:summary="@string/cdma_system_select_summary"
android:entries="@array/cdma_system_select_choices"
android:entryValues="@array/cdma_system_select_values"
android:dialogTitle="@string/cdma_system_select_dialogtitle"
settings:controller="com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController"/>
<com.android.settings.network.telephony.cdma.CdmaListPreference
android:key="cdma_subscription_key"
android:title="@string/cdma_subscription_title"
android:summary="@string/cdma_subscription_summary"
android:entries="@array/cdma_subscription_choices"
android:entryValues="@array/cdma_subscription_values"
android:dialogTitle="@string/cdma_subscription_dialogtitle"
settings:controller="com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController"/>
<PreferenceCategory
android:key="network_operators_category_key"
android:title="@string/network_operator_category"
settings:controller="com.android.settings.network.telephony.NetworkPreferenceCategoryController">
<SwitchPreference
android:key="auto_select_key"
android:title="@string/select_automatically"
settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
<Preference
android:key="choose_network_key"
android:title="@string/choose_network_title"
settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
</PreferenceCategory>
<!--We want separate APN setting from reset of settings because we want user to change it with caution-->
<com.android.settingslib.RestrictedPreference
android:key="telephony_apn_key"
android:persistent="false"
android:title="@string/mobile_network_apn_title"
settings:allowDividerAbove="true"
settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
<Preference
android:key="carrier_settings_key"
android:title="@string/carrier_settings_title"
settings:controller="com.android.settings.network.telephony.CarrierPreferenceController">
</Preference>
<com.android.settingslib.RestrictedSwitchPreference
android:key="enable_2g"
android:title="@string/enable_2g_title"
android:summary="@string/enable_2g_summary"
settings:controller="com.android.settings.network.telephony.Enable2gPreferenceController"
settings:useAdminDisabledSummary="true"
settings:userRestriction="no_cellular_2g"/>
<SwitchPreference
android:key="nr_advanced_calling"
android:title="@string/nr_advanced_calling_title"
android:persistent="false"
android:summary="@string/nr_advanced_calling_summary"
settings:keywords="@string/keywords_nr_advanced_calling"
settings:controller="com.android.settings.network.telephony.NrAdvancedCallingPreferenceController"/>
</PreferenceCategory>
<Preference
android:key="erase_sim"
android:persistent="false"
android:title="@string/mobile_network_erase_sim"
settings:allowDividerBelow="true"
settings:controller="com.android.settings.network.telephony.DeleteSimProfilePreferenceController"/>
<com.android.settingslib.widget.FooterPreference
android:key="disable_sim_explanation"
android:title="@string/mobile_network_disable_sim_explanation"
android:selectable="false"
settings:allowDividerAbove="true"
settings:searchable="false"
settings:controller="com.android.settings.network.telephony.DisableSimFooterPreferenceController"/>
<com.android.settingslib.widget.FooterPreference
android:key="no_5g_in_dsds_explanation"
android:title="@string/no_5g_in_dsds_text"
android:selectable="false"
settings:allowDividerAbove="true"
settings:searchable="false"
settings:controller="com.android.settings.network.telephony.NrDisabledInDsdsFooterPreferenceController"/>
</PreferenceScreen>