Merge "[Output Switcher] Follow up change of output switcher for mertial next" into sc-v2-dev

This commit is contained in:
Lucas Dupin
2021-10-25 15:51:11 +00:00
committed by Android (Google) Code Review
5 changed files with 16 additions and 31 deletions

View File

@@ -2878,7 +2878,7 @@
<!-- Summary for media output group with the active device count [CHAR LIMIT=NONE] --> <!-- Summary for media output group with the active device count [CHAR LIMIT=NONE] -->
<string name="media_output_dialog_multiple_devices"><xliff:g id="count" example="2">%1$d</xliff:g> devices selected</string> <string name="media_output_dialog_multiple_devices"><xliff:g id="count" example="2">%1$d</xliff:g> devices selected</string>
<!-- Summary for disconnected status [CHAR LIMIT=50] --> <!-- Summary for disconnected status [CHAR LIMIT=50] -->
<string name="media_output_dialog_disconnected"><xliff:g id="device_name" example="My device">%1$s</xliff:g> (disconnected)</string> <string name="media_output_dialog_disconnected">(disconnected)</string>
<!-- Summary for connecting error message [CHAR LIMIT=NONE] --> <!-- Summary for connecting error message [CHAR LIMIT=NONE] -->
<string name="media_output_dialog_connect_failed">Couldn\'t connect. Try again.</string> <string name="media_output_dialog_connect_failed">Couldn\'t connect. Try again.</string>
<!-- Title for pairing item [CHAR LIMIT=60] --> <!-- Title for pairing item [CHAR LIMIT=60] -->

View File

@@ -16,14 +16,10 @@
package com.android.systemui.media.dialog; package com.android.systemui.media.dialog;
import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter; import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.text.SpannableString;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@@ -99,23 +95,6 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
return mController.getMediaDevices().size(); return mController.getMediaDevices().size();
} }
@Override
CharSequence getItemTitle(MediaDevice device) {
if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
&& !device.isConnected()) {
final CharSequence deviceName = device.getName();
// Append status to title only for the disconnected Bluetooth device.
final SpannableString spannableTitle = new SpannableString(
mContext.getString(R.string.media_output_dialog_disconnected, deviceName));
spannableTitle.setSpan(new ForegroundColorSpan(
Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorSecondary)),
deviceName.length(),
spannableTitle.length(), SPAN_EXCLUSIVE_EXCLUSIVE);
return spannableTitle;
}
return super.getItemTitle(device);
}
class MediaDeviceViewHolder extends MediaDeviceBaseViewHolder { class MediaDeviceViewHolder extends MediaDeviceBaseViewHolder {
MediaDeviceViewHolder(View view) { MediaDeviceViewHolder(View view) {
@@ -166,6 +145,14 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
false /* showProgressBar */, false /* showSubtitle */); false /* showProgressBar */, false /* showSubtitle */);
initSeekbar(device); initSeekbar(device);
mCurrentActivePosition = position; mCurrentActivePosition = position;
} else if (
device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
&& !device.isConnected()) {
setTwoLineLayout(device, false /* bFocused */,
false /* showSeekBar */, false /* showProgressBar */,
true /* showSubtitle */);
mSubTitleText.setText(R.string.media_output_dialog_disconnected);
mContainerLayout.setOnClickListener(v -> onItemClick(v, device));
} else { } else {
setSingleLineLayout(getItemTitle(device), false /* bFocused */); setSingleLineLayout(getItemTitle(device), false /* bFocused */);
mContainerLayout.setOnClickListener(v -> onItemClick(v, device)); mContainerLayout.setOnClickListener(v -> onItemClick(v, device));
@@ -175,7 +162,6 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter {
@Override @Override
void onBind(int customizedItem, boolean topMargin, boolean bottomMargin) { void onBind(int customizedItem, boolean topMargin, boolean bottomMargin) {
super.onBind(customizedItem, topMargin, bottomMargin);
if (customizedItem == CUSTOMIZED_ITEM_PAIR_NEW) { if (customizedItem == CUSTOMIZED_ITEM_PAIR_NEW) {
mCheckBox.setVisibility(View.GONE); mCheckBox.setVisibility(View.GONE);
mAddIcon.setVisibility(View.GONE); mAddIcon.setVisibility(View.GONE);

View File

@@ -153,9 +153,7 @@ public abstract class MediaOutputBaseAdapter extends
}); });
} }
void onBind(int customizedItem, boolean topMargin, boolean bottomMargin) { abstract void onBind(int customizedItem, boolean topMargin, boolean bottomMargin);
// TODO (b/201718621): clean up method after adjustment
}
void setSingleLineLayout(CharSequence title, boolean bFocused) { void setSingleLineLayout(CharSequence title, boolean bFocused) {
mTwoLineLayout.setVisibility(View.GONE); mTwoLineLayout.setVisibility(View.GONE);

View File

@@ -126,7 +126,6 @@ public class MediaOutputGroupAdapter extends MediaOutputBaseAdapter {
@Override @Override
void onBind(int customizedItem, boolean topMargin, boolean bottomMargin) { void onBind(int customizedItem, boolean topMargin, boolean bottomMargin) {
super.onBind(customizedItem, topMargin, bottomMargin);
if (customizedItem == CUSTOMIZED_ITEM_GROUP) { if (customizedItem == CUSTOMIZED_ITEM_GROUP) {
setTwoLineLayout(mContext.getText(R.string.media_output_dialog_group), setTwoLineLayout(mContext.getText(R.string.media_output_dialog_group),
true /* bFocused */, true /* showSeekBar */, false /* showProgressBar */, true /* bFocused */, true /* showSeekBar */, false /* showProgressBar */,

View File

@@ -212,12 +212,14 @@ public class MediaOutputAdapterTest extends SysuiTestCase {
mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1); mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1);
assertThat(mViewHolder.mAddIcon.getVisibility()).isEqualTo(View.GONE); assertThat(mViewHolder.mAddIcon.getVisibility()).isEqualTo(View.GONE);
assertThat(mViewHolder.mTwoLineLayout.getVisibility()).isEqualTo(View.GONE);
assertThat(mViewHolder.mProgressBar.getVisibility()).isEqualTo(View.GONE); assertThat(mViewHolder.mProgressBar.getVisibility()).isEqualTo(View.GONE);
assertThat(mViewHolder.mBottomDivider.getVisibility()).isEqualTo(View.GONE); assertThat(mViewHolder.mBottomDivider.getVisibility()).isEqualTo(View.GONE);
assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.GONE);
assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo( assertThat(mViewHolder.mTwoLineLayout.getVisibility()).isEqualTo(View.VISIBLE);
mContext.getString(R.string.media_output_dialog_disconnected, TEST_DEVICE_NAME_2)); assertThat(mViewHolder.mTwoLineTitleText.getText().toString()).isEqualTo(
TEST_DEVICE_NAME_2);
assertThat(mViewHolder.mSubTitleText.getText().toString()).isEqualTo(
mContext.getString(R.string.media_output_dialog_disconnected));
} }
@Test @Test