Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e52db80 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Fix bug #15170508 When I initially load settings, all on/off toggles start in...

Fix bug #15170508 When I initially load settings, all on/off toggles start in off position then move to on after pane loads

- refactor all the code that was using the Switch to control it thru the SwitchBar
- start the Switch as View.GONE and make it View.VISIBLE when it is set
as "enabled" or "checked" so that you dont see the Switch transition (it shows
only with it final state)

Change-Id: I382076bf3c819c530b5b2c06ca2429dfb2cdc6bf
parent 22807d93
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -168,7 +168,6 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
    private WifiManager mWifiManager;

    private SwitchBar mSwitchBar;
    private Switch mEnabledSwitch;
    private boolean mLastEnabledState;
    private boolean mHaveDebugSettings;
    private boolean mDontPokeProperties;
@@ -389,9 +388,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
        final SettingsActivity activity = (SettingsActivity) getActivity();

        mSwitchBar = activity.getSwitchBar();
        mEnabledSwitch = mSwitchBar.getSwitch();
        if (mUnavailable) {
            mEnabledSwitch.setEnabled(false);
            mSwitchBar.setSwitchEnabled(false);
            return;
        }
    }
@@ -444,7 +442,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
        final ContentResolver cr = getActivity().getContentResolver();
        mLastEnabledState = Settings.Global.getInt(cr,
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
        mEnabledSwitch.setChecked(mLastEnabledState);
        mSwitchBar.setSwitchChecked(mLastEnabledState);
        setPrefsEnabledState(mLastEnabledState);

        if (mHaveDebugSettings && !mLastEnabledState) {
@@ -455,7 +453,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
            Settings.Global.putInt(getActivity().getContentResolver(),
                    Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
            mLastEnabledState = true;
            mEnabledSwitch.setChecked(mLastEnabledState);
            mSwitchBar.setSwitchChecked(mLastEnabledState);
            setPrefsEnabledState(mLastEnabledState);
        }

@@ -1225,9 +1223,6 @@ public class DevelopmentSettings extends SettingsPreferenceFragment

    @Override
    public void onSwitchChanged(Switch switchView, boolean isChecked) {
        if (switchView != mEnabledSwitch) {
            return;
        }
        if (isChecked != mLastEnabledState) {
            if (isChecked) {
                mDialogClicked = false;
@@ -1482,7 +1477,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
                setPrefsEnabledState(mLastEnabledState);
            } else {
                // Reset the toggle
                mEnabledSwitch.setChecked(false);
                mSwitchBar.setSwitchChecked(false);
            }
        }
    }
@@ -1496,7 +1491,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
            mAdbDialog = null;
        } else if (dialog == mEnableDialog) {
            if (!mDialogClicked) {
                mEnabledSwitch.setChecked(false);
                mSwitchBar.setSwitchChecked(false);
            }
            mEnableDialog = null;
        }
+2 −4
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ public class DreamSettings extends SettingsPreferenceFragment implements
    private DreamBackend mBackend;
    private DreamInfoAdapter mAdapter;
    private SwitchBar mSwitchBar;
    private Switch mSwitch;
    private MenuItem[] mMenuItemsWhenEnabled;
    private boolean mRefreshing;

@@ -124,7 +123,6 @@ public class DreamSettings extends SettingsPreferenceFragment implements

        final SettingsActivity sa = (SettingsActivity) getActivity();
        mSwitchBar = sa.getSwitchBar();
        mSwitch = mSwitchBar.getSwitch();
    }

    @Override
@@ -263,8 +261,8 @@ public class DreamSettings extends SettingsPreferenceFragment implements
        logd("refreshFromBackend()");
        mRefreshing = true;
        boolean dreamsEnabled = mBackend.isEnabled();
        if (mSwitch.isChecked() != dreamsEnabled)
            mSwitch.setChecked(dreamsEnabled);
        if (mSwitchBar.isSwitchChecked() != dreamsEnabled)
            mSwitchBar.setSwitchChecked(dreamsEnabled);

        mAdapter.clear();
        if (dreamsEnabled) {
+4 −6
Original line number Diff line number Diff line
@@ -70,7 +70,6 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
    private SubtitleView mPreviewText;
    private View mPreviewWindow;
    private SwitchBar mSwitchBar;
    private ToggleSwitch mToggleSwitch;

    // Standard options.
    private LocalePreference mLocale;
@@ -132,8 +131,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment

        SettingsActivity activity = (SettingsActivity) getActivity();
        mSwitchBar = activity.getSwitchBar();
        mToggleSwitch = mSwitchBar.getSwitch();
        mToggleSwitch.setCheckedInternal(enabled);
        mSwitchBar.setSwitchChecked(enabled);

        mPreviewWindow = view.findViewById(R.id.preview_window);

@@ -200,10 +198,10 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
    }

    protected void onInstallSwitchBarToggleSwitch() {
        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
            @Override
            public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
                toggleSwitch.setCheckedInternal(checked);
                mSwitchBar.setSwitchChecked(checked);
                Settings.Secure.putInt(getActivity().getContentResolver(),
                        Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, checked ? 1 : 0);
                getPreferenceScreen().setEnabled(checked);
@@ -222,7 +220,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment

    private void removeSwitchBarToggleSwitch() {
        mSwitchBar.hide();
        mToggleSwitch.setOnBeforeCheckedChangeListener(null);
        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(null);
    }

    private void initializeAllPreferences() {
+6 −6
Original line number Diff line number Diff line
@@ -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());
                    mToggleSwitch.setCheckedInternal(enabled);
                    mSwitchBar.setSwitchChecked(enabled);
                }
            };

@@ -265,13 +265,13 @@ public class ToggleAccessibilityServicePreferenceFragment
        switch (which) {
            case DialogInterface.BUTTON_POSITIVE:
                checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
                mToggleSwitch.setCheckedInternal(checked);
                mSwitchBar.setSwitchChecked(checked);
                getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                onPreferenceToggled(mPreferenceKey, checked);
                break;
            case DialogInterface.BUTTON_NEGATIVE:
                checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
                mToggleSwitch.setCheckedInternal(checked);
                mSwitchBar.setSwitchChecked(checked);
                getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
                onPreferenceToggled(mPreferenceKey, checked);
                break;
@@ -283,15 +283,15 @@ public class ToggleAccessibilityServicePreferenceFragment
    @Override
    protected void onInstallSwitchBarToggleSwitch() {
        super.onInstallSwitchBarToggleSwitch();
        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
        mSwitchBar.setSwitchOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
                @Override
            public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
                if (checked) {
                    toggleSwitch.setCheckedInternal(false);
                    mSwitchBar.setSwitchChecked(false);
                    getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
                    showDialog(DIALOG_ID_ENABLE_WARNING);
                } else {
                    toggleSwitch.setCheckedInternal(true);
                    mSwitchBar.setSwitchChecked(true);
                    getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
                    showDialog(DIALOG_ID_DISABLE_WARNING);
                }
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF
    protected void onInstallSwitchBarToggleSwitch() {
        super.onInstallSwitchBarToggleSwitch();

        mToggleSwitch.setCheckedInternal(
        mSwitchBar.setSwitchChecked(
                Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
        mSwitchBar.addOnSwitchChangeListener(this);
    }
Loading