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

Commit 20c0fa29 authored by Steve Elliott's avatar Steve Elliott Committed by Automerger Merge Worker
Browse files

Merge "Remove Dependency.get usage from some notif views" into tm-dev am: 9a1f8bb9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17188895

Change-Id: Iaddb8696a2cc81b2159282462c9bc9fe62e40aca
parents de1298a3 9a1f8bb9
Loading
Loading
Loading
Loading
+19 −13
Original line number Original line Diff line number Diff line
@@ -79,7 +79,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.ContrastColorUtil;
import com.android.internal.util.ContrastColorUtil;
import com.android.internal.widget.CachingIconView;
import com.android.internal.widget.CachingIconView;
import com.android.internal.widget.CallLayout;
import com.android.internal.widget.CallLayout;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.classifier.FalsingCollector;
@@ -90,6 +89,7 @@ import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.SmartReplyController;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.AboveShelfChangedListener;
import com.android.systemui.statusbar.notification.AboveShelfChangedListener;
import com.android.systemui.statusbar.notification.ExpandAnimationParameters;
import com.android.systemui.statusbar.notification.ExpandAnimationParameters;
@@ -111,10 +111,11 @@ import com.android.systemui.statusbar.notification.stack.ExpandableViewState;
import com.android.systemui.statusbar.notification.stack.NotificationChildrenContainer;
import com.android.systemui.statusbar.notification.stack.NotificationChildrenContainer;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.SwipeableView;
import com.android.systemui.statusbar.notification.stack.SwipeableView;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.SmartReplyConstants;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.util.Compile;
import com.android.systemui.util.Compile;
import com.android.systemui.util.DumpUtilsKt;
import com.android.systemui.util.DumpUtilsKt;
@@ -169,6 +170,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    private RowContentBindStage mRowContentBindStage;
    private RowContentBindStage mRowContentBindStage;
    private PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private Optional<BubblesManager> mBubblesManagerOptional;
    private Optional<BubblesManager> mBubblesManagerOptional;
    private MetricsLogger mMetricsLogger;
    private int mIconTransformContentShift;
    private int mIconTransformContentShift;
    private int mMaxHeadsUpHeightBeforeN;
    private int mMaxHeadsUpHeightBeforeN;
    private int mMaxHeadsUpHeightBeforeP;
    private int mMaxHeadsUpHeightBeforeP;
@@ -304,8 +306,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
                final boolean wasExpanded = mGroupExpansionManager.isGroupExpanded(mEntry);
                final boolean wasExpanded = mGroupExpansionManager.isGroupExpanded(mEntry);
                boolean nowExpanded = mGroupExpansionManager.toggleGroupExpansion(mEntry);
                boolean nowExpanded = mGroupExpansionManager.toggleGroupExpansion(mEntry);
                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
                MetricsLogger.action(mContext, MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER,
                mMetricsLogger.action(MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER, nowExpanded);
                        nowExpanded);
                onExpansionChanged(true /* userAction */, wasExpanded);
                onExpansionChanged(true /* userAction */, wasExpanded);
            } else if (mEnableNonGroupedNotificationExpand) {
            } else if (mEnableNonGroupedNotificationExpand) {
                if (v.isAccessibilityFocused()) {
                if (v.isAccessibilityFocused()) {
@@ -327,8 +328,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
                }
                }
                notifyHeightChanged(true);
                notifyHeightChanged(true);
                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
                mOnExpandClickListener.onExpandClicked(mEntry, v, nowExpanded);
                MetricsLogger.action(mContext, MetricsEvent.ACTION_NOTIFICATION_EXPANDER,
                mMetricsLogger.action(MetricsEvent.ACTION_NOTIFICATION_EXPANDER, nowExpanded);
                        nowExpanded);
            }
            }
        }
        }
    };
    };
@@ -1271,7 +1271,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            addView(mMenuRow.getMenuView(), menuIndex);
            addView(mMenuRow.getMenuView(), menuIndex);
        }
        }
        for (NotificationContentView l : mLayouts) {
        for (NotificationContentView l : mLayouts) {
            l.initView();
            l.reinflate();
            l.reInflateViews();
            l.reInflateViews();
        }
        }
        mEntry.getSbn().clearPackageContext();
        mEntry.getSbn().clearPackageContext();
@@ -1464,7 +1464,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
     * @param fromAccessibility whether this dismiss is coming from an accessibility action
     * @param fromAccessibility whether this dismiss is coming from an accessibility action
     */
     */
    public void performDismiss(boolean fromAccessibility) {
    public void performDismiss(boolean fromAccessibility) {
        Dependency.get(MetricsLogger.class).count(NotificationCounters.NOTIFICATION_DISMISSED, 1);
        mMetricsLogger.count(NotificationCounters.NOTIFICATION_DISMISSED, 1);
        dismiss(fromAccessibility);
        dismiss(fromAccessibility);
        if (mEntry.isDismissable()) {
        if (mEntry.isDismissable()) {
            if (mOnUserInteractionCallback != null) {
            if (mOnUserInteractionCallback != null) {
@@ -1600,7 +1600,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
            PeopleNotificationIdentifier peopleNotificationIdentifier,
            PeopleNotificationIdentifier peopleNotificationIdentifier,
            OnUserInteractionCallback onUserInteractionCallback,
            OnUserInteractionCallback onUserInteractionCallback,
            Optional<BubblesManager> bubblesManagerOptional,
            Optional<BubblesManager> bubblesManagerOptional,
            NotificationGutsManager gutsManager) {
            NotificationGutsManager gutsManager,
            MetricsLogger metricsLogger,
            SmartReplyConstants smartReplyConstants,
            SmartReplyController smartReplyController) {
        mEntry = entry;
        mEntry = entry;
        mAppName = appName;
        mAppName = appName;
        if (mMenuRow == null) {
        if (mMenuRow == null) {
@@ -1623,15 +1626,18 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        mFalsingManager = falsingManager;
        mFalsingManager = falsingManager;
        mFalsingCollector = falsingCollector;
        mFalsingCollector = falsingCollector;
        mStatusBarStateController = statusBarStateController;
        mStatusBarStateController = statusBarStateController;

        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
        for (NotificationContentView l : mLayouts) {
        for (NotificationContentView l : mLayouts) {
            l.setPeopleNotificationIdentifier(mPeopleNotificationIdentifier);
            l.initialize(
            l.setRemoteInputViewSubcomponentFactory(rivSubcomponentFactory);
                    mPeopleNotificationIdentifier,
                    rivSubcomponentFactory,
                    smartReplyConstants,
                    smartReplyController);
        }
        }
        mOnUserInteractionCallback = onUserInteractionCallback;
        mOnUserInteractionCallback = onUserInteractionCallback;
        mBubblesManagerOptional = bubblesManagerOptional;
        mBubblesManagerOptional = bubblesManagerOptional;
        mNotificationGutsManager = gutsManager;
        mNotificationGutsManager = gutsManager;
        mMetricsLogger = metricsLogger;


        cacheIsSystemNotification();
        cacheIsSystemNotification();
    }
    }
@@ -3127,7 +3133,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        if (mGroupMembershipManager.isGroupSummary(mEntry)) {
        if (mGroupMembershipManager.isGroupSummary(mEntry)) {
            event = MetricsEvent.ACTION_NOTIFICATION_GROUP_GESTURE_EXPANDER;
            event = MetricsEvent.ACTION_NOTIFICATION_GROUP_GESTURE_EXPANDER;
        }
        }
        MetricsLogger.action(mContext, event, userExpanded);
        mMetricsLogger.action(event, userExpanded);
    }
    }


    @Override
    @Override
+18 −3
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.internal.logging.MetricsLogger;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.flags.Flags;
@@ -35,6 +36,7 @@ import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.SmartReplyController;
import com.android.systemui.statusbar.notification.FeedbackIcon;
import com.android.systemui.statusbar.notification.FeedbackIcon;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManager;
@@ -49,6 +51,7 @@ import com.android.systemui.statusbar.notification.row.dagger.NotificationRowSco
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.SmartReplyConstants;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.util.time.SystemClock;
import com.android.systemui.util.time.SystemClock;
import com.android.systemui.wmshell.BubblesManager;
import com.android.systemui.wmshell.BubblesManager;
@@ -82,6 +85,7 @@ public class ExpandableNotificationRowController implements NotifViewController
    private final HeadsUpManager mHeadsUpManager;
    private final HeadsUpManager mHeadsUpManager;
    private final ExpandableNotificationRow.OnExpandClickListener mOnExpandClickListener;
    private final ExpandableNotificationRow.OnExpandClickListener mOnExpandClickListener;
    private final StatusBarStateController mStatusBarStateController;
    private final StatusBarStateController mStatusBarStateController;
    private final MetricsLogger mMetricsLogger;


    private final ExpandableNotificationRow.ExpansionLogger mExpansionLogger =
    private final ExpandableNotificationRow.ExpansionLogger mExpansionLogger =
            this::logNotificationExpansion;
            this::logNotificationExpansion;
@@ -94,16 +98,21 @@ public class ExpandableNotificationRowController implements NotifViewController
    private final boolean mAllowLongPress;
    private final boolean mAllowLongPress;
    private final PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private final PeopleNotificationIdentifier mPeopleNotificationIdentifier;
    private final Optional<BubblesManager> mBubblesManagerOptional;
    private final Optional<BubblesManager> mBubblesManagerOptional;
    private final SmartReplyConstants mSmartReplyConstants;
    private final SmartReplyController mSmartReplyController;


    private final ExpandableNotificationRowDragController mDragController;
    private final ExpandableNotificationRowDragController mDragController;


    @Inject
    @Inject
    public ExpandableNotificationRowController(
    public ExpandableNotificationRowController(
            ExpandableNotificationRow view,
            ExpandableNotificationRow view,
            NotificationListContainer listContainer,
            RemoteInputViewSubcomponent.Factory rivSubcomponentFactory,
            ActivatableNotificationViewController activatableNotificationViewController,
            ActivatableNotificationViewController activatableNotificationViewController,
            RemoteInputViewSubcomponent.Factory rivSubcomponentFactory,
            MetricsLogger metricsLogger,
            NotificationListContainer listContainer,
            NotificationMediaManager mediaManager,
            NotificationMediaManager mediaManager,
            SmartReplyConstants smartReplyConstants,
            SmartReplyController smartReplyController,
            PluginManager pluginManager,
            PluginManager pluginManager,
            SystemClock clock,
            SystemClock clock,
            @AppName String appName,
            @AppName String appName,
@@ -152,6 +161,9 @@ public class ExpandableNotificationRowController implements NotifViewController
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
        mPeopleNotificationIdentifier = peopleNotificationIdentifier;
        mBubblesManagerOptional = bubblesManagerOptional;
        mBubblesManagerOptional = bubblesManagerOptional;
        mDragController = dragController;
        mDragController = dragController;
        mMetricsLogger = metricsLogger;
        mSmartReplyConstants = smartReplyConstants;
        mSmartReplyController = smartReplyController;
    }
    }


    /**
    /**
@@ -179,7 +191,10 @@ public class ExpandableNotificationRowController implements NotifViewController
                mPeopleNotificationIdentifier,
                mPeopleNotificationIdentifier,
                mOnUserInteractionCallback,
                mOnUserInteractionCallback,
                mBubblesManagerOptional,
                mBubblesManagerOptional,
                mNotificationGutsManager
                mNotificationGutsManager,
                mMetricsLogger,
                mSmartReplyConstants,
                mSmartReplyController
        );
        );
        mView.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
        mView.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
        if (mAllowLongPress) {
        if (mAllowLongPress) {
+14 −21
Original line number Original line Diff line number Diff line
@@ -39,7 +39,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.RemoteInputController;
@@ -94,7 +93,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    private final Rect mClipBounds = new Rect();
    private final Rect mClipBounds = new Rect();


    private int mMinContractedHeight;
    private int mMinContractedHeight;
    private int mNotificationContentMarginEnd;
    private View mContractedChild;
    private View mContractedChild;
    private View mExpandedChild;
    private View mExpandedChild;
    private View mHeadsUpChild;
    private View mHeadsUpChild;
@@ -116,7 +114,7 @@ public class NotificationContentView extends FrameLayout implements Notification
    private NotificationViewWrapper mContractedWrapper;
    private NotificationViewWrapper mContractedWrapper;
    private NotificationViewWrapper mExpandedWrapper;
    private NotificationViewWrapper mExpandedWrapper;
    private NotificationViewWrapper mHeadsUpWrapper;
    private NotificationViewWrapper mHeadsUpWrapper;
    private HybridGroupManager mHybridGroupManager;
    private final HybridGroupManager mHybridGroupManager;
    private int mClipTopAmount;
    private int mClipTopAmount;
    private int mContentHeight;
    private int mContentHeight;
    private int mVisibleType = VISIBLE_TYPE_NONE;
    private int mVisibleType = VISIBLE_TYPE_NONE;
@@ -128,7 +126,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    private int mHeadsUpHeight;
    private int mHeadsUpHeight;
    private int mNotificationMaxHeight;
    private int mNotificationMaxHeight;
    private NotificationEntry mNotificationEntry;
    private NotificationEntry mNotificationEntry;
    private GroupMembershipManager mGroupMembershipManager;
    private RemoteInputController mRemoteInputController;
    private RemoteInputController mRemoteInputController;
    private Runnable mExpandedVisibleListener;
    private Runnable mExpandedVisibleListener;
    private PeopleNotificationIdentifier mPeopleIdentifier;
    private PeopleNotificationIdentifier mPeopleIdentifier;
@@ -184,7 +181,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    private boolean mFocusOnVisibilityChange;
    private boolean mFocusOnVisibilityChange;
    private boolean mHeadsUpAnimatingAway;
    private boolean mHeadsUpAnimatingAway;
    private int mClipBottomAmount;
    private int mClipBottomAmount;
    private boolean mIsLowPriority;
    private boolean mIsContentExpandable;
    private boolean mIsContentExpandable;
    private boolean mRemoteInputVisible;
    private boolean mRemoteInputVisible;
    private int mUnrestrictedContentHeight;
    private int mUnrestrictedContentHeight;
@@ -192,16 +188,23 @@ public class NotificationContentView extends FrameLayout implements Notification
    public NotificationContentView(Context context, AttributeSet attrs) {
    public NotificationContentView(Context context, AttributeSet attrs) {
        super(context, attrs);
        super(context, attrs);
        mHybridGroupManager = new HybridGroupManager(getContext());
        mHybridGroupManager = new HybridGroupManager(getContext());
        mSmartReplyConstants = Dependency.get(SmartReplyConstants.class);
        reinflate();
        mSmartReplyController = Dependency.get(SmartReplyController.class);
        initView();
    }
    }


    public void initView() {
    public void initialize(
            PeopleNotificationIdentifier peopleNotificationIdentifier,
            RemoteInputViewSubcomponent.Factory rivSubcomponentFactory,
            SmartReplyConstants smartReplyConstants,
            SmartReplyController smartReplyController) {
        mPeopleIdentifier = peopleNotificationIdentifier;
        mRemoteInputSubcomponentFactory = rivSubcomponentFactory;
        mSmartReplyConstants = smartReplyConstants;
        mSmartReplyController = smartReplyController;
    }

    public void reinflate() {
        mMinContractedHeight = getResources().getDimensionPixelSize(
        mMinContractedHeight = getResources().getDimensionPixelSize(
                R.dimen.min_notification_layout_height);
                R.dimen.min_notification_layout_height);
        mNotificationContentMarginEnd = getResources().getDimensionPixelSize(
                com.android.internal.R.dimen.notification_content_margin_end);
    }
    }


    public void setHeights(int smallHeight, int headsUpMaxHeight, int maxHeight) {
    public void setHeights(int smallHeight, int headsUpMaxHeight, int maxHeight) {
@@ -1606,7 +1609,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    }
    }


    public void setGroupMembershipManager(GroupMembershipManager groupMembershipManager) {
    public void setGroupMembershipManager(GroupMembershipManager groupMembershipManager) {
        mGroupMembershipManager = groupMembershipManager;
    }
    }


    public void setRemoteInputController(RemoteInputController r) {
    public void setRemoteInputController(RemoteInputController r) {
@@ -1694,10 +1696,6 @@ public class NotificationContentView extends FrameLayout implements Notification
        mContainingNotification = containingNotification;
        mContainingNotification = containingNotification;
    }
    }


    public void setPeopleNotificationIdentifier(PeopleNotificationIdentifier peopleIdentifier) {
        mPeopleIdentifier = peopleIdentifier;
    }

    public void requestSelectLayout(boolean needsAnimation) {
    public void requestSelectLayout(boolean needsAnimation) {
        selectLayout(needsAnimation, false);
        selectLayout(needsAnimation, false);
    }
    }
@@ -1865,7 +1863,6 @@ public class NotificationContentView extends FrameLayout implements Notification
    }
    }


    public void setIsLowPriority(boolean isLowPriority) {
    public void setIsLowPriority(boolean isLowPriority) {
        mIsLowPriority = isLowPriority;
    }
    }


    public boolean isDimmable() {
    public boolean isDimmable() {
@@ -2090,10 +2087,6 @@ public class NotificationContentView extends FrameLayout implements Notification
        return false;
        return false;
    }
    }


    public void setRemoteInputViewSubcomponentFactory(RemoteInputViewSubcomponent.Factory factory) {
        mRemoteInputSubcomponentFactory = factory;
    }

    private static class RemoteInputViewData {
    private static class RemoteInputViewData {
        @Nullable RemoteInputView mView;
        @Nullable RemoteInputView mView;
        @Nullable RemoteInputViewController mController;
        @Nullable RemoteInputViewController mController;
+10 −5
Original line number Original line Diff line number Diff line
@@ -41,6 +41,7 @@ import android.testing.TestableLooper;
import androidx.asynclayoutinflater.view.AsyncLayoutInflater;
import androidx.asynclayoutinflater.view.AsyncLayoutInflater;
import androidx.test.filters.SmallTest;
import androidx.test.filters.SmallTest;


import com.android.internal.logging.MetricsLogger;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.NotificationMessagingUtil;
import com.android.internal.util.NotificationMessagingUtil;
import com.android.systemui.R;
import com.android.systemui.R;
@@ -87,6 +88,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.SmartReplyConstants;
import com.android.systemui.statusbar.policy.SmartReplyStateInflater;
import com.android.systemui.statusbar.policy.SmartReplyStateInflater;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.concurrency.FakeExecutor;
@@ -252,13 +254,17 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
                .thenAnswer((Answer<ExpandableNotificationRowController>) invocation ->
                .thenAnswer((Answer<ExpandableNotificationRowController>) invocation ->
                        new ExpandableNotificationRowController(
                        new ExpandableNotificationRowController(
                                viewCaptor.getValue(),
                                viewCaptor.getValue(),
                                mListContainer,
                                mock(RemoteInputViewSubcomponent.Factory.class),
                                mock(ActivatableNotificationViewController.class),
                                mock(ActivatableNotificationViewController.class),
                                mock(RemoteInputViewSubcomponent.Factory.class),
                                mock(MetricsLogger.class),
                                mListContainer,
                                mNotificationMediaManager,
                                mNotificationMediaManager,
                                mock(SmartReplyConstants.class),
                                mock(SmartReplyController.class),
                                mock(PluginManager.class),
                                mock(PluginManager.class),
                                new FakeSystemClock(),
                                new FakeSystemClock(),
                                "FOOBAR", "FOOBAR",
                                "FOOBAR",
                                "FOOBAR",
                                mKeyguardBypassController,
                                mKeyguardBypassController,
                                mGroupMembershipManager,
                                mGroupMembershipManager,
                                mGroupExpansionManager,
                                mGroupExpansionManager,
@@ -275,8 +281,7 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
                                mock(FeatureFlags.class),
                                mock(FeatureFlags.class),
                                mPeopleNotificationIdentifier,
                                mPeopleNotificationIdentifier,
                                Optional.of(mock(BubblesManager.class)),
                                Optional.of(mock(BubblesManager.class)),
                                mock(ExpandableNotificationRowDragController.class)
                                mock(ExpandableNotificationRowDragController.class)));
                        ));


        when(mNotificationRowComponentBuilder.activatableNotificationView(any()))
        when(mNotificationRowComponentBuilder.activatableNotificationView(any()))
                .thenReturn(mNotificationRowComponentBuilder);
                .thenReturn(mNotificationRowComponentBuilder);
+7 −1
Original line number Original line Diff line number Diff line
@@ -44,6 +44,7 @@ import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.LayoutInflater;
import android.widget.RemoteViews;
import android.widget.RemoteViews;


import com.android.internal.logging.MetricsLogger;
import com.android.systemui.TestableDependency;
import com.android.systemui.TestableDependency;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.classifier.FalsingManagerFake;
@@ -54,6 +55,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.SmartReplyController;
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
@@ -73,6 +75,7 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import com.android.systemui.statusbar.policy.HeadsUpManagerLogger;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.SmartReplyConstants;
import com.android.systemui.statusbar.policy.SmartReplyStateInflater;
import com.android.systemui.statusbar.policy.SmartReplyStateInflater;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.statusbar.policy.dagger.RemoteInputViewSubcomponent;
import com.android.systemui.tests.R;
import com.android.systemui.tests.R;
@@ -505,7 +508,10 @@ public class NotificationTestHelper {
                mPeopleNotificationIdentifier,
                mPeopleNotificationIdentifier,
                mOnUserInteractionCallback,
                mOnUserInteractionCallback,
                Optional.of(mock(BubblesManager.class)),
                Optional.of(mock(BubblesManager.class)),
                mock(NotificationGutsManager.class));
                mock(NotificationGutsManager.class),
                mock(MetricsLogger.class),
                mock(SmartReplyConstants.class),
                mock(SmartReplyController.class));


        row.setAboveShelfChangedListener(aboveShelf -> { });
        row.setAboveShelfChangedListener(aboveShelf -> { });
        mBindStage.getStageParams(entry).requireContentViews(extraInflationFlags);
        mBindStage.getStageParams(entry).requireContentViews(extraInflationFlags);