summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yingyan Hua <yyhua@google.com> 2025-02-06 10:11:26 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-02-06 10:11:26 -0800
commit8896bc45d0ea005ff54f97a023af4d8d96f4f09d (patch)
tree636667ea50f4c657afbe8325b04f19b9d7316a21
parent84945e9d1d7d0b6753417437bda67e81073cbf52 (diff)
parent680976e9517b93c6a549f216c8578d58207f53e0 (diff)
Merge "[MagicAction] Created new layout for magic action button." into main
-rw-r--r--packages/SystemUI/res/drawable/magic_action_button_background.xml21
-rw-r--r--packages/SystemUI/res/layout/magic_action_button.xml33
-rw-r--r--packages/SystemUI/res/values/colors.xml3
-rw-r--r--packages/SystemUI/res/values/dimens.xml11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyStateInflater.kt10
5 files changed, 50 insertions, 28 deletions
diff --git a/packages/SystemUI/res/drawable/magic_action_button_background.xml b/packages/SystemUI/res/drawable/magic_action_button_background.xml
new file mode 100644
index 000000000000..7199b2dfbe5a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/magic_action_button_background.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+ android:color="@color/notification_ripple_untinted_color">
+ <item>
+ <inset
+ android:insetBottom="8dp"
+ android:insetLeft="0dp"
+ android:insetRight="0dp"
+ android:insetTop="8dp">
+ <shape android:shape="rectangle">
+ <corners android:radius="@dimen/magic_action_button_corner_radius" />
+ <solid android:color="@androidprv:color/materialColorPrimaryContainer" />
+ <stroke
+ android:width="@dimen/magic_action_button_outline_stroke_width"
+ android:color="@androidprv:color/materialColorOutlineVariant" />
+ </shape>
+ </inset>
+ </item>
+</ripple>
diff --git a/packages/SystemUI/res/layout/magic_action_button.xml b/packages/SystemUI/res/layout/magic_action_button.xml
index 59392ef0fb33..82d8d7043ff0 100644
--- a/packages/SystemUI/res/layout/magic_action_button.xml
+++ b/packages/SystemUI/res/layout/magic_action_button.xml
@@ -1,19 +1,16 @@
<Button xmlns:android="http://schemas.android.com/apk/res/android"
- style="@android:style/Widget.Material.Button"
- android:stateListAnimator="@null"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:minWidth="0dp"
- android:minHeight="@dimen/smart_reply_button_min_height"
- android:paddingVertical="@dimen/smart_reply_button_padding_vertical"
- android:background="@drawable/smart_reply_button_background"
- android:gravity="center"
- android:fontFamily="roboto-medium"
- android:textSize="@dimen/smart_reply_button_font_size"
- android:lineSpacingExtra="@dimen/smart_reply_button_line_spacing_extra"
- android:textColor="@color/smart_reply_button_text"
- android:paddingStart="@dimen/smart_reply_button_action_padding_left"
- android:paddingEnd="@dimen/smart_reply_button_padding_horizontal"
- android:drawablePadding="@dimen/smart_action_button_icon_padding"
- android:textStyle="normal"
- android:ellipsize="none"/>
+ style="@android:style/Widget.Material.Button"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/magic_action_button_touch_target_height"
+ android:background="@drawable/magic_action_button_background"
+ android:drawablePadding="@dimen/magic_action_button_drawable_padding"
+ android:ellipsize="none"
+ android:fontFamily="google-sans-flex"
+ android:gravity="center"
+ android:minWidth="0dp"
+ android:paddingHorizontal="@dimen/magic_action_button_padding_horizontal"
+ android:paddingVertical="@dimen/magic_action_button_inset_vertical"
+ android:stateListAnimator="@null"
+ android:textColor="@color/magic_action_button_text_color"
+ android:textSize="@dimen/magic_action_button_font_size"
+ android:textStyle="normal" />
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 015e0e83e57d..5f8f77993245 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -145,6 +145,9 @@
<color name="smart_reply_button_background">#ffffffff</color>
<color name="smart_reply_button_stroke">@*android:color/accent_device_default</color>
+ <!-- Magic Action colors -->
+ <color name="magic_action_button_text_color">@androidprv:color/materialColorOnSurfaceVariant</color>
+
<!-- Biometric dialog colors -->
<color name="biometric_dialog_gray">#ff757575</color>
<color name="biometric_dialog_accent">@color/material_dynamic_primary40</color>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 220d8a99d130..2d3c07b93cb1 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -1129,6 +1129,17 @@
<dimen name="smart_action_button_icon_padding">8dp</dimen>
<dimen name="smart_action_button_outline_stroke_width">2dp</dimen>
+ <!-- Magic Action params. -->
+ <!-- Corner radius = half of min_height to create rounded sides. -->
+ <dimen name="magic_action_button_corner_radius">16dp</dimen>
+ <dimen name="magic_action_button_icon_size">20dp</dimen>
+ <dimen name="magic_action_button_outline_stroke_width">1dp</dimen>
+ <dimen name="magic_action_button_padding_horizontal">12dp</dimen>
+ <dimen name="magic_action_button_inset_vertical">8dp</dimen>
+ <dimen name="magic_action_button_drawable_padding">8dp</dimen>
+ <dimen name="magic_action_button_touch_target_height">48dp</dimen>
+ <dimen name="magic_action_button_font_size">12sp</dimen>
+
<!-- A reasonable upper bound for the height of the smart reply button. The measuring code
needs to start with a guess for the maximum size. Currently two-line smart reply buttons
add about 88dp of height to the notifications. -->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyStateInflater.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyStateInflater.kt
index 1887db948b5a..d3af1e5b65fe 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyStateInflater.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SmartReplyStateInflater.kt
@@ -409,16 +409,6 @@ constructor(
as Button)
.apply {
text = action.title
- // TODO: Move the MagicActionBackgroundDrawable to MagicActionButton once
- // MagicActionButton is created.
- if (isMagicAction) {
- background = MagicActionBackgroundDrawable(parent.context)
- val textColor =
- parent.context.getColor(
- com.android.internal.R.color.materialColorOnPrimaryContainer
- )
- setTextColor(textColor)
- }
// We received the Icon from the application - so use the Context of the application
// to