Merge "UI refresh for reply with sms bottom sheet." am: 1c2630958c am: a3535c05c3
am: 288303c95d

Change-Id: I55bd776503754ada24c75ad6a2b33f4044bb6139
diff --git a/java/com/android/dialer/theme/base/Theme.java b/java/com/android/dialer/theme/base/Theme.java
index 2a9975b..3356a01 100644
--- a/java/com/android/dialer/theme/base/Theme.java
+++ b/java/com/android/dialer/theme/base/Theme.java
@@ -44,6 +44,9 @@
   @StyleRes
   int getApplicationThemeRes();
 
+  @StyleRes
+  int getBottomSheetStyleRes();
+
   Context getThemedContext(Context context);
 
   LayoutInflater getThemedLayoutInflator(LayoutInflater inflater);
diff --git a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
index 35dcef2..cd1e166 100644
--- a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
+++ b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
@@ -102,10 +102,25 @@
   @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:
-        return R.style.Dialer_ThemeBase_NoActionBar;
+      case LIGHT_M2:
+        return R.style.DialerBottomSheetDialogStyle_Light;
+      case DARK:
+        return R.style.DialerBottomSheetDialogStyle_Dark;
       case UNKNOWN:
       default:
         throw Assert.createIllegalStateFailException("Theme hasn't been set yet.");
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 d2cc0fc..282ddfe 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
@@ -64,4 +64,10 @@
     <item name="colorIconOnUnthemedDarkBackground">@android:color/white</item>
     <item name="colorPrimary20pct">@color/dialer_dark_theme_color_20pct</item>
   </style>
-</resources>
\ No newline at end of file
+
+  <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>
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 69ecba4..b0428ee 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
@@ -84,6 +84,11 @@
     <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/drawable/bottom_sheet_background.xml b/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
new file mode 100644
index 0000000..558277d
--- /dev/null
+++ b/java/com/android/dialer/theme/common/res/drawable/bottom_sheet_background.xml
@@ -0,0 +1,23 @@
+<?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="rectangle">
+  <corners
+      android:topLeftRadius="8dp"
+      android:topRightRadius="8dp"/>
+  <solid android:color="?android:attr/colorBackgroundFloating"/>
+</shape>
\ No newline at end of file
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 2c6446c..ac23bdf 100644
--- a/java/com/android/dialer/theme/common/res/values/styles.xml
+++ b/java/com/android/dialer/theme/common/res/values/styles.xml
@@ -31,4 +31,13 @@
     <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>
\ No newline at end of file
diff --git a/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java b/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
index 6742e4a..b06a0c6 100644
--- a/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
+++ b/java/com/android/incallui/answer/impl/SmsBottomSheetFragment.java
@@ -36,6 +36,7 @@
 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;
@@ -68,6 +69,8 @@
       }
     }
     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;
   }
@@ -100,11 +103,11 @@
 
     TextView textView = new TextView(context);
     textView.setText(text == null ? getString(R.string.call_incoming_message_custom) : text);
-    int padding = (int) DpUtil.dpToPx(context, 16);
-    textView.setPadding(padding, padding, padding, padding);
+    int paddingHorizontal = (int) DpUtil.dpToPx(context, 24);
+    int paddingVertical = (int) DpUtil.dpToPx(context, 12);
+    textView.setPadding(paddingHorizontal, paddingVertical, paddingHorizontal, paddingVertical);
     textView.setBackground(background);
-    textView.setTextColor(context.getColor(R.color.blue_grey_100));
-    textView.setTextAppearance(R.style.TextAppearance_AppCompat_Widget_PopupMenu_Large);
+    textView.setTextAppearance(R.style.Dialer_TextAppearance_Primary2);
 
     LayoutParams params =
         new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
@@ -124,7 +127,7 @@
 
   @Override
   public int getTheme() {
-    return R.style.Theme_Design_Light_BottomSheetDialog;
+    return ThemeComponent.get(getContext()).theme().getBottomSheetStyleRes();
   }
 
   @Override