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

Commit 69db774b authored by jackqdyulei's avatar jackqdyulei
Browse files

Turn on remote volume slider

Since now media API support multiple clients.

Fixes: 126199571
Test: Manual
Change-Id: I8d01ca3a0d46eb8a4450002ddf9911a7fda7dd5b
parent f6d9989a
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.settingslib.volume.MediaSessions;


import java.io.IOException;
import java.io.IOException;
import java.util.List;
import java.util.List;
import java.util.Objects;


public class RemoteVolumePreferenceController extends
public class RemoteVolumePreferenceController extends
    VolumeSeekBarPreferenceController {
    VolumeSeekBarPreferenceController {
@@ -58,14 +59,14 @@ public class RemoteVolumePreferenceController extends
            if (mActiveToken == null) {
            if (mActiveToken == null) {
                updateToken(token);
                updateToken(token);
            }
            }
            if (mActiveToken == token) {
            if (Objects.equals(mActiveToken, token)) {
                updatePreference(mPreference, mActiveToken, pi);
                updatePreference(mPreference, mActiveToken, pi);
            }
            }
        }
        }


        @Override
        @Override
        public void onRemoteRemoved(MediaSession.Token t) {
        public void onRemoteRemoved(MediaSession.Token t) {
            if (mActiveToken == t) {
            if (Objects.equals(mActiveToken, t)) {
                updateToken(null);
                updateToken(null);
                if (mPreference != null) {
                if (mPreference != null) {
                    mPreference.setVisible(false);
                    mPreference.setVisible(false);
@@ -75,7 +76,7 @@ public class RemoteVolumePreferenceController extends


        @Override
        @Override
        public void onRemoteVolumeChanged(MediaSession.Token token, int flags) {
        public void onRemoteVolumeChanged(MediaSession.Token token, int flags) {
            if (mActiveToken == token) {
            if (Objects.equals(mActiveToken, token)) {
                final MediaController.PlaybackInfo pi = mMediaController.getPlaybackInfo();
                final MediaController.PlaybackInfo pi = mMediaController.getPlaybackInfo();
                if (pi != null) {
                if (pi != null) {
                    setSliderPosition(pi.getCurrentVolume());
                    setSliderPosition(pi.getCurrentVolume());
@@ -116,13 +117,13 @@ public class RemoteVolumePreferenceController extends
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    public void onResume() {
    public void onResume() {
        super.onResume();
        super.onResume();
        //TODO(b/126199571): register callback once b/126890783 is fixed
        mMediaSessions.init();
    }
    }


    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    public void onPause() {
    public void onPause() {
        super.onPause();
        super.onPause();
        //TODO(b/126199571): unregister callback once b/126890783 is fixed
        mMediaSessions.destroy();
    }
    }


    @Override
    @Override
@@ -189,8 +190,7 @@ public class RemoteVolumePreferenceController extends


    @Override
    @Override
    public Class<? extends SliceBackgroundWorker> getBackgroundWorkerClass() {
    public Class<? extends SliceBackgroundWorker> getBackgroundWorkerClass() {
        //TODO(b/126199571): return RemoteVolumeSliceWorker once b/126890783 is fixed
        return RemoteVolumeSliceWorker.class;
        return null;
    }
    }


    private void updatePreference(VolumeSeekBarPreference seekBarPreference,
    private void updatePreference(VolumeSeekBarPreference seekBarPreference,