Disable factory reset for secondary users
Search in Settings makes it possible to find the factory reset screen.
Disable the search index in PrivacySettings so that backup and reset
keywords don't get indexed for secondary users.
Also add additional safeguards for other entry points such as public
intents, so that the backup/reset screen does not show any options.
Bug: 18076086
Change-Id: Ie5135fbf4084038c99947a1a107ab4758f0c15a9
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index bbd98fb..f789b93 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -28,6 +28,7 @@
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Environment;
+import android.os.Process;
import android.os.SystemProperties;
import android.os.UserManager;
import android.preference.Preference;
@@ -234,7 +235,8 @@
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- if (UserManager.get(getActivity()).hasUserRestriction(
+ if (!Process.myUserHandle().isOwner()
+ || UserManager.get(getActivity()).hasUserRestriction(
UserManager.DISALLOW_FACTORY_RESET)) {
return inflater.inflate(R.layout.master_clear_disallowed_screen, null);
}