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

* commit 'd5ff63ba0ce8597155e0201fd20fe18fbf0aa053':
  Notify the system of all remote volume changes
This commit is contained in:
RoboErik
2015-01-16 23:04:10 +00:00
committed by Android Git Automerger
2 changed files with 16 additions and 8 deletions

View File

@@ -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 "

View File

@@ -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);
}
}
}
}