diff --git a/res/layout/network_reset_disallowed_screen.xml b/res/layout/network_reset_disallowed_screen.xml new file mode 100644 index 00000000000..04f6fc2b4ba --- /dev/null +++ b/res/layout/network_reset_disallowed_screen.xml @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 2369b2d9e98..0da6a906d1b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2557,6 +2557,8 @@ Reset settings Reset? + + Network reset is not available for this user Network settings have been reset @@ -5858,6 +5860,7 @@ recognizer input speech speak language hands-free hand free recognition offensive word audio history bluetooth headset rate language default speak speaking tts accessibility reader blind clock military + reset restore factory wipe delete restore clear remove printer speaker beep diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml index f9b4fbe4337..721a3bf44f3 100644 --- a/res/xml/privacy_settings.xml +++ b/res/xml/privacy_settings.xml @@ -48,7 +48,9 @@ diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java index 7c911cb058d..a2957598734 100644 --- a/src/com/android/settings/PrivacySettings.java +++ b/src/com/android/settings/PrivacySettings.java @@ -54,6 +54,7 @@ public class PrivacySettings extends SettingsPreferenceFragment implements Index private static final String AUTO_RESTORE = "auto_restore"; private static final String CONFIGURE_ACCOUNT = "configure_account"; private static final String BACKUP_INACTIVE = "backup_inactive"; + private static final String NETWORK_RESET = "network_reset"; private static final String FACTORY_RESET = "factory_reset"; private static final String TAG = "PrivacySettings"; private IBackupManager mBackupManager; @@ -244,5 +245,9 @@ public class PrivacySettings extends SettingsPreferenceFragment implements Index UserManager.DISALLOW_FACTORY_RESET)) { nonVisibleKeys.add(FACTORY_RESET); } + if (UserManager.get(context).hasUserRestriction( + UserManager.DISALLOW_NETWORK_RESET)) { + nonVisibleKeys.add(NETWORK_RESET); + } } } diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java index 587b8e8623b..2e57dc3fece 100644 --- a/src/com/android/settings/ResetNetwork.java +++ b/src/com/android/settings/ResetNetwork.java @@ -26,6 +26,7 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Environment; import android.os.SystemProperties; +import android.os.Process; import android.os.UserManager; import android.preference.Preference; import android.preference.PreferenceActivity; @@ -191,6 +192,12 @@ public class ResetNetwork extends InstrumentedFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + if (!Process.myUserHandle().isOwner() + || UserManager.get(getActivity()).hasUserRestriction( + UserManager.DISALLOW_NETWORK_RESET)) { + return inflater.inflate(R.layout.network_reset_disallowed_screen, null); + } + mContentView = inflater.inflate(R.layout.reset_network, null); establishInitialState(); diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java index f67467b9c42..7762b899530 100644 --- a/src/com/android/settings/ResetNetworkConfirm.java +++ b/src/com/android/settings/ResetNetworkConfirm.java @@ -22,6 +22,7 @@ import android.net.ConnectivityManager; import android.net.NetworkPolicyManager; import android.net.wifi.WifiManager; import android.os.Bundle; +import android.os.UserManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.view.LayoutInflater; @@ -108,6 +109,10 @@ public class ResetNetworkConfirm extends InstrumentedFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + if (UserManager.get(getActivity()).hasUserRestriction( + UserManager.DISALLOW_NETWORK_RESET)) { + return inflater.inflate(R.layout.network_reset_disallowed_screen, null); + } mContentView = inflater.inflate(R.layout.reset_network_confirm, null); establishFinalConfirmationState(); return mContentView;