DO NOT MERGE: Downbranch merge conflict [Output Switcher] Make checkbox disable if a device is not deselectable am: ec0d7f51e5

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

Change-Id: Iff49dccc6d67ad3eaf5ceb558f81fc62dccadc91
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
shaoweishen
2022-05-09 15:20:30 +00:00
committed by Automerger Merge Worker

View File

@@ -176,6 +176,8 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
true /* showProgressBar */, false /* showStatus */);
} else if (mController.getSelectedMediaDevice().size() > 1
&& isDeviceIncluded(mController.getSelectedMediaDevice(), device)) {
boolean isDeviceDeselectable = isDeviceIncluded(
mController.getDeselectableMediaDevice(), device);
mTitleText.setTextColor(mController.getColorItemContent());
setSingleLineLayout(getItemTitle(device), true /* bFocused */,
true /* showSeekBar */,
@@ -184,13 +186,20 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
mCheckBox.setOnCheckedChangeListener(null);
mCheckBox.setVisibility(View.VISIBLE);
mCheckBox.setChecked(true);
mCheckBox.setOnCheckedChangeListener(
(buttonView, isChecked) -> onGroupActionTriggered(false, device));
mCheckBox.setOnCheckedChangeListener(isDeviceDeselectable
? (buttonView, isChecked) -> onGroupActionTriggered(false, device)
: null);
mCheckBox.setEnabled(isDeviceDeselectable);
mCheckBox.setAlpha(
isDeviceDeselectable ? DEVICE_CONNECTED_ALPHA
: DEVICE_DISCONNECTED_ALPHA
);
setCheckBoxColor(mCheckBox, mController.getColorItemContent());
initSeekbar(device, isCurrentSeekbarInvisible);
mEndTouchArea.setVisibility(View.VISIBLE);
mEndTouchArea.setOnClickListener(null);
mEndTouchArea.setOnClickListener((v) -> mCheckBox.performClick());
mEndTouchArea.setOnClickListener(
isDeviceDeselectable ? (v) -> mCheckBox.performClick() : null);
mEndTouchArea.setImportantForAccessibility(
View.IMPORTANT_FOR_ACCESSIBILITY_YES);
setUpContentDescriptionForView(mEndTouchArea, true, device);