diff options
author | Sanket Agarwal <sanketa@google.com> | 2016-03-21 23:42:00 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-03-21 23:42:00 +0000 |
commit | 844518bb897a099f333c3d3b980f0c36721834ae (patch) | |
tree | f6342d377bdcb0b591eeccf15f40a494841d1f81 | |
parent | 5b849d6b99e07d9b0e09eef7c38baacabda69522 (diff) | |
parent | 26469ff3f9f4ab96ad288e0934220023a0c159f1 (diff) | |
download | android_packages_apps_Bluetooth-844518bb897a099f333c3d3b980f0c36721834ae.tar.gz android_packages_apps_Bluetooth-844518bb897a099f333c3d3b980f0c36721834ae.tar.bz2 android_packages_apps_Bluetooth-844518bb897a099f333c3d3b980f0c36721834ae.zip |
Forward in iPhone leads to play state being presisted as STOP.
am: 26469ff
* commit '26469ff3f9f4ab96ad288e0934220023a0c159f1':
Forward in iPhone leads to play state being presisted as STOP.
-rw-r--r-- | services/A2dpMediaBrowserService/src/com/google/android/a2dpsink/mbs/A2dpMediaBrowserService.java | 16 | ||||
-rw-r--r-- | src/com/android/bluetooth/avrcp/AvrcpControllerService.java | 7 |
2 files changed, 20 insertions, 3 deletions
diff --git a/services/A2dpMediaBrowserService/src/com/google/android/a2dpsink/mbs/A2dpMediaBrowserService.java b/services/A2dpMediaBrowserService/src/com/google/android/a2dpsink/mbs/A2dpMediaBrowserService.java index 2a6baa892..71cefa97c 100644 --- a/services/A2dpMediaBrowserService/src/com/google/android/a2dpsink/mbs/A2dpMediaBrowserService.java +++ b/services/A2dpMediaBrowserService/src/com/google/android/a2dpsink/mbs/A2dpMediaBrowserService.java @@ -27,6 +27,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.media.MediaMetadata; import android.media.browse.MediaBrowser.MediaItem; +import android.media.session.MediaController; import android.media.session.MediaSession; import android.media.session.PlaybackState; import android.os.Bundle; @@ -348,6 +349,21 @@ public class A2dpMediaBrowserService extends MediaBrowserService { private void msgTrack(PlaybackState pb, MediaMetadata mmd) { Log.d(TAG, "msgTrack: playback: " + pb + " mmd: " + mmd); + // Log the current track position/content. + MediaController controller = mSession.getController(); + PlaybackState prevPS = controller.getPlaybackState(); + MediaMetadata prevMM = controller.getMetadata(); + + if (prevPS != null) { + Log.d(TAG, "prevPS " + prevPS); + } + + if (prevMM != null) { + String title = prevMM.getString(MediaMetadata.METADATA_KEY_TITLE); + long trackLen = prevMM.getLong(MediaMetadata.METADATA_KEY_DURATION); + Log.d(TAG, "prev MM title " + title + " track len " + trackLen); + } + if (mmd != null) { Log.d(TAG, "msgTrack() mmd " + mmd.getDescription()); mSession.setMetadata(mmd); diff --git a/src/com/android/bluetooth/avrcp/AvrcpControllerService.java b/src/com/android/bluetooth/avrcp/AvrcpControllerService.java index a89a55313..af36de029 100644 --- a/src/com/android/bluetooth/avrcp/AvrcpControllerService.java +++ b/src/com/android/bluetooth/avrcp/AvrcpControllerService.java @@ -547,10 +547,11 @@ public class AvrcpControllerService extends ProfileService { case AvrcpControllerConstants.MESSAGE_STOP_METADATA_BROADCASTS: // Any messages hence forth about play pos/play status/song info will be ignored. if(mRemoteMediaPlayers != null) { - mRemoteMediaPlayers.getAddressedPlayer().mPlayStatus = - AvrcpControllerConstants.PLAY_STATUS_PAUSED; + // Mock the current state to *look like* it is paused. The remote play state is + // still cached in mRemoteMediaPlayers and will be restored when the + // startAvrcpUpdates is called again. broadcastPlayBackStateChanged(AvrcpUtils.mapBtPlayStatustoPlayBackState - (mRemoteMediaPlayers.getAddressedPlayer().mPlayStatus, + ((byte) AvrcpControllerConstants.PLAY_STATUS_PAUSED, mRemoteMediaPlayers.getAddressedPlayer().mPlayTime)); } mBroadcastMetadata = false; |