OSDN Git Service

This CL is not working (even after careful testing) but when I tried I was not comple...
authorFabrice Di Meglio <fdimeglio@google.com>
Wed, 28 May 2014 17:36:21 +0000 (17:36 +0000)
committerFabrice Di Meglio <fdimeglio@google.com>
Wed, 28 May 2014 17:36:37 +0000 (17:36 +0000)
Revert "Fix bug #15170508 When I initially load settings, all on/off toggles start in off position then move to on after pane loads"

This reverts commit 1e52db8063a0be2254097b4d85527a91d141b505.

Change-Id: I73bdfeba4a4b3e993e37cdae1e3733ffe272b9eb

17 files changed:
src/com/android/settings/DevelopmentSettings.java
src/com/android/settings/DreamSettings.java
src/com/android/settings/accessibility/CaptionPropertiesFragment.java
src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
src/com/android/settings/accessibility/ToggleGlobalGesturePreferenceFragment.java
src/com/android/settings/accessibility/ToggleInversionPreferenceFragment.java
src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
src/com/android/settings/bluetooth/BluetoothEnabler.java
src/com/android/settings/location/LocationSettings.java
src/com/android/settings/nfc/AndroidBeam.java
src/com/android/settings/notification/ZenModeSettings.java
src/com/android/settings/print/PrintServiceSettingsFragment.java
src/com/android/settings/widget/SwitchBar.java
src/com/android/settings/widget/ToggleSwitch.java
src/com/android/settings/wifi/WifiEnabler.java

index 94d8a36..1cd08f3 100644 (file)
@@ -168,6 +168,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
     private WifiManager mWifiManager;
 
     private SwitchBar mSwitchBar;
+    private Switch mEnabledSwitch;
     private boolean mLastEnabledState;
     private boolean mHaveDebugSettings;
     private boolean mDontPokeProperties;
@@ -388,8 +389,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
         final SettingsActivity activity = (SettingsActivity) getActivity();
 
         mSwitchBar = activity.getSwitchBar();
+        mEnabledSwitch = mSwitchBar.getSwitch();
         if (mUnavailable) {
-            mSwitchBar.setSwitchEnabled(false);
+            mEnabledSwitch.setEnabled(false);
             return;
         }
     }
@@ -442,7 +444,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
         final ContentResolver cr = getActivity().getContentResolver();
         mLastEnabledState = Settings.Global.getInt(cr,
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
-        mSwitchBar.setSwitchChecked(mLastEnabledState);
+        mEnabledSwitch.setChecked(mLastEnabledState);
         setPrefsEnabledState(mLastEnabledState);
 
         if (mHaveDebugSettings && !mLastEnabledState) {
@@ -453,7 +455,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
             Settings.Global.putInt(getActivity().getContentResolver(),
                     Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
             mLastEnabledState = true;
-            mSwitchBar.setSwitchChecked(mLastEnabledState);
+            mEnabledSwitch.setChecked(mLastEnabledState);
             setPrefsEnabledState(mLastEnabledState);
         }
 
@@ -1223,6 +1225,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
 
     @Override
     public void onSwitchChanged(Switch switchView, boolean isChecked) {
+        if (switchView != mEnabledSwitch) {
+            return;
+        }
         if (isChecked != mLastEnabledState) {
             if (isChecked) {
                 mDialogClicked = false;
@@ -1477,7 +1482,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
                 setPrefsEnabledState(mLastEnabledState);
             } else {
                 // Reset the toggle
-                mSwitchBar.setSwitchChecked(false);
+                mEnabledSwitch.setChecked(false);
             }
         }
     }
@@ -1491,7 +1496,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
             mAdbDialog = null;
         } else if (dialog == mEnableDialog) {
             if (!mDialogClicked) {
-                mSwitchBar.setSwitchChecked(false);
+                mEnabledSwitch.setChecked(false);
             }
             mEnableDialog = null;
         }
index d97e616..1175639 100644 (file)
@@ -61,6 +61,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements
     private DreamBackend mBackend;
     private DreamInfoAdapter mAdapter;
     private SwitchBar mSwitchBar;
+    private Switch mSwitch;
     private MenuItem[] mMenuItemsWhenEnabled;
     private boolean mRefreshing;
 
@@ -123,6 +124,7 @@ public class DreamSettings extends SettingsPreferenceFragment implements
 
         final SettingsActivity sa = (SettingsActivity) getActivity();
         mSwitchBar = sa.getSwitchBar();
+        mSwitch = mSwitchBar.getSwitch();
     }
 
     @Override
@@ -261,8 +263,8 @@ public class DreamSettings extends SettingsPreferenceFragment implements
         logd("refreshFromBackend()");
         mRefreshing = true;
         boolean dreamsEnabled = mBackend.isEnabled();
-        if (mSwitchBar.isSwitchChecked() != dreamsEnabled)
-            mSwitchBar.setSwitchChecked(dreamsEnabled);
+        if (mSwitch.isChecked() != dreamsEnabled)
+            mSwitch.setChecked(dreamsEnabled);
 
         mAdapter.clear();
         if (dreamsEnabled) {
index 937f3b7..5dcf121 100644 (file)
@@ -70,6 +70,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
     private SubtitleView mPreviewText;
     private View mPreviewWindow;
     private SwitchBar mSwitchBar;
+    private ToggleSwitch mToggleSwitch;
 
     // Standard options.
     private LocalePreference mLocale;
@@ -131,7 +132,8 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
 
         SettingsActivity activity = (SettingsActivity) getActivity();
         mSwitchBar = activity.getSwitchBar();
-        mSwitchBar.setSwitchChecked(enabled);
+        mToggleSwitch = mSwitchBar.getSwitch();
+        mToggleSwitch.setCheckedInternal(enabled);
 
         mPreviewWindow = view.findViewById(R.id.preview_window);
 
@@ -198,10 +200,10 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
     }
 
     protected void onInstallSwitchBarToggleSwitch() {
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
+        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
             @Override
             public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
-                mSwitchBar.setSwitchChecked(checked);
+                toggleSwitch.setCheckedInternal(checked);
                 Settings.Secure.putInt(getActivity().getContentResolver(),
                         Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, checked ? 1 : 0);
                 getPreferenceScreen().setEnabled(checked);
@@ -220,7 +222,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
 
     private void removeSwitchBarToggleSwitch() {
         mSwitchBar.hide();
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(null);
+        mToggleSwitch.setOnBeforeCheckedChangeListener(null);
     }
 
     private void initializeAllPreferences() {
index d18c7f3..a446f49 100644 (file)
@@ -58,7 +58,7 @@ public class ToggleAccessibilityServicePreferenceFragment
                     String settingValue = Settings.Secure.getString(getContentResolver(),
                             Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
                     final boolean enabled = settingValue.contains(mComponentName.flattenToString());
-                    mSwitchBar.setSwitchChecked(enabled);
+                    mToggleSwitch.setCheckedInternal(enabled);
                 }
             };
 
@@ -265,13 +265,13 @@ public class ToggleAccessibilityServicePreferenceFragment
         switch (which) {
             case DialogInterface.BUTTON_POSITIVE:
                 checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
-                mSwitchBar.setSwitchChecked(checked);
+                mToggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 break;
             case DialogInterface.BUTTON_NEGATIVE:
                 checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
-                mSwitchBar.setSwitchChecked(checked);
+                mToggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 break;
@@ -283,15 +283,15 @@ public class ToggleAccessibilityServicePreferenceFragment
     @Override
     protected void onInstallSwitchBarToggleSwitch() {
         super.onInstallSwitchBarToggleSwitch();
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
+        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
                 @Override
             public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
                 if (checked) {
-                    mSwitchBar.setSwitchChecked(false);
+                    toggleSwitch.setCheckedInternal(false);
                     getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
                     showDialog(DIALOG_ID_ENABLE_WARNING);
                 } else {
-                    mSwitchBar.setSwitchChecked(true);
+                    toggleSwitch.setCheckedInternal(true);
                     getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
                     showDialog(DIALOG_ID_DISABLE_WARNING);
                 }
index a39c5d8..b910f79 100644 (file)
@@ -80,7 +80,7 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF
     protected void onInstallSwitchBarToggleSwitch() {
         super.onInstallSwitchBarToggleSwitch();
 
-        mSwitchBar.setSwitchChecked(
+        mToggleSwitch.setCheckedInternal(
                 Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
         mSwitchBar.addOnSwitchChangeListener(this);
     }
index cc81289..331c0e3 100644 (file)
@@ -40,6 +40,7 @@ public abstract class ToggleFeaturePreferenceFragment
         extends SettingsPreferenceFragment {
 
     protected SwitchBar mSwitchBar;
+    protected ToggleSwitch mToggleSwitch;
 
     protected String mPreferenceKey;
     protected Preference mSummaryPreference;
@@ -88,6 +89,7 @@ public abstract class ToggleFeaturePreferenceFragment
 
         SettingsActivity activity = (SettingsActivity) getActivity();
         mSwitchBar = activity.getSwitchBar();
+        mToggleSwitch = mSwitchBar.getSwitch();
 
         onProcessArguments(getArguments());
     }
@@ -130,7 +132,7 @@ public abstract class ToggleFeaturePreferenceFragment
     }
 
     private void removeActionBarToggleSwitch() {
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(null);
+        mToggleSwitch.setOnBeforeCheckedChangeListener(null);
         onRemoveSwitchBarToggleSwitch();
         mSwitchBar.hide();
     }
@@ -151,7 +153,7 @@ public abstract class ToggleFeaturePreferenceFragment
         // Enabled.
         if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
             final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
-            mSwitchBar.setSwitchChecked(enabled);
+            mToggleSwitch.setCheckedInternal(enabled);
         }
 
         // Title.
index d815e50..782e7a5 100644 (file)
@@ -32,10 +32,10 @@ public class ToggleGlobalGesturePreferenceFragment
     @Override
     protected void onInstallSwitchBarToggleSwitch() {
         super.onInstallSwitchBarToggleSwitch();
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
+        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
                 @Override
             public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
-                    mSwitchBar.setSwitchChecked(checked);
+                toggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 return false;
index 594ed22..b6d5569 100644 (file)
@@ -71,7 +71,7 @@ public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFr
     protected void onInstallSwitchBarToggleSwitch() {
         super.onInstallSwitchBarToggleSwitch();
 
-        mSwitchBar.setSwitchChecked(
+        mToggleSwitch.setCheckedInternal(
                 Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
         mSwitchBar.addOnSwitchChangeListener(this);
     }
index 7c01d0e..8202a2a 100644 (file)
@@ -32,10 +32,10 @@ public class ToggleScreenMagnificationPreferenceFragment
     @Override
     protected void onInstallSwitchBarToggleSwitch() {
         super.onInstallSwitchBarToggleSwitch();
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
+        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
                 @Override
             public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
-                mSwitchBar.setSwitchChecked(checked);
+                toggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 return false;
index 4626ed4..be03b63 100644 (file)
@@ -40,6 +40,7 @@ import com.android.settings.widget.SwitchBar;
  */
 public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener {
     private Context mContext;
+    private Switch mSwitch;
     private SwitchBar mSwitchBar;
     private boolean mValidListener;
     private final LocalBluetoothAdapter mLocalAdapter;
@@ -74,13 +75,14 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
     public BluetoothEnabler(Context context, SwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
+        mSwitch = switchBar.getSwitch();
         mValidListener = false;
 
         LocalBluetoothManager manager = LocalBluetoothManager.getInstance(context);
         if (manager == null) {
             // Bluetooth is not supported
             mLocalAdapter = null;
-            mSwitchBar.setSwitchEnabled(false);
+            mSwitch.setEnabled(false);
         } else {
             mLocalAdapter = manager.getBluetoothAdapter();
         }
@@ -89,7 +91,7 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
 
     public void resume(Context context) {
         if (mLocalAdapter == null) {
-            mSwitchBar.setSwitchEnabled(false);
+            mSwitch.setEnabled(false);
             return;
         }
 
@@ -120,36 +122,36 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
     void handleStateChanged(int state) {
         switch (state) {
             case BluetoothAdapter.STATE_TURNING_ON:
-                mSwitchBar.setSwitchEnabled(false);
+                mSwitch.setEnabled(false);
                 break;
             case BluetoothAdapter.STATE_ON:
                 setChecked(true);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(true);
                 break;
             case BluetoothAdapter.STATE_TURNING_OFF:
-                mSwitchBar.setSwitchEnabled(false);
+                mSwitch.setEnabled(false);
                 break;
             case BluetoothAdapter.STATE_OFF:
                 setChecked(false);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(false);
                 break;
             default:
                 setChecked(false);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(false);
         }
     }
 
     private void setChecked(boolean isChecked) {
-        if (isChecked != mSwitchBar.isSwitchChecked()) {
+        if (isChecked != mSwitch.isChecked()) {
             // set listener to null, so onCheckedChanged won't be called
             // if the checked status on Switch isn't changed by user click
             if (mValidListener) {
                 mSwitchBar.removeOnSwitchChangeListener(this);
             }
-            mSwitchBar.setSwitchChecked(isChecked);
+            mSwitch.setChecked(isChecked);
             if (mValidListener) {
                 mSwitchBar.addOnSwitchChangeListener(this);
             }
@@ -178,6 +180,6 @@ public final class BluetoothEnabler implements SwitchBar.OnSwitchChangeListener
         if (mLocalAdapter != null) {
             mLocalAdapter.setBluetoothEnabled(isChecked);
         }
-        mSwitchBar.setSwitchEnabled(false);
+        mSwitch.setEnabled(false);
     }
 }
index 6eabf36..8794a8d 100644 (file)
@@ -53,6 +53,7 @@ public class LocationSettings extends LocationSettingsBase
     private static final String KEY_LOCATION_SERVICES = "location_services";
 
     private SwitchBar mSwitchBar;
+    private Switch mSwitch;
     private boolean mValidListener;
     private Preference mLocationMode;
     private PreferenceCategory mCategoryRecentLocationRequests;
@@ -71,6 +72,7 @@ public class LocationSettings extends LocationSettingsBase
         final SettingsActivity activity = (SettingsActivity) getActivity();
 
         mSwitchBar = activity.getSwitchBar();
+        mSwitch = mSwitchBar.getSwitch();
     }
 
     @Override
@@ -219,16 +221,16 @@ public class LocationSettings extends LocationSettingsBase
         // corner cases, the location might still be enabled. In such case the master switch should
         // be disabled but checked.
         boolean enabled = (mode != android.provider.Settings.Secure.LOCATION_MODE_OFF);
-        mSwitchBar.setSwitchEnabled(!restricted);
+        mSwitch.setEnabled(!restricted);
         mLocationMode.setEnabled(enabled && !restricted);
         mCategoryRecentLocationRequests.setEnabled(enabled);
 
-        if (enabled != mSwitchBar.isSwitchChecked()) {
+        if (enabled != mSwitch.isChecked()) {
             // set listener to null so that that code below doesn't trigger onCheckedChanged()
             if (mValidListener) {
                 mSwitchBar.removeOnSwitchChangeListener(this);
             }
-            mSwitchBar.setSwitchChecked(enabled);
+            mSwitch.setChecked(enabled);
             if (mValidListener) {
                 mSwitchBar.addOnSwitchChangeListener(this);
             }
index b63a975..eb3ff9b 100644 (file)
@@ -33,6 +33,7 @@ public class AndroidBeam extends Fragment
     private View mView;
     private NfcAdapter mNfcAdapter;
     private SwitchBar mSwitchBar;
+    private Switch mSwitch;
     private CharSequence mOldActivityTitle;
 
     @Override
@@ -62,7 +63,8 @@ public class AndroidBeam extends Fragment
         SettingsActivity activity = (SettingsActivity) getActivity();
 
         mSwitchBar = activity.getSwitchBar();
-        mSwitchBar.setSwitchChecked(mNfcAdapter.isNdefPushEnabled());
+        mSwitch = mSwitchBar.getSwitch();
+        mSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
     }
 
     @Override
@@ -92,15 +94,15 @@ public class AndroidBeam extends Fragment
     @Override
     public void onSwitchChanged(Switch switchView, boolean desiredState) {
         boolean success = false;
-        mSwitchBar.setSwitchEnabled(false);
+        mSwitch.setEnabled(false);
         if (desiredState) {
             success = mNfcAdapter.enableNdefPush();
         } else {
             success = mNfcAdapter.disableNdefPush();
         }
         if (success) {
-            mSwitchBar.setSwitchChecked(desiredState);
+            mSwitch.setChecked(desiredState);
         }
-        mSwitchBar.setSwitchEnabled(true);
+        mSwitch.setEnabled(true);
     }
 }
index 6482feb..e69fe95 100644 (file)
@@ -103,6 +103,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
     private final SettingsObserver mSettingsObserver = new SettingsObserver();
 
     private SwitchBar mSwitchBar;
+    private Switch mSwitch;
     private Context mContext;
     private PackageManager mPM;
     private ZenModeConfig mConfig;
@@ -154,6 +155,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
         if (DEBUG) Log.d(TAG, "Loaded mConfig=" + mConfig);
 
         mSwitchBar = ((SettingsActivity) mContext).getSwitchBar();
+        mSwitch = mSwitchBar.getSwitch();
 
         final PreferenceCategory general = (PreferenceCategory) root.findPreference(KEY_GENERAL);
 
@@ -382,8 +384,8 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
     private void updateZenMode() {
         final boolean zenMode = Global.getInt(getContentResolver(),
                 Global.ZEN_MODE, Global.ZEN_MODE_OFF) != Global.ZEN_MODE_OFF;
-        if (mSwitchBar.isSwitchChecked() != zenMode) {
-            mSwitchBar.setSwitchChecked(zenMode);
+        if (mSwitch.isChecked() != zenMode) {
+            mSwitch.setChecked(zenMode);
             mIgnoreNext = true;
         }
     }
index c1ebcb9..f104a06 100644 (file)
@@ -112,6 +112,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
     };
 
     private SwitchBar mSwitchBar;
+    private ToggleSwitch mToggleSwitch;
 
     private String mPreferenceKey;
 
@@ -208,13 +209,13 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         switch (which) {
             case DialogInterface.BUTTON_POSITIVE:
                 checked = true;
-                mSwitchBar.setSwitchChecked(checked);
+                mToggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 break;
             case DialogInterface.BUTTON_NEGATIVE:
                 checked = false;
-                mSwitchBar.setSwitchChecked(checked);
+                mToggleSwitch.setCheckedInternal(checked);
                 getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
                 onPreferenceToggled(mPreferenceKey, checked);
                 break;
@@ -227,7 +228,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         ListView listView = getListView();
         ViewGroup contentRoot = (ViewGroup) listView.getParent();
         View emptyView = listView.getEmptyView();
-        if (!mSwitchBar.isSwitchChecked()) {
+        if (!mToggleSwitch.isChecked()) {
             if (emptyView != null && emptyView.getId() != R.id.empty_print_state) {
                 contentRoot.removeView(emptyView);
                 emptyView = null;
@@ -276,10 +277,10 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         List<ComponentName> services = PrintSettingsUtils.readEnabledPrintServices(getActivity());
         mServiceEnabled = services.contains(mComponentName);
         if (mServiceEnabled) {
-            mSwitchBar.setSwitchChecked(true);
+            mToggleSwitch.setCheckedInternal(true);
             mPrintersAdapter.enable();
         } else {
-            mSwitchBar.setSwitchChecked(false);
+            mToggleSwitch.setCheckedInternal(false);
             mPrintersAdapter.disable();
         }
         getActivity().invalidateOptionsMenu();
@@ -292,12 +293,14 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
         final SettingsActivity activity = (SettingsActivity) getActivity();
 
         mSwitchBar = activity.getSwitchBar();
-        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {
+
+        mToggleSwitch = mSwitchBar.getSwitch();
+        mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {
             @Override
             public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
                 if (checked) {
                     if (!TextUtils.isEmpty(mEnableWarningMessage)) {
-                        mSwitchBar.setSwitchChecked(false);
+                        toggleSwitch.setCheckedInternal(false);
                         getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, false);
                         showDialog(DIALOG_ID_ENABLE_WARNING);
                         return true;
@@ -328,7 +331,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
 
         // Enabled.
         final boolean enabled = arguments.getBoolean(PrintSettingsFragment.EXTRA_CHECKED);
-        mSwitchBar.setSwitchChecked(enabled);
+        mToggleSwitch.setCheckedInternal(enabled);
 
         // Settings title and intent.
         String settingsTitle = arguments.getString(PrintSettingsFragment.EXTRA_SETTINGS_TITLE);
index 1675f2a..40c8481 100644 (file)
@@ -84,7 +84,10 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
 
         // Default is hide
         setVisibility(View.GONE);
-        mSwitch.setVisibility(View.GONE);
+    }
+
+    public ToggleSwitch getSwitch() {
+        return mSwitch;
     }
 
     public void show() {
@@ -122,39 +125,4 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
         }
         mSwitchChangeListeners.remove(listener);
     }
-
-    public void setSwitchOnBeforeCheckedChangeListener(
-            ToggleSwitch.OnBeforeCheckedChangeListener listener) {
-        mSwitch.setOnBeforeCheckedChangeListener(listener);
-    }
-
-    public void setSwitchChecked(boolean checked) {
-        setSwitchChecked(checked, false);
-    }
-
-    public void setSwitchChecked(boolean checked, boolean checkBefore) {
-        if (checkBefore) {
-            ToggleSwitch.OnBeforeCheckedChangeListener listener =
-                    mSwitch.getOnBeforeCheckedChangeListener();
-            if (listener != null && listener.onBeforeCheckedChanged(mSwitch, checked)) {
-                return;
-            }
-
-        }
-        mSwitch.setCheckedInternal(checked);
-        if (mSwitch.getVisibility() == View.GONE) {
-            mSwitch.setVisibility(View.VISIBLE);
-        }
-    }
-
-    public void setSwitchEnabled(boolean enabled) {
-        mSwitch.setEnabled(enabled);
-        if (mSwitch.getVisibility() == View.GONE) {
-            mSwitch.setVisibility(View.VISIBLE);
-        }
-    }
-
-    public boolean isSwitchChecked() {
-        return mSwitch.isChecked();
-    }
 }
index ab0c37e..8232ff1 100644 (file)
@@ -48,10 +48,6 @@ public class ToggleSwitch extends Switch {
         mOnBeforeListener = listener;
     }
 
-    public OnBeforeCheckedChangeListener getOnBeforeCheckedChangeListener() {
-        return mOnBeforeListener;
-    }
-
     @Override
     public void setChecked(boolean checked) {
         if (mOnBeforeListener != null
index 1e86761..9f0b6fa 100644 (file)
@@ -27,6 +27,7 @@ import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.Settings;
+import android.widget.CompoundButton;
 import android.widget.Switch;
 import android.widget.Toast;
 
@@ -39,6 +40,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 public class WifiEnabler implements SwitchBar.OnSwitchChangeListener  {
     private Context mContext;
+    private Switch mSwitch;
     private SwitchBar mSwitchBar;
     private AtomicBoolean mConnected = new AtomicBoolean(false);
 
@@ -85,6 +87,7 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener  {
     public WifiEnabler(Context context, SwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
+        mSwitch = switchBar.getSwitch();
 
         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
         mIntentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
@@ -110,24 +113,24 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener  {
     private void handleWifiStateChanged(int state) {
         switch (state) {
             case WifiManager.WIFI_STATE_ENABLING:
-                mSwitchBar.setSwitchEnabled(false);
+                mSwitch.setEnabled(false);
                 break;
             case WifiManager.WIFI_STATE_ENABLED:
                 setSwitchChecked(true);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(true);
                 break;
             case WifiManager.WIFI_STATE_DISABLING:
-                mSwitchBar.setSwitchEnabled(false);
+                mSwitch.setEnabled(false);
                 break;
             case WifiManager.WIFI_STATE_DISABLED:
                 setSwitchChecked(false);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(false);
                 break;
             default:
                 setSwitchChecked(false);
-                mSwitchBar.setSwitchEnabled(true);
+                mSwitch.setEnabled(true);
                 updateSearchIndex(false);
         }
     }
@@ -142,9 +145,9 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener  {
     }
 
     private void setSwitchChecked(boolean checked) {
-        if (checked != mSwitchBar.isSwitchChecked()) {
+        if (checked != mSwitch.isChecked()) {
             mStateMachineEvent = true;
-            mSwitchBar.setSwitchChecked(checked);
+            mSwitch.setChecked(checked);
             mStateMachineEvent = false;
         }
     }
@@ -186,10 +189,10 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener  {
             mWifiManager.setWifiApEnabled(null, false);
         }
 
-        mSwitchBar.setSwitchEnabled(false);
+        mSwitch.setEnabled(false);
         if (!mWifiManager.setWifiEnabled(isChecked)) {
             // Error
-            mSwitchBar.setSwitchEnabled(true);
+            mSwitch.setEnabled(true);
             Toast.makeText(mContext, R.string.wifi_error, Toast.LENGTH_SHORT).show();
         }
     }