Merge "[Output Switcher] Disable icon clicklistener for volume fixed"

This commit is contained in:
TreeHugger Robot
2023-02-07 17:41:22 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 9 deletions

View File

@@ -146,6 +146,11 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
@Override
public int getItemViewType(int position) {
if (mController.isAdvancedLayoutSupported()
&& position >= mController.getMediaItemList().size()) {
Log.d(TAG, "Incorrect position for item type: " + position);
return MediaItem.MediaItemType.TYPE_GROUP_DIVIDER;
}
return mController.isAdvancedLayoutSupported()
? mController.getMediaItemList().get(position).getMediaItemType()
: super.getItemViewType(position);

View File

@@ -333,7 +333,7 @@ public abstract class MediaOutputBaseAdapter extends
if (!mController.isVolumeControlEnabled(device)) {
disableSeekBar();
} else {
enableSeekBar();
enableSeekBar(device);
}
mSeekBar.setMaxVolume(device.getMaxVolume());
final int currentVolume = device.getCurrentVolume();
@@ -369,13 +369,6 @@ public abstract class MediaOutputBaseAdapter extends
if (mIsInitVolumeFirstTime) {
mIsInitVolumeFirstTime = false;
}
if (mController.isAdvancedLayoutSupported()) {
updateIconAreaClickListener((v) -> {
mSeekBar.resetVolume();
mController.adjustVolume(device, 0);
updateMutedVolumeIcon();
});
}
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
@@ -556,11 +549,21 @@ public abstract class MediaOutputBaseAdapter extends
protected void disableSeekBar() {
mSeekBar.setEnabled(false);
mSeekBar.setOnTouchListener((v, event) -> true);
if (mController.isAdvancedLayoutSupported()) {
updateIconAreaClickListener(null);
}
}
private void enableSeekBar() {
private void enableSeekBar(MediaDevice device) {
mSeekBar.setEnabled(true);
mSeekBar.setOnTouchListener((v, event) -> false);
if (mController.isAdvancedLayoutSupported()) {
updateIconAreaClickListener((v) -> {
mSeekBar.resetVolume();
mController.adjustVolume(device, 0);
updateMutedVolumeIcon();
});
}
}
protected void setUpDeviceIcon(MediaDevice device) {