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

Commit e31d5f3f authored by Ibrahim Yilmaz's avatar Ibrahim Yilmaz
Browse files

[RON] Fix LargeIcon alignment for RONs

Since there is no expander, notification topline view grows to the end of its parent. So it's drawn close or under the large icon depending on the notification header content.
This CL adds expand button spacer which takes up as much space as minimal expander so that notification topline view layouts correctly.

Bug: 393369727
Test: Screenshot tests (for existing UI) && screenshots for large icon will come after
Flag: com.android.systemui.ui_rich_ongoing_force_expanded
Change-Id: Ic75b26ec59d7d1f61db2a41d8165850bc1571bd0
parent 9f528d89
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_toStartOf="@id/expand_button"
        android:layout_toStartOf="@id/expand_button_container"
        android:layout_alignWithParentIfMissing="true"
        android:layout_marginVertical="@dimen/notification_2025_margin"
        android:clipChildren="false"
@@ -81,12 +81,30 @@
        android:focusable="false"
        />


    <LinearLayout
        android:id="@+id/expand_button_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:orientation="vertical"
        >
        <FrameLayout
            android:id="@+id/expand_button_spacer"
            android:layout_width="@dimen/notification_2025_expand_button_pill_width"
            android:layout_height="@dimen/notification_2025_expand_button_pill_height"
            android:layout_centerVertical="true"
            android:layout_alignParentEnd="true"
            android:layout_margin="@dimen/notification_2025_margin"
            android:visibility="gone" />

        <include layout="@layout/notification_2025_expand_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top|end"
            android:layout_alignParentEnd="true" />

    </LinearLayout>
    <include layout="@layout/notification_close_button"
        android:id="@+id/close_button"
        android:layout_width="@dimen/notification_close_button_size"
+20 −4
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_toStartOf="@id/expand_button"
        android:layout_toStartOf="@id/expand_button_container"
        android:layout_alignWithParentIfMissing="true"
        android:clipChildren="false"
        android:gravity="center_vertical"
@@ -83,12 +83,28 @@
        android:focusable="false"
        />

    <LinearLayout
        android:id="@+id/expand_button_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:orientation="vertical"
        >
        <FrameLayout
            android:id="@+id/expand_button_spacer"
            android:layout_width="@dimen/notification_expand_button_pill_height"
            android:layout_height="@dimen/notification_header_height"
            android:layout_centerVertical="true"
            android:layout_alignParentEnd="true"
            android:layout_marginHorizontal="16dp"
            android:visibility="gone" />

        <include layout="@layout/notification_expand_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_alignParentEnd="true" />

    </LinearLayout>
    <include layout="@layout/notification_close_button"
        android:id="@+id/close_button"
        android:layout_width="@dimen/notification_close_button_size"
+2 −0
Original line number Diff line number Diff line
@@ -3235,6 +3235,8 @@
  <java-symbol type="id" name="header_text" />
  <java-symbol type="id" name="header_text_secondary" />
  <java-symbol type="id" name="expand_button" />
  <java-symbol type="id" name="expand_button_spacer" />
  <java-symbol type="id" name="expand_button_container" />
  <java-symbol type="id" name="expand_button_pill" />
  <java-symbol type="id" name="expand_button_pill_colorized_layer" />
  <java-symbol type="id" name="expand_button_number" />
+10 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.view.ViewGroup;
import android.view.animation.Interpolator;
import android.view.animation.PathInterpolator;
import android.widget.DateTimeView;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
@@ -41,6 +42,7 @@ import com.android.app.animation.Interpolators;
import com.android.internal.widget.CachingIconView;
import com.android.internal.widget.NotificationCloseButton;
import com.android.internal.widget.NotificationExpandButton;
import com.android.systemui.Flags;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.TransformableView;
import com.android.systemui.statusbar.ViewTransformationHelper;
@@ -67,6 +69,7 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper imple
    private CachingIconView mIcon;
    private NotificationCloseButton mCloseButton;
    private NotificationExpandButton mExpandButton;
    private FrameLayout mExpandButtonSpacer;
    private View mAltExpandTarget;
    private View mIconContainer;
    protected NotificationHeaderView mNotificationHeader;
@@ -154,6 +157,10 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper imple
        mHeaderText = mView.findViewById(com.android.internal.R.id.header_text);
        mAppNameText = mView.findViewById(com.android.internal.R.id.app_name_text);
        mExpandButton = mView.findViewById(com.android.internal.R.id.expand_button);
        if (Flags.uiRichOngoingForceExpanded()) {
            mExpandButtonSpacer =
                    mView.findViewById(com.android.internal.R.id.expand_button_spacer);
        }
        mAltExpandTarget = mView.findViewById(com.android.internal.R.id.alternate_expand_target);
        mIconContainer = mView.findViewById(com.android.internal.R.id.conversation_icon_container);
        mWorkProfileImage = mView.findViewById(com.android.internal.R.id.profile_badge);
@@ -295,6 +302,9 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper imple
            boolean expandable,
            View.OnClickListener onClickListener,
            boolean requestLayout) {
        if (Flags.uiRichOngoingForceExpanded() && mExpandButtonSpacer != null) {
            mExpandButtonSpacer.setVisibility(expandable ? GONE : VISIBLE);
        }
        mExpandButton.setVisibility(expandable ? VISIBLE : GONE);
        mExpandButton.setOnClickListener(expandable ? onClickListener : null);
        if (mAltExpandTarget != null) {