diff options
author | Nancy Chen <nancychen@google.com> | 2015-08-26 16:12:56 -0700 |
---|---|---|
committer | Nancy Chen <nancychen@google.com> | 2015-08-26 16:12:56 -0700 |
commit | 17db928b33a41874456b50f37c715f4114aaab42 (patch) | |
tree | 55253c7f491699b5a048cc1797be4d0fe687ce9a /src | |
parent | b3342e14d3bfb6dd9a9133ece30350e2781dddac (diff) |
Do not call "onPrepared" unless the media player is prepared.
In setPlaybackView, if the MediaPlayer is not null, onPrepared is
called. However, there can be a race condition where the MediaPlayer is
not null, but also not yet prepared (since preparation is an
asynchronous call).
Bug: 23228984
Change-Id: I1536de9b2c67c0ae796224a717b1047fac0a8da4
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java index 540ffb446..c412c98d7 100644 --- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java +++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java @@ -39,7 +39,6 @@ import android.widget.SeekBar; import com.android.dialer.R; import com.android.dialer.util.AsyncTaskExecutor; import com.android.dialer.util.AsyncTaskExecutors; - import com.android.common.io.MoreCloseables; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; @@ -48,7 +47,6 @@ import java.io.IOException; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -242,7 +240,7 @@ public class VoicemailPlaybackPresenter mView = view; mView.setPresenter(this, voicemailUri); - if (mMediaPlayer != null && voicemailUri.equals(mVoicemailUri)) { + if (mMediaPlayer != null && mIsPrepared && voicemailUri.equals(mVoicemailUri)) { // Handles case where MediaPlayer was retained after an orientation change. onPrepared(mMediaPlayer); mView.onSpeakerphoneOn(isSpeakerphoneOn()); |