diff options
| author | 2013-03-05 15:51:16 -0800 | |
|---|---|---|
| committer | 2013-03-05 15:51:16 -0800 | |
| commit | 8ef243cf861044eec35ee3d8207561251e34c77c (patch) | |
| tree | f3f6020c45982f53548d8528517cc6178e98cebb | |
| parent | ecc0cdddd5e9d0013ad34617172e83e0de6d9df8 (diff) | |
| parent | f45efd276c9b09adcb97ea43afc806731583aac7 (diff) | |
am f45efd27: Merge "Audio continue to played even if paused manually"
* commit 'f45efd276c9b09adcb97ea43afc806731583aac7':
Audio continue to played even if paused manually
| -rw-r--r-- | core/java/android/webkit/HTML5Audio.java | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/core/java/android/webkit/HTML5Audio.java b/core/java/android/webkit/HTML5Audio.java index fc5df2d5f59c..684ec073ce45 100644 --- a/core/java/android/webkit/HTML5Audio.java +++ b/core/java/android/webkit/HTML5Audio.java @@ -54,14 +54,15 @@ class HTML5Audio extends Handler // The private status of the view that created this player private IsPrivateBrowsingEnabledGetter mIsPrivateBrowsingEnabledGetter; - private static int IDLE = 0; - private static int INITIALIZED = 1; - private static int PREPARED = 2; - private static int STARTED = 4; - private static int COMPLETE = 5; - private static int PAUSED = 6; - private static int STOPPED = -2; - private static int ERROR = -1; + private static int IDLE = 0; + private static int INITIALIZED = 1; + private static int PREPARED = 2; + private static int STARTED = 4; + private static int COMPLETE = 5; + private static int PAUSED = 6; + private static int PAUSED_TRANSITORILY = 7; + private static int STOPPED = -2; + private static int ERROR = -1; private int mState = IDLE; @@ -247,7 +248,7 @@ class HTML5Audio extends Handler // resume playback if (mMediaPlayer == null) { resetMediaPlayer(); - } else if (mState != ERROR && !mMediaPlayer.isPlaying()) { + } else if (mState == PAUSED_TRANSITORILY && !mMediaPlayer.isPlaying()) { mMediaPlayer.start(); mState = STARTED; } @@ -265,7 +266,9 @@ class HTML5Audio extends Handler case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: // Lost focus for a short time, but we have to stop // playback. - if (mState != ERROR && mMediaPlayer.isPlaying()) pause(); + if (mState != ERROR && mMediaPlayer.isPlaying()) { + pause(PAUSED_TRANSITORILY); + } break; } } @@ -298,12 +301,16 @@ class HTML5Audio extends Handler } private void pause() { + pause(PAUSED); + } + + private void pause(int state) { if (mState == STARTED) { if (mTimer != null) { mTimer.purge(); } mMediaPlayer.pause(); - mState = PAUSED; + mState = state; } } |