summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff DeCew <jeffdq@google.com> 2021-06-02 20:23:19 -0400
committer Jeff DeCew <jeffdq@google.com> 2021-06-02 20:23:59 -0400
commit604c074dbeff512aee2ecb250552a3c0061a9b56 (patch)
tree6ae0409eb08bd13525075e61530fed49dc7dea42
parent0def72662fbca3c0181e19936cbec53b5b895eb4 (diff)
Notification layout fixes:
* "Headerless" notifications no longer capped at 88dp. This allows DecoratedCustomViewStyle content to be sized larger than 48dp, but all that sizing is now controlled by the max heights for the entire notification, which is enforced by the ExpandableNotificationRow, rather than the layout. * Reduce the max heads up height to 136dp (down by 7dp). For standard headerless templates, this won't have any effect, because they would never get that tall. For HUNs with decorated custom content this reduces the custom content area to 96dp without actions (to match RVC) and 56dp with actions (up slightly from 48dp in RVC). * Fixed a bug where the snooze button would be bound when viewType=NORMAL, which only affected messaging style, and was hiding a layout bug if the snooze setting was enabled. * Fixed a bug with the action margin on messaging notifications appearing in the collapsed state and causing oversized notifications. Fixes: 189937886 Test: significant manual testing with notify and notify2, especially with HUNs Change-Id: I775a0bb29944922581d01f237dbbc5580ced00c4
-rw-r--r--core/java/android/app/Notification.java2
-rw-r--r--core/res/res/layout/notification_template_material_base.xml5
-rw-r--r--core/res/res/layout/notification_template_material_heads_up_base.xml8
-rw-r--r--core/res/res/layout/notification_template_material_messaging.xml2
-rw-r--r--packages/SystemUI/res/values/dimens.xml2
5 files changed, 11 insertions, 8 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 64b100f838ba..05ae4492b104 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5597,7 +5597,7 @@ public class Notification implements Parcelable
private void bindSnoozeAction(RemoteViews big, StandardTemplateParams p) {
boolean hideSnoozeButton = mN.isForegroundService() || mN.fullScreenIntent != null
|| isBackgroundColorized(p)
- || p.mViewType == StandardTemplateParams.VIEW_TYPE_HEADS_UP;
+ || p.mViewType != StandardTemplateParams.VIEW_TYPE_BIG;
big.setBoolean(R.id.snooze_button, "setEnabled", !hideSnoozeButton);
if (hideSnoozeButton) {
// Only hide; NotificationContentView will show it when it adds the click listener
diff --git a/core/res/res/layout/notification_template_material_base.xml b/core/res/res/layout/notification_template_material_base.xml
index e644cd55a86a..614779a79253 100644
--- a/core/res/res/layout/notification_template_material_base.xml
+++ b/core/res/res/layout/notification_template_material_base.xml
@@ -14,11 +14,12 @@
~ limitations under the License
-->
-<com.android.internal.widget.NotificationMaxHeightFrameLayout
+<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/status_bar_latest_event_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_weight="1"
android:minHeight="@dimen/notification_headerless_min_height"
android:tag="base"
>
@@ -166,4 +167,4 @@
</LinearLayout>
-</com.android.internal.widget.NotificationMaxHeightFrameLayout>
+</FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_heads_up_base.xml b/core/res/res/layout/notification_template_material_heads_up_base.xml
index a0d19b409cea..34d7118b4508 100644
--- a/core/res/res/layout/notification_template_material_heads_up_base.xml
+++ b/core/res/res/layout/notification_template_material_heads_up_base.xml
@@ -23,7 +23,7 @@
android:tag="headsUp"
>
- <com.android.internal.widget.RemeasuringLinearLayout
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
@@ -35,7 +35,7 @@
android:id="@null"
/>
- <com.android.internal.widget.RemeasuringLinearLayout
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-20dp"
@@ -60,6 +60,6 @@
/>
<include layout="@layout/notification_material_action_list" />
- </com.android.internal.widget.RemeasuringLinearLayout>
- </com.android.internal.widget.RemeasuringLinearLayout>
+ </LinearLayout>
+ </LinearLayout>
</FrameLayout>
diff --git a/core/res/res/layout/notification_template_material_messaging.xml b/core/res/res/layout/notification_template_material_messaging.xml
index eb61ea45b4df..3564f9755a5d 100644
--- a/core/res/res/layout/notification_template_material_messaging.xml
+++ b/core/res/res/layout/notification_template_material_messaging.xml
@@ -199,11 +199,13 @@
android:id="@+id/notification_action_list_margin_target"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginTop="-20dp"
android:clipChildren="false"
android:orientation="vertical">
<include layout="@layout/notification_template_smart_reply_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/notification_content_margin"
android:layout_marginStart="@dimen/notification_content_margin_start"
android:layout_marginEnd="@dimen/notification_content_margin_end" />
<include layout="@layout/notification_material_action_list" />
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 0be648f1b9bd..c1efc1fc247b 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -151,7 +151,7 @@
<dimen name="notification_max_heads_up_height_before_s">162dp</dimen>
<!-- Height of a heads up notification in the status bar -->
- <dimen name="notification_max_heads_up_height">143dp</dimen>
+ <dimen name="notification_max_heads_up_height">136dp</dimen>
<!-- Height of a heads up notification in the status bar -->
<dimen name="notification_max_heads_up_height_increased">188dp</dimen>