[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
This commit is contained in:
shaoweishen
2022-02-15 12:47:48 +00:00
committed by Shaowei Shen
parent 786accc8b8
commit a48aa965ab

View File

@@ -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) -> {