Merge changes from topic "ui-update"
am: e0dbd9f907

Change-Id: I64d1b1f257f265ba01b5fa4de9c7f228b6ed3e24
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index c953346..e044460 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -46,7 +46,6 @@
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.ViewStub;
 import android.widget.ImageButton;
 import android.widget.ImageView;
@@ -365,8 +364,6 @@
     PhoneCallDetailsHelper phoneCallDetailsHelper =
         new PhoneCallDetailsHelper(context, resources, callLogCache);
 
-    CardView cardView = new CardView(context);
-    cardView.setLayoutParams(new ViewGroup.MarginLayoutParams(0, 0));
     CallLogListItemViewHolder viewHolder =
         new CallLogListItemViewHolder(
             context,
@@ -381,7 +378,7 @@
             new DialerQuickContactBadge(context),
             new View(context),
             PhoneCallDetailsViews.createForTest(context),
-            cardView,
+            new CardView(context),
             new TextView(context),
             new ImageView(context));
     viewHolder.detailsButtonView = new TextView(context);
@@ -892,30 +889,12 @@
       bindActionButtons();
       actionsView.setVisibility(View.VISIBLE);
       actionsView.setAlpha(1.0f);
-      ViewGroup.MarginLayoutParams layoutParams =
-          (ViewGroup.MarginLayoutParams) callLogEntryView.getLayoutParams();
-      layoutParams.bottomMargin =
-          context
-              .getResources()
-              .getDimensionPixelSize(R.dimen.call_log_card_margin_bottom_expanded);
-      callLogEntryView.setLayoutParams(layoutParams);
-      callLogEntryView.setCardElevation(
-          context.getResources().getDimension(R.dimen.call_log_card_elevation_expanded));
     } else {
       // When recycling a view, it is possible the actionsView ViewStub was previously
       // inflated so we should hide it in this case.
       if (actionsView != null) {
         actionsView.setVisibility(View.GONE);
       }
-      ViewGroup.MarginLayoutParams layoutParams =
-          (ViewGroup.MarginLayoutParams) callLogEntryView.getLayoutParams();
-      layoutParams.bottomMargin =
-          context
-              .getResources()
-              .getDimensionPixelSize(R.dimen.call_log_card_margin_bottom_collapsed);
-      callLogEntryView.setLayoutParams(layoutParams);
-      callLogEntryView.setCardElevation(
-          context.getResources().getDimension(R.dimen.call_log_card_elevation_collapsed));
     }
 
     updatePrimaryActionButton(show);
diff --git a/java/com/android/dialer/app/res/layout/call_log_fragment.xml b/java/com/android/dialer/app/res/layout/call_log_fragment.xml
index 5ceff2e..bf91a3a 100644
--- a/java/com/android/dialer/app/res/layout/call_log_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_fragment.xml
@@ -62,6 +62,8 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:paddingBottom="@dimen/floating_action_button_list_bottom_padding"
+    android:paddingStart="@dimen/call_log_horizontal_margin"
+    android:paddingEnd="@dimen/call_log_horizontal_margin"
     android:clipToPadding="false"/>
 
   <com.android.dialer.widget.EmptyContentView
diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item.xml b/java/com/android/dialer/app/res/layout/call_log_list_item.xml
index 5fbdf08..c9c1a67 100644
--- a/java/com/android/dialer/app/res/layout/call_log_list_item.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_list_item.xml
@@ -15,47 +15,48 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/call_log_list_item"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
+  android:id="@+id/call_log_list_item"
+  android:layout_width="match_parent"
+  android:layout_height="wrap_content"
+  android:orientation="vertical">
 
   <!-- Day group heading. Used to show a "today", "yesterday", "last week" or "other" heading
        above a group of call log entries. -->
   <TextView
-      android:id="@+id/call_log_day_group_label"
-      style="@style/Dialer.TextAppearance.OVERLINE.Ellipsize"
-      android:layout_width="wrap_content"
-      android:layout_height="48dp"
-      android:layout_marginStart="@dimen/call_log_start_margin"
-      android:layout_marginEnd="@dimen/call_log_outer_margin"
-      android:layout_gravity="start"
-      android:gravity="center_vertical"/>
+    android:id="@+id/call_log_day_group_label"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="start"
+    android:layout_marginStart="@dimen/call_log_start_margin"
+    android:layout_marginEnd="@dimen/call_log_outer_margin"
+    android:paddingTop="@dimen/call_log_day_group_padding_top"
+    android:paddingBottom="@dimen/call_log_day_group_padding_bottom"
+    style="@style/Dialer.TextAppearance.OVERLINE.Ellipsize"/>
 
   <android.support.v7.widget.CardView
-      android:id="@+id/call_log_row"
-      style="@style/CallLogCardStyle">
+    android:id="@+id/call_log_row"
+    style="@style/CallLogCardStyle">
 
     <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical">
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:orientation="vertical">
 
       <!-- Primary area containing the contact badge and caller information -->
       <LinearLayout
-          android:id="@+id/primary_action_view"
-          android:layout_width="match_parent"
-          android:layout_height="wrap_content"
-          android:paddingTop="@dimen/call_log_vertical_padding"
-          android:paddingBottom="@dimen/call_log_vertical_padding"
-          android:paddingStart="@dimen/call_log_start_margin"
-          android:paddingEnd="@dimen/call_log_outer_margin"
-          android:background="?android:attr/selectableItemBackground"
-          android:focusable="true"
-          android:gravity="center_vertical"
-          android:nextFocusLeft="@+id/quick_contact_photo"
-          android:nextFocusRight="@+id/call_back_action"
-          android:orientation="horizontal">
+        android:id="@+id/primary_action_view"
+        android:background="?android:attr/selectableItemBackground"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="@dimen/call_log_start_margin"
+        android:paddingEnd="@dimen/call_log_outer_margin"
+        android:paddingTop="@dimen/call_log_vertical_padding"
+        android:paddingBottom="@dimen/call_log_vertical_padding"
+        android:orientation="horizontal"
+        android:gravity="center_vertical"
+        android:focusable="true"
+        android:nextFocusRight="@+id/call_back_action"
+        android:nextFocusLeft="@+id/quick_contact_photo">
 
         <FrameLayout
             android:layout_width="wrap_content"
@@ -67,103 +68,104 @@
               android:id="@+id/quick_contact_photo"
               android:layout_width="@dimen/contact_photo_size"
               android:layout_height="@dimen/contact_photo_size"
-              android:focusable="true"
-              android:nextFocusRight="@id/primary_action_view"/>
+              android:paddingTop="2dp"
+              android:nextFocusRight="@id/primary_action_view"
+              android:focusable="true"/>
 
           <ImageView
               android:id="@+id/quick_contact_checkbox"
+              android:scaleType="fitCenter"
               android:layout_width="@dimen/contact_photo_size"
               android:layout_height="@dimen/contact_photo_size"
-              android:scaleType="fitCenter"
-              android:src="@drawable/ic_check_mark_48dp"
-              android:visibility="gone"/>
+              android:visibility="gone"
+              android:src="@drawable/ic_check_mark_48dp" />
 
         </FrameLayout>
 
 
         <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:layout_marginStart="@dimen/call_log_list_item_info_margin_start"
-            android:gravity="center_vertical"
-            android:orientation="vertical">
+          android:layout_width="0dp"
+          android:layout_height="wrap_content"
+          android:layout_weight="1"
+          android:orientation="vertical"
+          android:gravity="center_vertical"
+          android:layout_marginStart="@dimen/call_log_list_item_info_margin_start">
 
           <com.android.dialer.widget.BidiTextView
-              android:id="@+id/name"
-              style="@style/Dialer.TextAppearance.Primary.Ellipsize"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:layout_marginBottom="@dimen/call_log_name_margin_bottom"
-              android:layout_marginEnd="@dimen/call_log_icon_margin"/>
+            android:id="@+id/name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="@dimen/call_log_name_margin_bottom"
+            android:layout_marginEnd="@dimen/call_log_icon_margin"
+            style="@style/Dialer.TextAppearance.Primary.Ellipsize"/>
 
           <LinearLayout
-              android:id="@+id/call_type"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:orientation="horizontal">
+            android:id="@+id/call_type"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal">
 
             <com.android.dialer.calllogutils.CallTypeIconsView
-                android:id="@+id/call_type_icons"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="@dimen/call_log_icon_margin"
-                android:layout_gravity="center_vertical"/>
+              android:id="@+id/call_type_icons"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_marginEnd="@dimen/call_log_icon_margin"
+              android:layout_gravity="center_vertical"/>
 
             <ImageView
-                android:id="@+id/work_profile_icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="@dimen/call_log_icon_margin"
-                android:scaleType="center"
-                android:src="@drawable/ic_work_profile"
-                android:visibility="gone"/>
+              android:id="@+id/work_profile_icon"
+              android:src="@drawable/ic_work_profile"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_marginEnd="@dimen/call_log_icon_margin"
+              android:scaleType="center"
+              android:visibility="gone"/>
 
             <TextView
-                android:id="@+id/call_location_and_date"
-                style="Dialer.TextAppearance.Secondary.Ellipsize"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="@dimen/call_log_icon_margin"
-                android:layout_gravity="center_vertical"/>
+              android:id="@+id/call_location_and_date"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:layout_marginEnd="@dimen/call_log_icon_margin"
+              android:layout_gravity="center_vertical"
+              style="Dialer.TextAppearance.Secondary.Ellipsize"/>
 
           </LinearLayout>
 
           <TextView
-              android:id="@+id/call_account_label"
-              style="Dialer.TextAppearance.Secondary2.Ellipsize"
-              android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:layout_marginTop="@dimen/call_log_call_account_margin_bottom"
-              android:layout_marginEnd="@dimen/call_log_icon_margin"
-              android:visibility="gone"/>
+            android:id="@+id/call_account_label"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/call_log_call_account_margin_bottom"
+            android:layout_marginEnd="@dimen/call_log_icon_margin"
+            android:visibility="gone"
+            style="Dialer.TextAppearance.Secondary2.Ellipsize"/>
 
           <LinearLayout
-              android:id="@+id/transcription"
-              android:layout_width="match_parent"
+            android:id="@+id/transcription"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/call_log_icon_margin"
+            android:visibility="gone"
+            android:orientation="vertical">
+
+            <TextView
+              android:id="@+id/voicemail_transcription"
+              android:layout_width="wrap_content"
               android:layout_height="wrap_content"
-              android:layout_marginTop="@dimen/call_log_icon_margin"
-              android:orientation="vertical"
-              android:visibility="gone">
+              android:focusable="true"
+              android:nextFocusDown="@+id/voicemail_transcription_branding"
+              android:textIsSelectable="true"
+              style="Dialer.TextAppearance.Secondary2"/>
 
             <TextView
-                android:id="@+id/voicemail_transcription"
-                style="Dialer.TextAppearance.Secondary2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:focusable="true"
-                android:nextFocusDown="@+id/voicemail_transcription_branding"
-                android:textIsSelectable="true"/>
-
-            <TextView
-                android:id="@+id/voicemail_transcription_branding"
-                style="Dialer.TextAppearance.Secondary2"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingTop="2dp"
-                android:focusable="true"
-                android:nextFocusDown="@+id/voicemail_transcription_rating"
-                android:nextFocusUp="@id/voicemail_transcription"/>
+              android:id="@+id/voicemail_transcription_branding"
+              android:layout_width="wrap_content"
+              android:layout_height="wrap_content"
+              android:focusable="true"
+              android:nextFocusUp="@id/voicemail_transcription"
+              android:nextFocusDown="@+id/voicemail_transcription_rating"
+              android:paddingTop="2dp"
+              style="Dialer.TextAppearance.Secondary2"/>
 
             <LinearLayout
                 android:id="@+id/voicemail_transcription_rating"
@@ -171,38 +173,38 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/call_log_icon_margin"
                 android:layout_gravity="center_vertical"
+                android:visibility="gone"
                 android:paddingTop="2dp"
-                android:orientation="horizontal"
-                android:visibility="gone">
+                android:orientation="horizontal">
 
               <TextView
-                  android:id="@+id/voicemail_transcription_rating_text"
                   style="@style/TranscriptionQualityRating"
+                  android:id="@+id/voicemail_transcription_rating_text"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_weight="1"
-                  android:focusable="true"
                   android:gravity="start|center_vertical"
+                  android:focusable="true"
                   android:text="@string/voicemail_transcription_rating"/>
 
               <ImageView
-                  android:id="@+id/voicemail_transcription_rating_good"
                   style="@style/TranscriptionQualityRatingIcon"
+                  android:id="@+id/voicemail_transcription_rating_good"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:contentDescription="@string/description_rating_good"
-                  android:focusable="true"
                   android:gravity="end|center_vertical"
+                  android:focusable="true"
                   android:src="@drawable/quantum_ic_thumb_up_grey600_24"/>
 
               <ImageView
-                  android:id="@+id/voicemail_transcription_rating_bad"
                   style="@style/TranscriptionQualityRatingIcon"
+                  android:id="@+id/voicemail_transcription_rating_bad"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:contentDescription="@string/description_rating_bad"
-                  android:focusable="true"
                   android:gravity="end|center_vertical"
+                  android:focusable="true"
                   android:src="@drawable/quantum_ic_thumb_down_grey600_24"/>
 
             </LinearLayout>
@@ -212,25 +214,25 @@
         </LinearLayout>
 
         <ImageView
-            android:id="@+id/primary_action_button"
-            android:layout_width="@dimen/call_log_list_item_primary_action_dimen"
-            android:layout_height="@dimen/call_log_list_item_primary_action_dimen"
-            android:layout_gravity="center_vertical"
-            android:background="?android:attr/selectableItemBackgroundBorderless"
-            android:scaleType="center"
-            android:tint="?colorIcon"
-            android:visibility="gone"/>
+          android:id="@+id/primary_action_button"
+          android:layout_width="@dimen/call_log_list_item_primary_action_dimen"
+          android:layout_height="@dimen/call_log_list_item_primary_action_dimen"
+          android:layout_gravity="center_vertical"
+          android:background="?android:attr/selectableItemBackgroundBorderless"
+          android:scaleType="center"
+          android:tint="?colorIcon"
+          android:visibility="gone"/>
 
       </LinearLayout>
 
       <!-- Viewstub with additional expandable actions for a call log entry -->
       <ViewStub
-          android:id="@+id/call_log_entry_actions_stub"
-          android:layout_width="match_parent"
-          android:layout_height="wrap_content"
-          android:layout_gravity="bottom"
-          android:inflatedId="@+id/call_log_entry_actions"
-          android:layout="@layout/call_log_list_item_actions"/>
+        android:id="@+id/call_log_entry_actions_stub"
+        android:inflatedId="@+id/call_log_entry_actions"
+        android:layout="@layout/call_log_list_item_actions"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom"/>
 
     </LinearLayout>
 
diff --git a/java/com/android/dialer/app/res/values/dimens.xml b/java/com/android/dialer/app/res/values/dimens.xml
index 7a1f574..fdbcac9 100644
--- a/java/com/android/dialer/app/res/values/dimens.xml
+++ b/java/com/android/dialer/app/res/values/dimens.xml
@@ -29,12 +29,9 @@
   <dimen name="select_all_text_left_padding">18dp</dimen>
 
   <!-- Call Log -->
-  <dimen name="call_log_outer_margin">16dp</dimen>
-  <dimen name="call_log_start_margin">16dp</dimen>
-  <dimen name="call_log_card_elevation_expanded">6dp</dimen>
-  <dimen name="call_log_card_elevation_collapsed">0dp</dimen>
-  <dimen name="call_log_card_margin_bottom_expanded">10dp</dimen>
-  <dimen name="call_log_card_margin_bottom_collapsed">4dp</dimen>
+  <dimen name="call_log_horizontal_margin">8dp</dimen>
+  <dimen name="call_log_outer_margin">8dp</dimen>
+  <dimen name="call_log_start_margin">8dp</dimen>
   <dimen name="call_log_name_margin_bottom">2dp</dimen>
   <dimen name="call_log_call_account_margin_bottom">2dp</dimen>
   <dimen name="call_log_vertical_padding">8dp</dimen>
diff --git a/java/com/android/dialer/calllogutils/CallTypeIconsView.java b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
index e268bb8..19c30c5 100644
--- a/java/com/android/dialer/calllogutils/CallTypeIconsView.java
+++ b/java/com/android/dialer/calllogutils/CallTypeIconsView.java
@@ -290,56 +290,56 @@
       int iconId = R.drawable.quantum_ic_call_received_white_24;
       Drawable drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       incoming = drawable.mutate();
-      incoming.setColorFilter(r.getColor(R.color.dialer_call_green), PorterDuff.Mode.SRC_IN);
+      incoming.setColorFilter(r.getColor(R.color.dialer_call_green), PorterDuff.Mode.MULTIPLY);
 
       // Create a rotated instance of the call arrow for outgoing calls.
       iconId = R.drawable.quantum_ic_call_made_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       outgoing = drawable.mutate();
-      outgoing.setColorFilter(r.getColor(R.color.dialer_call_green), PorterDuff.Mode.SRC_IN);
+      outgoing.setColorFilter(r.getColor(R.color.dialer_call_green), PorterDuff.Mode.MULTIPLY);
 
       // Need to make a copy of the arrow drawable, otherwise the same instance colored
       // above will be recolored here.
       iconId = R.drawable.quantum_ic_call_missed_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       missed = drawable.mutate();
-      missed.setColorFilter(r.getColor(R.color.dialer_red), PorterDuff.Mode.SRC_IN);
+      missed.setColorFilter(r.getColor(R.color.dialer_red), PorterDuff.Mode.MULTIPLY);
 
       Theme theme = ThemeComponent.get(context).theme();
       iconId = R.drawable.quantum_ic_voicemail_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       voicemail = drawable.mutate();
-      voicemail.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      voicemail.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_block_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       blocked = drawable.mutate();
-      blocked.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      blocked.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_videocam_vd_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       videoCall = drawable.mutate();
-      videoCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      videoCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_hd_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       hdCall = drawable.mutate();
-      hdCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      hdCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_signal_wifi_4_bar_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       wifiCall = drawable.mutate();
-      wifiCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      wifiCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_language_white_24;
       drawable = largeIcons ? r.getDrawable(iconId) : getScaledBitmap(context, iconId);
       assistedDialedCall = drawable.mutate();
-      assistedDialedCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      assistedDialedCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconId = R.drawable.quantum_ic_rtt_vd_theme_24;
       drawable = largeIcons ? r.getDrawable(iconId, null) : getScaledBitmap(context, iconId);
       rttCall = drawable.mutate();
-      rttCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.SRC_IN);
+      rttCall.setColorFilter(theme.getColorIcon(), PorterDuff.Mode.MULTIPLY);
 
       iconMargin = largeIcons ? 0 : r.getDimensionPixelSize(R.dimen.call_log_icon_margin);
     }
diff --git a/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml b/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml
index d2905e5..be4ee08 100644
--- a/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml
+++ b/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml
@@ -45,6 +45,5 @@
       android:paddingEnd="@dimen/text_padding_end"
       android:gravity="center_vertical"
       android:text="@string/all_contacts_empty_add_contact_action"
-      android:textColor="?android:attr/colorPrimary"
-      style="@style/Dialer.TextAppearance.Primary2"/>
+      style="@style/Dialer.TextAppearance.Primary"/>
 </LinearLayout>
diff --git a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
index 209acb0..3309ab4 100644
--- a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
+++ b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
@@ -47,7 +47,11 @@
         android:layout_height="match_parent"
         android:paddingStart="@dimen/text_padding_start"
         android:paddingEnd="@dimen/text_padding_end"
+        android:maxLines="1"
+        android:ellipsize="end"
         android:gravity="center_vertical"
-        style="@style/Dialer.TextAppearance.Primary.Ellipsize"/>
+        android:textSize="@dimen/text_size"
+        android:textColor="?android:attr/textColorPrimary"
+        android:fontFamily="sans-serif"/>
   </LinearLayout>
 </FrameLayout>
\ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java
index 48cfc81..4794b88 100644
--- a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java
+++ b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java
@@ -20,18 +20,20 @@
 import android.content.res.ColorStateList;
 import android.support.annotation.DrawableRes;
 import android.support.annotation.Nullable;
+import android.support.annotation.Px;
 import android.support.annotation.StringRes;
 import android.util.AttributeSet;
 import android.view.View;
+import android.widget.FrameLayout;
 import android.widget.ImageView;
-import android.widget.RelativeLayout;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 import com.android.dialer.common.Assert;
 import com.android.dialer.configprovider.ConfigProviderComponent;
 import com.android.dialer.theme.base.ThemeComponent;
 
 /** Navigation item in a bottom nav. */
-final class BottomNavItem extends RelativeLayout {
+final class BottomNavItem extends LinearLayout {
 
   private ImageView image;
   private TextView text;
@@ -55,7 +57,7 @@
     int colorId =
         selected
             ? ThemeComponent.get(getContext()).theme().getColorPrimary()
-            : ThemeComponent.get(getContext()).theme().getColorIcon();
+            : ThemeComponent.get(getContext()).theme().getTextColorSecondary();
     image.setImageTintList(ColorStateList.valueOf(colorId));
     text.setTextColor(colorId);
   }
@@ -85,6 +87,20 @@
       }
       notificationBadge.setVisibility(View.VISIBLE);
       notificationBadge.setText(countString);
+
+      @Px int margin;
+      if (countString.length() == 1) {
+        margin = getContext().getResources().getDimensionPixelSize(R.dimen.badge_margin_length_1);
+      } else if (countString.length() == 2) {
+        margin = getContext().getResources().getDimensionPixelSize(R.dimen.badge_margin_length_2);
+      } else {
+        margin = getContext().getResources().getDimensionPixelSize(R.dimen.badge_margin_length_3);
+      }
+
+      FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) image.getLayoutParams();
+      params.setMarginStart(margin);
+      params.setMarginEnd(margin);
+      image.setLayoutParams(params);
     }
   }
 }
diff --git a/java/com/android/dialer/main/impl/bottomnav/res/drawable/notification_badge.xml b/java/com/android/dialer/main/impl/bottomnav/res/drawable/notification_badge.xml
index e02d7c4..65bc8f9 100644
--- a/java/com/android/dialer/main/impl/bottomnav/res/drawable/notification_badge.xml
+++ b/java/com/android/dialer/main/impl/bottomnav/res/drawable/notification_badge.xml
@@ -16,6 +16,8 @@
   -->
 <shape
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="oval">
-  <solid android:color="@color/dialer_red"/>
+    android:shape="rectangle">
+  <solid android:color="?android:attr/colorPrimary"/>
+  <corners android:radius="20dp"/>
+  <stroke android:color="?android:attr/colorBackgroundFloating" android:width="2dp"/>
 </shape>
\ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml b/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml
index 8c0705f..02874a9 100644
--- a/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml
+++ b/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml
@@ -16,41 +16,49 @@
   -->
 <com.android.dialer.main.impl.bottomnav.BottomNavItem
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:background="?android:attr/selectableItemBackgroundBorderless"
+    android:minWidth="80dp"
     android:minHeight="56dp"
-    android:minWidth="80dp">
+    android:gravity="center"
+    android:background="?android:attr/selectableItemBackgroundBorderless">
 
-  <ImageView
-      android:id="@+id/bottom_nav_item_image"
-      android:layout_width="24dp"
-      android:layout_height="24dp"
-      android:layout_marginTop="8dp"
-      android:layout_alignParentTop="true"
-      android:layout_centerHorizontal="true"/>
+  <FrameLayout
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content">
 
-  <TextView
-      android:id="@+id/notification_badge"
-      style="@style/Dialer.TextAppearance.OVERLINE"
-      android:layout_width="16dp"
-      android:layout_height="16dp"
-      android:layout_marginTop="2dp"
-      android:layout_marginStart="-8dp"
-      android:layout_alignParentTop="true"
-      android:layout_toEndOf="@id/bottom_nav_item_image"
-      android:background="@drawable/notification_badge"
-      android:gravity="center"
-      android:textColor="?android:attr/colorBackgroundFloating"
-      android:textSize="11dp"
-      android:visibility="invisible"/>
+    <ImageView
+        android:id="@+id/bottom_nav_item_image"
+        android:layout_width="24dp"
+        android:layout_height="24dp"
+        android:layout_marginTop="8dp"/>
+
+    <TextView
+        android:id="@+id/notification_badge"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="top|end"
+        android:layout_marginTop="2dp"
+        android:paddingStart="6dp"
+        android:paddingEnd="6dp"
+        android:paddingBottom="1dp"
+        android:minHeight="20dp"
+        android:minWidth="20dp"
+        android:gravity="center"
+        android:textSize="12sp"
+        android:textColor="?android:attr/textColorPrimaryInverse"
+        android:background="@drawable/notification_badge"
+        android:fontFamily="sans-serif-medium"
+        android:visibility="invisible"/>
+  </FrameLayout>
+
   <TextView
       android:id="@+id/bottom_nav_item_text"
-      style="@style/Dialer.TextAppearance.SubHeader2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginBottom="8dp"
-      android:layout_below="@id/bottom_nav_item_image"
-      android:layout_centerHorizontal="true"
-      android:gravity="center_horizontal"/>
+      android:gravity="center_horizontal"
+      android:textSize="12sp"
+      style="@style/Dialer.TextAppearance.Secondary"/>
 </com.android.dialer.main.impl.bottomnav.BottomNavItem>
\ No newline at end of file
diff --git a/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml b/java/com/android/dialer/main/impl/bottomnav/res/values/dimens.xml
similarity index 72%
copy from java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
copy to java/com/android/dialer/main/impl/bottomnav/res/values/dimens.xml
index 558277d..8fd376b 100644
--- a/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
+++ b/java/com/android/dialer/main/impl/bottomnav/res/values/dimens.xml
@@ -14,10 +14,8 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-  <corners
-      android:topLeftRadius="8dp"
-      android:topRightRadius="8dp"/>
-  <solid android:color="?android:attr/colorBackgroundFloating"/>
-</shape>
\ No newline at end of file
+<resources>
+  <dimen name="badge_margin_length_1">10dp</dimen>
+  <dimen name="badge_margin_length_2">14dp</dimen>
+  <dimen name="badge_margin_length_3">22dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/layout/main_activity.xml b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
index 5fd9bed..25db637 100644
--- a/java/com/android/dialer/main/impl/res/layout/main_activity.xml
+++ b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
@@ -58,7 +58,7 @@
         android:id="@+id/fab"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_margin="24dp"
+        android:layout_margin="16dp"
         android:layout_gravity="end|bottom"
         android:src="@drawable/quantum_ic_dialpad_white_24"
         android:contentDescription="@string/dialpad_button_content_description"
diff --git a/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml
index 491d5d7..88f5a04 100644
--- a/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml
+++ b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml
@@ -17,5 +17,5 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
   <solid android:color="?android:attr/colorBackgroundFloating"/>
-  <corners android:radius="8dp"/>
+  <corners android:radius="2dp"/>
 </shape>
diff --git a/java/com/android/dialer/main/impl/toolbar/res/layout/expanded_search_bar.xml b/java/com/android/dialer/main/impl/toolbar/res/layout/expanded_search_bar.xml
index 9ae884d..e5b72f2 100644
--- a/java/com/android/dialer/main/impl/toolbar/res/layout/expanded_search_bar.xml
+++ b/java/com/android/dialer/main/impl/toolbar/res/layout/expanded_search_bar.xml
@@ -29,7 +29,7 @@
       android:background="?attr/selectableItemBackgroundBorderless"
       android:contentDescription="@string/action_menu_back_from_search"
       android:src="@drawable/quantum_ic_arrow_back_vd_theme_24"
-      android:tint="?colorIcon"/>
+      android:tint="?android:attr/colorPrimary"/>
 
   <EditText
       android:id="@+id/search_view"
@@ -45,9 +45,10 @@
       android:inputType="textFilter"
       android:maxLines="1"
       android:hint="@string/dialer_hint_find_contact"
+      android:textColor="?android:attr/textColorSecondary"
       android:textColorHint="?android:attr/textColorHint"
       android:textCursorDrawable="@drawable/custom_cursor"
-      style="@style/Dialer.TextAppearance.Primary"/>
+      android:textSize="16sp"/>
 
   <ImageView
       android:id="@+id/search_clear_button"
diff --git a/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml b/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml
index 187ece9..049cf2e 100644
--- a/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml
+++ b/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml
@@ -18,7 +18,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="@dimen/expanded_search_bar_height"
-    android:background="?android:attr/colorBackground"
+    android:background="?android:attr/colorPrimary"
     app:contentInsetEnd="0dp"
     app:contentInsetStart="0dp">
   <FrameLayout
@@ -61,8 +61,8 @@
             android:layout_toEndOf="@+id/search_magnifying_glass"
             android:layout_toStartOf="@+id/voice_search_button"
             android:text="@string/dialer_hint_find_contact"
-            android:textColor="?android:attr/textColorHint"
-            style="@style/Dialer.TextAppearance.Primary"/>
+            android:textSize="16dp"
+            style="@style/Dialer.TextAppearance.Secondary"/>
 
         <ImageView
             android:id="@+id/voice_search_button"
diff --git a/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml b/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml
index 08d2baa..4f8e305 100644
--- a/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml
+++ b/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml
@@ -19,8 +19,8 @@
     android:orientation="horizontal"
     android:layout_width="match_parent"
     android:layout_height="@dimen/search_row_height"
-    android:paddingStart="16dp"
-    android:paddingEnd="16dp"
+    android:paddingStart="8dp"
+    android:paddingEnd="8dp"
     android:background="?android:attr/selectableItemBackground">
 
   <QuickContactBadge
@@ -44,6 +44,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_vertical|start"
+        android:fontFamily="sans-serif"
         style="@style/Dialer.TextAppearance.Primary"/>
 
     <com.android.dialer.widget.BidiTextView
@@ -51,6 +52,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="center_vertical|start"
+        android:fontFamily="sans-serif"
         style="@style/Dialer.TextAppearance.Secondary"/>
   </LinearLayout>
 
diff --git a/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml b/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml
index 16f3701..ff59206 100644
--- a/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml
+++ b/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml
@@ -27,5 +27,5 @@
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_vertical"
-      style="@style/Dialer.TextAppearance.OVERLINE.Ellipsize"/>
+      style="@style/Dialer.TextAppearance.Secondary.Ellipsize"/>
 </FrameLayout>
diff --git a/java/com/android/dialer/theme/base/Theme.java b/java/com/android/dialer/theme/base/Theme.java
index 3356a01..6e0d20a 100644
--- a/java/com/android/dialer/theme/base/Theme.java
+++ b/java/com/android/dialer/theme/base/Theme.java
@@ -17,7 +17,6 @@
 package com.android.dialer.theme.base;
 
 import android.content.Context;
-import android.content.res.ColorStateList;
 import android.support.annotation.ColorInt;
 import android.support.annotation.IntDef;
 import android.support.annotation.StyleRes;
@@ -44,9 +43,6 @@
   @StyleRes
   int getApplicationThemeRes();
 
-  @StyleRes
-  int getBottomSheetStyleRes();
-
   Context getThemedContext(Context context);
 
   LayoutInflater getThemedLayoutInflator(LayoutInflater inflater);
@@ -54,8 +50,6 @@
   @ColorInt
   int getColorIcon();
 
-  ColorStateList getColorIconStateList();
-
   @ColorInt
   int getColorIconSecondary();
 
diff --git a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
index cd1e166..c8f20c7 100644
--- a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
+++ b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
@@ -17,7 +17,6 @@
 package com.android.dialer.theme.base.impl;
 
 import android.content.Context;
-import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
 import android.support.annotation.ColorInt;
 import android.support.annotation.StyleRes;
@@ -34,7 +33,6 @@
 public class AospThemeImpl implements Theme {
 
   private int colorIcon = -1;
-  private final ColorStateList colorIconStateList;
   private int colorIconSecondary = -1;
   private int colorPrimary = -1;
   private int colorPrimaryDark = -1;
@@ -82,7 +80,6 @@
     colorBackground = array.getColor(/* index= */ 7, /* defValue= */ -1);
     colorBackgroundFloating = array.getColor(/* index= */ 8, /* defValue= */ -1);
     colorIcon = array.getColor(/* index= */ 9, /* defValue= */ -1);
-    colorIconStateList = array.getColorStateList(/* index= */ 9);
     colorIconSecondary = array.getColor(/* index= */ 10, /* defValue= */ -1);
     colorTextOnUnthemedDarkBackground = array.getColor(/* index= */ 11, /* defValue= */ -1);
     colorIconOnUnthemedDarkBackground = array.getColor(/* index= */ 12, /* defValue= */ -1);
@@ -102,25 +99,10 @@
   @Override
   public @StyleRes int getApplicationThemeRes() {
     switch (getTheme()) {
-      case LIGHT:
-      case LIGHT_M2:
-        return R.style.Dialer_ThemeBase_NoActionBar;
       case DARK:
         return R.style.Dialer_Dark_ThemeBase_NoActionBar;
-      case UNKNOWN:
-      default:
-        throw Assert.createIllegalStateFailException("Theme hasn't been set yet.");
-    }
-  }
-
-  @Override
-  public @StyleRes int getBottomSheetStyleRes() {
-    switch (getTheme()) {
       case LIGHT:
-      case LIGHT_M2:
-        return R.style.DialerBottomSheetDialogStyle_Light;
-      case DARK:
-        return R.style.DialerBottomSheetDialogStyle_Dark;
+        return R.style.Dialer_ThemeBase_NoActionBar;
       case UNKNOWN:
       default:
         throw Assert.createIllegalStateFailException("Theme hasn't been set yet.");
@@ -144,12 +126,6 @@
   }
 
   @Override
-  public ColorStateList getColorIconStateList() {
-    Assert.checkArgument(colorIconStateList != null);
-    return colorIconStateList;
-  }
-
-  @Override
   public @ColorInt int getColorIconSecondary() {
     Assert.checkArgument(colorIconSecondary != -1);
     return colorIconSecondary;
diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
index 282ddfe..142bb89 100644
--- a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
+++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
@@ -32,8 +32,6 @@
 
   <!-- Activities and Applications should inherit from one of the themes above. -->
   <style name="Dialer.Dark.ThemeBase">
-    <item name="android:statusBarColor">@color/google_grey_900</item>
-
     <!-- These values should be used to color all backgrounds. -->
     <item name="android:colorBackground">@color/google_grey_900</item>
     <item name="android:colorBackgroundFloating">@color/google_grey_800</item>
@@ -51,8 +49,8 @@
     <item name="colorPrimary">@color/dialer_dark_theme_color</item>
     <item name="android:colorPrimaryDark">@color/dialer_dark_theme_color_dark</item>
     <item name="colorPrimaryDark">@color/dialer_dark_theme_color_dark</item>
-    <item name="android:colorAccent">@color/dialer_dark_theme_color</item>
-    <item name="colorAccent">@color/dialer_dark_theme_color</item>
+    <item name="android:colorAccent">@color/dialer_dark_secondary_color</item>
+    <item name="colorAccent">@color/dialer_dark_secondary_color</item>
 
     <!-- Used to automatically style check/selected checkbox, switches and radio buttons -->
     <item name="colorControlActivated">?android:attr/colorPrimary</item>
@@ -64,10 +62,4 @@
     <item name="colorIconOnUnthemedDarkBackground">@android:color/white</item>
     <item name="colorPrimary20pct">@color/dialer_dark_theme_color_20pct</item>
   </style>
-
-  <style name="DialerBottomSheetDialogStyle.Dark">
-    <item name="android:textColorPrimary">@color/dialer_dark_primary_text_color</item>
-    <item name="android:colorBackgroundFloating">@color/google_grey_800</item>
-  </style>
-
-</resources>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
index b0428ee..db06df4 100644
--- a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
+++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
@@ -38,11 +38,8 @@
 
   <!-- Activities and Applications should inherit from one of the themes above. -->
   <style name="Dialer.ThemeBase">
-    <item name="android:windowLightStatusBar">true</item>
-    <item name="android:statusBarColor">@android:color/white</item>
-
     <!-- These values should be used to color all backgrounds. -->
-    <item name="android:colorBackground">@android:color/white</item>
+    <item name="android:colorBackground">@color/dialer_background_color</item>
     <item name="android:colorBackgroundFloating">@android:color/white</item>
 
     <!-- These values should be used to set text color. -->
@@ -57,14 +54,14 @@
     <item name="colorPrimary">@color/dialer_theme_color</item>
     <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
     <item name="colorPrimaryDark">@color/dialer_theme_color_dark</item>
-    <item name="android:colorAccent">@color/dialer_theme_color</item>
-    <item name="colorAccent">@color/dialer_theme_color</item>
+    <item name="android:colorAccent">@color/dialer_secondary_color</item>
+    <item name="colorAccent">@color/dialer_secondary_color</item>
 
     <!-- Used to automatically style check/selected checkbox, switches and radio buttons -->
     <item name="colorControlActivated">?android:attr/colorPrimary</item>
 
     <!-- Dialer specific attributes. -->
-    <item name="colorIcon">@color/dialer_icon_color</item>
+    <item name="colorIcon">@color/google_grey_700</item>
     <item name="colorIconSecondary">@color/google_grey_400</item>
     <item name="colorTextOnUnthemedDarkBackground">@android:color/white</item>
     <item name="colorIconOnUnthemedDarkBackground">@android:color/white</item>
@@ -84,11 +81,6 @@
     <item name="android:windowAnimationStyle">@android:style/Animation</item>
   </style>
 
-  <style name="DialerBottomSheetDialogStyle.Light">
-    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
-    <item name="android:colorBackgroundFloating">@android:color/white</item>
-  </style>
-
   <!-- Deprecated: Use Toolbar instead of ActionBar. -->
   <!-- Used to style all Dialer's action bars. Every actionbar is awarded this for free if the parent
      activity's theme extends from Dialer.ThemeBase.ActionBar or doesn't specify a theme. -->
diff --git a/java/com/android/dialer/theme/common/res/values/colors.xml b/java/com/android/dialer/theme/common/res/values/colors.xml
index 0af550f..1831862 100644
--- a/java/com/android/dialer/theme/common/res/values/colors.xml
+++ b/java/com/android/dialer/theme/common/res/values/colors.xml
@@ -16,9 +16,9 @@
   -->
 <!-- The colors in this file aren't configured at the theme level. -->
 <resources>
-  <color name="dialer_call_green">#34A853</color>
-  <color name="dialer_end_call_button_color">#D93025</color>
-  <color name="dialer_divider_line_color">#DADCE0</color>
+  <color name="dialer_call_green">#00C853</color>
+  <color name="dialer_end_call_button_color">#BD2A2A</color>
+  <color name="dialer_divider_line_color">#D8D8D8</color>
   <color name="dialer_link_color">#2A56C6</color>
   <color name="dialer_snackbar_action_text_color">#4285F4</color>
 
@@ -27,8 +27,8 @@
   <color name="notification_action_dismiss">#A52714</color>
   <color name="notification_action_answer_video">#097138</color>
 
-  <color name="dialer_red">#EA4335</color>
+  <color name="dialer_red">#C53929</color>
 
   <!-- Legacy -->
   <color name="blue_grey_100">#CFD8DC</color>
-</resources>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/theme/common/res/values/dimens.xml b/java/com/android/dialer/theme/common/res/values/dimens.xml
index fbc386c..88b8a04 100644
--- a/java/com/android/dialer/theme/common/res/values/dimens.xml
+++ b/java/com/android/dialer/theme/common/res/values/dimens.xml
@@ -25,6 +25,8 @@
   <dimen name="call_log_voicemail_transcription_text_size">14sp</dimen>
   <!-- Height of the call log actions section for each call log entry -->
   <dimen name="call_log_action_height">48dp</dimen>
+  <dimen name="call_log_day_group_padding_top">15dp</dimen>
+  <dimen name="call_log_day_group_padding_bottom">9dp</dimen>
 
   <!-- Height of the actionBar - this is 8dps bigger than the platform standard to give more
   room to the search box-->
diff --git a/java/com/android/dialer/theme/common/res/values/styles.xml b/java/com/android/dialer/theme/common/res/values/styles.xml
index 5db08f4..2c6446c 100644
--- a/java/com/android/dialer/theme/common/res/values/styles.xml
+++ b/java/com/android/dialer/theme/common/res/values/styles.xml
@@ -20,14 +20,9 @@
   <style name="CallLogCardStyle" parent="CardView">
     <item name="android:layout_width">match_parent</item>
     <item name="android:layout_height">wrap_content</item>
-    <item name="android:layout_marginTop">4dp</item>
-    <item name="android:layout_marginBottom">4dp</item>
-    <item name="android:layout_marginStart">8dp</item>
-    <item name="android:layout_marginEnd">8dp</item>
+    <item name="android:layout_margin">4dp</item>
     <item name="android:baselineAligned">false</item>
-    <item name="cardElevation">0dp</item>
-    <item name="cardMaxElevation">6dp</item>
-    <item name="cardCornerRadius">8dp</item>
+    <item name="cardCornerRadius">2dp</item>
     <item name="cardBackgroundColor">?android:attr/colorBackgroundFloating</item>
   </style>
 
@@ -36,13 +31,4 @@
     <item name="android:layout_marginStart">20dp</item>
     <item name="android:paddingLeft">12dp</item>
   </style>
-
-  <style name="DialerBottomSheetDialogStyle" parent="Theme.Design.BottomSheetDialog">
-    <item name="android:windowBackground">@android:color/transparent</item>
-    <item name="bottomSheetStyle">@style/BottomSheetStyle</item>
-  </style>
-
-  <style name="BottomSheetStyle" parent="Widget.Design.BottomSheet.Modal">
-    <item name="android:background">@drawable/bottom_sheet_background</item>
-  </style>
-</resources>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/theme/common/res/values/text_styles.xml b/java/com/android/dialer/theme/common/res/values/text_styles.xml
index 1f2d6c7..def5862 100644
--- a/java/com/android/dialer/theme/common/res/values/text_styles.xml
+++ b/java/com/android/dialer/theme/common/res/values/text_styles.xml
@@ -33,13 +33,7 @@
 
   <style name="Dialer.TextAppearance.SubHeader" parent="TextAppearance.AppCompat">
     <item name="android:textColor">?android:attr/textColorPrimary</item>
-    <item name="android:textSize">14sp</item>
-    <item name="android:fontFamily">sans-serif-medium</item>
-  </style>
-
-  <style name="Dialer.TextAppearance.SubHeader2" parent="TextAppearance.AppCompat">
-    <item name="android:textColor">?android:attr/textColorSecondary</item>
-    <item name="android:textSize">14sp</item>
+    <item name="android:textSize">16sp</item>
     <item name="android:fontFamily">sans-serif-medium</item>
   </style>
 
@@ -49,12 +43,6 @@
     <item name="android:fontFamily">sans-serif-regular</item>
   </style>
 
-  <style name="Dialer.TextAppearance.Primary2" parent="TextAppearance.AppCompat">
-    <item name="android:textColor">?android:attr/textColorPrimary</item>
-    <item name="android:textSize">16sp</item>
-    <item name="android:fontFamily">sans-serif-regular</item>
-  </style>
-
   <style name="Dialer.TextAppearance.Secondary" parent="TextAppearance.AppCompat">
     <item name="android:textColor">?android:attr/textColorSecondary</item>
     <item name="android:textSize">14sp</item>
@@ -93,11 +81,6 @@
     <item name="android:maxLines">1</item>
   </style>
 
-  <style name="Dialer.TextAppearance.Primary2.Ellipsize">
-    <item name="android:ellipsize">end</item>
-    <item name="android:maxLines">1</item>
-  </style>
-
   <style name="Dialer.TextAppearance.Secondary.Ellipsize">
     <item name="android:ellipsize">end</item>
     <item name="android:maxLines">1</item>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
index f14537c..703e40b 100644
--- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
+++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
@@ -17,5 +17,5 @@
 <!-- Primary text color in the Phone app -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_enabled="false" android:color="@color/google_grey_700"/>
-  <item android:color="@color/google_grey_100"/>
+  <item android:color="@color/google_grey_400"/>
 </selector>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
index b94388a..486669f 100644
--- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
+++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
@@ -17,5 +17,5 @@
 <!-- Secondary text color in the Phone app -->
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_enabled="false" android:color="@color/google_grey_700"/>
-  <item android:color="@color/google_grey_400"/>
+  <item android:color="@color/google_grey_300"/>
 </selector>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml
deleted file mode 100644
index 594f829..0000000
--- a/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-  <item android:color="@android:color/white" android:state_checked="true"/>
-  <item android:color="@color/google_grey_400" android:state_enabled="false"/>
-  <item android:color="@color/google_grey_700"/>
-</selector>
diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml
index 41c5fd1..e48474e 100644
--- a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml
+++ b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_dark.xml
@@ -18,4 +18,5 @@
   <color name="dialer_dark_theme_color">#5195EA</color>
   <color name="dialer_dark_theme_color_20pct">#335195EA</color>
   <color name="dialer_dark_theme_color_dark">#2374CE</color>
+  <color name="dialer_dark_secondary_color">#5195EA</color>
 </resources>
diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
index ec2f262..988aad7 100644
--- a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
+++ b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
@@ -15,7 +15,9 @@
   -->
 <resources>
   <!-- Essential theme colors -->
-  <color name="dialer_theme_color">@color/google_blue_600</color>
+  <color name="dialer_theme_color">#2A56C6</color>
   <color name="dialer_theme_color_20pct">#332A56C6</color>
   <color name="dialer_theme_color_dark">#1C3AA9</color>
+  <color name="dialer_secondary_color">#F50057</color>
+  <color name="dialer_background_color">#FAFAFA</color>
 </resources>
diff --git a/java/com/android/dialer/theme/hidden/res/values/styles.xml b/java/com/android/dialer/theme/hidden/res/values/styles.xml
index 4543848..44a35f8 100644
--- a/java/com/android/dialer/theme/hidden/res/values/styles.xml
+++ b/java/com/android/dialer/theme/hidden/res/values/styles.xml
@@ -51,6 +51,7 @@
   <!-- Used to style all Dialer's AlertDialogs. Every button is awarded this for free if the parent
      activity's theme extends from Dialer.ThemeBase(.NoActionBar) or doesn't specify a theme. -->
   <style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
+    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
     <!-- TODO(a bug): figure out why ?android:attr/colorPrimary doesn't work here -->
     <item name="android:colorAccent">@color/dialer_theme_color</item>
     <item name="colorAccent">@color/dialer_theme_color</item>
diff --git a/java/com/android/incallui/AnswerScreenPresenter.java b/java/com/android/incallui/AnswerScreenPresenter.java
index 35290de..8b789f3 100644
--- a/java/com/android/incallui/AnswerScreenPresenter.java
+++ b/java/com/android/incallui/AnswerScreenPresenter.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.os.SystemClock;
+import android.support.annotation.FloatRange;
 import android.support.annotation.NonNull;
 import android.support.v4.os.UserManagerCompat;
 import android.telecom.VideoProfile;
@@ -215,6 +216,14 @@
     }
   }
 
+  @Override
+  public void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress) {
+    InCallActivity activity = (InCallActivity) answerScreen.getAnswerScreenFragment().getActivity();
+    if (activity != null) {
+      activity.updateWindowBackgroundColor(progress);
+    }
+  }
+
   private class AnswerOnDisconnected implements DialerCallListener {
 
     private final DialerCall disconnectingCall;
diff --git a/java/com/android/incallui/AnswerScreenPresenterStub.java b/java/com/android/incallui/AnswerScreenPresenterStub.java
index a96fee3..e85fdaa 100644
--- a/java/com/android/incallui/AnswerScreenPresenterStub.java
+++ b/java/com/android/incallui/AnswerScreenPresenterStub.java
@@ -16,6 +16,7 @@
 
 package com.android.incallui;
 
+import android.support.annotation.FloatRange;
 import com.android.incallui.answer.protocol.AnswerScreenDelegate;
 import com.android.incallui.incalluilock.InCallUiLock;
 
@@ -49,6 +50,9 @@
   public void onAnswerAndReleaseButtonDisabled() {}
 
   @Override
+  public void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress) {}
+
+  @Override
   public boolean isActionTimeout() {
     return false;
   }
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index be80343..7d12d52 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -427,6 +427,11 @@
       return;
     }
 
+    if (call != null) {
+      inCallButtonUi.updateInCallButtonUiColors(
+          InCallPresenter.getInstance().getThemeColorManager().getSecondaryColor());
+    }
+
     final boolean isEnabled =
         state.isConnectingOrConnected() && !state.isIncoming() && call != null;
     inCallButtonUi.setEnabled(isEnabled);
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index fa4a06e..3ff1d26 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -25,8 +25,12 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Configuration;
+import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.GradientDrawable.Orientation;
 import android.os.Bundle;
 import android.os.Trace;
+import android.support.annotation.ColorInt;
+import android.support.annotation.FloatRange;
 import android.support.annotation.IntDef;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -36,6 +40,7 @@
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
 import android.support.v4.content.res.ResourcesCompat;
+import android.support.v4.graphics.ColorUtils;
 import android.telecom.Call;
 import android.telecom.CallAudioState;
 import android.telecom.PhoneAccountHandle;
@@ -132,6 +137,7 @@
   private Animation dialpadSlideInAnimation;
   private Animation dialpadSlideOutAnimation;
   private Dialog errorDialog;
+  private GradientDrawable backgroundDrawable;
   private InCallOrientationEventListener inCallOrientationEventListener;
   private View pseudoBlackScreenOverlay;
   private SelectPhoneAccountDialogFragment selectPhoneAccountDialogFragment;
@@ -150,6 +156,7 @@
   private boolean isVisible;
   private boolean needDismissPendingDialogs;
   private boolean touchDownWhenPseudoScreenOff;
+  private int[] backgroundDrawableColors;
   @DialpadRequestType private int showDialpadRequest = DIALPAD_REQUEST_NONE;
   private SpeakEasyCallManager speakEasyCallManager;
   private DialogFragment rttRequestDialogFragment;
@@ -867,6 +874,11 @@
 
   public void onForegroundCallChanged(DialerCall newForegroundCall) {
     updateTaskDescription();
+
+    if (newForegroundCall == null || !didShowAnswerScreen) {
+      LogUtil.v("InCallActivity.onForegroundCallChanged", "resetting background color");
+      updateWindowBackgroundColor(0 /* progress */);
+    }
   }
 
   private void updateTaskDescription() {
@@ -880,6 +892,58 @@
             getResources().getString(R.string.notification_ongoing_call), null /* icon */, color));
   }
 
+  public void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress) {
+    ThemeColorManager themeColorManager = InCallPresenter.getInstance().getThemeColorManager();
+    @ColorInt int top;
+    @ColorInt int middle;
+    @ColorInt int bottom;
+    @ColorInt int gray = 0x66000000;
+
+    if (isInMultiWindowMode()) {
+      top = themeColorManager.getBackgroundColorSolid();
+      middle = themeColorManager.getBackgroundColorSolid();
+      bottom = themeColorManager.getBackgroundColorSolid();
+    } else {
+      top = themeColorManager.getBackgroundColorTop();
+      middle = themeColorManager.getBackgroundColorMiddle();
+      bottom = themeColorManager.getBackgroundColorBottom();
+    }
+
+    if (progress < 0) {
+      float correctedProgress = Math.abs(progress);
+      top = ColorUtils.blendARGB(top, gray, correctedProgress);
+      middle = ColorUtils.blendARGB(middle, gray, correctedProgress);
+      bottom = ColorUtils.blendARGB(bottom, gray, correctedProgress);
+    }
+
+    boolean backgroundDirty = false;
+    if (backgroundDrawable == null) {
+      backgroundDrawableColors = new int[] {top, middle, bottom};
+      backgroundDrawable = new GradientDrawable(Orientation.TOP_BOTTOM, backgroundDrawableColors);
+      backgroundDirty = true;
+    } else {
+      if (backgroundDrawableColors[0] != top) {
+        backgroundDrawableColors[0] = top;
+        backgroundDirty = true;
+      }
+      if (backgroundDrawableColors[1] != middle) {
+        backgroundDrawableColors[1] = middle;
+        backgroundDirty = true;
+      }
+      if (backgroundDrawableColors[2] != bottom) {
+        backgroundDrawableColors[2] = bottom;
+        backgroundDirty = true;
+      }
+      if (backgroundDirty) {
+        backgroundDrawable.setColors(backgroundDrawableColors);
+      }
+    }
+
+    if (backgroundDirty) {
+      getWindow().setBackgroundDrawable(backgroundDrawable);
+    }
+  }
+
   public boolean isVisible() {
     return isVisible;
   }
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 439f6cf..8316d76 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -93,8 +93,8 @@
 import com.android.incallui.ringtone.ToneGeneratorFactory;
 import com.android.incallui.speakeasy.SpeakEasyComponent;
 import com.android.incallui.videotech.utils.SessionModificationState;
+import com.google.common.base.Optional;
 import java.util.Objects;
-import java.util.Optional;
 
 /** This class adds Notifications to the status bar for the in-call experience. */
 public class StatusBarNotifier
diff --git a/java/com/android/incallui/ThemeColorManager.java b/java/com/android/incallui/ThemeColorManager.java
index 967fae9..1d4c287 100644
--- a/java/com/android/incallui/ThemeColorManager.java
+++ b/java/com/android/incallui/ThemeColorManager.java
@@ -17,8 +17,10 @@
 package com.android.incallui;
 
 import android.content.Context;
+import android.graphics.Color;
 import android.support.annotation.ColorInt;
 import android.support.annotation.Nullable;
+import android.support.v4.graphics.ColorUtils;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
@@ -34,6 +36,10 @@
   private final MaterialColorMapUtils colorMap;
   @ColorInt private int primaryColor;
   @ColorInt private int secondaryColor;
+  @ColorInt private int backgroundColorTop;
+  @ColorInt private int backgroundColorMiddle;
+  @ColorInt private int backgroundColorBottom;
+  @ColorInt private int backgroundColorSolid;
 
   /**
    * If there is no actual call currently in the call list, this will be used as a fallback to
@@ -51,21 +57,38 @@
 
   public void onForegroundCallChanged(Context context, @Nullable DialerCall newForegroundCall) {
     if (newForegroundCall == null) {
-      updateThemeColors(getHighlightColor(context, pendingPhoneAccountHandle), false);
+      updateThemeColors(context, getHighlightColor(context, pendingPhoneAccountHandle), false);
     } else {
       updateThemeColors(
+          context,
           getHighlightColor(context, newForegroundCall.getAccountHandle()),
           newForegroundCall.isSpam());
     }
   }
 
-  private void updateThemeColors(@ColorInt int highlightColor, boolean isSpam) {
+  private void updateThemeColors(Context context, @ColorInt int highlightColor, boolean isSpam) {
     MaterialPalette palette;
     if (isSpam) {
       palette =
           colorMap.calculatePrimaryAndSecondaryColor(R.color.incall_call_spam_background_color);
+      backgroundColorTop = context.getColor(R.color.incall_background_gradient_spam_top);
+      backgroundColorMiddle = context.getColor(R.color.incall_background_gradient_spam_middle);
+      backgroundColorBottom = context.getColor(R.color.incall_background_gradient_spam_bottom);
+      backgroundColorSolid = context.getColor(R.color.incall_background_multiwindow_spam);
     } else {
       palette = colorMap.calculatePrimaryAndSecondaryColor(highlightColor);
+      backgroundColorTop = context.getColor(R.color.incall_background_gradient_top);
+      backgroundColorMiddle = context.getColor(R.color.incall_background_gradient_middle);
+      backgroundColorBottom = context.getColor(R.color.incall_background_gradient_bottom);
+      backgroundColorSolid = context.getColor(R.color.incall_background_multiwindow);
+      if (highlightColor != PhoneAccount.NO_HIGHLIGHT_COLOR) {
+        // The default background gradient has a subtle alpha. We grab that alpha and apply it to
+        // the phone account color.
+        backgroundColorTop = applyAlpha(palette.mPrimaryColor, backgroundColorTop);
+        backgroundColorMiddle = applyAlpha(palette.mPrimaryColor, backgroundColorMiddle);
+        backgroundColorBottom = applyAlpha(palette.mPrimaryColor, backgroundColorBottom);
+        backgroundColorSolid = applyAlpha(palette.mPrimaryColor, backgroundColorSolid);
+      }
     }
 
     primaryColor = palette.mPrimaryColor;
@@ -92,4 +115,29 @@
   public int getSecondaryColor() {
     return secondaryColor;
   }
+
+  @ColorInt
+  public int getBackgroundColorTop() {
+    return backgroundColorTop;
+  }
+
+  @ColorInt
+  public int getBackgroundColorMiddle() {
+    return backgroundColorMiddle;
+  }
+
+  @ColorInt
+  public int getBackgroundColorBottom() {
+    return backgroundColorBottom;
+  }
+
+  @ColorInt
+  public int getBackgroundColorSolid() {
+    return backgroundColorSolid;
+  }
+
+  @ColorInt
+  private static int applyAlpha(@ColorInt int color, @ColorInt int sourceColorWithAlpha) {
+    return ColorUtils.setAlphaComponent(color, Color.alpha(sourceColorWithAlpha));
+  }
 }
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 8bfdcba..8d8b087 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -50,12 +50,11 @@
 import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
-import android.widget.TextView;
 import com.android.dialer.common.Assert;
 import com.android.dialer.common.FragmentUtils;
 import com.android.dialer.common.LogUtil;
 import com.android.dialer.common.MathUtil;
-import com.android.dialer.logging.DialerImpression.Type;
+import com.android.dialer.logging.DialerImpression;
 import com.android.dialer.logging.Logger;
 import com.android.dialer.multimedia.MultimediaData;
 import com.android.dialer.telecom.TelecomUtil;
@@ -84,15 +83,15 @@
 import com.android.incallui.maps.MapsComponent;
 import com.android.incallui.sessiondata.AvatarPresenter;
 import com.android.incallui.sessiondata.MultimediaFragment;
-import com.android.incallui.sessiondata.MultimediaFragment.Holder;
+import com.android.incallui.speakeasy.Annotations.SpeakEasyChipResourceId;
 import com.android.incallui.speakeasy.SpeakEasyComponent;
 import com.android.incallui.util.AccessibilityUtil;
 import com.android.incallui.video.protocol.VideoCallScreen;
 import com.android.incallui.videotech.utils.VideoUtils;
+import com.google.common.base.Optional;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
-import java.util.Optional;
 
 /** The new version of the incoming call screen. */
 @SuppressLint("ClickableViewAccessibility")
@@ -102,7 +101,7 @@
         SmsSheetHolder,
         CreateCustomSmsHolder,
         AnswerMethodHolder,
-        Holder {
+        MultimediaFragment.Holder {
 
   @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
   static final String ARG_CALL_ID = "call_id";
@@ -433,11 +432,6 @@
     secondaryButton.setFocusable(AccessibilityUtil.isAccessibilityEnabled(getContext()));
     secondaryButton.setAccessibilityDelegate(accessibilityDelegate);
 
-    // TODO(wangqi): Remove this when all secondary behavior is migrated to chip button.
-    if (secondaryBehavior.equals(SecondaryBehavior.REJECT_WITH_SMS)) {
-      secondaryButton.setVisibility(View.INVISIBLE);
-    }
-
     if (isVideoUpgradeRequest()) {
       secondaryButton.setVisibility(View.INVISIBLE);
     } else if (isVideoCall()) {
@@ -467,39 +461,26 @@
         });
   }
 
-  private void addSecondaryActionChip(
-      @DrawableRes int iconRes, @StringRes int textRes, OnClickListener onClickListener) {
-    LinearLayout button =
-        (LinearLayout)
-            getLayoutInflater().inflate(R.layout.secondary_action_chip, chipContainer, false);
-
-    ImageView icon = button.findViewById(R.id.secondary_action_icon);
-    icon.setImageResource(iconRes);
-    TextView text = button.findViewById(R.id.secondary_action_text);
-    text.setText(textRes);
-    button.setOnClickListener(onClickListener);
-    chipContainer.addView(button);
-  }
-
   /** Initialize chip buttons */
   private void initChips() {
-    if (allowSpeakEasy()) {
-      Optional<Integer> speakEasyIconOptional =
-          SpeakEasyComponent.get(getContext()).speakEasyIconResource();
-      Optional<Integer> speakEasyTextOptional =
-          SpeakEasyComponent.get(getContext()).speakEasyTextResource();
-      if (speakEasyIconOptional.isPresent() && speakEasyTextOptional.isPresent()) {
-        addSecondaryActionChip(
-            speakEasyIconOptional.get(), speakEasyTextOptional.get(), this::performSpeakEasy);
-      }
+
+    if (!allowSpeakEasy()) {
+      chipContainer.setVisibility(View.GONE);
+      return;
     }
-    if (!isVideoCall() && !isVideoUpgradeRequest()) {
-      addSecondaryActionChip(
-          R.drawable.quantum_ic_message_white_24,
-          R.string.call_incoming_reply_with_sms,
-          v -> performSecondaryButtonAction());
+    chipContainer.setVisibility(View.VISIBLE);
+
+    @SpeakEasyChipResourceId
+    Optional<Integer> chipLayoutOptional = SpeakEasyComponent.get(getContext()).speakEasyChip();
+    if (chipLayoutOptional.isPresent()) {
+
+      LinearLayout chipLayout =
+          (LinearLayout) getLayoutInflater().inflate(chipLayoutOptional.get(), null);
+
+      chipLayout.setOnClickListener(this::performSpeakEasy);
+
+      chipContainer.addView(chipLayout);
     }
-    chipContainer.setVisibility(chipContainer.getChildCount() > 0 ? View.VISIBLE : View.GONE);
   }
 
   @Override
@@ -899,6 +880,8 @@
     if (primaryCallState != null) {
       contactGridManager.setCallState(primaryCallState);
     }
+
+    restoreBackgroundMaskColor();
   }
 
   @Override
@@ -917,6 +900,12 @@
 
   @Override
   public void onAnswerProgressUpdate(@FloatRange(from = -1f, to = 1f) float answerProgress) {
+    // Don't fade the window background for call waiting or video upgrades. Fading the background
+    // shows the system wallpaper which looks bad because on reject we switch to another call.
+    if (primaryCallState.state() == DialerCallState.INCOMING && !isVideoCall()) {
+      answerScreenDelegate.updateWindowBackgroundColor(answerProgress);
+    }
+
     // Fade and scale contact name and video call text
     float startDelay = .25f;
     // Header progress is zero over positiveAdjustedProgress = [0, startDelay],
@@ -945,6 +934,7 @@
   @Override
   public void resetAnswerProgress() {
     affordanceHolderLayout.reset(true);
+    restoreBackgroundMaskColor();
   }
 
   private void animateEntry(@NonNull View rootView) {
@@ -1005,13 +995,18 @@
             "AnswerFragment.rejectCall",
             "Null context when rejecting call. Logger call was skipped");
       } else {
-        Logger.get(context).logImpression(Type.REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN);
+        Logger.get(context)
+            .logImpression(DialerImpression.Type.REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN);
       }
       buttonRejectClicked = true;
       answerScreenDelegate.onReject();
     }
   }
 
+  private void restoreBackgroundMaskColor() {
+    answerScreenDelegate.updateWindowBackgroundColor(0);
+  }
+
   private void restoreSwipeHintTexts() {
     if (getAnswerMethod() != null) {
       if (allowAnswerAndRelease()) {
@@ -1156,7 +1151,7 @@
     public void onViewCreated(View view, @Nullable Bundle bundle) {
       super.onViewCreated(view, bundle);
       avatarImageView = ((ImageView) view.findViewById(R.id.contactgrid_avatar));
-      FragmentUtils.getParentUnsafe(this, Holder.class).updateAvatar(this);
+      FragmentUtils.getParentUnsafe(this, MultimediaFragment.Holder.class).updateAvatar(this);
     }
 
     @NonNull
diff --git a/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java b/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
index b06a0c6..6742e4a 100644
--- a/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
+++ b/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
@@ -36,7 +36,6 @@
 import com.android.dialer.common.DpUtil;
 import com.android.dialer.common.FragmentUtils;
 import com.android.dialer.common.LogUtil;
-import com.android.dialer.theme.base.ThemeComponent;
 import com.android.incallui.incalluilock.InCallUiLock;
 import java.util.ArrayList;
 import java.util.List;
@@ -69,8 +68,6 @@
       }
     }
     layout.addView(newTextViewItem(null));
-    int paddingVertical = (int) DpUtil.dpToPx(getContext(), 8);
-    layout.setPadding(0, paddingVertical, 0, paddingVertical);
     layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
     return layout;
   }
@@ -103,11 +100,11 @@
 
     TextView textView = new TextView(context);
     textView.setText(text == null ? getString(R.string.call_incoming_message_custom) : text);
-    int paddingHorizontal = (int) DpUtil.dpToPx(context, 24);
-    int paddingVertical = (int) DpUtil.dpToPx(context, 12);
-    textView.setPadding(paddingHorizontal, paddingVertical, paddingHorizontal, paddingVertical);
+    int padding = (int) DpUtil.dpToPx(context, 16);
+    textView.setPadding(padding, padding, padding, padding);
     textView.setBackground(background);
-    textView.setTextAppearance(R.style.Dialer_TextAppearance_Primary2);
+    textView.setTextColor(context.getColor(R.color.blue_grey_100));
+    textView.setTextAppearance(R.style.TextAppearance_AppCompat_Widget_PopupMenu_Large);
 
     LayoutParams params =
         new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
@@ -127,7 +124,7 @@
 
   @Override
   public int getTheme() {
-    return ThemeComponent.get(getContext()).theme().getBottomSheetStyleRes();
+    return R.style.Theme_Design_Light_BottomSheetDialog;
   }
 
   @Override
diff --git a/java/com/android/incallui/answer/impl/answermethod/res/values/styles.xml b/java/com/android/incallui/answer/impl/answermethod/res/values/styles.xml
new file mode 100644
index 0000000..fd3ca7c
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/answermethod/res/values/styles.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+  <style name="Dialer.Incall.TextAppearance.Hint">
+    <item name="android:textSize">14sp</item>
+    <item name="android:textStyle">italic</item>
+  </style>
+</resources>
diff --git a/java/com/android/incallui/answer/impl/res/drawable/secondary_action_chip_background.xml b/java/com/android/incallui/answer/impl/res/drawable/secondary_action_chip_background.xml
deleted file mode 100644
index a185ebb..0000000
--- a/java/com/android/incallui/answer/impl/res/drawable/secondary_action_chip_background.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="@color/dialer_divider_line_color">
-  <item>
-    <shape>
-      <solid android:color="?android:attr/colorBackgroundFloating"/>
-      <stroke
-          android:width="1dp"
-          android:color="@color/dialer_divider_line_color"/>
-      <padding
-          android:bottom="9dp"
-          android:left="8dp"
-          android:right="8dp"
-          android:top="9dp"/>
-      <corners android:radius="40dp"/>
-    </shape>
-  </item>
-</ripple>
diff --git a/java/com/android/incallui/answer/impl/res/drawable/urgent_call_background.xml b/java/com/android/incallui/answer/impl/res/drawable/urgent_call_background.xml
index 7695290..d995980 100644
--- a/java/com/android/incallui/answer/impl/res/drawable/urgent_call_background.xml
+++ b/java/com/android/incallui/answer/impl/res/drawable/urgent_call_background.xml
@@ -18,5 +18,5 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
   <corners android:radius="24dp"/>
-  <solid android:color="?android:attr/colorPrimary"/>
+  <solid android:color="#F50057"/>
 </shape>
\ No newline at end of file
diff --git a/java/com/android/incallui/answer/impl/res/layout/fragment_avatar.xml b/java/com/android/incallui/answer/impl/res/layout/fragment_avatar.xml
index 246abc5..f8e4894 100644
--- a/java/com/android/incallui/answer/impl/res/layout/fragment_avatar.xml
+++ b/java/com/android/incallui/answer/impl/res/layout/fragment_avatar.xml
@@ -21,4 +21,5 @@
   android:id="@id/contactgrid_avatar"
   android:layout_width="@dimen/answer_avatar_size"
   android:layout_height="@dimen/answer_avatar_size"
-  android:layout_gravity="center"/>
+  android:layout_gravity="center"
+  android:elevation="@dimen/answer_data_elevation"/>
diff --git a/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml b/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
index b5f1e4b..1672bf9 100644
--- a/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
+++ b/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
@@ -118,18 +118,22 @@
           android:layout_marginStart="24dp"
           android:layout_marginEnd="24dp"/>
 
+      <!-- TODO(a bug): textColorPrimary or textColorPrimaryInverse? -->
       <TextView
           android:id="@+id/incall_important_call_badge"
-          style="@style/Dialer.TextAppearance.SubHeader"
+          android:textStyle="bold"
           android:layout_width="wrap_content"
-          android:layout_height="32dp"
+          android:layout_height="48dp"
           android:layout_marginTop="4dp"
           android:layout_marginBottom="@dimen/answer_importance_margin_bottom"
           android:background="@drawable/urgent_call_background"
+          android:elevation="@dimen/answer_data_elevation"
           android:gravity="center"
           android:maxLines="1"
           android:text="@string/call_incoming_important"
-          android:textColor="?android:attr/colorBackground"/>
+          android:textAllCaps="true"
+          android:textColor="?android:attr/colorBackground"
+          android:textSize="14sp"/>
 
       <FrameLayout
           android:id="@+id/incall_location_holder"
@@ -137,7 +141,9 @@
           android:layout_height="wrap_content"/>
 
       <include
-          layout="@layout/device_number_row"/>
+          layout="@layout/device_number_row"
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"/>
 
       <FrameLayout
           android:id="@+id/incall_data_container"
diff --git a/java/com/android/incallui/answer/impl/res/layout/secondary_action_chip.xml b/java/com/android/incallui/answer/impl/res/layout/secondary_action_chip.xml
deleted file mode 100644
index dd4199b..0000000
--- a/java/com/android/incallui/answer/impl/res/layout/secondary_action_chip.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:background="@drawable/secondary_action_chip_background"
-    android:clickable="true"
-    android:layout_marginEnd="8dp"
-    android:orientation="horizontal">
-  <ImageView
-      android:id="@+id/secondary_action_icon"
-      android:layout_width="20dp"
-      android:layout_height="20dp"
-      android:tint="?android:attr/colorPrimary"/>
-  <TextView
-      android:id="@+id/secondary_action_text"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:layout_marginStart="8dp"
-      android:layout_marginEnd="8dp"
-      style="@style/Dialer.TextAppearance.SubHeader"/>
-</LinearLayout>
diff --git a/java/com/android/incallui/answer/impl/res/values/strings.xml b/java/com/android/incallui/answer/impl/res/values/strings.xml
index ac56460..2bc9ca0 100644
--- a/java/com/android/incallui/answer/impl/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values/strings.xml
@@ -20,8 +20,6 @@
   <string name="call_incoming_default_label_answer_and_release_second">Swipe up to answer and hold ongoing call</string>
   <string name="call_incoming_default_label_answer_and_release_third">Swipe up to answer and end call on hold</string>
   <string name="call_incoming_swipe_to_answer_and_release">Swipe from icon to answer and end ongoing call</string>
-  <!-- Reply with SMS option on incoming call screen. [CHAT LIMIT=20] -->
-  <string name="call_incoming_reply_with_sms">Reply</string>
   <string name="call_incoming_message_custom">Write your own…</string>
   <!-- "Respond via SMS" option that lets you compose a custom response. [CHAR LIMIT=30] -->
   <string name="call_incoming_respond_via_sms_custom_message">Write your own…</string>
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
index db2af9b..172d964 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
@@ -16,6 +16,7 @@
 
 package com.android.incallui.answer.protocol;
 
+import android.support.annotation.FloatRange;
 import com.android.incallui.incalluilock.InCallUiLock;
 
 /** Callbacks implemented by the container app for this module. */
@@ -36,6 +37,16 @@
   void onAnswerAndReleaseButtonEnabled();
 
   void onAnswerAndReleaseButtonDisabled();
+  /**
+   * Sets the window background color based on foreground call's theme and the given progress. This
+   * is called from the answer UI to animate the accept and reject action.
+   *
+   * <p>When the user is rejecting we animate the background color to a mostly transparent gray. The
+   * end effect is that the home screen shows through.
+   *
+   * @param progress float from -1 to 1. -1 is fully rejected, 1 is fully accepted, and 0 is neutral
+   */
+  void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress);
 
   /** Returns true if any answer/reject action timed out. */
   boolean isActionTimeout();
diff --git a/java/com/android/incallui/calllocation/impl/res/drawable/bg_location_card.xml b/java/com/android/incallui/calllocation/impl/res/drawable/bg_location_card.xml
index c092446..0bcba95 100644
--- a/java/com/android/incallui/calllocation/impl/res/drawable/bg_location_card.xml
+++ b/java/com/android/incallui/calllocation/impl/res/drawable/bg_location_card.xml
@@ -17,5 +17,5 @@
 
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="@color/ripple_material_light">
-  <item android:drawable="?android:attr/colorBackgroundFloating"/>
+  <item android:drawable="@android:color/white"/>
 </ripple>
diff --git a/java/com/android/incallui/calllocation/impl/res/values/styles.xml b/java/com/android/incallui/calllocation/impl/res/values/styles.xml
new file mode 100644
index 0000000..45e9c98
--- /dev/null
+++ b/java/com/android/incallui/calllocation/impl/res/values/styles.xml
@@ -0,0 +1,47 @@
+<!--
+  ~ Copyright (C) 2018 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
+  -->
+<resources>
+
+  <style name="LocationAddressTitleTextStyle">
+    <item name="android:textSize">14sp</item>
+    <item name="android:textColor">#dd000000</item>
+    <item name="android:fontFamily">sans-serif-medium</item>
+  </style>
+
+  <style name="LocationAddressTextStyle">
+    <item name="android:textSize">16sp</item>
+    <item name="android:textColor">#dd000000</item>
+    <item name="android:fontFamily">sans-serif</item>
+  </style>
+
+  <style name="LocationLatLongTextStyle">
+    <item name="android:textSize">14sp</item>
+    <item name="android:textColor">#88000000</item>
+    <item name="android:fontFamily">sans-serif</item>
+  </style>
+
+  <style name="LocationLoadingTextStyle">
+    <item name="android:textSize">14sp</item>
+    <item name="android:textColor">#dd000000</item>
+    <item name="android:fontFamily">sans-serif</item>
+  </style>
+
+  <style name="LocationErrorTextStyle">
+    <item name="android:textSize">14sp</item>
+    <item name="android:textColor">#dd000000</item>
+    <item name="android:fontFamily">sans-serif</item>
+  </style>
+</resources>
diff --git a/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml b/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
index bd5d5d3..090506a 100644
--- a/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
@@ -1,25 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
   android:color="#80FFFFFF">
   <item>
     <shape
       android:shape="oval">
-      <solid android:color="@color/dialer_call_green"/>
+      <solid android:color="#09ad00"/>
     </shape>
   </item>
 </ripple>
diff --git a/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml b/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
index 8854de6..abfd56e 100644
--- a/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
@@ -1,25 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
   android:color="#80FFFFFF">
   <item>
     <shape
       android:shape="oval">
-      <solid android:color="@color/dialer_end_call_button_color"/>
+      <solid android:color="#DF0000"/>
     </shape>
   </item>
 </ripple>
diff --git a/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml b/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
index 8854de6..3c9f4bc 100644
--- a/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
@@ -1,25 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
 <ripple xmlns:android="http://schemas.android.com/apk/res/android"
   android:color="#80FFFFFF">
   <item>
     <shape
       android:shape="oval">
-      <solid android:color="@color/dialer_end_call_button_color"/>
+      <solid android:color="#FFDF0000"/>
     </shape>
   </item>
 </ripple>
diff --git a/java/com/android/incallui/commontheme/res/values/styles.xml b/java/com/android/incallui/commontheme/res/values/styles.xml
index 0c4c092..464eda5 100644
--- a/java/com/android/incallui/commontheme/res/values/styles.xml
+++ b/java/com/android/incallui/commontheme/res/values/styles.xml
@@ -17,31 +17,28 @@
 
 <resources>
 
-  <style name="Dialer.Incall.TextAppearance" parent="Dialer.TextAppearance.Header1">
+  <style name="Dialer.Incall.TextAppearance" parent="android:TextAppearance.Material">
     <item name="android:textColor">?android:attr/textColorSecondary</item>
+    <item name="android:textSize">18sp</item>
   </style>
 
-  <style name="Dialer.Incall.TextAppearance.Large" parent="Dialer.TextAppearance.Header1">
+  <style name="Dialer.Incall.TextAppearance.Large">
+    <item name="android:textColor">?android:attr/textColorPrimary</item>
     <item name="android:textSize">36sp</item>
+    <item name="android:fontFamily">sans-serif-light</item>
   </style>
 
   <style name="Dialer.Incall.TextAppearance.Label">
-    <item name="android:textColor">?android:attr/textColorSecondary</item>
+    <item name="android:textColor">?android:attr/textColorPrimary</item>
     <item name="android:textSize">12sp</item>
   </style>
 
-  <style name="Dialer.Incall.TextAppearance.Hint">
-    <item name="android:textColor">?android:attr/textColorHint</item>
-    <item name="android:textSize">14sp</item>
-    <item name="android:textStyle">italic</item>
-  </style>
-
   <style name="BottomRowIcon">
     <item name="android:layout_height">24dp</item>
     <item name="android:layout_width">24dp</item>
     <item name="android:layout_marginEnd">8dp</item>
     <item name="android:scaleType">fitCenter</item>
-    <item name="colorControlNormal">?colorIcon</item>
+    <item name="colorControlNormal">?android:attr/textColorSecondary</item>
   </style>
 
   <style name="Incall.Button.End" parent="android:Widget.Material.Button">
diff --git a/java/com/android/incallui/contactgrid/res/layout/device_number_row.xml b/java/com/android/incallui/contactgrid/res/layout/device_number_row.xml
index f4792d8..4f8bbad 100644
--- a/java/com/android/incallui/contactgrid/res/layout/device_number_row.xml
+++ b/java/com/android/incallui/contactgrid/res/layout/device_number_row.xml
@@ -19,19 +19,21 @@
       android:id="@+id/contactgrid_location_divider"
       android:layout_width="match_parent"
       android:layout_height="1dp"
-      android:background="@color/dialer_divider_line_color"
+      android:layout_gravity="bottom"
+      android:background="#D8D8D8"
       android:visibility="gone"/>
 
   <TextView
       android:id="@+id/contactgrid_device_number_text"
-      style="@style/Dialer.TextAppearance.Primary2"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginBottom="16dp"
       android:padding="16dp"
-      android:background="?android:attr/colorBackgroundFloating"
-      android:elevation="4dp"
+      android:background="@android:color/white"
+      android:elevation="2dp"
       android:gravity="start"
       android:orientation="vertical"
+      android:textColor="#DD000000"
+      android:textSize="16sp"
       android:visibility="gone"/>
 </merge>
\ No newline at end of file
diff --git a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml
index bc8759e..2f9ca3e 100644
--- a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml
+++ b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml
@@ -15,34 +15,33 @@
   ~ limitations under the License
   -->
 <LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:gravity="center"
-    android:orientation="horizontal"
-    tools:showIn="@layout/incall_contact_grid">
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="wrap_content"
+  android:layout_height="wrap_content"
+  android:gravity="center"
+  android:orientation="horizontal"
+  tools:showIn="@layout/incall_contact_grid">
   <ImageView
-      android:id="@id/contactgrid_connection_icon"
-      android:layout_width="24dp"
-      android:layout_height="24dp"
-      android:scaleType="fitCenter"
-      android:tint="?colorIcon"
-      tools:src="@android:drawable/sym_def_app_icon"
-      tools:visibility="visible"
-      />
+    android:id="@id/contactgrid_connection_icon"
+    android:layout_width="24dp"
+    android:layout_height="24dp"
+    android:scaleType="fitCenter"
+    tools:src="@android:drawable/sym_def_app_icon"
+    tools:visibility="visible"
+    />
   <Space
       android:id="@id/contactgrid_top_row_space"
-      android:layout_width="@dimen/contactgrid_connection_icon_margin_end"
       android:layout_height="match_parent"
-      />
+      android:layout_width="@dimen/contactgrid_connection_icon_margin_end"
+    />
   <TextView
-      android:id="@id/contactgrid_status_text"
-      android:layout_width="wrap_content"
-      android:layout_height="wrap_content"
-      android:ellipsize="marquee"
-      android:scrollHorizontally="true"
-      android:singleLine="true"
-      android:textAppearance="@style/Dialer.Incall.TextAppearance"
-      tools:text="Captain Holt"/>
+    android:id="@id/contactgrid_status_text"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:singleLine="true"
+    android:ellipsize="marquee"
+    android:scrollHorizontally="true"
+    android:textAppearance="@style/Dialer.Incall.TextAppearance"
+    tools:text="Captain Holt"/>
 </LinearLayout>
diff --git a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
index d4aba4c..bfc2781 100644
--- a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
+++ b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
@@ -18,11 +18,14 @@
 
 import android.animation.AnimatorInflater;
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
+import android.graphics.Color;
 import android.graphics.PorterDuff.Mode;
 import android.graphics.drawable.Drawable;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.support.annotation.ColorInt;
 import android.support.annotation.DrawableRes;
 import android.support.annotation.StringRes;
 import android.text.TextUtils.TruncateAt;
@@ -33,12 +36,12 @@
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
-import com.android.dialer.theme.base.ThemeComponent;
 
 /** A button to show on the incall screen */
 public class CheckableLabeledButton extends LinearLayout implements Checkable {
 
   private static final int[] CHECKED_STATE_SET = {android.R.attr.state_checked};
+  private static final float DISABLED_STATE_OPACITY = .3f;
   private boolean broadcasting;
   private boolean isChecked;
   private OnCheckedChangeListener onCheckedChangeListener;
@@ -91,7 +94,8 @@
     iconView.setPadding(iconPadding, iconPadding, iconPadding, iconPadding);
     iconView.setImageDrawable(icon);
     iconView.setImageTintMode(Mode.SRC_IN);
-    iconView.setImageTintList(ThemeComponent.get(context).theme().getColorIconStateList());
+    iconView.setImageTintList(
+        getResources().getColorStateList(R.color.incall_button_icon, context.getTheme()));
 
     iconView.setBackground(
         getResources().getDrawable(R.drawable.incall_button_background, context.getTheme()));
@@ -123,6 +127,20 @@
     setOutlineProvider(null);
   }
 
+  @Override
+  public void refreshDrawableState() {
+    super.refreshDrawableState();
+    iconView.setAlpha(isEnabled() ? 1f : DISABLED_STATE_OPACITY);
+    labelView.setAlpha(isEnabled() ? 1f : DISABLED_STATE_OPACITY);
+  }
+
+  public void setCheckedColor(@ColorInt int color) {
+    iconView.setImageTintList(
+        new ColorStateList(
+            new int[][] {new int[] {android.R.attr.state_checked}, new int[] {}},
+            new int[] {color, Color.WHITE}));
+  }
+
   public Drawable getIconDrawable() {
     return iconView.getDrawable();
   }
diff --git a/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java b/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
index db0b5b9..a0eead1 100644
--- a/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
@@ -17,6 +17,7 @@
 package com.android.incallui.incall.impl;
 
 import android.os.Bundle;
+import android.support.annotation.ColorInt;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 import android.util.ArraySet;
@@ -127,6 +128,12 @@
     return numVisibleButtons;
   }
 
+  public void updateButtonColor(@ColorInt int color) {
+    for (CheckableLabeledButton button : buttons) {
+      button.setCheckedColor(color);
+    }
+  }
+
   /** Interface to let the listener know the status of the button grid. */
   public interface OnButtonGridCreatedListener {
     void onButtonGridCreated(InCallButtonGridFragment inCallButtonGridFragment);
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index 6e57058..7f20b40 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -23,6 +23,7 @@
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.Handler;
+import android.support.annotation.ColorInt;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
@@ -495,6 +496,11 @@
   }
 
   @Override
+  public void updateInCallButtonUiColors(@ColorInt int color) {
+    inCallButtonGridFragment.updateButtonColor(color);
+  }
+
+  @Override
   public Fragment getInCallButtonUiFragment() {
     return this;
   }
diff --git a/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml b/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
index 292d91f9..000525f 100644
--- a/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
+++ b/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
@@ -16,6 +16,6 @@
   -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-  <item android:color="?android:attr/colorBackground" android:state_checked="true"/>
-  <item android:color="?colorIcon"/>
+  <item android:color="?android:attr/colorPrimaryDark" android:state_checked="true"/>
+  <item android:color="?android:attr/textColorPrimary"/>
 </selector>
diff --git a/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml b/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
index 0d8732b..73c6947 100644
--- a/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
+++ b/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
@@ -1,20 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2018 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
-  -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval">
-  <solid android:color="?android:attr/textColorSecondary"/>
+  <solid android:color="@color/incall_button_white"/>
 </shape>
diff --git a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
index d200547..9cc599d 100644
--- a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
+++ b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
@@ -41,7 +41,8 @@
           android:id="@id/contactgrid_avatar"
           android:layout_width="@dimen/incall_avatar_size"
           android:layout_height="@dimen/incall_avatar_size"
-          android:layout_marginBottom="8dp"/>
+          android:layout_marginBottom="8dp"
+          android:elevation="2dp"/>
 
       <include
           layout="@layout/incall_contactgrid_top_row"
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonUi.java b/java/com/android/incallui/incall/protocol/InCallButtonUi.java
index 17d50bf..28dd84c 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonUi.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonUi.java
@@ -16,6 +16,7 @@
 
 package com.android.incallui.incall.protocol;
 
+import android.support.annotation.ColorInt;
 import android.support.v4.app.Fragment;
 import android.telecom.CallAudioState;
 
@@ -42,6 +43,8 @@
    */
   void updateButtonStates();
 
+  void updateInCallButtonUiColors(@ColorInt int color);
+
   Fragment getInCallButtonUiFragment();
 
   void showAudioRouteSelector();
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index 73adb9f..988f20c 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -572,6 +572,9 @@
   public void updateButtonStates() {}
 
   @Override
+  public void updateInCallButtonUiColors(int color) {}
+
+  @Override
   public Fragment getInCallButtonUiFragment() {
     return this;
   }
diff --git a/java/com/android/incallui/speakeasy/Annotations.java b/java/com/android/incallui/speakeasy/Annotations.java
index 0d420a4..c66fe94 100644
--- a/java/com/android/incallui/speakeasy/Annotations.java
+++ b/java/com/android/incallui/speakeasy/Annotations.java
@@ -29,9 +29,9 @@
   @Qualifier
   public @interface SpeakEasySettingsObject {}
 
-  /** A Speakeasy icon resource */
+  /** A Speakeasy chip */
   @Qualifier
-  public @interface SpeakEasyIconResourceId {}
+  public @interface SpeakEasyChipResourceId {}
 
   /** A Speakeasy text resource */
   @Qualifier
diff --git a/java/com/android/incallui/speakeasy/SpeakEasyComponent.java b/java/com/android/incallui/speakeasy/SpeakEasyComponent.java
index 84a21f3..422ebd6 100644
--- a/java/com/android/incallui/speakeasy/SpeakEasyComponent.java
+++ b/java/com/android/incallui/speakeasy/SpeakEasyComponent.java
@@ -19,19 +19,20 @@
 import android.content.Context;
 import android.preference.PreferenceActivity;
 import com.android.dialer.inject.HasRootComponent;
-import com.android.incallui.speakeasy.Annotations.SpeakEasyIconResourceId;
+import com.android.incallui.speakeasy.Annotations.SpeakEasyChipResourceId;
 import com.android.incallui.speakeasy.Annotations.SpeakEasySettingsActivity;
 import com.android.incallui.speakeasy.Annotations.SpeakEasySettingsObject;
 import com.android.incallui.speakeasy.Annotations.SpeakEasyTextResourceId;
+import com.google.common.base.Optional;
 import dagger.Subcomponent;
-import java.util.Optional;
 
 /** Dagger component to get SpeakEasyCallManager. */
 @Subcomponent
 public abstract class SpeakEasyComponent {
 
   public static SpeakEasyComponent get(Context context) {
-    return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())
+    return ((SpeakEasyComponent.HasComponent)
+            ((HasRootComponent) context.getApplicationContext()).component())
         .speakEasyComponent();
   }
 
@@ -42,7 +43,7 @@
 
   public abstract @SpeakEasySettingsObject Optional<Object> speakEasySettingsObject();
 
-  public abstract @SpeakEasyIconResourceId Optional<Integer> speakEasyIconResource();
+  public abstract @SpeakEasyChipResourceId Optional<Integer> speakEasyChip();
 
   public abstract @SpeakEasyTextResourceId Optional<Integer> speakEasyTextResource();
 
diff --git a/java/com/android/incallui/speakeasy/StubSpeakEasyModule.java b/java/com/android/incallui/speakeasy/StubSpeakEasyModule.java
index 781eee0..5441075 100644
--- a/java/com/android/incallui/speakeasy/StubSpeakEasyModule.java
+++ b/java/com/android/incallui/speakeasy/StubSpeakEasyModule.java
@@ -19,14 +19,14 @@
 import android.preference.PreferenceActivity;
 import com.android.dialer.inject.DialerVariant;
 import com.android.dialer.inject.InstallIn;
-import com.android.incallui.speakeasy.Annotations.SpeakEasyIconResourceId;
+import com.android.incallui.speakeasy.Annotations.SpeakEasyChipResourceId;
 import com.android.incallui.speakeasy.Annotations.SpeakEasySettingsActivity;
 import com.android.incallui.speakeasy.Annotations.SpeakEasySettingsObject;
 import com.android.incallui.speakeasy.Annotations.SpeakEasyTextResourceId;
+import com.google.common.base.Optional;
 import dagger.Binds;
 import dagger.Module;
 import dagger.Provides;
-import java.util.Optional;
 
 /** Module which binds {@link SpeakEasyCallManagerStub}. */
 @InstallIn(variants = {DialerVariant.DIALER_TEST})
@@ -39,21 +39,21 @@
   @Provides
   static @SpeakEasySettingsActivity Optional<PreferenceActivity>
       provideSpeakEasySettingsActivity() {
-    return Optional.empty();
+    return Optional.absent();
   }
 
   @Provides
   static @SpeakEasySettingsObject Optional<Object> provideSpeakEasySettingsObject() {
-    return Optional.empty();
+    return Optional.absent();
   }
 
   @Provides
-  static @SpeakEasyIconResourceId Optional<Integer> provideSpeakEasyIconResource() {
-    return Optional.empty();
+  static @SpeakEasyChipResourceId Optional<Integer> provideSpeakEasyChip() {
+    return Optional.absent();
   }
 
   @Provides
   static @SpeakEasyTextResourceId Optional<Integer> provideSpeakEasyTextResource() {
-    return Optional.empty();
+    return Optional.absent();
   }
 }
diff --git a/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml b/java/com/android/incallui/theme/res/drawable/incall_background_gradient.xml
similarity index 75%
rename from java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
rename to java/com/android/incallui/theme/res/drawable/incall_background_gradient.xml
index 558277d..996f172 100644
--- a/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
+++ b/java/com/android/incallui/theme/res/drawable/incall_background_gradient.xml
@@ -14,10 +14,10 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-  <corners
-      android:topLeftRadius="8dp"
-      android:topRightRadius="8dp"/>
-  <solid android:color="?android:attr/colorBackgroundFloating"/>
-</shape>
\ No newline at end of file
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+  <gradient
+    android:angle="270"
+    android:startColor="@color/incall_background_gradient_top"
+    android:centerColor="@color/incall_background_gradient_middle"
+    android:endColor="@color/incall_background_gradient_bottom"/>
+</shape>
diff --git a/java/com/android/incallui/theme/res/values/colors.xml b/java/com/android/incallui/theme/res/values/colors.xml
index 10a19ef..059fe59 100644
--- a/java/com/android/incallui/theme/res/values/colors.xml
+++ b/java/com/android/incallui/theme/res/values/colors.xml
@@ -52,4 +52,16 @@
     <item>#B93221</item>
     <item>#841F10</item>
   </array>
+
+  <color name="incall_background_gradient_top">#E91141BB</color>
+  <color name="incall_background_gradient_middle">#E91141BB</color>
+  <color name="incall_background_gradient_bottom">#CC229FEB</color>
+
+  <color name="incall_background_multiwindow">#E91141BB</color>
+
+  <color name="incall_background_gradient_spam_top">#E5A30B0B</color>
+  <color name="incall_background_gradient_spam_middle">#D6C01111</color>
+  <color name="incall_background_gradient_spam_bottom">#B8E55135</color>
+
+  <color name="incall_background_multiwindow_spam">#E9C22E2E</color>
 </resources>
diff --git a/java/com/android/incallui/theme/res/values/styles.xml b/java/com/android/incallui/theme/res/values/styles.xml
index 1291173..5b65cc3 100644
--- a/java/com/android/incallui/theme/res/values/styles.xml
+++ b/java/com/android/incallui/theme/res/values/styles.xml
@@ -16,7 +16,11 @@
   -->
 
 <resources>
-  <style name="Theme.InCallScreen" parent="@style/Dialer.ThemeBase.NoActionBar">
+  <!-- Theme for the InCallActivity activity. Should have a transparent background for the
+       circular reveal animation for a new outgoing call to work correctly. We don't just use
+       Theme.Black.NoTitleBar directly, since we want any popups or dialogs from the
+       InCallActivity to have the correct Material style. -->
+  <style name="Theme.InCallScreen.Light" parent="@style/Dialer.ThemeBase.NoActionBar">
     <item name="android:statusBarColor">@android:color/transparent</item>
     <item name="android:navigationBarColor">@android:color/transparent</item>
     <item name="android:windowDrawsSystemBarBackgrounds">true</item>
@@ -25,8 +29,25 @@
     <item name="dialpad_style">@style/InCallDialpad</item>
     <item name="android:windowAnimationStyle">@null</item>
 
-    <item name="android:windowBackground">?android:attr/colorBackground</item>
+    <item name="android:windowBackground">@drawable/incall_background_gradient</item>
+    <item name="android:windowShowWallpaper">true</item>
+  </style>
 
+  <style name="Theme.InCallScreen" parent="@style/Dialer.Dark.ThemeBase.NoActionBar">
+    <item name="android:textColorPrimary">@android:color/white</item>
+    <item name="android:textColorSecondary">#DDFFFFFF</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
+    <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
+    <item name="colorPrimaryDark">@color/dialer_theme_color_dark</item>
+
+    <item name="dialpad_key_button_touch_tint">?attr/colorPrimary20pct</item>
+    <item name="dialpad_style">@style/InCallDialpad</item>
+    <item name="android:windowAnimationStyle">@null</item>
+
+    <item name="android:windowBackground">@drawable/incall_background_gradient</item>
+    <item name="android:windowShowWallpaper">true</item>
   </style>
 
   <style name="Theme.InCallScreen.ManageConference" parent="Dialer.ThemeBase.ActionBar">
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index 994363a..f270eda 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -22,6 +22,7 @@
 import android.graphics.Point;
 import android.graphics.drawable.Animatable;
 import android.os.Bundle;
+import android.support.annotation.ColorInt;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
@@ -804,6 +805,9 @@
   }
 
   @Override
+  public void updateInCallButtonUiColors(@ColorInt int color) {}
+
+  @Override
   public Fragment getInCallButtonUiFragment() {
     return this;
   }
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 82226f3..11b80ce 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -30,6 +30,7 @@
 import android.renderscript.Element;
 import android.renderscript.RenderScript;
 import android.renderscript.ScriptIntrinsicBlur;
+import android.support.annotation.ColorInt;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
@@ -871,6 +872,9 @@
   }
 
   @Override
+  public void updateInCallButtonUiColors(@ColorInt int color) {}
+
+  @Override
   public Fragment getInCallButtonUiFragment() {
     return this;
   }