Disable entry point of output switcher
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.
- This CL will disable the entry point of the output switcher
if there is only one available cast device in the list.
- Update test cases.
Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
Merged-In: I8906878e1ba769d6940041f17d83b5de6b2a32c0
(cherry picked from commit b6840ced0d
)
This commit is contained in:
@@ -40,6 +40,8 @@ import android.graphics.Color;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.VectorDrawable;
|
||||
import android.media.MediaRoute2Info;
|
||||
import android.media.MediaRouter2Manager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.LinkAddress;
|
||||
import android.net.LinkProperties;
|
||||
@@ -299,4 +301,33 @@ public class UtilsTest {
|
||||
|
||||
assertThat(Utils.isSettingsIntelligence(mContext)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isMediaOutputDisabled_infosSizeEqual1_returnsTrue() {
|
||||
final MediaRouter2Manager router2Manager = mock(MediaRouter2Manager.class);
|
||||
final MediaRoute2Info info = mock(MediaRoute2Info.class);
|
||||
final List<MediaRoute2Info> infos = new ArrayList<>();
|
||||
infos.add(info);
|
||||
|
||||
when(router2Manager.getAvailableRoutes(anyString())).thenReturn(infos);
|
||||
when(info.getType()).thenReturn(0);
|
||||
|
||||
assertThat(Utils.isMediaOutputDisabled(router2Manager, "test")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isMediaOutputDisabled_infosSizeOverThan1_returnsFalse() {
|
||||
final MediaRouter2Manager router2Manager = mock(MediaRouter2Manager.class);
|
||||
final MediaRoute2Info info = mock(MediaRoute2Info.class);
|
||||
final MediaRoute2Info info2 = mock(MediaRoute2Info.class);
|
||||
final List<MediaRoute2Info> infos = new ArrayList<>();
|
||||
infos.add(info);
|
||||
infos.add(info2);
|
||||
|
||||
when(router2Manager.getAvailableRoutes(anyString())).thenReturn(infos);
|
||||
when(info.getType()).thenReturn(0);
|
||||
when(info2.getType()).thenReturn(0);
|
||||
|
||||
assertThat(Utils.isMediaOutputDisabled(router2Manager, "test")).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.media.MediaRouter2Manager;
|
||||
import android.media.RoutingSessionInfo;
|
||||
import android.net.Uri;
|
||||
|
||||
@@ -87,6 +88,7 @@ public class RemoteMediaSliceTest {
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
|
||||
mRemoteMediaSlice = new RemoteMediaSlice(mContext);
|
||||
mRemoteMediaSlice.mRouterManager = mock(MediaRouter2Manager.class);
|
||||
sMediaDeviceUpdateWorker = spy(new MediaDeviceUpdateWorker(mContext,
|
||||
REMOTE_MEDIA_SLICE_URI));
|
||||
sMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
|
||||
|
@@ -30,6 +30,7 @@ import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageStats;
|
||||
import android.media.MediaRouter2Manager;
|
||||
import android.media.RoutingSessionInfo;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
@@ -94,6 +95,7 @@ public class RemoteVolumeGroupControllerTest {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mController = new RemoteVolumeGroupController(mContext, KEY_REMOTE_VOLUME_GROUP);
|
||||
mController.mLocalMediaManager = mLocalMediaManager;
|
||||
mController.mRouterManager = mock(MediaRouter2Manager.class);
|
||||
mPreferenceCategory = spy(new PreferenceCategory(mContext));
|
||||
mPreferenceCategory.setKey(mController.getPreferenceKey());
|
||||
|
||||
|
Reference in New Issue
Block a user