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

Commit 694940be authored by RoboErik's avatar RoboErik Committed by Android Git Automerger
Browse files

am d5ff63ba: Merge "Notify the system of all remote volume changes" into lmp-mr1-dev

* commit 'd5ff63ba':
  Notify the system of all remote volume changes
parents 20eb8093 d5ff63ba
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -330,6 +330,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient {
            if (volumeBefore != mOptimisticVolume) {
                pushVolumeUpdate();
            }
            mService.notifyRemoteVolumeChanged(flags, this);

            if (DEBUG) {
                Log.d(TAG, "Adjusted optimistic volume to " + mOptimisticVolume + " max is "
@@ -357,6 +358,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient {
            if (volumeBefore != mOptimisticVolume) {
                pushVolumeUpdate();
            }
            mService.notifyRemoteVolumeChanged(flags, this);

            if (DEBUG) {
                Log.d(TAG, "Set optimistic volume to " + mOptimisticVolume + " max is "
+14 −8
Original line number Diff line number Diff line
@@ -143,6 +143,20 @@ public class MediaSessionService extends SystemService implements Monitor {
        mHandler.post(MessageHandler.MSG_SESSIONS_CHANGED, record.getUserId(), 0);
    }

    /**
     * Tells the system UI that volume has changed on a remote session.
     */
    public void notifyRemoteVolumeChanged(int flags, MediaSessionRecord session) {
        if (mRvc == null) {
            return;
        }
        try {
            mRvc.remoteVolumeChanged(session.getControllerBinder(), flags);
        } catch (Exception e) {
            Log.wtf(TAG, "Error sending volume change to system UI.", e);
        }
    }

    public void onSessionPlaystateChange(MediaSessionRecord record, int oldState, int newState) {
        boolean updateSessions = false;
        synchronized (mLock) {
@@ -864,14 +878,6 @@ public class MediaSessionService extends SystemService implements Monitor {
            } else {
                session.adjustVolume(direction, flags, getContext().getPackageName(),
                        UserHandle.myUserId(), true);
                if (session.getPlaybackType() == PlaybackInfo.PLAYBACK_TYPE_REMOTE
                        && mRvc != null && direction != MediaSessionManager.DIRECTION_MUTE) {
                    try {
                        mRvc.remoteVolumeChanged(session.getControllerBinder(), flags);
                    } catch (Exception e) {
                        Log.wtf(TAG, "Error sending volume change to system UI.", e);
                    }
                }
            }
        }