From a48aa965abb64d0be65aebaf25d38e51c4d13835 Mon Sep 17 00:00:00 2001 From: shaoweishen Date: Tue, 15 Feb 2022 12:47:48 +0000 Subject: [PATCH] [Output Switcher] Clear listener of checkbox when about to set it. Clear listener when adding it, to avoid duplicate call for one device. Bug: 219071885 Test: Verified on device Change-Id: I9af3a395a752da426b08af89a12036b7f1b86316 --- .../com/android/systemui/media/dialog/MediaOutputAdapter.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java index 5b29719d109c9..55f9e5914de1e 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java @@ -103,6 +103,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { } mCheckBox.setVisibility(View.GONE); mStatusIcon.setVisibility(View.GONE); + mContainerLayout.setOnClickListener(null); mTitleText.setTextColor(mController.getColorInactiveItem()); mSeekBar.getProgressDrawable().setColorFilter( new PorterDuffColorFilter(mController.getColorSeekbarProgress(), @@ -151,6 +152,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { setSingleLineLayout(getItemTitle(device), true /* bFocused */, true /* showSeekBar */, false /* showProgressBar */, false /* showStatus */); + mCheckBox.setOnCheckedChangeListener(null); mCheckBox.setVisibility(View.VISIBLE); mCheckBox.setChecked(true); mCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> { @@ -169,6 +171,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { initSeekbar(device); mCurrentActivePosition = position; } else if (isDeviceIncluded(mController.getSelectableMediaDevice(), device)) { + mCheckBox.setOnCheckedChangeListener(null); mCheckBox.setVisibility(View.VISIBLE); mCheckBox.setChecked(false); mCheckBox.setOnCheckedChangeListener((buttonView, isChecked) -> {