summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNancy Chen <nancychen@google.com>2015-08-26 16:12:56 -0700
committerNancy Chen <nancychen@google.com>2015-08-26 16:12:56 -0700
commit17db928b33a41874456b50f37c715f4114aaab42 (patch)
tree55253c7f491699b5a048cc1797be4d0fe687ce9a /src
parentb3342e14d3bfb6dd9a9133ece30350e2781dddac (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.java4
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());