summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/PrivacySettings.java
diff options
context:
space:
mode:
authorStuart Scott <stuartscott@google.com>2014-07-24 19:22:06 -0700
committerStuart Scott <stuartscott@google.com>2015-03-09 13:18:50 -0700
commitbe90341c808ac5b17149eb42eac966906c6f2041 (patch)
treed9e62776c992a5db7e9eb3d76f60fbac69c98a3a /src/com/android/settings/PrivacySettings.java
parent792343b2f5b804f941d8dc397d2017cce854f519 (diff)
downloadpackages_apps_Settings-be90341c808ac5b17149eb42eac966906c6f2041.zip
packages_apps_Settings-be90341c808ac5b17149eb42eac966906c6f2041.tar.gz
packages_apps_Settings-be90341c808ac5b17149eb42eac966906c6f2041.tar.bz2
Add option to reset network settings to factory
bug:16161518 Change-Id: I7c0cc58d5385352c6c9af2b27af23a744b5df977
Diffstat (limited to 'src/com/android/settings/PrivacySettings.java')
-rw-r--r--src/com/android/settings/PrivacySettings.java44
1 files changed, 18 insertions, 26 deletions
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 8df78c5..2c03352 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -43,7 +43,10 @@ import com.android.settings.search.Indexable;
import com.android.settings.search.Indexable.SearchIndexProvider;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
/**
* Gesture lock pattern settings.
@@ -53,12 +56,11 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
// Vendor specific
private static final String GSETTINGS_PROVIDER = "com.google.settings";
- private static final String BACKUP_CATEGORY = "backup_category";
private static final String BACKUP_DATA = "backup_data";
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 PERSONAL_DATA_CATEGORY = "personal_data_category";
+ private static final String FACTORY_RESET = "factory_reset";
private static final String TAG = "PrivacySettings";
private IBackupManager mBackupManager;
private SwitchPreference mBackup;
@@ -92,7 +94,8 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
mConfigure = (PreferenceScreen) screen.findPreference(CONFIGURE_ACCOUNT);
- ArrayList<String> keysToRemove = getNonVisibleKeys(getActivity());
+ Set<String> keysToRemove = new HashSet<>();
+ getNonVisibleKeys(getActivity(), keysToRemove);
final int screenPreferenceCount = screen.getPreferenceCount();
for (int i = screenPreferenceCount - 1; i >= 0; --i) {
Preference preference = screen.getPreference(i);
@@ -100,16 +103,7 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
screen.removePreference(preference);
}
}
- PreferenceCategory backupCategory = (PreferenceCategory) findPreference(BACKUP_CATEGORY);
- if (backupCategory != null) {
- final int backupCategoryPreferenceCount = backupCategory.getPreferenceCount();
- for (int i = backupCategoryPreferenceCount - 1; i >= 0; --i) {
- Preference preference = backupCategory.getPreference(i);
- if (keysToRemove.contains(preference.getKey())) {
- backupCategory.removePreference(preference);
- }
- }
- }
+
updateToggles();
}
@@ -300,12 +294,13 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
@Override
public List<String> getNonIndexableKeys(Context context) {
- return getNonVisibleKeys(context);
+ final List<String> nonVisibleKeys = new ArrayList<>();
+ getNonVisibleKeys(context, nonVisibleKeys);
+ return nonVisibleKeys;
}
}
- private static ArrayList<String> getNonVisibleKeys(Context context) {
- final ArrayList<String> nonVisibleKeys = new ArrayList<String>();
+ private static void getNonVisibleKeys(Context context, Collection<String> nonVisibleKeys) {
final IBackupManager backupManager = IBackupManager.Stub.asInterface(
ServiceManager.getService(Context.BACKUP_SERVICE));
boolean isServiceActive = false;
@@ -315,22 +310,19 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
Log.w(TAG, "Failed querying backup manager service activity status. " +
"Assuming it is inactive.");
}
- if (isServiceActive) {
+ boolean vendorSpecific = context.getPackageManager().
+ resolveContentProvider(GSETTINGS_PROVIDER, 0) == null;
+ if (vendorSpecific || isServiceActive) {
nonVisibleKeys.add(BACKUP_INACTIVE);
- } else {
+ }
+ if (vendorSpecific || !isServiceActive) {
+ nonVisibleKeys.add(BACKUP_DATA);
nonVisibleKeys.add(AUTO_RESTORE);
nonVisibleKeys.add(CONFIGURE_ACCOUNT);
- nonVisibleKeys.add(BACKUP_DATA);
}
if (UserManager.get(context).hasUserRestriction(
UserManager.DISALLOW_FACTORY_RESET)) {
- nonVisibleKeys.add(PERSONAL_DATA_CATEGORY);
- }
- // Vendor specific
- if (context.getPackageManager().
- resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) {
- nonVisibleKeys.add(BACKUP_CATEGORY);
+ nonVisibleKeys.add(FACTORY_RESET);
}
- return nonVisibleKeys;
}
}