diff options
| author | 2024-11-14 11:24:07 +0100 | |
|---|---|---|
| committer | 2024-11-14 16:01:51 +0100 | |
| commit | 9af1abd4b38f69a2ab26552c984e97dd7b75218e (patch) | |
| tree | a03d02ebf6c906e0db63aa79b72a61ee350595a0 | |
| parent | 722e14b0ef008710c3ddcab64f33e4310bc32d0b (diff) | |
[Notif redesign] Bigger "small" icon in header only notif
Note that notification_2025_template_header is a fork of
notification_temmplate_header.
Bug: 378660052
Test: visual test, screenshot tests to come later
Flag: android.app.notifications_redesign_templates
Change-Id: I0d65856b0ea550cf20aa4be08b07a00dfaa01e53
| -rw-r--r-- | core/java/android/app/Notification.java | 11 | ||||
| -rw-r--r-- | core/res/res/layout/notification_2025_template_header.xml | 111 | ||||
| -rw-r--r-- | core/res/res/values/dimens.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 1 |
4 files changed, 125 insertions, 1 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index f0ae40502c71..cfe0ff9440e7 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -821,6 +821,7 @@ public class Notification implements Parcelable if (Flags.notificationsRedesignTemplates()) { switch(layoutId) { case R.layout.notification_2025_template_collapsed_base: + case R.layout.notification_2025_template_header: return true; } } @@ -6726,7 +6727,7 @@ public class Notification implements Parcelable // Headers on their own are never colorized p.disallowColorization(); RemoteViews header = new BuilderRemoteViews(mContext.getApplicationInfo(), - R.layout.notification_template_header); + getHeaderLayoutResource()); resetNotificationHeader(header); bindNotificationHeader(header, p); return header; @@ -7486,6 +7487,14 @@ public class Notification implements Parcelable return clone; } + private int getHeaderLayoutResource() { + if (Flags.notificationsRedesignTemplates()) { + return R.layout.notification_2025_template_header; + } else { + return R.layout.notification_template_header; + } + } + @UnsupportedAppUsage private int getBaseLayoutResource() { if (Flags.notificationsRedesignTemplates()) { diff --git a/core/res/res/layout/notification_2025_template_header.xml b/core/res/res/layout/notification_2025_template_header.xml new file mode 100644 index 000000000000..b7fe454e09d4 --- /dev/null +++ b/core/res/res/layout/notification_2025_template_header.xml @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + ~ Copyright (C) 2024 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 + --> + +<!-- extends RelativeLayout --> +<NotificationHeaderView + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/notification_header" + android:layout_width="match_parent" + android:layout_height="@dimen/notification_2025_header_height" + android:layout_marginBottom="@dimen/notification_header_margin_bottom" + android:clipChildren="false" + android:gravity="center_vertical" + android:orientation="horizontal" + android:theme="@style/Theme.DeviceDefault.Notification" + android:importantForAccessibility="no" + > + + <ImageView + android:id="@+id/left_icon" + android:layout_width="@dimen/notification_2025_left_icon_size" + android:layout_height="@dimen/notification_2025_left_icon_size" + android:layout_alignParentStart="true" + android:layout_centerVertical="true" + android:layout_marginStart="@dimen/notification_left_icon_start" + android:background="@drawable/notification_large_icon_outline" + android:clipToOutline="true" + android:importantForAccessibility="no" + android:scaleType="centerCrop" + android:visibility="gone" + /> + + <com.android.internal.widget.NotificationRowIconView + android:id="@+id/icon" + android:layout_width="@dimen/notification_2025_icon_circle_size" + android:layout_height="@dimen/notification_2025_icon_circle_size" + android:layout_alignParentStart="true" + android:layout_centerVertical="true" + android:layout_marginStart="@dimen/notification_icon_circle_start" + android:background="@drawable/notification_icon_circle" + android:padding="@dimen/notification_2025_icon_circle_padding" + android:maxDrawableWidth="@dimen/notification_2025_icon_circle_size" + android:maxDrawableHeight="@dimen/notification_2025_icon_circle_size" + /> + + <!-- extends ViewGroup --> + <NotificationTopLineView + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/notification_top_line" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_alignParentStart="true" + android:layout_centerVertical="true" + android:layout_toStartOf="@id/notification_buttons_column" + android:layout_alignWithParentIfMissing="true" + android:clipChildren="false" + android:gravity="center_vertical" + android:paddingStart="@dimen/notification_2025_content_margin_start" + android:theme="@style/Theme.DeviceDefault.Notification" + > + + <include layout="@layout/notification_top_line_views" /> + + </NotificationTopLineView> + + <FrameLayout + android:id="@+id/alternate_expand_target" + android:layout_width="@dimen/notification_2025_content_margin_start" + android:layout_height="match_parent" + android:layout_alignParentStart="true" + android:importantForAccessibility="no" + android:focusable="false" + /> + + <LinearLayout + android:id="@+id/notification_buttons_column" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentEnd="true" + android:orientation="vertical" + > + + <include layout="@layout/notification_close_button" + android:layout_width="@dimen/notification_close_button_size" + android:layout_height="@dimen/notification_close_button_size" + android:layout_gravity="end" + android:layout_marginEnd="20dp" + /> + + <include layout="@layout/notification_expand_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentEnd="true" + android:layout_centerVertical="true" + /> + + </LinearLayout> + +</NotificationHeaderView> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 5cfe65cef4c6..513555d0ff5c 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -315,6 +315,9 @@ <!-- height of the notification header --> <dimen name="notification_header_height">56dp</dimen> + <!-- height of the notification header (2025 redesign version) --> + <dimen name="notification_2025_header_height">72dp</dimen> + <!-- The height of the background for a notification header on a group --> <dimen name="notification_header_background_height">49.5dp</dimen> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index f1a30a8ca23d..0eb1501d38e0 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2390,6 +2390,7 @@ <java-symbol type="layout" name="notification_material_action_list" /> <java-symbol type="layout" name="notification_material_action_tombstone" /> <java-symbol type="layout" name="notification_2025_template_collapsed_base" /> + <java-symbol type="layout" name="notification_2025_template_header" /> <java-symbol type="layout" name="notification_template_material_base" /> <java-symbol type="layout" name="notification_template_material_heads_up_base" /> <java-symbol type="layout" name="notification_template_material_compact_heads_up_base" /> |