diff options
author | Brad Stenning <stenning@google.com> | 2017-09-01 11:18:55 -0700 |
---|---|---|
committer | Brad Stenning <stenning@google.com> | 2017-09-05 08:35:36 -0700 |
commit | b52e5ac97161c9c844a425e9d3b19066dd1877db (patch) | |
tree | cf065e31f21d3f78bf6d4563c76821558bac3375 | |
parent | 5ccf13bb70738b0c21bcd9089851b960712d133c (diff) | |
download | LocalMediaPlayer-b52e5ac97161c9c844a425e9d3b19066dd1877db.tar.gz |
Respect Audio Focus during skip, shuffle and new selectionoreo-mr1-dev
Bug: 63140402
Test: 1. Start music
2. Start bluetooth call
3. Use next/prev/shuffle and song selection
4. confirm playback is not started.
Change-Id: Icb6a408cdf2ca2c6e4fdfaaedcd19f456c86b6c3
-rw-r--r-- | src/com/android/car/media/localmediaplayer/Player.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/car/media/localmediaplayer/Player.java b/src/com/android/car/media/localmediaplayer/Player.java index 9aa86be..f70e05c 100644 --- a/src/com/android/car/media/localmediaplayer/Player.java +++ b/src/com/android/car/media/localmediaplayer/Player.java @@ -474,12 +474,20 @@ public class Player extends MediaSession.Callback { mMediaPlayer.reset(); mMediaPlayer.setDataSource(path); mMediaPlayer.prepare(); - mMediaPlayer.start(); if (metadata != null) { mSession.setMetadata(metadata); } - updatePlaybackStatePlaying(); + boolean wasGrantedAudio = requestAudioFocus(() -> { + mMediaPlayer.start(); + updatePlaybackStatePlaying(); + }); + if (!wasGrantedAudio) { + // player.pause() isn't needed since it should not actually be playing, the + // other steps like, updating the notification and play state are needed, thus we + // call the pause method. + pausePlayback(); + } } private void safeAdvance() { @@ -522,7 +530,6 @@ public class Player extends MediaSession.Callback { } mCurrentQueueIdx = 0; updateSessionQueueState(); - updatePlaybackStatePlaying(); } } |