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

Commit 214b6381 authored by Derek Jedral's avatar Derek Jedral
Browse files

Propagate visibility of UMO to routers

Suggestion providers will know that UMO is visible and will  have the
opportunity to provide suggestions.

Test: atest
Bug: 409098190
Flag: com.android.media.flags.enable_suggested_device_api
Change-Id: Ic1b22ea709412c5bb012f327ed0543d112e496f3
parent b7cc19dc
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -694,6 +694,9 @@ public abstract class InfoMediaManager {
        return mSuggestedDeviceState;
    }

    /** Requests a suggestion from other routers. */
    public abstract void requestDeviceSuggestion();

    @TargetApi(Build.VERSION_CODES.R)
    boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) {
        return sessionInfo.isSystemSession() // System sessions are not remote
+10 −0
Original line number Diff line number Diff line
@@ -244,6 +244,16 @@ public class LocalMediaManager implements BluetoothCallback {
        }
    }

    /** Requests a suggestion from other routers. */
    public void requestDeviceSuggestion() {
        mInfoMediaManager.requestDeviceSuggestion();
    }

    @Nullable
    public SuggestedDeviceState getSuggestedDevice() {
        return mInfoMediaManager.getSuggestedDevice();
    }

    private boolean connectToDeviceIfConnectionPending(MediaDevice device) {
        synchronized (mMediaDevicesLock) {
            if (mConnectingSuggestedDeviceState != null
+5 −0
Original line number Diff line number Diff line
@@ -187,6 +187,11 @@ public class ManagerInfoMediaManager extends InfoMediaManager {
        return mRouterManager.getTransferableRoutes(packageName);
    }

    @Override
    public void requestDeviceSuggestion() {
        // no-op, not supported by ManagerInfoMediaManager
    }

    @VisibleForTesting
    /* package */ final class RouterManagerCallback implements MediaRouter2Manager.Callback {

+5 −0
Original line number Diff line number Diff line
@@ -175,4 +175,9 @@ import java.util.List;
    protected List<MediaRoute2Info> getTransferableRoutes(@NonNull String packageName) {
        return Collections.emptyList();
    }

    @Override
    public void requestDeviceSuggestion() {
        // no-op, not supported by NoOpInfoMediaManager
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -320,6 +320,11 @@ public final class RouterInfoMediaManager extends InfoMediaManager {
        return getTransferableRoutes(activeController);
    }

    @Override
    public void requestDeviceSuggestion() {
        mRouter.notifyDeviceSuggestionRequested();
    }

    @NonNull
    private List<MediaRoute2Info> getTransferableRoutes(@Nullable RoutingController controller) {
        HashMap<String, MediaRoute2Info> transferableRoutes = new HashMap<>();
Loading