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

Commit 6d64b67a authored by Yining Liu's avatar Yining Liu
Browse files

Clean up flag notification_async_hybrid_view_inflation 3

The impact of this flag is particularly wide, so breaking down the flag
removal by method for code robustness and easier review. This change
cleans the AsyncHybridViewInflation.isEnabled()

Clean up flag:
com.android.systemui.notification_async_hybrid_view_inflation

Bug: 409612328
Test: SingleLineViewInflaterTest, SingleLineViewBinderTest,
NotifUiAdjustmentProviderTest
Flag: EXEMPT flag cleanup

Change-Id: Iec721ee40bc33e5330ce10afbe34bcf6f7cee502
parent 69bd3de6
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ import com.android.systemui.statusbar.notification.row.NotifInflationErrorManage
import com.android.systemui.statusbar.notification.row.icon.AppIconProvider;
import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider;
import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation;
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;

import java.lang.annotation.Retention;
@@ -379,7 +378,7 @@ public class PreparationCoordinator implements Coordinator {
        inflateRequiredNotifViews(summary);
        for (int j = 0; j < children.size(); j++) {
            NotificationEntry child = children.get(j);
            if (AsyncHybridViewInflation.isEnabled()) child.markAsGroupChild();
            child.markAsGroupChild();
            boolean childShouldBeBound = j < mChildBindCutoff;
            if (childShouldBeBound) {
                inflateRequiredNotifViews(child);
+1 −4
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.graphics.drawable.Icon
import android.text.TextUtils
import com.android.systemui.statusbar.NotificationLockscreenUserManager.RedactionType
import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation

/**
 * An immutable object which contains minimal state extracted from an entry that represents state
@@ -57,9 +56,7 @@ internal constructor(
                oldAdjustment.redactionType != newAdjustment.redactionType -> true
                areDifferent(oldAdjustment.smartActions, newAdjustment.smartActions) -> true
                newAdjustment.smartReplies != oldAdjustment.smartReplies -> true
                AsyncHybridViewInflation.isEnabled &&
                    !oldAdjustment.isChildInGroup &&
                    newAdjustment.isChildInGroup -> true
                !oldAdjustment.isChildInGroup && newAdjustment.isChildInGroup -> true
                AsyncGroupHeaderViewInflation.isEnabled &&
                    !oldAdjustment.isGroupSummary &&
                    newAdjustment.isGroupSummary -> true
+11 −18
Original line number Diff line number Diff line
@@ -55,7 +55,6 @@ import com.android.systemui.statusbar.notification.row.RowContentBindStage;
import com.android.systemui.statusbar.notification.row.RowInflaterTask;
import com.android.systemui.statusbar.notification.row.dagger.ExpandableNotificationRowComponent;
import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation;
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;

import javax.inject.Inject;
@@ -181,10 +180,8 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
        params.markContentViewsFreeable(FLAG_CONTENT_VIEW_CONTRACTED);
        params.markContentViewsFreeable(FLAG_CONTENT_VIEW_EXPANDED);
        params.markContentViewsFreeable(FLAG_CONTENT_VIEW_PUBLIC);
        if (AsyncHybridViewInflation.isEnabled()) {
        params.markContentViewsFreeable(FLAG_CONTENT_VIEW_SINGLE_LINE);
        params.markContentViewsFreeable(FLAG_CONTENT_VIEW_PUBLIC_SINGLE_LINE);
        }
        mRowContentBindStage.requestRebind(entry, null);
    }

@@ -260,12 +257,9 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
            params.markContentViewsFreeable(FLAG_CONTENT_VIEW_PUBLIC);
        }

        if (AsyncHybridViewInflation.isEnabled()) {
        if (inflaterParams.isChildInGroup()) {
            params.requireContentViews(FLAG_CONTENT_VIEW_SINGLE_LINE);
        } else {
                // TODO(b/217799515): here we decide whether to free the single-line view
                //  when the group status changes
            params.markContentViewsFreeable(FLAG_CONTENT_VIEW_SINGLE_LINE);
        }
        if (inflaterParams.isChildInGroup() && redactionType != REDACTION_TYPE_NONE) {
@@ -273,7 +267,6 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
        } else {
            params.markContentViewsFreeable(FLAG_CONTENT_VIEW_PUBLIC_SINGLE_LINE);
        }
        }

        if (AsyncGroupHeaderViewInflation.isEnabled()) {
            if (inflaterParams.isGroupSummary()) {
+2 −11
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import android.widget.TextView;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.notification.NotificationFadeAware;
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
import com.android.systemui.statusbar.notification.row.ui.viewmodel.ConversationAvatar;
import com.android.systemui.statusbar.notification.row.ui.viewmodel.FacePile;
import com.android.systemui.statusbar.notification.row.ui.viewmodel.SingleIcon;
@@ -75,16 +74,8 @@ public class HybridConversationNotificationView extends HybridNotificationView {
    protected void onFinishInflate() {
        super.onFinishInflate();
        mConversationIconView = requireViewById(com.android.internal.R.id.conversation_icon);
        if (AsyncHybridViewInflation.isEnabled()) {
        mConversationFacePileStub =
                requireViewById(com.android.internal.R.id.conversation_face_pile);
        } else {
            // TODO(b/217799515): This usage is vague because mConversationFacePile represents both
            //  View and ViewStub at different stages of View inflation, should be removed when
            //  AsyncHybridViewInflation flag is removed
            mConversationFacePile =
                    requireViewById(com.android.internal.R.id.conversation_face_pile);
        }
        mConversationSenderName = requireViewById(R.id.conversation_notification_sender);
        applyTextColor(mConversationSenderName, mSecondaryTextColor);
        if (Flags.notificationsRedesignTemplates()) {
+6 −9
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.RemoteInputEntryAdapter;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
import com.android.systemui.statusbar.notification.row.wrapper.NotificationCompactHeadsUpTemplateViewWrapper;
import com.android.systemui.statusbar.notification.row.wrapper.NotificationCustomViewWrapper;
import com.android.systemui.statusbar.notification.row.wrapper.NotificationHeaderViewWrapper;
@@ -255,7 +254,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    public void reinflate() {
        mMinContractedHeight = getResources().getDimensionPixelSize(
                R.dimen.min_notification_layout_height);
        if (AsyncHybridViewInflation.isEnabled()) {
        //TODO (b/217799515): single-line view height is the greater of two heights: text view
        // height and icon height (when there's an icon). icon height is fixed to be
        // conversation_single_line_face_pile_size (24dp), the text view's height is 16sp,
@@ -263,7 +261,6 @@ public class NotificationContentView extends FrameLayout implements Notification
        mMinSingleLineHeight = getResources().getDimensionPixelSize(
                R.dimen.conversation_single_line_face_pile_size);
    }
    }

    public void setHeights(int smallHeight, int headsUpMaxHeight, int maxHeight) {
        mSmallHeight = smallHeight;
Loading