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

Commit 4bd783a1 authored by Shenqiu Zhang's avatar Shenqiu Zhang
Browse files

Add tests to verify a route being greyed out when transfer is disabled

Flag: com.android.media.flags.disable_transfer_when_apps_do_not_support
Test: presubmit and manually tested with sample apps
Bug: b/373404114
Change-Id: I06a23292713a9f945d05c28ee2434b380ccc5563
parent 17562cc7
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -507,4 +507,25 @@ public class MediaDeviceTest {
        assertThat(mPhoneMediaDevice.getSelectionBehavior()).isEqualTo(
                SELECTION_BEHAVIOR_TRANSFER);
    }

    @Test
    public void getSelectionBehavior_withRouteListingPreferenceItem_returnPreferenceBehavior() {
        mItem =
                new RouteListingPreference.Item.Builder(DEVICE_ADDRESS_1)
                        .setSelectionBehavior(SELECTION_BEHAVIOR_GO_TO_APP)
                        .build();
        MediaDevice castMediaDevice = new ComplexMediaDevice(mContext, mRouteInfo1, mItem);

        assertThat(castMediaDevice.hasRouteListingPreferenceItem()).isTrue();
        assertThat(castMediaDevice.getSelectionBehavior()).isEqualTo(SELECTION_BEHAVIOR_GO_TO_APP);
    }

    @Test
    public void getSelectionBehavior_withoutRouteListingPreferenceItem_returnTransfer() {
        MediaDevice castMediaDevice =
                new ComplexMediaDevice(mContext, mRouteInfo1, /* item= */ null);

        assertThat(castMediaDevice.hasRouteListingPreferenceItem()).isFalse();
        assertThat(castMediaDevice.getSelectionBehavior()).isEqualTo(SELECTION_BEHAVIOR_TRANSFER);
    }
}
+12 −0
Original line number Diff line number Diff line
@@ -778,6 +778,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_ACTIVE_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
@@ -799,6 +801,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_ACTIVE_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
@@ -820,6 +824,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_ACTIVE_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
@@ -841,6 +847,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_ACTIVE_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
@@ -862,6 +870,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_ACTIVE_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
@@ -883,6 +893,8 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase {
        assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
        assertThat(mViewHolder.mTitleText.getAlpha())
                .isEqualTo(MediaOutputAdapterLegacy.DEVICE_DISABLED_ALPHA);
        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();

        mViewHolder.mContainerLayout.performClick();
+2 −2
Original line number Diff line number Diff line
@@ -61,8 +61,8 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase {
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);

    private static final int UNMUTE_DEFAULT_VOLUME = 2;
    private static final float DEVICE_DISABLED_ALPHA = 0.5f;
    private static final float DEVICE_ACTIVE_ALPHA = 1f;
    @VisibleForTesting static final float DEVICE_DISABLED_ALPHA = 0.5f;
    @VisibleForTesting static final float DEVICE_ACTIVE_ALPHA = 1f;
    View mHolderView;
    private boolean mIsInitVolumeFirstTime;