[Output Switcher] Modify checking for device isConnected

When there's only one selectable device and device included, also take
it as connected one.

Test: Verified on device
Bug: 227028939
Change-Id: I89221b8285d88899482dc3dae1b0781daf1ce33b
This commit is contained in:
shaoweishen
2022-03-28 13:56:16 +00:00
committed by Shaowei Shen
parent a84dc9b870
commit d08d997838
2 changed files with 14 additions and 11 deletions

View File

@@ -20,7 +20,6 @@ import android.content.res.ColorStateList;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
@@ -231,15 +230,6 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
}
}
private boolean isDeviceIncluded(List<MediaDevice> deviceList, MediaDevice targetDevice) {
for (MediaDevice device : deviceList) {
if (TextUtils.equals(device.getId(), targetDevice.getId())) {
return true;
}
}
return false;
}
private void onItemClick(View view, MediaDevice device) {
if (mController.isTransferring()) {
return;

View File

@@ -46,6 +46,8 @@ import com.android.settingslib.utils.ThreadUtils;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import java.util.List;
/**
* Base adapter for media output dialog.
*/
@@ -94,7 +96,18 @@ public abstract class MediaOutputBaseAdapter extends
boolean isCurrentlyConnected(MediaDevice device) {
return TextUtils.equals(device.getId(),
mController.getCurrentConnectedMediaDevice().getId());
mController.getCurrentConnectedMediaDevice().getId())
|| (mController.getSelectedMediaDevice().size() == 1
&& isDeviceIncluded(mController.getSelectedMediaDevice(), device));
}
boolean isDeviceIncluded(List<MediaDevice> deviceList, MediaDevice targetDevice) {
for (MediaDevice device : deviceList) {
if (TextUtils.equals(device.getId(), targetDevice.getId())) {
return true;
}
}
return false;
}
boolean isDragging() {