Dialer: rework and cleanup styles hirarchy

fix a few colored toolbar places
set status bar and navigation bar bg color where needed

Change-Id: If934cc548915afba811800ac5d7a6aea53640e33
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 c9c1a67..794a3eb 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
@@ -45,7 +45,7 @@
       <!-- Primary area containing the contact badge and caller information -->
       <LinearLayout
         android:id="@+id/primary_action_view"
-        android:background="?android:attr/selectableItemBackground"
+        android:background="?android:attr/selectableItemBackgroundBorderless"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingStart="@dimen/call_log_start_margin"
diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
index 7f24594..2671d7a 100644
--- a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
@@ -28,10 +28,10 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>
 
-  <View
+  <!--<View
     android:layout_width="match_parent"
     android:layout_height="1dp"
-    android:background="@color/dialer_divider_line_color"/>
+    android:background="@color/dialer_divider_line_color"/>-->
 
   <LinearLayout
     android:id="@+id/call_action"
diff --git a/java/com/android/dialer/app/res/values-night/styles.xml b/java/com/android/dialer/app/res/values-night/styles.xml
index 0d02e41..7ca6f24 100644
--- a/java/com/android/dialer/app/res/values-night/styles.xml
+++ b/java/com/android/dialer/app/res/values-night/styles.xml
@@ -46,14 +46,6 @@
     <item name="android:fontFamily">"sans-serif-medium"</item>
   </style>
 
-  <style name="CallLogActionStyle">
-    <item name="android:layout_width">match_parent</item>
-    <item name="android:layout_height">@dimen/call_log_action_height</item>
-    <item name="android:background">@*android:color/primary_device_default_settings</item>
-    <item name="android:orientation">horizontal</item>
-    <item name="android:gravity">center_vertical</item>
-  </style>
-
   <style name="CallLogActionTextStyle" parent="Dialer.TextAppearance.Primary.Ellipsize">
     <item name="android:layout_width">match_parent</item>
     <item name="android:layout_height">wrap_content</item>
diff --git a/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml b/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml
index 3497d2a..0adf917 100644
--- a/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml
+++ b/java/com/android/dialer/dialpadview/res/layout/dialpad_fragment.xml
@@ -33,10 +33,10 @@
         android:layout_weight="1"
         android:background="#00000000"/>
     <!-- Dialpad shadow -->
-    <View
+    <!--<View
         android:layout_width="match_parent"
         android:layout_height="@dimen/shadow_length"
-        android:background="@drawable/shadow_fade_up"/>
+        android:background="@drawable/shadow_fade_up"/>-->
     <include layout="@layout/dialpad_view"/>
     <!-- "Dialpad chooser" UI, shown only when the user brings up the
              Dialer while a call is already in progress.
diff --git a/java/com/android/dialer/dialpadview/theme/res/values-night/styles.xml b/java/com/android/dialer/dialpadview/theme/res/values-night/styles.xml
deleted file mode 100644
index a37be2d..0000000
--- a/java/com/android/dialer/dialpadview/theme/res/values-night/styles.xml
+++ /dev/null
@@ -1,41 +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
-  -->
-<resources>
-  <style name="Dialpad">
-    <item name="dialpad_digits_adjustable_height">@dimen/dialpad_digits_height</item>
-    <item name="dialpad_digits_adjustable_text_size">@dimen/dialpad_digits_text_size</item>
-    <item name="dialpad_key_letters_size_for_dual_alphabets">
-      @dimen/dialpad_key_letters_default_size_for_dual_alphabets
-    </item>
-    <item name="dialpad_key_letters_size_for_single_alphabet">
-      @dimen/dialpad_key_letters_default_size_for_single_alphabet
-    </item>
-    <item name="dialpad_key_numbers_size">@dimen/dialpad_key_numbers_default_size</item>
-    <item name="dialpad_key_number_margin_bottom">
-      @dimen/dialpad_key_number_default_margin_bottom
-    </item>
-    <item name="dialpad_end_key_spacing">@dimen/dialpad_bottom_space_height</item>
-    <item name="dialpad_elevation">0dp</item>
-  </style>
-
-  <style name="Dialpad.Themed">
-    <item name="dialpad_text_color">?android:attr/textColorSecondary</item>
-    <item name="dialpad_text_color_primary">?android:attr/colorPrimary</item>
-    <item name="dialpad_text_color_secondary">?android:attr/textColorSecondary</item>
-    <item name="dialpad_background">@*android:color/primary_device_default_settings</item>
-  </style>
-</resources>
diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java
index 364f5bc..bbb64ae 100644
--- a/java/com/android/dialer/main/impl/MainSearchController.java
+++ b/java/com/android/dialer/main/impl/MainSearchController.java
@@ -20,6 +20,8 @@
 import android.app.FragmentTransaction;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
+import android.content.res.TypedArray;
+import android.graphics.Color;
 import android.os.Bundle;
 import android.speech.RecognizerIntent;
 import android.support.annotation.Nullable;
@@ -154,7 +156,7 @@
     fab.hide();
     toolbar.slideUp(animate, fragmentContainer);
     toolbar.expand(animate, Optional.absent(), /* requestFocus */ false);
-    toolbarShadow.setVisibility(View.VISIBLE);
+    //toolbarShadow.setVisibility(View.VISIBLE);
 
     activity.setTitle(R.string.dialpad_activity_title);
 
@@ -181,6 +183,12 @@
     }
     transaction.commit();
 
+    TypedArray a = activity.getTheme().obtainStyledAttributes(R.style.Dialer_ThemeBase_NoActionBar,
+        new int[] {android.R.attr.colorBackgroundFloating});
+    int bgColor = a.getColor(0, Color.TRANSPARENT);
+    a.recycle();
+    activity.getWindow().setNavigationBarColor(bgColor);
+    
     notifyListenersOnSearchOpen();
   }
 
@@ -219,6 +227,7 @@
     toolbar.slideDown(animate, fragmentContainer);
     toolbar.transferQueryFromDialpad(dialpadFragment.getQuery());
     activity.setTitle(R.string.main_activity_label);
+    activity.getWindow().setNavigationBarColor(Color.TRANSPARENT);
 
     dialpadFragment.setAnimate(animate);
     dialpadFragment.slideDown(
@@ -409,7 +418,7 @@
     fab.hide();
     toolbar.expand(/* animate=*/ true, query, /* requestFocus */ true);
     toolbar.showKeyboard();
-    toolbarShadow.setVisibility(View.VISIBLE);
+    //toolbarShadow.setVisibility(View.VISIBLE);
     hideBottomNav();
 
     FragmentTransaction transaction = activity.getFragmentManager().beginTransaction();
diff --git a/java/com/android/dialer/main/impl/res/values-night-v27/styles.xml b/java/com/android/dialer/main/impl/res/values-night-v27/styles.xml
deleted file mode 100644
index 36b1e55..0000000
--- a/java/com/android/dialer/main/impl/res/values-night-v27/styles.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
-  -->
-<resources>
-
-  <!-- Used on sdk 27 and above -->
-  <!-- TODO(a bug): refactor into dialer/theme -->
-  <style name="MainActivityTheme" parent="MainActivityThemeBase">
-    <item name="android:windowLightStatusBar">false</item>
-    <item name="android:windowLightNavigationBar">false</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-
-  </style>
-
-  <!-- Used on sdk 27 and above -->
-  <!-- TODO(a bug): refactor into dialer/theme -->
-  <style name="MainActivityTheme.Dark" parent="MainActivityThemeBase.Dark">
-    <item name="android:windowLightStatusBar">false</item>
-    <item name="android:windowLightNavigationBar">false</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-  </style>
-</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/values-night-v31/styles.xml b/java/com/android/dialer/main/impl/res/values-night-v31/styles.xml
index 5c4ab1d..cb0ddf9 100644
--- a/java/com/android/dialer/main/impl/res/values-night-v31/styles.xml
+++ b/java/com/android/dialer/main/impl/res/values-night-v31/styles.xml
@@ -15,60 +15,9 @@
   ~ limitations under the License
   -->
 <resources>
-  <style name="Dialer.ThemeBase.ActionBar">
-    <item name="android:windowLightStatusBar">false</item>
-    <item name="android:windowLightNavigationBar">false</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-    
-    <!-- These are used to style all actionbars in Dialer. These aren't needed in Dialer.ThemeBase.NoActionBar -->
-    <item name="actionBarStyle">@style/DialerActionBarBaseStyle</item>
-    <item name="actionBarSize">@dimen/action_bar_height</item>
-
-    <!-- Pulled from Theme.AppCompat.Light.DarkActionbar-->
-    <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
-    <item name="actionBarWidgetTheme">@null</item>
-    <item name="actionBarTheme">@style/DialerActionBarBaseTheme</item>
-    <item name="listChoiceBackgroundIndicator">@drawable/abc_list_selector_holo_dark</item>
+  <style name="MainActivityTheme" parent="MainActivityThemeBase">
   </style>
-  
-  <style name="Dialer.ThemeBase">
-    <item name="android:windowLightStatusBar">false</item>
-    <item name="android:windowLightNavigationBar">false</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-    
-    <!-- These values should be used to color all backgrounds. -->
-    <item name="android:colorBackground">@color/dialer_background_color</item>
-    <item name="android:colorBackgroundFloating">@color/dialer_background_floating_color</item>
 
-    <!-- These values should be used to set text color. -->
-    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
-    <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item>
-    <item name="android:textColorPrimaryInverse">@color/google_grey_300</item>
-    <item name="android:textColorSecondaryInverse">@color/google_grey_400</item>
-    <item name="android:textColorHint">@color/google_grey_600</item>
-
-    <!-- These will be automatically used to color most Appcompat/Material widgets. -->
-    <item name="android:colorPrimary">@color/dialer_theme_color</item>
-    <item name="colorPrimary">@color/dialer_theme_color</item>
-    <item name="android:colorPrimaryDark">@color/dialer_theme_color</item>
-    <item name="colorPrimaryDark">@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/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>
-    <item name="colorMobileTerminatingChatText">@color/google_grey_900</item>
-    <item name="colorMobileTerminatingChatBackground">@color/google_grey_100</item>
-    <item name="colorMobileOriginatingChatText">@color/google_blue_900</item>
-    <item name="colorMobileOriginatingChatBackground">@color/google_blue_100</item>
-    <item name="colorPrimary20pct">@color/dialer_theme_color_20pct</item>
+  <style name="MainActivityTheme.Dark" parent="MainActivityThemeBase.Dark">
   </style>
 </resources>
diff --git a/java/com/android/dialer/main/impl/res/values-v27/styles.xml b/java/com/android/dialer/main/impl/res/values-v27/styles.xml
index 7fd220f..b0e9c7c 100644
--- a/java/com/android/dialer/main/impl/res/values-v27/styles.xml
+++ b/java/com/android/dialer/main/impl/res/values-v27/styles.xml
@@ -19,19 +19,18 @@
   <!-- Used on sdk 27 and above -->
   <!-- TODO(a bug): refactor into dialer/theme -->
   <style name="MainActivityTheme" parent="MainActivityThemeBase">
-    <item name="android:windowLightStatusBar">true</item>
+    <!-- Used to change the navigation bar color -->
     <item name="android:windowLightNavigationBar">true</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-
+    <item name="android:navigationBarColor">?android:attr/colorBackgroundFloating</item>
+    <item name="android:navigationBarDividerColor">#E0E0E0</item>
   </style>
 
   <!-- Used on sdk 27 and above -->
   <!-- TODO(a bug): refactor into dialer/theme -->
   <style name="MainActivityTheme.Dark" parent="MainActivityThemeBase.Dark">
-    <item name="android:windowLightStatusBar">true</item>
+    <!-- Used to change the navigation bar color -->
     <item name="android:windowLightNavigationBar">true</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">?android:attr/colorBackgroundFloating</item>
+    <item name="android:navigationBarDividerColor">#E0E0E0</item>
   </style>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-v31/styles.xml b/java/com/android/dialer/main/impl/res/values-v31/styles.xml
index 36218c0..cb0ddf9 100644
--- a/java/com/android/dialer/main/impl/res/values-v31/styles.xml
+++ b/java/com/android/dialer/main/impl/res/values-v31/styles.xml
@@ -15,59 +15,9 @@
   ~ limitations under the License
   -->
 <resources>
-  <style name="Dialer.ThemeBase.ActionBar">
-    <item name="android:windowLightStatusBar">true</item>
-    <item name="android:windowLightNavigationBar">true</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-    <!-- These are used to style all actionbars in Dialer. These aren't needed in Dialer.ThemeBase.NoActionBar -->
-    <item name="actionBarStyle">@style/DialerActionBarBaseStyle</item>
-    <item name="actionBarSize">@dimen/action_bar_height</item>
-
-    <!-- Pulled from Theme.AppCompat.Light.DarkActionbar-->
-    <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
-    <item name="actionBarWidgetTheme">@null</item>
-    <item name="actionBarTheme">@style/DialerActionBarBaseTheme</item>
-    <item name="listChoiceBackgroundIndicator">@drawable/abc_list_selector_holo_dark</item>
+  <style name="MainActivityTheme" parent="MainActivityThemeBase">
   </style>
-  
-  <style name="Dialer.ThemeBase">
-    <item name="android:windowLightStatusBar">true</item>
-    <item name="android:windowLightNavigationBar">true</item>
-    <item name="android:statusBarColor">@android:color/transparent</item>
-    <item name="android:navigationBarColor">@android:color/transparent</item>
-    
-    <!-- These values should be used to color all backgrounds. -->
-    <item name="android:colorBackground">@color/dialer_background_color</item>
-    <item name="android:colorBackgroundFloating">@color/dialer_background_floating_color</item>
 
-    <!-- These values should be used to set text color. -->
-    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
-    <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item>
-    <item name="android:textColorPrimaryInverse">@color/google_grey_300</item>
-    <item name="android:textColorSecondaryInverse">@color/google_grey_400</item>
-    <item name="android:textColorHint">@color/google_grey_600</item>
-
-    <!-- These will be automatically used to color most Appcompat/Material widgets. -->
-    <item name="android:colorPrimary">@color/dialer_theme_color</item>
-    <item name="colorPrimary">@color/dialer_theme_color</item>
-    <item name="android:colorPrimaryDark">@color/dialer_theme_color</item>
-    <item name="colorPrimaryDark">@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/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>
-    <item name="colorMobileTerminatingChatText">@color/google_grey_900</item>
-    <item name="colorMobileTerminatingChatBackground">@color/google_grey_100</item>
-    <item name="colorMobileOriginatingChatText">@color/google_blue_900</item>
-    <item name="colorMobileOriginatingChatBackground">@color/google_blue_100</item>
-    <item name="colorPrimary20pct">@color/dialer_theme_color_20pct</item>
+  <style name="MainActivityTheme.Dark" parent="MainActivityThemeBase.Dark">
   </style>
 </resources>
diff --git a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
index 60b0673..fb59e54 100644
--- a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
+++ b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
@@ -16,10 +16,12 @@
 
 package com.android.dialer.main.impl.toolbar;
 
+import android.app.Activity;
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
 import android.content.Context;
+import android.graphics.Color;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
@@ -143,6 +145,9 @@
               searchBox.requestFocus();
             }
             setBackgroundResource(R.drawable.search_bar_background);
+            if (getContext() instanceof Activity) {
+              ((Activity )getContext()).getWindow().setStatusBarColor(getContext().getResources().getColor(R.color.search_bar_background_color));
+            }
           }
         });
     animator.start();
@@ -175,6 +180,9 @@
             searchBox.setText("");
             searchBoxExpanded.setVisibility(INVISIBLE);
             setBackgroundResource(R.drawable.search_bar_background_rounded_corners);
+            if (getContext() instanceof Activity) {
+              ((Activity )getContext()).getWindow().setStatusBarColor(Color.TRANSPARENT);
+            }
           }
         });
     animator.start();
diff --git a/java/com/android/dialer/main/impl/toolbar/res/drawable-v31/search_bar_background.xml b/java/com/android/dialer/main/impl/toolbar/res/drawable-v31/search_bar_background.xml
index 8bc21c4..9f547da 100644
--- a/java/com/android/dialer/main/impl/toolbar/res/drawable-v31/search_bar_background.xml
+++ b/java/com/android/dialer/main/impl/toolbar/res/drawable-v31/search_bar_background.xml
@@ -16,5 +16,5 @@
   -->
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
-  <solid android:color="?android:attr/colorBackground"/>
+  <solid android:color="@color/search_bar_background_color"/>
 </shape>
diff --git a/java/com/android/dialer/main/impl/res/values-night-v31/colors.xml b/java/com/android/dialer/theme/base/res/values-night-v31/colors.xml
similarity index 80%
rename from java/com/android/dialer/main/impl/res/values-night-v31/colors.xml
rename to java/com/android/dialer/theme/base/res/values-night-v31/colors.xml
index eab68a0..b13410d 100644
--- a/java/com/android/dialer/main/impl/res/values-night-v31/colors.xml
+++ b/java/com/android/dialer/theme/base/res/values-night-v31/colors.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">@android:color/system_accent1_100</color>
+    <color name="colorPrimary">@android:color/system_accent1_200</color>
     <color name="dialer_theme_color">@color/colorPrimary</color>
-    <color name="dialer_theme_color_20pct">@android:color/system_accent1_800</color>
+    <color name="dialer_theme_color_20pct">@color/dialer_theme_color</color>
     <color name="dialer_theme_color_dark">@color/colorPrimary</color>
     <color name="dialer_secondary_color">@color/colorPrimary</color>
     <color name="dialer_background_color">@android:color/system_neutral1_900</color>
diff --git a/java/com/android/dialer/theme/base/res/values-night-v31/styles.xml b/java/com/android/dialer/theme/base/res/values-night-v31/styles.xml
index be8ee71..8130c88 100644
--- a/java/com/android/dialer/theme/base/res/values-night-v31/styles.xml
+++ b/java/com/android/dialer/theme/base/res/values-night-v31/styles.xml
@@ -32,9 +32,73 @@
     <item name="android:textColorSecondary">@color/settings_text_color_secondary</item>
     <item name="android:windowBackground">?android:attr/colorBackground</item>
     <item name="android:colorAccent">?android:attr/colorPrimary</item>
+  </style>
+  
+    <style name="Dialer.ThemeBase.ActionBar">
     <item name="android:windowLightStatusBar">false</item>
     <item name="android:windowLightNavigationBar">false</item>
     <item name="android:statusBarColor">@android:color/transparent</item>
     <item name="android:navigationBarColor">@android:color/transparent</item>
+    
+    <!-- These are used to style all actionbars in Dialer. These aren't needed in Dialer.ThemeBase.NoActionBar -->
+    <item name="actionBarStyle">@style/DialerActionBarBaseStyle</item>
+    <item name="actionBarSize">@dimen/action_bar_height</item>
+
+    <!-- Pulled from Theme.AppCompat.Light.DarkActionbar-->
+    <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
+    <item name="actionBarWidgetTheme">@null</item>
+    <item name="actionBarTheme">@style/DialerActionBarBaseTheme</item>
+    <item name="listChoiceBackgroundIndicator">@drawable/abc_list_selector_holo_dark</item>
+  </style>
+
+  <style name="Dialer.ThemeBase.NoActionBar">
+    <item name="android:windowLightStatusBar">false</item>
+    <item name="android:windowLightNavigationBar">false</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    <!-- Copied from Theme.AppCompat.Light.NoActionBar. We can remove this and update the Dialer
+        base style once none of our activities depend on ActionBar anymore. -->
+    <item name="windowActionBar">false</item>
+    <item name="windowNoTitle">true</item>
+  </style>
+  
+  <style name="Dialer.ThemeBase">
+    <item name="android:windowLightStatusBar">false</item>
+    <item name="android:windowLightNavigationBar">false</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    
+    <!-- These values should be used to color all backgrounds. -->
+    <item name="android:colorBackground">@color/dialer_background_color</item>
+    <item name="android:colorBackgroundFloating">@color/dialer_background_floating_color</item>
+
+    <!-- These values should be used to set text color. -->
+    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
+    <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item>
+    <item name="android:textColorPrimaryInverse">@color/google_grey_300</item>
+    <item name="android:textColorSecondaryInverse">@color/google_grey_400</item>
+    <item name="android:textColorHint">@color/google_grey_600</item>
+
+    <!-- These will be automatically used to color most Appcompat/Material widgets. -->
+    <item name="android:colorPrimary">@color/dialer_theme_color</item>
+    <item name="colorPrimary">@color/dialer_theme_color</item>
+    <item name="android:colorPrimaryDark">@color/dialer_theme_color</item>
+    <item name="colorPrimaryDark">@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/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>
+    <item name="colorMobileTerminatingChatText">@color/google_grey_900</item>
+    <item name="colorMobileTerminatingChatBackground">@color/google_grey_100</item>
+    <item name="colorMobileOriginatingChatText">@color/google_blue_900</item>
+    <item name="colorMobileOriginatingChatBackground">@color/google_blue_100</item>
+    <item name="colorPrimary20pct">@color/dialer_theme_color_20pct</item>
   </style>
 </resources>
diff --git a/java/com/android/dialer/main/impl/res/values-v31/colors.xml b/java/com/android/dialer/theme/base/res/values-v31/colors.xml
similarity index 88%
rename from java/com/android/dialer/main/impl/res/values-v31/colors.xml
rename to java/com/android/dialer/theme/base/res/values-v31/colors.xml
index ee9dd3c..dd699a9 100644
--- a/java/com/android/dialer/main/impl/res/values-v31/colors.xml
+++ b/java/com/android/dialer/theme/base/res/values-v31/colors.xml
@@ -2,7 +2,7 @@
 <resources>
     <color name="colorPrimary">@android:color/system_accent1_600</color>
     <color name="dialer_theme_color">@color/colorPrimary</color>
-    <color name="dialer_theme_color_20pct">@android:color/system_accent1_200</color>
+    <color name="dialer_theme_color_20pct">@color/dialer_theme_color</color>
     <color name="dialer_theme_color_dark">@color/colorPrimary</color>
     <color name="dialer_secondary_color">@color/colorPrimary</color>
     <color name="dialer_background_color">@android:color/system_neutral1_10</color>
diff --git a/java/com/android/dialer/theme/base/res/values-v31/styles.xml b/java/com/android/dialer/theme/base/res/values-v31/styles.xml
index 861b133..b811508 100644
--- a/java/com/android/dialer/theme/base/res/values-v31/styles.xml
+++ b/java/com/android/dialer/theme/base/res/values-v31/styles.xml
@@ -32,9 +32,72 @@
     <item name="android:textColorSecondary">@color/settings_text_color_secondary</item>
     <item name="android:windowBackground">?android:attr/colorBackground</item>
     <item name="android:colorAccent">?android:attr/colorPrimary</item>
+  </style>
+  
+    <style name="Dialer.ThemeBase.ActionBar">
     <item name="android:windowLightStatusBar">true</item>
     <item name="android:windowLightNavigationBar">true</item>
     <item name="android:statusBarColor">@android:color/transparent</item>
     <item name="android:navigationBarColor">@android:color/transparent</item>
+    <!-- These are used to style all actionbars in Dialer. These aren't needed in Dialer.ThemeBase.NoActionBar -->
+    <item name="actionBarStyle">@style/DialerActionBarBaseStyle</item>
+    <item name="actionBarSize">@dimen/action_bar_height</item>
+
+    <!-- Pulled from Theme.AppCompat.Light.DarkActionbar-->
+    <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
+    <item name="actionBarWidgetTheme">@null</item>
+    <item name="actionBarTheme">@style/DialerActionBarBaseTheme</item>
+    <item name="listChoiceBackgroundIndicator">@drawable/abc_list_selector_holo_dark</item>
+  </style>
+  
+  <style name="Dialer.ThemeBase.NoActionBar">
+    <item name="android:windowLightStatusBar">true</item>
+    <item name="android:windowLightNavigationBar">true</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    <!-- Copied from Theme.AppCompat.Light.NoActionBar. We can remove this and update the Dialer
+        base style once none of our activities depend on ActionBar anymore. -->
+    <item name="windowActionBar">false</item>
+    <item name="windowNoTitle">true</item>
+  </style>
+  
+  <style name="Dialer.ThemeBase">
+    <item name="android:windowLightStatusBar">true</item>
+    <item name="android:windowLightNavigationBar">true</item>
+    <item name="android:statusBarColor">@android:color/transparent</item>
+    <item name="android:navigationBarColor">@android:color/transparent</item>
+    
+    <!-- These values should be used to color all backgrounds. -->
+    <item name="android:colorBackground">@color/dialer_background_color</item>
+    <item name="android:colorBackgroundFloating">@color/dialer_background_floating_color</item>
+
+    <!-- These values should be used to set text color. -->
+    <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
+    <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item>
+    <item name="android:textColorPrimaryInverse">@color/google_grey_300</item>
+    <item name="android:textColorSecondaryInverse">@color/google_grey_400</item>
+    <item name="android:textColorHint">@color/google_grey_600</item>
+
+    <!-- These will be automatically used to color most Appcompat/Material widgets. -->
+    <item name="android:colorPrimary">@color/dialer_theme_color</item>
+    <item name="colorPrimary">@color/dialer_theme_color</item>
+    <item name="android:colorPrimaryDark">@color/dialer_theme_color</item>
+    <item name="colorPrimaryDark">@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/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>
+    <item name="colorMobileTerminatingChatText">@color/google_grey_900</item>
+    <item name="colorMobileTerminatingChatBackground">@color/google_grey_100</item>
+    <item name="colorMobileOriginatingChatText">@color/google_blue_900</item>
+    <item name="colorMobileOriginatingChatBackground">@color/google_blue_100</item>
+    <item name="colorPrimary20pct">@color/dialer_theme_color_20pct</item>
   </style>
 </resources>
diff --git a/java/com/android/dialer/theme/common/res/values-night-v31/colors.xml b/java/com/android/dialer/theme/common/res/values-night-v31/colors.xml
new file mode 100644
index 0000000..0cd1105
--- /dev/null
+++ b/java/com/android/dialer/theme/common/res/values-night-v31/colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2012 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
+  -->
+<!-- The colors in this file aren't configured at the theme level. -->
+<resources>
+  <color name="dialer_divider_line_color">@android:color/white</color>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/theme/common/res/values-v31/colors.xml b/java/com/android/dialer/theme/common/res/values-v31/colors.xml
new file mode 100644
index 0000000..8ee0a61
--- /dev/null
+++ b/java/com/android/dialer/theme/common/res/values-v31/colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2012 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
+  -->
+<!-- The colors in this file aren't configured at the theme level. -->
+<resources>
+  <color name="dialer_divider_line_color">@android:color/black</color>
+</resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/widget/DialerToolbar.java b/java/com/android/dialer/widget/DialerToolbar.java
index 40dabe8..82128f6 100644
--- a/java/com/android/dialer/widget/DialerToolbar.java
+++ b/java/com/android/dialer/widget/DialerToolbar.java
@@ -38,8 +38,8 @@
     subtitle = (BidiTextView) findViewById(R.id.subtitle);
 
     setElevation(getResources().getDimensionPixelSize(R.dimen.toolbar_elevation));
-    setBackgroundColor(ThemeComponent.get(context).theme().getColorPrimary());
-    setNavigationIcon(R.drawable.quantum_ic_close_white_24);
+    //setBackgroundColor(ThemeComponent.get(context).theme().getColorPrimary());
+    setNavigationIcon(R.drawable.back_arrow);
     setNavigationContentDescription(R.string.toolbar_close);
     setNavigationOnClickListener(v -> ((Activity) context).finish());
     setPaddingRelative(
diff --git a/java/com/android/dialer/widget/res/drawable/back_arrow.xml b/java/com/android/dialer/widget/res/drawable/back_arrow.xml
new file mode 100644
index 0000000..628543f
--- /dev/null
+++ b/java/com/android/dialer/widget/res/drawable/back_arrow.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0"
+    android:autoMirrored="true"
+    android:tint="?attr/textColorPrimary">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
+</vector>
diff --git a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
index 3b4d136..9112e15 100755
--- a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
+++ b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
@@ -28,14 +28,14 @@
         android:layout_height="wrap_content"
         android:gravity="top"
         android:textSize="@dimen/toolbar_title_text_size"
-        android:textColor="?android:attr/textColorPrimaryInverse"
+        android:textColor="?android:attr/textColorPrimary"
         style="@style/Dialer.TextAppearance.Header2"/>
 
     <com.android.dialer.widget.BidiTextView
         android:id="@+id/subtitle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:textColor="?android:attr/textColorPrimaryInverse"
+        android:textColor="?android:attr/textColorPrimary"
         android:visibility="gone"
         style="@style/Dialer.TextAppearance.Secondary.Ellipsize"/>
   </LinearLayout>
diff --git a/java/com/android/dialer/widget/res/values/dimens.xml b/java/com/android/dialer/widget/res/values/dimens.xml
index d29f0fa..f6d758c 100644
--- a/java/com/android/dialer/widget/res/values/dimens.xml
+++ b/java/com/android/dialer/widget/res/values/dimens.xml
@@ -22,9 +22,9 @@
   <dimen name="message_divider_height">1dp</dimen>
   <dimen name="send_container_width">48dp</dimen>
 
-  <dimen name="toolbar_title_text_size">20sp</dimen>
+  <dimen name="toolbar_title_text_size">18sp</dimen>
   <dimen name="toolbar_subtitle_text_size">12sp</dimen>
-  <dimen name="toolbar_elevation">4dp</dimen>
+  <dimen name="toolbar_elevation">0dp</dimen>
   <dimen name="toolbar_end_padding">4dp</dimen>
 
   <!-- Empty List -->