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

Commit ba9004eb authored by Steve Elliott's avatar Steve Elliott Committed by Android (Google) Code Review
Browse files

Merge "Move ALLOW_NOTIFICATION_LONG_PRESS_NAME into NSSLC"

parents 501e75e8 eee86305
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.systemui.statusbar.notification.stack;
import static android.service.notification.NotificationStats.DISMISSAL_SHADE;
import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_NEUTRAL;

import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;
import static com.android.systemui.statusbar.notification.ActivityLaunchAnimator.ExpandAnimationParameters;
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManagerKt.BUCKET_SILENT;
import static com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.ANCHOR_SCROLLING;
@@ -210,7 +209,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
    private final Paint mBackgroundPaint = new Paint();
    private final boolean mShouldDrawNotificationBackground;
    private boolean mHighPriorityBeforeSpeedBump;
    private final boolean mAllowLongPress;
    private boolean mDismissRtl;

    private float mExpandedHeight;
@@ -551,7 +549,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
    public NotificationStackScrollLayout(
            @Named(VIEW_CONTEXT) Context context,
            AttributeSet attrs,
            @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowLongPress,
            NotificationRoundnessManager notificationRoundnessManager,
            DynamicPrivacyController dynamicPrivacyController,
            SysuiStatusBarStateController statusBarStateController,
@@ -574,8 +571,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
        super(context, attrs, 0, 0);
        Resources res = getResources();

        mAllowLongPress = allowLongPress;

        mRoundnessManager = notificationRoundnessManager;

        mLockscreenUserManager = notificationLockscreenUserManager;
@@ -716,9 +711,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
        inflateEmptyShadeView();
        inflateFooterView();
        mVisualStabilityManager.setVisibilityLocationProvider(this::isInVisibleLocation);
        if (mAllowLongPress) {
            setLongPressListener(mNotificationGutsManager::openGuts);
        }
    }

    /**
+15 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.statusbar.notification.stack;

import static com.android.systemui.Dependency.ALLOW_NOTIFICATION_LONG_PRESS_NAME;

import android.graphics.PointF;
import android.view.Display;
import android.view.View;
@@ -29,6 +31,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.phone.HeadsUpAppearanceController;
import com.android.systemui.statusbar.phone.HeadsUpTouchHelper;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
@@ -41,21 +44,32 @@ import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
import java.util.function.BiConsumer;

import javax.inject.Inject;
import javax.inject.Named;

/**
 * Controller for {@link NotificationStackScrollLayout}.
 */
@StatusBarComponent.StatusBarScope
public class NotificationStackScrollLayoutController {
    private final boolean mAllowLongPress;
    private final NotificationGutsManager mNotificationGutsManager;
    private NotificationStackScrollLayout mView;

    @Inject
    public NotificationStackScrollLayoutController() {
    public NotificationStackScrollLayoutController(
            @Named(ALLOW_NOTIFICATION_LONG_PRESS_NAME) boolean allowLongPress,
            NotificationGutsManager notificationGutsManager) {
        mAllowLongPress = allowLongPress;
        mNotificationGutsManager = notificationGutsManager;
    }

    public void attach(NotificationStackScrollLayout view) {
        mView = view;
        mView.setController(this);

        if (mAllowLongPress) {
            mView.setLongPressListener(mNotificationGutsManager::openGuts);
        }
    }

    public void addOnExpandedHeightChangedListener(BiConsumer<Float, Float> listener) {
+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
        // holds a copy of the CUT's instances of these KeyguardBypassController, so they still
        // refer to the CUT's member variables, not the spy's member variables.
        mStackScrollerInternal = new NotificationStackScrollLayout(getContext(), null,
                true /* allowLongPress */, mNotificationRoundnessManager,
                mNotificationRoundnessManager,
                mock(DynamicPrivacyController.class),
                mock(SysuiStatusBarStateController.class),
                mHeadsUpManager,
+11 −9
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import com.android.systemui.statusbar.notification.ConversationNotificationManag
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.stack.NotificationRoundnessManager;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
@@ -187,10 +188,6 @@ public class NotificationPanelViewTest extends SysuiTestCase {
    private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    @Mock
    private KeyguardClockSwitchController mKeyguardClockSwitchController;
    private NotificationStackScrollLayoutController mNotificationStackScrollLayoutController =
            new NotificationStackScrollLayoutController();
    private FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder;

    private NotificationPanelViewController mNotificationPanelViewController;
    private View.AccessibilityDelegate mAccessibiltyDelegate;

@@ -215,7 +212,8 @@ public class NotificationPanelViewTest extends SysuiTestCase {
        when(mKeyguardBottomArea.getRightView()).thenReturn(mock(KeyguardAffordanceView.class));
        when(mView.findViewById(R.id.big_clock_container)).thenReturn(mBigClockContainer);
        when(mView.findViewById(R.id.qs_frame)).thenReturn(mQsFrame);
        mFlingAnimationUtilsBuilder = new FlingAnimationUtils.Builder(mDisplayMetrics);
        FlingAnimationUtils.Builder flingAnimationUtilsBuilder = new FlingAnimationUtils.Builder(
                mDisplayMetrics);

        doAnswer((Answer<Void>) invocation -> {
            mTouchHandler = invocation.getArgument(0);
@@ -235,6 +233,11 @@ public class NotificationPanelViewTest extends SysuiTestCase {
                mock(NotificationRoundnessManager.class),
                mStatusBarStateController,
                new FalsingManagerFake());
        NotificationStackScrollLayoutController notificationStackScrollLayoutController =
                new NotificationStackScrollLayoutController(
                        true /* allowLongPress */,
                        mock(NotificationGutsManager.class)
                );
        mNotificationPanelViewController = new NotificationPanelViewController(mView,
                mInjectionInflationController,
                coordinator, expansionHandler, mDynamicPrivacyController, mKeyguardBypassController,
@@ -244,11 +247,11 @@ public class NotificationPanelViewTest extends SysuiTestCase {
                mDozeParameters, mCommandQueue, mVibratorHelper,
                mLatencyTracker, mPowerManager, mAccessibilityManager, 0, mUpdateMonitor,
                mMetricsLogger, mActivityManager, mZenModeController, mConfigurationController,
                mFlingAnimationUtilsBuilder, mStatusBarTouchableRegionManager,
                flingAnimationUtilsBuilder, mStatusBarTouchableRegionManager,
                mConversationNotificationManager, mMediaHiearchyManager,
                mBiometricUnlockController, mStatusBarKeyguardViewManager,
                () -> mKeyguardClockSwitchController,
                mNotificationStackScrollLayoutController);
                notificationStackScrollLayoutController);
        mNotificationPanelViewController.initDependencies(mStatusBar, mGroupManager,
                mNotificationShelfController, mNotificationAreaController, mScrimController);
        mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager);
@@ -256,8 +259,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {

        ArgumentCaptor<View.AccessibilityDelegate> accessibilityDelegateArgumentCaptor =
                ArgumentCaptor.forClass(View.AccessibilityDelegate.class);
        verify(mView)
                .setAccessibilityDelegate(accessibilityDelegateArgumentCaptor.capture());
        verify(mView).setAccessibilityDelegate(accessibilityDelegateArgumentCaptor.capture());
        mAccessibiltyDelegate = accessibilityDelegateArgumentCaptor.getValue();
    }