From fae4a88530d306ac92b0df0a114885b29a623554 Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Tue, 22 Dec 2015 13:43:14 -0800 Subject: [PATCH] Use disabled print services instead of enabled print services in print settings. Change-Id: I32bc8a8dda86f92b180f043a98b304fe676db98c --- .../print/PrintServiceSettingsFragment.java | 15 +++++---- .../settings/print/PrintSettingsFragment.java | 8 ++--- .../settings/print/PrintSettingsUtils.java | 32 +++++++++---------- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java index 722be0e0fc5..5d20f65e3db 100644 --- a/src/com/android/settings/print/PrintServiceSettingsFragment.java +++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java @@ -191,13 +191,13 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment private void onPreferenceToggled(String preferenceKey, boolean enabled) { ComponentName service = ComponentName.unflattenFromString(preferenceKey); - List services = PrintSettingsUtils.readEnabledPrintServices(getActivity()); + List services = PrintSettingsUtils.readDisabledPrintServices(getActivity()); if (enabled) { - services.add(service); - } else { services.remove(service); + } else { + services.add(service); } - PrintSettingsUtils.writeEnabledPrintServices(getActivity(), services); + PrintSettingsUtils.writeDisabledPrintServices(getActivity(), services); } private ListView getBackupListView() { @@ -253,8 +253,9 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment } private void updateUiForServiceState() { - List services = PrintSettingsUtils.readEnabledPrintServices(getActivity()); - mServiceEnabled = services.contains(mComponentName); + List disabledServices = PrintSettingsUtils + .readDisabledPrintServices(getActivity()); + mServiceEnabled = !disabledServices.contains(mComponentName); if (mServiceEnabled) { mSwitchBar.setCheckedInternal(true); mPrintersAdapter.enable(); @@ -431,7 +432,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment public void register(ContentResolver contentResolver) { contentResolver.registerContentObserver(android.provider.Settings.Secure.getUriFor( - android.provider.Settings.Secure.ENABLED_PRINT_SERVICES), false, this); + android.provider.Settings.Secure.DISABLED_PRINT_SERVICES), false, this); } public void unregister(ContentResolver contentResolver) { diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index a526022c96b..405b23970b6 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -207,8 +207,8 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment mPrintServicesCategory.removeAll(); } - List enabledServices = PrintSettingsUtils - .readEnabledPrintServices(getActivity()); + List disabledServices = PrintSettingsUtils + .readDisabledPrintServices(getActivity()); final PackageManager pm = getActivity().getPackageManager(); @@ -236,7 +236,7 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment preference.setFragment(PrintServiceSettingsFragment.class.getName()); preference.setPersistent(false); - final boolean serviceEnabled = enabledServices.contains(componentName); + final boolean serviceEnabled = !disabledServices.contains(componentName); if (serviceEnabled) { preference.setSummary(getString(R.string.print_feature_state_on)); } else { @@ -388,7 +388,7 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment public void register(ContentResolver contentResolver) { contentResolver.registerContentObserver(Settings.Secure.getUriFor( - Settings.Secure.ENABLED_PRINT_SERVICES), false, this); + Settings.Secure.DISABLED_PRINT_SERVICES), false, this); } public void unregister(ContentResolver contentResolver) { diff --git a/src/com/android/settings/print/PrintSettingsUtils.java b/src/com/android/settings/print/PrintSettingsUtils.java index d09f34505ba..87f26bec0c9 100644 --- a/src/com/android/settings/print/PrintSettingsUtils.java +++ b/src/com/android/settings/print/PrintSettingsUtils.java @@ -30,50 +30,50 @@ import java.util.List; */ public class PrintSettingsUtils { - private static final char ENABLED_PRINT_SERVICES_SEPARATOR = ':'; + private static final char DISABLED_PRINT_SERVICES_SEPARATOR = ':'; private PrintSettingsUtils() { /* do nothing */ } - public static List readEnabledPrintServices(Context context) { - List enabledServices = new ArrayList(); + public static List readDisabledPrintServices(Context context) { + List disabledServices = new ArrayList(); - String enabledServicesSetting = Settings.Secure.getString(context - .getContentResolver(), Settings.Secure.ENABLED_PRINT_SERVICES); - if (TextUtils.isEmpty(enabledServicesSetting)) { - return enabledServices; + String disabledServicesSetting = Settings.Secure.getString(context + .getContentResolver(), Settings.Secure.DISABLED_PRINT_SERVICES); + if (TextUtils.isEmpty(disabledServicesSetting)) { + return disabledServices; } SimpleStringSplitter colonSplitter = new SimpleStringSplitter( - ENABLED_PRINT_SERVICES_SEPARATOR); - colonSplitter.setString(enabledServicesSetting); + DISABLED_PRINT_SERVICES_SEPARATOR); + colonSplitter.setString(disabledServicesSetting); while (colonSplitter.hasNext()) { String componentNameString = colonSplitter.next(); - ComponentName enabledService = ComponentName.unflattenFromString( + ComponentName disabledService = ComponentName.unflattenFromString( componentNameString); - if (enabledService != null) { - enabledServices.add(enabledService); + if (disabledService != null) { + disabledServices.add(disabledService); } } - return enabledServices; + return disabledServices; } - public static void writeEnabledPrintServices(Context context, + public static void writeDisabledPrintServices(Context context, List services) { StringBuilder builder = new StringBuilder(); final int serviceCount = services.size(); for (int i = 0; i < serviceCount; i++) { ComponentName service = services.get(i); if (builder.length() > 0) { - builder.append(ENABLED_PRINT_SERVICES_SEPARATOR); + builder.append(DISABLED_PRINT_SERVICES_SEPARATOR); } builder.append(service.flattenToString()); } Settings.Secure.putString(context.getContentResolver(), - Settings.Secure.ENABLED_PRINT_SERVICES, + Settings.Secure.DISABLED_PRINT_SERVICES, builder.toString()); } }