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();
     }