Pause playback when voicemail is deleted.
We don't want the voicemail to continue playing after deleted, so
perform the pause behavior when the delete button is pressed.
Bug: 22462516
Change-Id: I664c5aed0c2bd1910cdf1f20a33c0117dde8d0cc
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
index 2017bc5..70d6c61 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
@@ -183,6 +183,7 @@
if (mPresenter == null) {
return;
}
+ mPresenter.pausePlayback();
CallLogAsyncTaskUtil.deleteVoicemail(mContext, mVoicemailUri, null);
}
};
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
index f76af59..90617df 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
@@ -627,7 +627,8 @@
mMediaPlayer.pause();
}
- mPosition = mMediaPlayer.getCurrentPosition();
+ mPosition = mMediaPlayer == null ? 0 : mMediaPlayer.getCurrentPosition();
+
Log.d(TAG, "Paused playback at " + mPosition + ".");
if (mView != null) {
@@ -646,7 +647,9 @@
* playing to know whether to resume playback once the user selects a new position.
*/
public void pausePlaybackForSeeking() {
- mShouldResumePlaybackAfterSeeking = mMediaPlayer.isPlaying();
+ if (mMediaPlayer != null) {
+ mShouldResumePlaybackAfterSeeking = mMediaPlayer.isPlaying();
+ }
pausePlayback();
}