diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
index a4848c8..315bf1c 100644
--- a/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
+++ b/java/com/android/dialer/voicemail/listui/NewVoicemailAdapter.java
@@ -190,7 +190,7 @@
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
     printHashSet();
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
-    printHashMap();
+    printArrayMap();
 
     if (viewHolder instanceof NewVoicemailHeaderViewHolder) {
       LogUtil.i(
@@ -241,7 +241,7 @@
 
       newVoicemailViewHolderArrayMap.remove(newVoicemailViewHolder.getViewHolderId());
       printHashSet();
-      printHashMap();
+      printArrayMap();
     }
 
     newVoicemailViewHolder.reset();
@@ -265,7 +265,7 @@
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
     printHashSet();
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
-    printHashMap();
+    printArrayMap();
 
     // If the viewholder is playing the voicemail, keep updating its media player view (seekbar,
     // duration etc.)
@@ -298,12 +298,12 @@
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
     printHashSet();
     // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
-    printHashMap();
+    printArrayMap();
   }
 
-  private void printHashMap() {
+  private void printArrayMap() {
     LogUtil.i(
-        "NewVoicemailAdapter.printHashMap",
+        "NewVoicemailAdapter.printArrayMap",
         "hashMapSize: %d, currentlyExpandedViewHolderId:%d",
         newVoicemailViewHolderArrayMap.size(),
         currentlyExpandedViewHolderId);
@@ -311,9 +311,9 @@
     if (!newVoicemailViewHolderArrayMap.isEmpty()) {
       String ids = "";
       for (int id : newVoicemailViewHolderArrayMap.keySet()) {
-        ids = id + String.valueOf(id) + " ";
+        ids = ids + id + " ";
       }
-      LogUtil.i("NewVoicemailAdapter.printHashMap", "ids are " + ids);
+      LogUtil.i("NewVoicemailAdapter.printArrayMap", "ids are " + ids);
     }
   }
 
@@ -801,7 +801,7 @@
           currentlyExpandedViewHolderId);
       // TODO(uabdullah): a bug Remove logging, temporarily here for debugging.
       printHashSet();
-      printHashMap();
+      printArrayMap();
       return null;
     }
   }
