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

Commit 821b7f21 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move conversation app name into header" into rvc-dev

parents 04369a94 f7ef4efe
Loading
Loading
Loading
Loading
+20 −28
Original line number Diff line number Diff line
@@ -115,10 +115,9 @@ public class ConversationLayout extends FrameLayout
    private ImageResolver mImageResolver;
    private CachingIconView mConversationIconView;
    private View mConversationIconContainer;
    private int mConversationIconTopPadding;
    private int mConversationIconTopPaddingExpandedGroup;
    private int mConversationIconTopPaddingNoAppName;
    private int mExpandedGroupMessagePaddingNoAppName;
    private int mConversationIconTopPadding;
    private int mExpandedGroupMessagePadding;
    private TextView mConversationText;
    private View mConversationIconBadge;
    private CachingIconView mConversationIconBadgeBg;
@@ -162,6 +161,7 @@ public class ConversationLayout extends FrameLayout
    private Rect mAppOpsTouchRect = new Rect();
    private float mMinTouchSize;
    private Icon mConversationIcon;
    private View mAppNameDivider;

    public ConversationLayout(@NonNull Context context) {
        super(context);
@@ -261,14 +261,12 @@ public class ConversationLayout extends FrameLayout
                R.dimen.conversation_avatar_size);
        mConversationAvatarSizeExpanded = getResources().getDimensionPixelSize(
                R.dimen.conversation_avatar_size_group_expanded);
        mConversationIconTopPadding = getResources().getDimensionPixelSize(
                R.dimen.conversation_icon_container_top_padding);
        mConversationIconTopPaddingExpandedGroup = getResources().getDimensionPixelSize(
                R.dimen.conversation_icon_container_top_padding_small_avatar);
        mConversationIconTopPaddingNoAppName = getResources().getDimensionPixelSize(
                R.dimen.conversation_icon_container_top_padding_no_app_name);
        mExpandedGroupMessagePaddingNoAppName = getResources().getDimensionPixelSize(
                R.dimen.expanded_group_conversation_message_padding_without_app_name);
        mConversationIconTopPadding = getResources().getDimensionPixelSize(
                R.dimen.conversation_icon_container_top_padding);
        mExpandedGroupMessagePadding = getResources().getDimensionPixelSize(
                R.dimen.expanded_group_conversation_message_padding);
        mExpandedGroupSideMargin = getResources().getDimensionPixelSize(
                R.dimen.conversation_badge_side_margin_group_expanded);
        mExpandedGroupSideMarginFacePile = getResources().getDimensionPixelSize(
@@ -287,6 +285,7 @@ public class ConversationLayout extends FrameLayout
        mFallbackGroupChatName = getResources().getString(
                R.string.conversation_title_fallback_group_chat);
        mAppName = findViewById(R.id.app_name_text);
        mAppNameDivider = findViewById(R.id.app_name_divider);
        mAppNameGone = mAppName.getVisibility() == GONE;
        mAppName.setOnVisibilityChangedListener((visibility) -> {
            onAppNameVisibilityChanged();
@@ -524,6 +523,7 @@ public class ConversationLayout extends FrameLayout
        updateImageMessages();
        updatePaddingsBasedOnContentAvailability();
        updateActionListPadding();
        updateAppNameDividerVisibility();
    }

    private void updateActionListPadding() {
@@ -685,27 +685,15 @@ public class ConversationLayout extends FrameLayout
    }

    private void updatePaddingsBasedOnContentAvailability() {
        int containerTopPadding;
        int messagingPadding = 0;
        if (mIsOneToOne || mIsCollapsed) {
            containerTopPadding = mConversationIconTopPadding;
        } else {
            if (mAppName.getVisibility() != GONE) {
                // The app name is visible, let's center outselves in the two lines
                containerTopPadding = mConversationIconTopPaddingExpandedGroup;
            } else {
                // App name is gone, let's center ourselves int he one remaining line
                containerTopPadding = mConversationIconTopPaddingNoAppName;

                // The app name is gone and we're a group, we'll need to add some extra padding
                // to the messages, since otherwise it will overlap with the group
                messagingPadding = mExpandedGroupMessagePaddingNoAppName;
            }
        }
        int messagingPadding = mIsOneToOne || mIsCollapsed
                ? 0
                // Add some extra padding to the messages, since otherwise it will overlap with the
                // group
                : mExpandedGroupMessagePadding;

        mConversationIconContainer.setPaddingRelative(
                mConversationIconContainer.getPaddingStart(),
                containerTopPadding,
                mConversationIconTopPadding,
                mConversationIconContainer.getPaddingEnd(),
                mConversationIconContainer.getPaddingBottom());

@@ -1214,8 +1202,12 @@ public class ConversationLayout extends FrameLayout
        boolean appNameGone = mAppName.getVisibility() == GONE;
        if (appNameGone != mAppNameGone) {
            mAppNameGone = appNameGone;
            updatePaddingsBasedOnContentAvailability();
            updateAppNameDividerVisibility();
        }
    }

    private void updateAppNameDividerVisibility() {
        mAppNameDivider.setVisibility(mAppNameGone ? GONE : VISIBLE);
    }

    public void updateExpandability(boolean expandable, @Nullable OnClickListener onClickListener) {
+26 −11
Original line number Diff line number Diff line
@@ -139,6 +139,32 @@
                        android:layout_weight="1"
                        />


                    <TextView
                        android:id="@+id/app_name_divider"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textAppearance="?attr/notificationHeaderTextAppearance"
                        android:layout_marginStart="@dimen/notification_header_separating_margin"
                        android:layout_marginEnd="@dimen/notification_header_separating_margin"
                        android:text="@string/notification_header_divider_symbol"
                        android:layout_gravity="center"
                        android:paddingTop="1sp"
                        android:singleLine="true"
                        android:visibility="gone"
                    />

                    <!-- App Name -->
                    <com.android.internal.widget.ObservableTextView
                        android:id="@+id/app_name_text"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/conversation_content_start"
                        android:textSize="12sp"
                        android:layout_marginBottom="16dp"
                        android:textAppearance="@style/TextAppearance.DeviceDefault.Notification.Info"
                    />

                    <TextView
                        android:id="@+id/time_divider"
                        android:layout_width="wrap_content"
@@ -230,17 +256,6 @@
                    </LinearLayout>
                </LinearLayout>

                <!-- App Name -->
                <com.android.internal.widget.ObservableTextView
                    android:id="@+id/app_name_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/conversation_content_start"
                    android:textSize="12sp"
                    android:layout_marginBottom="16dp"
                    android:textAppearance="@style/TextAppearance.DeviceDefault.Notification"
                />

                <!-- Messages -->
                <com.android.internal.widget.MessagingLinearLayout
                    android:id="@+id/notification_messaging"
+3 −6
Original line number Diff line number Diff line
@@ -708,14 +708,11 @@
    <dimen name="conversation_face_pile_protection_width">2dp</dimen>
    <!-- The width of the protection of the face pile layout when expanded-->
    <dimen name="conversation_face_pile_protection_width_expanded">1dp</dimen>
    <!-- The padding of the expanded message container when the app name is gone-->
    <dimen name="expanded_group_conversation_message_padding_without_app_name">14dp</dimen>
    <!-- The padding of the expanded message container-->
    <dimen name="expanded_group_conversation_message_padding">14dp</dimen>

    <!-- The top padding of the conversation icon container in the regular state-->
    <dimen name="conversation_icon_container_top_padding">12dp</dimen>

    <!-- The top padding of the conversation icon container when there's no app name present in a group-->
    <dimen name="conversation_icon_container_top_padding_no_app_name">9dp</dimen>
    <dimen name="conversation_icon_container_top_padding">9dp</dimen>

    <!-- The top padding of the conversation icon container when the avatar is small-->
    <dimen name="conversation_icon_container_top_padding_small_avatar">17.5dp</dimen>
+2 −2
Original line number Diff line number Diff line
@@ -2824,6 +2824,7 @@

  <java-symbol type="string" name="notification_hidden_text" />
  <java-symbol type="id" name="app_name_text" />
  <java-symbol type="id" name="app_name_divider" />
  <java-symbol type="id" name="header_text" />
  <java-symbol type="id" name="header_text_secondary" />
  <java-symbol type="id" name="expand_button" />
@@ -3911,12 +3912,11 @@
  <java-symbol type="dimen" name="conversation_badge_side_margin_group_expanded" />
  <java-symbol type="dimen" name="conversation_badge_side_margin_group_expanded_face_pile" />
  <java-symbol type="dimen" name="conversation_content_start" />
  <java-symbol type="dimen" name="expanded_group_conversation_message_padding_without_app_name" />
  <java-symbol type="dimen" name="expanded_group_conversation_message_padding" />
  <java-symbol type="dimen" name="messaging_layout_margin_end" />
  <java-symbol type="dimen" name="conversation_header_expanded_padding_end" />
  <java-symbol type="dimen" name="conversation_icon_container_top_padding" />
  <java-symbol type="dimen" name="conversation_icon_container_top_padding_small_avatar" />
  <java-symbol type="dimen" name="conversation_icon_container_top_padding_no_app_name" />
  <java-symbol type="layout" name="notification_template_material_conversation" />
  <java-symbol type="dimen" name="button_padding_horizontal_material" />
  <java-symbol type="dimen" name="button_inset_horizontal_material" />