This CL is not working (even after careful testing) but when I tried I was not completely ToT.
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 1e52db8063
.
Change-Id: I73bdfeba4a4b3e993e37cdae1e3733ffe272b9eb
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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() {
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user