diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 71c016f6f47..a7e0eece410 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -18,10 +18,6 @@ package com.android.settings; import static android.content.Intent.EXTRA_USER; import static android.content.Intent.EXTRA_USER_ID; -import static android.media.MediaRoute2Info.TYPE_GROUP; -import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER; -import static android.media.MediaRoute2Info.TYPE_REMOTE_TV; -import static android.media.MediaRoute2Info.TYPE_UNKNOWN; import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH; import static android.text.format.DateUtils.FORMAT_SHOW_DATE; @@ -57,8 +53,6 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.VectorDrawable; import android.hardware.face.FaceManager; import android.hardware.fingerprint.FingerprintManager; -import android.media.MediaRoute2Info; -import android.media.MediaRouter2Manager; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; @@ -1143,31 +1137,4 @@ public final class Utils extends com.android.settingslib.Utils { drawable.draw(canvas); return roundedBitmap; } - - /** - * Returns {@code true} if needed to disable media output, otherwise returns {@code false}. - */ - public static boolean isMediaOutputDisabled( - MediaRouter2Manager router2Manager, String packageName) { - boolean isMediaOutputDisabled = false; - if (!TextUtils.isEmpty(packageName)) { - final List infos = router2Manager.getAvailableRoutes(packageName); - if (infos.size() == 1) { - final MediaRoute2Info info = infos.get(0); - final int deviceType = info.getType(); - switch (deviceType) { - case TYPE_UNKNOWN: - case TYPE_REMOTE_TV: - case TYPE_REMOTE_SPEAKER: - case TYPE_GROUP: - isMediaOutputDisabled = true; - break; - default: - isMediaOutputDisabled = false; - break; - } - } - } - return isMediaOutputDisabled; - } } diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java index 1288cf51c0b..a5dec14362e 100644 --- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java +++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java @@ -247,6 +247,10 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker } + boolean shouldDisableMediaOutput(String packageName) { + return mLocalMediaManager.shouldDisableMediaOutput(packageName); + } + private class DevicesChangedBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java index 419826966da..9ed6f4ebd0d 100644 --- a/src/com/android/settings/media/RemoteMediaSlice.java +++ b/src/com/android/settings/media/RemoteMediaSlice.java @@ -122,7 +122,7 @@ public class RemoteMediaSlice implements CustomSliceable { .setValue(info.getVolume())); final boolean isMediaOutputDisabled = - Utils.isMediaOutputDisabled(mRouterManager, info.getClientPackageName()); + getWorker().shouldDisableMediaOutput(info.getClientPackageName()); final SpannableString spannableTitle = new SpannableString( TextUtils.isEmpty(appName) ? "" : appName); spannableTitle.setSpan(new ForegroundColorSpan( diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java index bb62a567d58..320862c6075 100644 --- a/src/com/android/settings/notification/RemoteVolumeGroupController.java +++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java @@ -131,8 +131,8 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem seekBarPreference.setIcon(R.drawable.ic_volume_remote); mPreferenceCategory.addPreference(seekBarPreference); // Add output indicator - final boolean isMediaOutputDisabled = Utils.isMediaOutputDisabled( - mRouterManager, info.getClientPackageName()); + final boolean isMediaOutputDisabled = mLocalMediaManager.shouldDisableMediaOutput( + info.getClientPackageName()); final Preference preference = new Preference(mContext); preference.setKey(SWITCHER_PREFIX + info.getId()); preference.setTitle(isMediaOutputDisabled ? appName : outputTitle); diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java index 303fb1bacce..2aa8418227f 100644 --- a/tests/robotests/src/com/android/settings/UtilsTest.java +++ b/tests/robotests/src/com/android/settings/UtilsTest.java @@ -40,8 +40,6 @@ 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; @@ -301,33 +299,4 @@ 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 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 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(); - } }