Update dialer to tap green cl 150332012.

Test: Treehugger
Change-Id: If2baab1d3fc2dee602a4f784bba532182e7174f5
diff --git a/Android.mk b/Android.mk
index 2eddb56..46bbcd6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,5 @@
 # Local modifications:
 # * Dagger classes have been manually crafted.
-# * Precompiled proto classes have been included.
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
@@ -95,7 +94,6 @@
 	$(BASE_DIR)/dialer/app/manifests/activities/AndroidManifest.xml \
 	$(BASE_DIR)/dialer/app/voicemail/error/AndroidManifest.xml \
 	$(BASE_DIR)/dialer/backup/AndroidManifest.xml \
-	$(BASE_DIR)/dialer/binary/aosp/AndroidManifest.xml \
 	$(BASE_DIR)/dialer/blocking/AndroidManifest.xml \
 	$(BASE_DIR)/dialer/callcomposer/AndroidManifest.xml \
 	$(BASE_DIR)/dialer/callcomposer/camera/AndroidManifest.xml \
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2e42d50..df9be67 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -12,12 +12,12 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<!-- From java/com/android/dialer/binary/aosp/AndroidManifest.xml -->
+
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   coreApp="true"
   package="com.android.dialer"
-  android:versionCode="90000"
-  android:versionName="9.0">
+  android:versionCode="100000"
+  android:versionName="10.0">
 
   <uses-sdk
     android:minSdkVersion="23"
@@ -111,6 +111,8 @@
     android:name="com.android.dialer.binary.aosp.AospDialerApplication"
     android:supportsRtl="true"
     android:usesCleartextTraffic="false">
+
+
   </application>
 
 </manifest>
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png
index c74bfab..2121878 100644
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png
+++ b/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-mdpi/ic_voicemail_avatar.png
index a5a3021..a7875c5 100644
--- a/java/com/android/contacts/common/res/drawable-mdpi/ic_voicemail_avatar.png
+++ b/java/com/android/contacts/common/res/drawable-mdpi/ic_voicemail_avatar.png
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-xhdpi/ic_voicemail_avatar.png
index ca9d7d6..8dc1d59 100644
--- a/java/com/android/contacts/common/res/drawable-xhdpi/ic_voicemail_avatar.png
+++ b/java/com/android/contacts/common/res/drawable-xhdpi/ic_voicemail_avatar.png
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_voicemail_avatar.png
index d0979e9..5d22cbe 100644
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/ic_voicemail_avatar.png
+++ b/java/com/android/contacts/common/res/drawable-xxhdpi/ic_voicemail_avatar.png
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_voicemail_avatar.png
index 1d6e1aa..762b636 100644
--- a/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_voicemail_avatar.png
+++ b/java/com/android/contacts/common/res/drawable-xxxhdpi/ic_voicemail_avatar.png
Binary files differ
diff --git a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java b/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
index 6d51b85..b0fa1ed 100644
--- a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
+++ b/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.dialer.app.calllog;
 
 import android.content.ComponentName;
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailErrorAlert.java b/java/com/android/dialer/app/voicemail/error/VoicemailErrorAlert.java
index d34a0f3..628ef87 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailErrorAlert.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailErrorAlert.java
@@ -56,7 +56,7 @@
     this.modalAlertManager = modalAlertManager;
     this.messageCreator = messageCreator;
 
-    view = alertManager.inflate(R.layout.voicemai_error_message_fragment);
+    view = alertManager.inflate(R.layout.voicemail_error_message_fragment);
     header = (TextView) view.findViewById(R.id.error_card_header);
     details = (TextView) view.findViewById(R.id.error_card_details);
     primaryAction = (TextView) view.findViewById(R.id.primary_action);
diff --git a/java/com/android/dialer/app/voicemail/error/res/layout/voicemai_error_message_fragment.xml b/java/com/android/dialer/app/voicemail/error/res/layout/voicemail_error_message_fragment.xml
similarity index 100%
rename from java/com/android/dialer/app/voicemail/error/res/layout/voicemai_error_message_fragment.xml
rename to java/com/android/dialer/app/voicemail/error/res/layout/voicemail_error_message_fragment.xml
diff --git a/java/com/android/dialer/binary/aosp/AndroidManifest.xml b/java/com/android/dialer/binary/aosp/AndroidManifest.xml
deleted file mode 100644
index 63edb83..0000000
--- a/java/com/android/dialer/binary/aosp/AndroidManifest.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-  coreApp="true"
-  package="com.android.dialer"
-  android:versionCode="100000"
-  android:versionName="10.0">
-
-  <uses-sdk
-    android:minSdkVersion="23"
-    android:targetSdkVersion="25"/>
-
-  <uses-permission android:name="android.permission.CALL_PHONE"/>
-  <uses-permission android:name="android.permission.READ_CONTACTS"/>
-  <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
-  <uses-permission android:name="android.permission.READ_CALL_LOG"/>
-  <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
-  <uses-permission android:name="android.permission.READ_PROFILE"/>
-  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
-  <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
-  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
-  <uses-permission android:name="android.permission.INTERNET"/>
-  <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
-  <uses-permission android:name="android.permission.NFC"/>
-  <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
-  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
-  <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
-  <uses-permission android:name="android.permission.WAKE_LOCK"/>
-  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
-  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
-  <uses-permission android:name="android.permission.VIBRATE"/>
-  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
-  <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"/>
-  <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"/>
-  <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"/>
-  <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"/>
-  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
-  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
-  <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
-  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-  <uses-permission android:name="android.permission.SEND_SMS"/>
-
-  <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
-  <!-- We use this to disable the status bar buttons of home, back and recent
-  during an incoming call. By doing so this allows us to not show the user
-  is viewing the activity in full screen alert, on a fresh system/factory
-  reset state of the app. -->
-  <uses-permission android:name="android.permission.STATUS_BAR"/>
-  <uses-permission android:name="android.permission.CAMERA"/>
-
-  <!-- This tells the activity manager to not delay any of our activity
-   start requests, even if they happen immediately after the user
-   presses home. -->
-  <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
-
-  <!-- Permissions needed for badger count showing on launch icon. -->
-
-  <!--for Samsung-->
-  <uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
-  <uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
-
-  <!--for htc-->
-  <uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
-  <uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>
-
-  <!--for sony-->
-  <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
-  <uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
-
-  <!--for apex-->
-  <uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
-
-  <!--for solid-->
-  <uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
-
-  <!--for huawei-->
-  <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
-  <uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
-  <uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
-
-  <!--for ZUK-->
-  <uses-permission android:name="android.permission.READ_APP_BADGE"/>
-
-  <!--for OPPO-->
-  <uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
-  <uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
-
-  <application
-    android:backupAgent='com.android.dialer.backup.DialerBackupAgent'
-    android:fullBackupOnly="true"
-    android:restoreAnyVersion="true"
-    android:hardwareAccelerated="true"
-    android:icon="@mipmap/ic_launcher_phone"
-    android:label="@string/applicationLabel"
-    android:name="com.android.dialer.binary.aosp.AospDialerApplication"
-    android:supportsRtl="true"
-    android:usesCleartextTraffic="false">
-  </application>
-
-</manifest>
diff --git a/java/com/android/dialer/calldetails/CallDetailsAdapter.java b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
index 9545830..7471c9c 100644
--- a/java/com/android/dialer/calldetails/CallDetailsAdapter.java
+++ b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
@@ -71,11 +71,12 @@
       ((CallDetailsFooterViewHolder) holder).setPhoneNumber(contact.number);
     } else {
       CallDetailsEntryViewHolder viewHolder = (CallDetailsEntryViewHolder) holder;
+      CallDetailsEntry entry = callDetailsEntries[position - 1];
       viewHolder.setCallDetails(
           contact.number,
-          callDetailsEntries[position - 1],
+          entry,
           callTypeHelper,
-          position != getItemCount() - 2);
+          entry.historyResults.length > 0 && position != getItemCount() - 2);
     }
   }
 
diff --git a/java/com/android/dialer/calldetails/res/drawable/multimedia_image_background.xml b/java/com/android/dialer/calldetails/res/drawable/multimedia_image_background.xml
index 421bdbf..8182e24 100644
--- a/java/com/android/dialer/calldetails/res/drawable/multimedia_image_background.xml
+++ b/java/com/android/dialer/calldetails/res/drawable/multimedia_image_background.xml
@@ -16,5 +16,5 @@
   -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
-  <corners android:radius="2dp"/>
+  <corners android:radius="8dp"/>
 </shape>
diff --git a/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml b/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
index 038a874..79f2837 100644
--- a/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
+++ b/java/com/android/dialer/calldetails/res/layout/call_details_activity.xml
@@ -14,24 +14,25 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:orientation="vertical"
-  android:layout_width="match_parent"
-  android:layout_height="match_parent">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
   <Toolbar
-    android:id="@+id/toolbar"
-    android:layout_width="match_parent"
-    android:layout_height="?attr/actionBarSize"
-    android:background="@color/dialer_theme_color"
-    android:elevation="4dp"
-    android:titleTextAppearance="@style/toolbar_title_text"
-    android:title="@string/call_details"
-    android:navigationIcon="@drawable/quantum_ic_arrow_back_white_24"/>
+      android:id="@+id/toolbar"
+      android:layout_width="match_parent"
+      android:layout_height="?attr/actionBarSize"
+      android:background="@color/dialer_theme_color"
+      android:elevation="4dp"
+      android:titleTextAppearance="@style/toolbar_title_text"
+      android:title="@string/call_details"
+      android:navigationIcon="@drawable/quantum_ic_arrow_back_white_24"/>
 
   <android.support.v7.widget.RecyclerView
-    android:id="@+id/recycler_view"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/background_dialer_white"/>
+      android:id="@+id/recycler_view"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:background="@color/background_dialer_white"/>
 </LinearLayout>
\ No newline at end of file
diff --git a/java/com/android/dialer/calldetails/res/layout/contact_container.xml b/java/com/android/dialer/calldetails/res/layout/contact_container.xml
index 95fe189..bcda55e 100644
--- a/java/com/android/dialer/calldetails/res/layout/contact_container.xml
+++ b/java/com/android/dialer/calldetails/res/layout/contact_container.xml
@@ -18,6 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_marginTop="@dimen/call_details_top_margin"
     android:gravity="center_vertical"
     android:padding="@dimen/contact_container_padding">
 
@@ -25,27 +26,31 @@
       android:id="@+id/quick_contact_photo"
       android:layout_width="@dimen/call_details_contact_photo_size"
       android:layout_height="@dimen/call_details_contact_photo_size"
+      android:layout_marginTop="2dp"
       android:focusable="true"/>
 
-  <TextView
-      android:id="@+id/contact_name"
+  <LinearLayout
+      android:orientation="vertical"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
-      android:layout_marginBottom="@dimen/text_bottom_margin"
-      android:layout_marginStart="@dimen/photo_text_margin"
       android:layout_toEndOf="@+id/quick_contact_photo"
       android:layout_toStartOf="@+id/call_back_button"
-      style="@style/PrimaryText"/>
+      android:layout_centerVertical="true">
 
-  <TextView
-      android:id="@+id/phone_number"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="@dimen/photo_text_margin"
-      android:layout_toEndOf="@+id/quick_contact_photo"
-      android:layout_toStartOf="@+id/call_back_button"
-      android:layout_below="@+id/contact_name"
-      style="@style/SecondaryText"/>
+    <TextView
+        android:id="@+id/contact_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/photo_text_margin"
+        style="@style/PrimaryText"/>
+
+    <TextView
+        android:id="@+id/phone_number"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/photo_text_margin"
+        style="@style/SecondaryText"/>
+  </LinearLayout>
 
   <ImageView
       android:id="@+id/call_back_button"
diff --git a/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml b/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml
index 5ad7912..85cc4ed 100644
--- a/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml
+++ b/java/com/android/dialer/calldetails/res/layout/ec_data_container.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="@dimen/ec_container_height">
 
@@ -8,6 +9,7 @@
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerVertical="true"
+      android:layout_marginStart="1dp"
       android:maxLines="2"
       style="@style/SecondaryText"/>
 
@@ -22,21 +24,21 @@
       android:outlineProvider="background"
       android:visibility="gone">
 
-    <ImageView
-        android:id="@+id/multimedia_image"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="centerCrop"/>
+  <ImageView
+      android:id="@+id/multimedia_image"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:scaleType="centerCrop"/>
 
-    <com.android.incallui.autoresizetext.AutoResizeTextView
-        android:id="@+id/multimedia_attachments_number"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:padding="4dp"
-        android:gravity="center"
-        android:textColor="@color/background_dialer_white"
-        android:textSize="100sp"
-        android:background="#80000000"
-        android:visibility="gone"/>
+  <TextView
+      android:id="@+id/multimedia_attachments_number"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:textColor="@color/background_dialer_white"
+      android:textSize="20sp"
+      android:fontFamily="sans-serif-medium"
+      android:background="#80000000"
+      android:gravity="center"
+      android:visibility="gone"/>
   </FrameLayout>
 </RelativeLayout>
\ No newline at end of file
diff --git a/java/com/android/dialer/calldetails/res/values/dimens.xml b/java/com/android/dialer/calldetails/res/values/dimens.xml
index b1a8f1c..59f2371 100644
--- a/java/com/android/dialer/calldetails/res/values/dimens.xml
+++ b/java/com/android/dialer/calldetails/res/values/dimens.xml
@@ -15,9 +15,9 @@
   ~ limitations under the License
   -->
 <resources>
-  <dimen name="text_bottom_margin">2dp</dimen>
   <dimen name="call_details_primary_text_size">16sp</dimen>
   <dimen name="call_details_secondary_text_size">14sp</dimen>
+  <dimen name="call_details_top_margin">6dp</dimen>
 
   <!-- contact container -->
   <dimen name="contact_container_padding">16dp</dimen>
diff --git a/java/com/android/dialer/calllogutils/res/values/colors.xml b/java/com/android/dialer/calllogutils/res/values/colors.xml
index dc4ec24..e0e6fb2 100644
--- a/java/com/android/dialer/calllogutils/res/values/colors.xml
+++ b/java/com/android/dialer/calllogutils/res/values/colors.xml
@@ -16,7 +16,7 @@
  -->
 <resources>
   <!-- Color for missed call icons. -->
-  <color name="missed_call">#ff2e58</color>
+  <color name="missed_call">#C53929</color>
   <!-- Color for answered or outgoing call icons. -->
   <color name="answered_call">#00c853</color>
   <!-- Color for blocked call icons. -->
diff --git a/java/com/android/dialer/calllogutils/res/values/strings.xml b/java/com/android/dialer/calllogutils/res/values/strings.xml
index 6a6f101..01a5a9b 100644
--- a/java/com/android/dialer/calllogutils/res/values/strings.xml
+++ b/java/com/android/dialer/calllogutils/res/values/strings.xml
@@ -82,9 +82,9 @@
   <!-- String used for displaying calls to the voicemail number in the call log -->
   <string name="voicemail_string">Voicemail</string>
 
-  <!-- A nicely formatted call duration displayed when viewing call details. For example "42 min 28 sec" -->
-  <string name="call_details_duration_format"><xliff:g example="42" id="minutes">%s</xliff:g> min <xliff:g example="28" id="seconds">%s</xliff:g> sec</string>
+  <!-- A nicely formatted call duration displayed when viewing call details. For example "42m 28s" -->
+  <string name="call_details_duration_format"><xliff:g example="42" id="minutes">%s</xliff:g>m <xliff:g example="28" id="seconds">%s</xliff:g>s</string>
 
-  <!-- A nicely formatted call duration displayed when viewing call details for duration less than 1 minute. For example "28 sec" -->
-  <string name="call_details_short_duration_format"><xliff:g example="28" id="seconds">%s</xliff:g> sec</string>
+  <!-- A nicely formatted call duration displayed when viewing call details for duration less than 1 minute. For example "28s" -->
+  <string name="call_details_short_duration_format"><xliff:g example="28" id="seconds">%s</xliff:g>s</string>
 </resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/debug/AndroidManifest.xml b/java/com/android/dialer/debug/AndroidManifest.xml
deleted file mode 100644
index 053d7e7..0000000
--- a/java/com/android/dialer/debug/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<manifest
-  package="com.android.dialer.debug">
-</manifest>
diff --git a/java/com/android/dialer/debug/bindings/impl/DebugBindings.java b/java/com/android/dialer/debug/bindings/impl/DebugBindings.java
deleted file mode 100644
index a8b4460..0000000
--- a/java/com/android/dialer/debug/bindings/impl/DebugBindings.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.debug.bindings;
-
-import android.content.Context;
-import com.android.dialer.debug.impl.DebugConnectionService;
-
-/** Hooks into the debug module. */
-public class DebugBindings {
-
-  public static void registerConnectionService(Context context) {
-    DebugConnectionService.register(context);
-  }
-
-  public static void addNewIncomingCall(Context context, String phoneNumber) {
-    DebugConnectionService.addNewIncomingCall(context, phoneNumber);
-  }
-}
diff --git a/java/com/android/dialer/debug/bindings/stub/DebugBindings.java b/java/com/android/dialer/debug/bindings/stub/DebugBindings.java
deleted file mode 100644
index 7df3834..0000000
--- a/java/com/android/dialer/debug/bindings/stub/DebugBindings.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.debug.bindings;
-
-import android.content.Context;
-
-/** Hooks into the debug module. */
-public class DebugBindings {
-
-  public static void registerConnectionService(Context context) {}
-
-  public static void addNewIncomingCall(Context context, String phoneNumber) {}
-}
diff --git a/java/com/android/dialer/debug/impl/AndroidManifest.xml b/java/com/android/dialer/debug/impl/AndroidManifest.xml
deleted file mode 100644
index b875661..0000000
--- a/java/com/android/dialer/debug/impl/AndroidManifest.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-  package="com.android.dialer.debug.impl">
-
-  <application>
-
-    <service
-      android:exported="true"
-      android:name=".DebugConnectionService"
-      android:permission="android.permission.BIND_CONNECTION_SERVICE">
-      <intent-filter>
-        <action android:name="android.telecomm.ConnectionService"/>
-      </intent-filter>
-    </service>
-
-  </application>
-
-</manifest>
diff --git a/java/com/android/dialer/debug/impl/DebugConnection.java b/java/com/android/dialer/debug/impl/DebugConnection.java
deleted file mode 100644
index 2ef83aa..0000000
--- a/java/com/android/dialer/debug/impl/DebugConnection.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.debug.impl;
-
-import android.telecom.Connection;
-import android.telecom.DisconnectCause;
-import com.android.dialer.common.LogUtil;
-
-class DebugConnection extends Connection {
-
-  @Override
-  public void onAnswer() {
-    LogUtil.i("DebugConnection.onAnswer", null);
-    setActive();
-  }
-
-  @Override
-  public void onReject() {
-    LogUtil.i("DebugConnection.onReject", null);
-    setDisconnected(new DisconnectCause(DisconnectCause.REJECTED));
-  }
-
-  @Override
-  public void onHold() {
-    LogUtil.i("DebugConnection.onHold", null);
-    setOnHold();
-  }
-
-  @Override
-  public void onUnhold() {
-    LogUtil.i("DebugConnection.onUnhold", null);
-    setActive();
-  }
-
-  @Override
-  public void onDisconnect() {
-    LogUtil.i("DebugConnection.onDisconnect", null);
-    setDisconnected(new DisconnectCause(DisconnectCause.LOCAL));
-    destroy();
-  }
-}
diff --git a/java/com/android/dialer/debug/impl/DebugConnectionService.java b/java/com/android/dialer/debug/impl/DebugConnectionService.java
deleted file mode 100644
index 69aab1e..0000000
--- a/java/com/android/dialer/debug/impl/DebugConnectionService.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.debug.impl;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.net.Uri;
-import android.os.Bundle;
-import android.telecom.Connection;
-import android.telecom.ConnectionRequest;
-import android.telecom.ConnectionService;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.TelephonyManager;
-import com.android.dialer.common.LogUtil;
-import java.util.ArrayList;
-import java.util.List;
-
-/** Simple connection provider to create an incoming call. This is useful for emulators. */
-public class DebugConnectionService extends ConnectionService {
-
-  private static final String PHONE_ACCOUNT_ID = "DEBUG_DIALER";
-
-  public static void register(Context context) {
-    LogUtil.i(
-        "DebugConnectionService.register",
-        context.getSystemService(Context.TELECOM_SERVICE).toString());
-    context.getSystemService(TelecomManager.class).registerPhoneAccount(buildPhoneAccount(context));
-  }
-
-  public static void addNewIncomingCall(Context context, String phoneNumber) {
-    LogUtil.i("DebugConnectionService.addNewIncomingCall", null);
-    Bundle bundle = new Bundle();
-    bundle.putString(TelephonyManager.EXTRA_INCOMING_NUMBER, phoneNumber);
-    try {
-      context
-          .getSystemService(TelecomManager.class)
-          .addNewIncomingCall(getConnectionServiceHandle(context), bundle);
-    } catch (SecurityException e) {
-      LogUtil.i(
-          "DebugConnectionService.addNewIncomingCall",
-          "unable to add call. Make sure to enable the service in Phone app -> Settings -> Calls ->"
-              + " Calling accounts.");
-    }
-  }
-
-  private static PhoneAccount buildPhoneAccount(Context context) {
-    PhoneAccount.Builder builder =
-        new PhoneAccount.Builder(
-            getConnectionServiceHandle(context), "DebugDialerConnectionService");
-    List<String> uriSchemes = new ArrayList<>();
-    uriSchemes.add(PhoneAccount.SCHEME_TEL);
-
-    return builder
-        .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
-        .setShortDescription("Debug Dialer Connection Serivce")
-        .setSupportedUriSchemes(uriSchemes)
-        .build();
-  }
-
-  private static PhoneAccountHandle getConnectionServiceHandle(Context context) {
-    ComponentName componentName = new ComponentName(context, DebugConnectionService.class);
-    return new PhoneAccountHandle(componentName, PHONE_ACCOUNT_ID);
-  }
-
-  private static Uri getPhoneNumber(ConnectionRequest request) {
-    String phoneNumber = request.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
-    return Uri.fromParts(PhoneAccount.SCHEME_TEL, phoneNumber, null);
-  }
-
-  @Override
-  public Connection onCreateOutgoingConnection(
-      PhoneAccountHandle phoneAccount, ConnectionRequest request) {
-    return null;
-  }
-
-  @Override
-  public Connection onCreateIncomingConnection(
-      PhoneAccountHandle phoneAccount, ConnectionRequest request) {
-    LogUtil.i("DebugConnectionService.onCreateIncomingConnection", null);
-    DebugConnection connection = new DebugConnection();
-    connection.setRinging();
-    connection.setAddress(getPhoneNumber(request), TelecomManager.PRESENTATION_ALLOWED);
-    connection.setConnectionCapabilities(
-        Connection.CAPABILITY_MUTE | Connection.CAPABILITY_SUPPORT_HOLD);
-    return connection;
-  }
-}
diff --git a/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java b/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
index f589f94..250c643 100644
--- a/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
+++ b/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.dialer.enrichedcall;
 
 import android.support.annotation.NonNull;
diff --git a/java/com/android/dialer/enrichedcall/historyquery/HistoryQuery.java b/java/com/android/dialer/enrichedcall/historyquery/HistoryQuery.java
index b7593ce..e61c79e 100644
--- a/java/com/android/dialer/enrichedcall/historyquery/HistoryQuery.java
+++ b/java/com/android/dialer/enrichedcall/historyquery/HistoryQuery.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.dialer.enrichedcall.historyquery;
 
 import android.support.annotation.NonNull;
diff --git a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
index bcc387a..f24724a 100644
--- a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
+++ b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.dialer.enrichedcall.videoshare;
 
 import android.support.annotation.MainThread;
diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java
index 29bf0b2..e31ec98 100644
--- a/java/com/android/dialer/oem/MotorolaUtils.java
+++ b/java/com/android/dialer/oem/MotorolaUtils.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.dialer.oem;
 
 import android.content.Context;
diff --git a/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java b/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
index 6cd5733..4acb548 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorActionProvider.java
@@ -17,7 +17,9 @@
 package com.android.dialer.simulator.impl;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.AsyncTask;
+import android.provider.VoicemailContract;
 import android.support.annotation.NonNull;
 import android.view.ActionProvider;
 import android.view.MenuItem;
@@ -72,6 +74,14 @@
               populateDatabase();
               return true;
             });
+    subMenu
+        .add("Sync Voicemail")
+        .setOnMenuItemClickListener(
+            (item) -> {
+              Intent intent = new Intent(VoicemailContract.ACTION_SYNC_VOICEMAIL);
+              context.sendBroadcast(intent);
+              return true;
+            });
   }
 
   private void populateDatabase() {
diff --git a/java/com/android/dialer/theme/res/values/dimens.xml b/java/com/android/dialer/theme/res/values/dimens.xml
index fa750c6..373b33d 100644
--- a/java/com/android/dialer/theme/res/values/dimens.xml
+++ b/java/com/android/dialer/theme/res/values/dimens.xml
@@ -26,8 +26,8 @@
   <dimen name="actionbar_and_tab_height">107dp</dimen>
   <dimen name="actionbar_contentInsetStart">72dp</dimen>
 
-  <dimen name="toolbar_title_text_size">20sp</dimen>
-  <dimen name="toolbar_subtitle_text_size">14sp</dimen>
+  <dimen name="toolbar_title_text_size">14sp</dimen>
+  <dimen name="toolbar_subtitle_text_size">12sp</dimen>
 
   <dimen name="call_log_icon_margin">4dp</dimen>
 </resources>
diff --git a/java/com/android/incallui/answer/impl/answermethod/FlingUpDownMethod.java b/java/com/android/incallui/answer/impl/answermethod/FlingUpDownMethod.java
index 6e8e1f7..587b923 100644
--- a/java/com/android/incallui/answer/impl/answermethod/FlingUpDownMethod.java
+++ b/java/com/android/incallui/answer/impl/answermethod/FlingUpDownMethod.java
@@ -388,10 +388,6 @@
     // Since the animation progression is controlled by user gesture instead of real timeline, the
     // spec timeline can be divided into 9 slots. Each slot is equivalent to 83ms in the spec.
     // Therefore, we use 9 slots of 83ms to map user gesture into the spec timeline.
-    //
-    // See specs -
-    // Accept: https://direct.googleplex.com/#/spec/8510001
-    // Decline: https://direct.googleplex.com/#/spec/3850001
     final float progressSlots = 9;
 
     // Fade out the "swipe up to answer". It only takes 1 slot to complete the fade.
diff --git a/java/com/android/incallui/calllocation/impl/GoogleLocationSettingHelper.java b/java/com/android/incallui/calllocation/impl/GoogleLocationSettingHelper.java
index 18a80b8..bcb3e8d 100644
--- a/java/com/android/incallui/calllocation/impl/GoogleLocationSettingHelper.java
+++ b/java/com/android/incallui/calllocation/impl/GoogleLocationSettingHelper.java
@@ -28,8 +28,7 @@
 import com.android.dialer.common.LogUtil;
 
 /**
- * Helper class to check if Google Location Services is enabled. This class is based on
- * https://docs.google.com/a/google.com/document/d/1sGm8pHgGY1QmxbLCwTZuWQASEDN7CFW9EPSZXAuGQfo
+ * Helper class to check if Google Location Services is enabled.
  */
 public class GoogleLocationSettingHelper {
 
diff --git a/java/com/android/incallui/calllocation/impl/HttpFetcher.java b/java/com/android/incallui/calllocation/impl/HttpFetcher.java
index 7bfbaa6..c4aaa22 100644
--- a/java/com/android/incallui/calllocation/impl/HttpFetcher.java
+++ b/java/com/android/incallui/calllocation/impl/HttpFetcher.java
@@ -223,8 +223,6 @@
   /**
    * Lookup up url re-write rules from gServices and apply to the given url.
    *
-   * <p>https://wiki.corp.google.com/twiki/bin/view/Main/AndroidGservices#URL_Rewriting_Rules
-   *
    * @return The new url.
    */
   private static URL reWriteUrl(Context context, String url) {
diff --git a/java/com/android/incallui/incall/impl/FakeDragAnimation.java b/java/com/android/incallui/incall/impl/FakeDragAnimation.java
deleted file mode 100644
index c84c3c4..0000000
--- a/java/com/android/incallui/incall/impl/FakeDragAnimation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.incallui.incall.impl;
-
-import android.animation.ValueAnimator;
-import android.animation.ValueAnimator.AnimatorUpdateListener;
-import android.support.v4.view.ViewPager;
-import android.support.v4.view.animation.FastOutSlowInInterpolator;
-
-/**
- * An animation that controls the fake drag of a {@link ViewPager}. See {@link
- * ViewPager#fakeDragBy(float)} for more details.
- */
-public class FakeDragAnimation implements AnimatorUpdateListener {
-
-  /** The view to animate. */
-  private final ViewPager pager;
-
-  private final ValueAnimator animator;
-  private int oldDragPosition;
-
-  public FakeDragAnimation(ViewPager pager) {
-    this.pager = pager;
-    animator = ValueAnimator.ofInt(0, pager.getWidth());
-    animator.addUpdateListener(this);
-    animator.setInterpolator(new FastOutSlowInInterpolator());
-    animator.setDuration(600);
-  }
-
-  public void start() {
-    animator.start();
-  }
-
-  @Override
-  public void onAnimationUpdate(ValueAnimator animation) {
-    if (!pager.isFakeDragging()) {
-      pager.beginFakeDrag();
-    }
-    int dragPosition = (Integer) animation.getAnimatedValue();
-    int dragOffset = dragPosition - oldDragPosition;
-    oldDragPosition = dragPosition;
-    pager.fakeDragBy(-dragOffset);
-
-    if (animation.getAnimatedFraction() == 1) {
-      pager.endFakeDrag();
-    }
-  }
-}
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index 3f31651..b6ae490 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -253,13 +253,16 @@
       if (!stateRestored) {
         new Handler()
             .postDelayed(
-                () -> {
-                  // In order to prevent user confusion and educate the user on our UI, we animate
-                  // the view pager to the button grid after a short period to show them where the
-                  // UI that they are more familiar with is located.
-                  new FakeDragAnimation(pager).start();
+                new Runnable() {
+                  @Override
+                  public void run() {
+                    // In order to prevent user confusion and educate the user on our UI, we animate
+                    // the view pager to the button grid after 2 seconds show them when the UI is
+                    // that they are more familiar with.
+                    pager.setCurrentItem(adapter.getButtonGridPosition());
+                  }
                 },
-                333);
+                2000);
       }
     } else {
       tabLayout.setVisibility(View.GONE);
diff --git a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
index c255019..2c706d2 100644
--- a/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
+++ b/java/com/android/voicemail/impl/sync/OmtpVvmSyncService.java
@@ -180,7 +180,7 @@
     // The number of voicemails that exceed our threshold and should be deleted from the server
     int numVoicemails =
         imapHelper.getOccuupiedQuota()
-            - ((int) AUTO_DELETE_ARCHIVE_VM_THRESHOLD * imapHelper.getTotalQuota());
+            - (int) (AUTO_DELETE_ARCHIVE_VM_THRESHOLD * imapHelper.getTotalQuota());
     List<Voicemail> oldestVoicemails = mQueryHelper.oldestVoicemailsOnServer(numVoicemails);
     if (!oldestVoicemails.isEmpty()) {
       mQueryHelper.markArchivedInDatabase(oldestVoicemails);
diff --git a/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java b/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
index d129406..fc8119a 100644
--- a/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
+++ b/java/com/android/voicemail/impl/sync/VoicemailsQueryHelper.java
@@ -272,14 +272,15 @@
     String sortAndLimit = "date ASC limit " + numVoicemails;
 
     try (Cursor cursor =
-        mContentResolver.query(mSourceUri, null, ARCHIVED_SELECTION, null, sortAndLimit)) {
+        mContentResolver.query(mSourceUri, PROJECTION, ARCHIVED_SELECTION, null, sortAndLimit)) {
 
       Assert.isNotNull(cursor);
 
       List<Voicemail> voicemails = new ArrayList<>();
       while (cursor.moveToNext()) {
+        final long id = cursor.getLong(_ID);
         final String sourceData = cursor.getString(SOURCE_DATA);
-        Voicemail voicemail = Voicemail.createForUpdate(cursor.getLong(_ID), sourceData).build();
+        Voicemail voicemail = Voicemail.createForUpdate(id, sourceData).build();
         voicemails.add(voicemail);
       }