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

Commit 0d755030 authored by Stanley Wang's avatar Stanley Wang Committed by Automerger Merge Worker
Browse files

Merge "Fix the problem that the ToggleSubscriptionDialogActivity appears twice...

Merge "Fix the problem that the ToggleSubscriptionDialogActivity appears twice when switch changed." into sc-dev am: 09134b23

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15093552

Change-Id: Ie263d9dcfaa1d7d0e92c54456526b54d7c2ca0db
parents 29c21c4d 09134b23
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ public class AutoBrightnessDetailPreferenceController extends
        SettingsMainSwitchPreference pref = (SettingsMainSwitchPreference) screen.findPreference(
                getPreferenceKey());
        pref.addOnSwitchChangeListener(this);
        pref.updateStatus(isChecked());
        pref.setChecked(isChecked());
    }

    @Override
+11 −13
Original line number Diff line number Diff line
@@ -86,9 +86,12 @@ public class SettingsMainSwitchPreference extends TwoStatePreference implements
            mEnforcedAdmin = mRestrictedHelper.checkRestrictionEnforced();
        }
        mMainSwitchBar = (SettingsMainSwitchBar) holder.findViewById(R.id.main_switch_bar);
        initMainSwitchBar();
        if (mIsVisible) {
            mMainSwitchBar.show();
            updateStatus(isChecked());
            if (mMainSwitchBar.isChecked() != isChecked()) {
                setChecked(isChecked());
            }
            registerListenerToSwitchBar();
        } else {
            mMainSwitchBar.hide();
@@ -144,18 +147,6 @@ public class SettingsMainSwitchPreference extends TwoStatePreference implements
        super.setChecked(isChecked);
    }

    /**
     * Update the switch status of preference
     */
    public void updateStatus(boolean checked) {
        setChecked(checked);
        if (mMainSwitchBar != null) {
            mMainSwitchBar.setTitle(mTitle);
            mMainSwitchBar.setDisabledByAdmin(mEnforcedAdmin);
            mMainSwitchBar.show();
        }
    }

    /**
     * Show the MainSwitchBar
     */
@@ -251,6 +242,13 @@ public class SettingsMainSwitchPreference extends TwoStatePreference implements
        }
    }

    private void initMainSwitchBar() {
        if (mMainSwitchBar != null) {
            mMainSwitchBar.setTitle(mTitle);
            mMainSwitchBar.setDisabledByAdmin(mEnforcedAdmin);
        }
    }

    private void registerListenerToSwitchBar() {
        for (OnBeforeCheckedChangeListener listener : mBeforeCheckedChangeListeners) {
            mMainSwitchBar.setOnBeforeCheckedChangeListener(listener);
+2 −2
Original line number Diff line number Diff line
@@ -59,8 +59,8 @@ public class SettingsMainSwitchPreferenceTest {
    }

    @Test
    public void updateStatus_isRestricted_restrictIconShouldDisplay() {
        mPreference.updateStatus(true);
    public void onBindViewHolder_isRestricted_restrictIconShouldDisplay() {
        mPreference.onBindViewHolder(mHolder);

        final SettingsMainSwitchBar switchBar = mPreference.getSwitchBar();
        final ImageView restrictedIcon = switchBar.findViewById(