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

Commit 1ae5e59c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move isMediaOutputDisabled() from Utils to LocalMediaManager"

parents 7aadf2da c07b4758
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
@@ -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<MediaRoute2Info> 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;
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -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) {
+1 −1
Original line number Diff line number Diff line
@@ -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(
+2 −2
Original line number Diff line number Diff line
@@ -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);
+0 −31
Original line number Diff line number Diff line
@@ -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<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();
    }
}