diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml index 1437db67da5..1d1bf16dbb0 100644 --- a/res/xml/network_provider_internet.xml +++ b/res/xml/network_provider_internet.xml @@ -30,6 +30,7 @@ settings:allowDividerAbove="true" settings:keywords="@string/keywords_internet" settings:useAdminDisabledSummary="true" + settings:userRestriction="no_config_wifi" settings:controller="com.android.settings.network.InternetPreferenceControllerV2" /> .isEnabled(context) + + override val restrictionKey: String + get() = UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS + override fun isFlagEnabled(context: Context) = Flags.catalystMobileNetworkList() override fun hasCompleteHierarchy() = false diff --git a/src/com/android/settings/network/NetworkProviderScreen.kt b/src/com/android/settings/network/NetworkProviderScreen.kt index fa3ed788b2a..77ecf3aaa85 100644 --- a/src/com/android/settings/network/NetworkProviderScreen.kt +++ b/src/com/android/settings/network/NetworkProviderScreen.kt @@ -16,6 +16,8 @@ package com.android.settings.network import android.content.Context +import android.os.UserManager +import com.android.settings.PreferenceRestrictionMixin import com.android.settings.R import com.android.settings.flags.Flags import com.android.settingslib.metadata.PreferenceAvailabilityProvider @@ -24,7 +26,8 @@ import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator @ProvidePreferenceScreen -class NetworkProviderScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { +class NetworkProviderScreen : + PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceRestrictionMixin { override val key: String get() = KEY @@ -40,6 +43,11 @@ class NetworkProviderScreen : PreferenceScreenCreator, PreferenceAvailabilityPro override fun isAvailable(context: Context) = context.resources.getBoolean(R.bool.config_show_internet_settings) + override fun isEnabled(context: Context) = super.isEnabled(context) + + override val restrictionKey: String + get() = UserManager.DISALLOW_CONFIG_WIFI + override fun isFlagEnabled(context: Context) = Flags.catalystInternetSettings() override fun hasCompleteHierarchy() = false diff --git a/src/com/android/settings/network/tether/TetherScreen.kt b/src/com/android/settings/network/tether/TetherScreen.kt index 20dc4b704fc..542fd5f743c 100644 --- a/src/com/android/settings/network/tether/TetherScreen.kt +++ b/src/com/android/settings/network/tether/TetherScreen.kt @@ -17,6 +17,8 @@ package com.android.settings.network.tether import android.content.Context import android.net.TetheringManager +import android.os.UserManager +import com.android.settings.PreferenceRestrictionMixin import com.android.settings.R import com.android.settings.flags.Flags import com.android.settings.network.TetherPreferenceController @@ -28,7 +30,8 @@ import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator @ProvidePreferenceScreen -class TetherScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { +class TetherScreen : + PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceRestrictionMixin { override val key: String get() = KEY @@ -49,6 +52,11 @@ class TetherScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { override fun isAvailable(context: Context) = TetherUtil.isTetherAvailable(context) + override fun isEnabled(context: Context) = super.isEnabled(context) + + override val restrictionKey: String + get() = UserManager.DISALLOW_CONFIG_TETHERING + override fun isFlagEnabled(context: Context) = Flags.catalystTetherSettings() override fun hasCompleteHierarchy() = false