Merge "Fixe the problem of invalid switch preference." into tm-dev am: 3797d0904b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17956549

Change-Id: I405a89236d0a94da44035bf2528df3915003e6d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Stanley Wang
2022-04-28 05:22:00 +00:00
committed by Automerger Merge Worker

View File

@@ -122,9 +122,10 @@ public class MainSwitchPreference extends TwoStatePreference implements OnMainSw
* Adds a listener for switch changes * Adds a listener for switch changes
*/ */
public void addOnSwitchChangeListener(OnMainSwitchChangeListener listener) { public void addOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
if (mMainSwitchBar == null) { if (!mSwitchChangeListeners.contains(listener)) {
mSwitchChangeListeners.add(listener); mSwitchChangeListeners.add(listener);
} else { }
if (mMainSwitchBar != null) {
mMainSwitchBar.addOnSwitchChangeListener(listener); mMainSwitchBar.addOnSwitchChangeListener(listener);
} }
} }
@@ -133,9 +134,8 @@ public class MainSwitchPreference extends TwoStatePreference implements OnMainSw
* Remove a listener for switch changes * Remove a listener for switch changes
*/ */
public void removeOnSwitchChangeListener(OnMainSwitchChangeListener listener) { public void removeOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
if (mMainSwitchBar == null) { mSwitchChangeListeners.remove(listener);
mSwitchChangeListeners.remove(listener); if (mMainSwitchBar != null) {
} else {
mMainSwitchBar.removeOnSwitchChangeListener(listener); mMainSwitchBar.removeOnSwitchChangeListener(listener);
} }
} }