merge in lmp-mr1-nova-release history after reset to lmp-mr1-dev
diff --git a/src/com/android/dialer/calllog/PhoneAccountUtils.java b/src/com/android/dialer/calllog/PhoneAccountUtils.java
index f9bd9ad..f80ffd0 100644
--- a/src/com/android/dialer/calllog/PhoneAccountUtils.java
+++ b/src/com/android/dialer/calllog/PhoneAccountUtils.java
@@ -74,20 +74,27 @@
      * Extract account color from PhoneAccount object.
      */
     public static int getAccountColor(Context context, PhoneAccountHandle accountHandle) {
-        PhoneAccount account = getAccountOrNull(context, accountHandle);
+        TelecomManager telecomManager =
+                (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
+        final PhoneAccount account = telecomManager.getPhoneAccount(accountHandle);
+
         // For single-sim devices the PhoneAccount will be NO_HIGHLIGHT_COLOR by default, so it is
         // safe to always use the account highlight color.
         return account == null ? PhoneAccount.NO_HIGHLIGHT_COLOR : account.getHighlightColor();
     }
 
     /**
-     * Retrieve the account metadata.
+     * Retrieve the account metadata, but if the account does not exist or the device has only a
+     * single registered and enabled account, return null.
      */
     private static PhoneAccount getAccountOrNull(Context context,
             PhoneAccountHandle accountHandle) {
         TelecomManager telecomManager =
                 (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
         final PhoneAccount account = telecomManager.getPhoneAccount(accountHandle);
+        if (!telecomManager.hasMultipleCallCapableAccounts()) {
+            return null;
+        }
         return account;
     }
 }
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
index cb246f4..085ef66 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackPresenter.java
@@ -446,10 +446,12 @@
         @Override
         public Exception doInBackground(Void... params) {
             try {
-                mPlayer.reset();
-                mPlayer.setDataSource(mView.getDataSourceContext(), mVoicemailUri);
-                mPlayer.setAudioStreamType(PLAYBACK_STREAM);
-                mPlayer.prepare();
+                if (!mPlayer.isReadyToPlay()) {
+                    mPlayer.reset();
+                    mPlayer.setDataSource(mView.getDataSourceContext(), mVoicemailUri);
+                    mPlayer.setAudioStreamType(PLAYBACK_STREAM);
+                    mPlayer.prepare();
+                }
                 return null;
             } catch (Exception e) {
                 return e;