OSDN Git Service

Use disabled print services instead of enabled print services in print settings.
authorPhilip P. Moltmann <moltmann@google.com>
Tue, 22 Dec 2015 21:43:14 +0000 (13:43 -0800)
committerPhilip P. Moltmann <moltmann@google.com>
Thu, 7 Jan 2016 17:30:43 +0000 (09:30 -0800)
Change-Id: I32bc8a8dda86f92b180f043a98b304fe676db98c

src/com/android/settings/print/PrintServiceSettingsFragment.java
src/com/android/settings/print/PrintSettingsFragment.java
src/com/android/settings/print/PrintSettingsUtils.java

index 722be0e..5d20f65 100644 (file)
@@ -191,13 +191,13 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
 
     private void onPreferenceToggled(String preferenceKey, boolean enabled) {
         ComponentName service = ComponentName.unflattenFromString(preferenceKey);
-        List<ComponentName> services = PrintSettingsUtils.readEnabledPrintServices(getActivity());
+        List<ComponentName> 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<ComponentName> services = PrintSettingsUtils.readEnabledPrintServices(getActivity());
-        mServiceEnabled = services.contains(mComponentName);
+        List<ComponentName> 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) {
index a526022..405b239 100644 (file)
@@ -207,8 +207,8 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment
             mPrintServicesCategory.removeAll();
         }
 
-        List<ComponentName> enabledServices = PrintSettingsUtils
-                .readEnabledPrintServices(getActivity());
+        List<ComponentName> 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) {
index d09f345..87f26be 100644 (file)
@@ -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<ComponentName> readEnabledPrintServices(Context context) {
-        List<ComponentName> enabledServices = new ArrayList<ComponentName>();
+    public static List<ComponentName> readDisabledPrintServices(Context context) {
+        List<ComponentName> disabledServices = new ArrayList<ComponentName>();
 
-        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<ComponentName> 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());
     }
 }