Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 710eca22 authored by Ioana Alexandru's avatar Ioana Alexandru
Browse files

[Notif redesign] Update conversation icon sizes

Also removed a bunch of logic for updating paddings and sizes when
expanding, or based on whether it's a 1:1 conversation or a group, since
now the sizes are more consistent across the board. I may need to add
some of it back since currently the message icons overlap the face pile
in the expanded group conversation, but it's easier to start from a
clean slate.

Bug: 378660052
Test: visual test, screenshot tests to come later
Flag: android.app.notifications_redesign_templates
Change-Id: Ice6fa50ecaf6ab4442515d711af0714a8e11e0c2
parent a6a88a4e
Loading
Loading
Loading
Loading
+41 −28
Original line number Diff line number Diff line
@@ -777,6 +777,8 @@ public class ConversationLayout extends FrameLayout

        }

        if (!notificationsRedesignTemplates()) {
            // We no longer need to update the size based on expansion state.
            int conversationAvatarSize;
            int facepileAvatarSize;
            int facePileBackgroundSize;
@@ -809,6 +811,7 @@ public class ConversationLayout extends FrameLayout
            layoutParams.height = facePileBackgroundSize;
            bottomBackground.setLayoutParams(layoutParams);
        }
    }

    /**
     * Binds group avatar drawables to face pile.
@@ -832,6 +835,11 @@ public class ConversationLayout extends FrameLayout
     * update the icon position and sizing
     */
    private void updateIconPositionAndSize() {
        if (notificationsRedesignTemplates()) {
            // Icon size is fixed in the redesign.
            return;
        }

        int badgeProtrusion;
        int conversationAvatarSize;
        if (mIsOneToOne || mIsCollapsed) {
@@ -864,6 +872,11 @@ public class ConversationLayout extends FrameLayout
    }

    private void updatePaddingsBasedOnContentAvailability() {
        if (notificationsRedesignTemplates()) {
            // group icons have the same size as 1:1 conversations
            return;
        }

        // groups have avatars that need more spacing
        mMessagingLinearLayout.setSpacing(
                mIsOneToOne ? mMessageSpacingStandard : mMessageSpacingGroup);
+6 −6
Original line number Diff line number Diff line
@@ -18,14 +18,14 @@
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/conversation_face_pile"
    android:layout_width="@dimen/conversation_avatar_size"
    android:layout_height="@dimen/conversation_avatar_size"
    android:layout_width="@dimen/notification_2025_icon_circle_size"
    android:layout_height="@dimen/notification_2025_icon_circle_size"
    android:forceHasOverlappingRendering="false"
    >
    <ImageView
        android:id="@+id/conversation_face_pile_top"
        android:layout_width="@dimen/messaging_avatar_size"
        android:layout_height="@dimen/messaging_avatar_size"
        android:layout_width="@dimen/notification_2025_face_pile_avatar_size"
        android:layout_height="@dimen/notification_2025_face_pile_avatar_size"
        android:scaleType="centerCrop"
        android:layout_gravity="end|top"
        android:background="@drawable/notification_icon_circle"
@@ -43,8 +43,8 @@
            />
        <ImageView
            android:id="@+id/conversation_face_pile_bottom"
            android:layout_width="@dimen/messaging_avatar_size"
            android:layout_height="@dimen/messaging_avatar_size"
            android:layout_width="@dimen/notification_2025_face_pile_avatar_size"
            android:layout_height="@dimen/notification_2025_face_pile_avatar_size"
            android:scaleType="centerCrop"
            android:layout_gravity="center"
            android:background="@drawable/notification_icon_circle"
+6 −14
Original line number Diff line number Diff line
@@ -18,32 +18,27 @@
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/conversation_icon_container"
    android:layout_width="@dimen/conversation_content_start"
    android:layout_width="@dimen/notification_2025_content_margin_start"
    android:layout_height="wrap_content"
    android:gravity="start|top"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:paddingTop="20dp"
    android:paddingBottom="16dp"
    android:importantForAccessibility="no"
    >

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/notification_2025_margin"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:layout_gravity="top|center_horizontal"
        >

        <!-- Big icon: 48x48, 12dp padding top, 16dp padding sides -->
        <com.android.internal.widget.CachingIconView
            android:id="@+id/conversation_icon"
            android:layout_width="@dimen/conversation_avatar_size"
            android:layout_height="@dimen/conversation_avatar_size"
            android:layout_marginLeft="@dimen/conversation_badge_protrusion"
            android:layout_marginRight="@dimen/conversation_badge_protrusion"
            android:layout_marginBottom="@dimen/conversation_badge_protrusion"
            android:layout_width="@dimen/notification_2025_icon_circle_size"
            android:layout_height="@dimen/notification_2025_icon_circle_size"
            android:background="@drawable/notification_icon_circle"
            android:clipToOutline="true"
            android:scaleType="centerCrop"
@@ -52,11 +47,8 @@

        <ViewStub
            android:layout="@layout/notification_2025_conversation_face_pile_layout"
            android:layout_width="@dimen/conversation_avatar_size"
            android:layout_height="@dimen/conversation_avatar_size"
            android:layout_marginLeft="@dimen/conversation_badge_protrusion"
            android:layout_marginRight="@dimen/conversation_badge_protrusion"
            android:layout_marginBottom="@dimen/conversation_badge_protrusion"
            android:layout_width="@dimen/notification_2025_icon_circle_size"
            android:layout_height="@dimen/notification_2025_icon_circle_size"
            android:id="@+id/conversation_face_pile"
            />

+2 −0
Original line number Diff line number Diff line
@@ -912,6 +912,8 @@
    <dimen name="conversation_icon_size_badged">20dp</dimen>
    <!-- size of the conversation avatar in an expanded group -->
    <dimen name="conversation_avatar_size_group_expanded">@dimen/messaging_avatar_size</dimen>
    <!-- size of the face pile icons (2025 redesign version) -->
    <dimen name="notification_2025_face_pile_avatar_size">24dp</dimen>
    <!-- size of the face pile icons -->
    <dimen name="conversation_face_pile_avatar_size">32dp</dimen>
    <!-- size of the face pile icons when the group is expanded -->