Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 980942f7 authored by Lucas Dupin's avatar Lucas Dupin Committed by Automerger Merge Worker
Browse files

Merge "[Output Switcher] Follow up change of output switcher for mertial next"...

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

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

Change-Id: Iceb6d0a17f8c2af801986d456d75db701781445c
parents fe0c27a4 2e995c25
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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] -->
+8 −22
Original line number Original line Diff line number Diff line
@@ -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);
+1 −3
Original line number Original line Diff line number Diff line
@@ -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);
+0 −1
Original line number Original line Diff line number Diff line
@@ -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 */,
+6 −4
Original line number Original line Diff line number Diff line
@@ -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