Merge changes from topic "dynamic_privacy_fixes" into qt-r1-dev
* changes: Avoid strange animation when dynamic privacy changes Improved the experience with bypass and dynamic privacy
This commit is contained in:
committed by
Android (Google) Code Review
commit
ac7423b6b6
@@ -92,7 +92,7 @@ public class DragDownHelper implements Gefingerpoken {
|
||||
mInitialTouchY = y;
|
||||
mInitialTouchX = x;
|
||||
mDragDownCallback.onTouchSlopExceeded();
|
||||
return true;
|
||||
return mStartingChild != null || mDragDownCallback.isDragDownAnywhereEnabled();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -162,7 +162,11 @@ public class DragDownHelper implements Gefingerpoken {
|
||||
if (mStartingChild == null) {
|
||||
mStartingChild = findView(x, y);
|
||||
if (mStartingChild != null) {
|
||||
mCallback.setUserLockedChild(mStartingChild, true);
|
||||
if (mDragDownCallback.isDragDownEnabledForView(mStartingChild)) {
|
||||
mCallback.setUserLockedChild(mStartingChild, true);
|
||||
} else {
|
||||
mStartingChild = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,6 +241,10 @@ public class DragDownHelper implements Gefingerpoken {
|
||||
return mDraggingDown;
|
||||
}
|
||||
|
||||
public boolean isDragDownEnabled() {
|
||||
return mDragDownCallback.isDragDownEnabledForView(null);
|
||||
}
|
||||
|
||||
public interface DragDownCallback {
|
||||
|
||||
/**
|
||||
@@ -253,5 +261,16 @@ public class DragDownHelper implements Gefingerpoken {
|
||||
void onTouchSlopExceeded();
|
||||
void setEmptyDragAmount(float amount);
|
||||
boolean isFalsingCheckNeeded();
|
||||
|
||||
/**
|
||||
* Is dragging down enabled on a given view
|
||||
* @param view The view to check or {@code null} to check if it's enabled at all
|
||||
*/
|
||||
boolean isDragDownEnabledForView(ExpandableView view);
|
||||
|
||||
/**
|
||||
* @return if drag down is enabled anywhere, not just on selected views.
|
||||
*/
|
||||
boolean isDragDownAnywhereEnabled();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,11 +62,6 @@ public interface NotificationPresenter extends ExpandableNotificationRow.OnExpan
|
||||
*/
|
||||
int getMaxNotificationsWhileLocked(boolean recompute);
|
||||
|
||||
/**
|
||||
* True if the presenter is currently locked.
|
||||
*/
|
||||
boolean isPresenterLocked();
|
||||
|
||||
/**
|
||||
* Called when the row states are updated by {@link NotificationViewHierarchyManager}.
|
||||
*/
|
||||
|
||||
@@ -20,8 +20,12 @@ import android.content.Context;
|
||||
import android.util.ArraySet;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.statusbar.phone.UnlockMethodCache;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
@@ -34,22 +38,33 @@ public class DynamicPrivacyController implements UnlockMethodCache.OnUnlockMetho
|
||||
|
||||
private final UnlockMethodCache mUnlockMethodCache;
|
||||
private final NotificationLockscreenUserManager mLockscreenUserManager;
|
||||
private final StatusBarStateController mStateController;
|
||||
private final KeyguardMonitor mKeyguardMonitor;
|
||||
private ArraySet<Listener> mListeners = new ArraySet<>();
|
||||
|
||||
private boolean mLastDynamicUnlocked;
|
||||
private boolean mCacheInvalid;
|
||||
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||
|
||||
@Inject
|
||||
DynamicPrivacyController(Context context,
|
||||
NotificationLockscreenUserManager notificationLockscreenUserManager) {
|
||||
this(notificationLockscreenUserManager, UnlockMethodCache.getInstance(context));
|
||||
KeyguardMonitor keyguardMonitor,
|
||||
NotificationLockscreenUserManager notificationLockscreenUserManager,
|
||||
StatusBarStateController stateController) {
|
||||
this(notificationLockscreenUserManager, keyguardMonitor,
|
||||
UnlockMethodCache.getInstance(context),
|
||||
stateController);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
DynamicPrivacyController(NotificationLockscreenUserManager notificationLockscreenUserManager,
|
||||
UnlockMethodCache unlockMethodCache) {
|
||||
KeyguardMonitor keyguardMonitor,
|
||||
UnlockMethodCache unlockMethodCache,
|
||||
StatusBarStateController stateController) {
|
||||
mLockscreenUserManager = notificationLockscreenUserManager;
|
||||
mStateController = stateController;
|
||||
mUnlockMethodCache = unlockMethodCache;
|
||||
mKeyguardMonitor = keyguardMonitor;
|
||||
mUnlockMethodCache.addListener(this);
|
||||
mLastDynamicUnlocked = isDynamicallyUnlocked();
|
||||
}
|
||||
@@ -77,13 +92,39 @@ public class DynamicPrivacyController implements UnlockMethodCache.OnUnlockMetho
|
||||
}
|
||||
|
||||
public boolean isDynamicallyUnlocked() {
|
||||
return mUnlockMethodCache.canSkipBouncer() && isDynamicPrivacyEnabled();
|
||||
return (mUnlockMethodCache.canSkipBouncer() || mKeyguardMonitor.isKeyguardGoingAway()
|
||||
|| mKeyguardMonitor.isKeyguardFadingAway())
|
||||
&& isDynamicPrivacyEnabled();
|
||||
}
|
||||
|
||||
public void addListener(Listener listener) {
|
||||
mListeners.add(listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the notification shade currently in a locked down mode where it's fully showing but the
|
||||
* contents aren't revealed yet?
|
||||
*/
|
||||
public boolean isInLockedDownShade() {
|
||||
if (!mStatusBarKeyguardViewManager.isShowing()
|
||||
|| !mStatusBarKeyguardViewManager.isSecure()) {
|
||||
return false;
|
||||
}
|
||||
int state = mStateController.getState();
|
||||
if (state != StatusBarState.SHADE && state != StatusBarState.SHADE_LOCKED) {
|
||||
return false;
|
||||
}
|
||||
if (!isDynamicPrivacyEnabled() || isDynamicallyUnlocked()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setStatusBarKeyguardViewManager(
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
||||
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
||||
}
|
||||
|
||||
public interface Listener {
|
||||
void onDynamicPrivacyChanged();
|
||||
}
|
||||
|
||||
@@ -180,6 +180,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
*/
|
||||
private static final int DISTANCE_BETWEEN_ADJACENT_SECTIONS_PX = 1;
|
||||
private final KeyguardBypassController mKeyguardBypassController;
|
||||
private final DynamicPrivacyController mDynamicPrivacyController;
|
||||
private final SysuiStatusBarStateController mStatusbarStateController;
|
||||
|
||||
private ExpandHelper mExpandHelper;
|
||||
private final NotificationSwipeHelper mSwipeHelper;
|
||||
@@ -605,6 +607,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
}
|
||||
});
|
||||
dynamicPrivacyController.addListener(this);
|
||||
mDynamicPrivacyController = dynamicPrivacyController;
|
||||
mStatusbarStateController = (SysuiStatusBarStateController) statusBarStateController;
|
||||
}
|
||||
|
||||
private void updateDismissRtlSetting(boolean dismissRtl) {
|
||||
@@ -695,6 +699,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
*/
|
||||
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
|
||||
public boolean hasActiveClearableNotifications(@SelectedRows int selection) {
|
||||
if (mDynamicPrivacyController.isInLockedDownShade()) {
|
||||
return false;
|
||||
}
|
||||
int childCount = getChildCount();
|
||||
for (int i = 0; i < childCount; i++) {
|
||||
View child = getChildAt(i);
|
||||
@@ -5700,7 +5707,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
mAnimateBottomOnLayout = true;
|
||||
}
|
||||
// Let's update the footer once the notifications have been updated (in the next frame)
|
||||
post(this::updateFooter);
|
||||
post(() -> {
|
||||
updateFooter();
|
||||
updateSectionBoundaries();
|
||||
});
|
||||
}
|
||||
|
||||
public void setOnPulseHeightChangedListener(Runnable listener) {
|
||||
@@ -6356,6 +6366,11 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
}
|
||||
|
||||
return true;
|
||||
} else if (mDynamicPrivacyController.isInLockedDownShade()) {
|
||||
mStatusbarStateController.setLeaveOpenOnKeyguardHide(true);
|
||||
mStatusBar.dismissKeyguardThenExecute(() -> false /* dismissAction */,
|
||||
null /* cancelRunnable */, false /* afterKeyguardGone */);
|
||||
return true;
|
||||
} else {
|
||||
// abort gesture.
|
||||
return false;
|
||||
@@ -6389,6 +6404,30 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
|
||||
public boolean isFalsingCheckNeeded() {
|
||||
return mStatusBarState == StatusBarState.KEYGUARD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDragDownEnabledForView(ExpandableView view) {
|
||||
if (isDragDownAnywhereEnabled()) {
|
||||
return true;
|
||||
}
|
||||
if (mDynamicPrivacyController.isInLockedDownShade()) {
|
||||
if (view == null) {
|
||||
// Dragging down is allowed in general
|
||||
return true;
|
||||
}
|
||||
if (view instanceof ExpandableNotificationRow) {
|
||||
// Only drag down on sensitive views, otherwise the ExpandHelper will take this
|
||||
return ((ExpandableNotificationRow) view).getEntry().isSensitive();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDragDownAnywhereEnabled() {
|
||||
return mStatusbarStateController.getState() == StatusBarState.KEYGUARD
|
||||
&& !mKeyguardBypassController.getBypassEnabled();
|
||||
}
|
||||
};
|
||||
|
||||
public DragDownCallback getDragDownCallback() { return mDragDownCallback; }
|
||||
|
||||
@@ -194,6 +194,7 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.VibratorHelper;
|
||||
import com.android.systemui.statusbar.notification.ActivityLaunchAnimator;
|
||||
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationClicker;
|
||||
@@ -376,6 +377,8 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
@Inject
|
||||
protected HeadsUpManagerPhone mHeadsUpManager;
|
||||
@Inject
|
||||
DynamicPrivacyController mDynamicPrivacyController;
|
||||
@Inject
|
||||
BypassHeadsUpNotifier mBypassHeadsUpNotifier;
|
||||
@Nullable
|
||||
@Inject
|
||||
@@ -592,7 +595,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
private boolean mVibrateOnOpening;
|
||||
private VibratorHelper mVibratorHelper;
|
||||
private ActivityLaunchAnimator mActivityLaunchAnimator;
|
||||
protected NotificationPresenter mPresenter;
|
||||
protected StatusBarNotificationPresenter mPresenter;
|
||||
private NotificationActivityStarter mNotificationActivityStarter;
|
||||
private boolean mPulsing;
|
||||
protected BubbleController mBubbleController;
|
||||
@@ -1067,7 +1070,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
mPresenter = new StatusBarNotificationPresenter(mContext, mNotificationPanel,
|
||||
mHeadsUpManager, mStatusBarWindow, mStackScroller, mDozeScrimController,
|
||||
mScrimController, mActivityLaunchAnimator, mStatusBarKeyguardViewManager,
|
||||
mScrimController, mActivityLaunchAnimator, mDynamicPrivacyController,
|
||||
mNotificationAlertingManager, rowBinder);
|
||||
|
||||
mNotificationListController =
|
||||
@@ -1244,6 +1247,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
|
||||
mBiometricUnlockController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
|
||||
mRemoteInputManager.getController().addCallback(mStatusBarKeyguardViewManager);
|
||||
mDynamicPrivacyController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
|
||||
|
||||
mKeyguardViewMediatorCallback = keyguardViewMediator.getViewMediatorCallback();
|
||||
mLightBarController.setBiometricUnlockController(mBiometricUnlockController);
|
||||
|
||||
@@ -59,6 +59,7 @@ import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.AboveShelfObserver;
|
||||
import com.android.systemui.statusbar.notification.ActivityLaunchAnimator;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryListener;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
@@ -117,9 +118,9 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
|
||||
private final AccessibilityManager mAccessibilityManager;
|
||||
private final KeyguardManager mKeyguardManager;
|
||||
private final ActivityLaunchAnimator mActivityLaunchAnimator;
|
||||
private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||
private final int mMaxAllowedKeyguardNotifications;
|
||||
private final IStatusBarService mBarService;
|
||||
private final DynamicPrivacyController mDynamicPrivacyController;
|
||||
private boolean mReinflateNotificationsOnUserSwitched;
|
||||
private boolean mDispatchUiModeChangeOnUserSwitched;
|
||||
private final UnlockMethodCache mUnlockMethodCache;
|
||||
@@ -136,16 +137,16 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
|
||||
DozeScrimController dozeScrimController,
|
||||
ScrimController scrimController,
|
||||
ActivityLaunchAnimator activityLaunchAnimator,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager,
|
||||
DynamicPrivacyController dynamicPrivacyController,
|
||||
NotificationAlertingManager notificationAlertingManager,
|
||||
NotificationRowBinderImpl notificationRowBinder) {
|
||||
mContext = context;
|
||||
mNotificationPanel = panel;
|
||||
mHeadsUpManager = headsUp;
|
||||
mDynamicPrivacyController = dynamicPrivacyController;
|
||||
mCommandQueue = getComponent(context, CommandQueue.class);
|
||||
mAboveShelfObserver = new AboveShelfObserver(stackScroller);
|
||||
mActivityLaunchAnimator = activityLaunchAnimator;
|
||||
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
||||
mAboveShelfObserver.setListener(statusBarWindow.findViewById(
|
||||
R.id.notification_container_parent));
|
||||
mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
|
||||
@@ -454,8 +455,15 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
|
||||
@Override
|
||||
public void onExpandClicked(NotificationEntry clickedEntry, boolean nowExpanded) {
|
||||
mHeadsUpManager.setExpanded(clickedEntry, nowExpanded);
|
||||
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD && nowExpanded) {
|
||||
mShadeController.goToLockedShade(clickedEntry.getRow());
|
||||
if (nowExpanded) {
|
||||
if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) {
|
||||
mShadeController.goToLockedShade(clickedEntry.getRow());
|
||||
} else if (clickedEntry.isSensitive()
|
||||
&& mDynamicPrivacyController.isInLockedDownShade()) {
|
||||
mStatusBarStateController.setLeaveOpenOnKeyguardHide(true);
|
||||
mActivityStarter.dismissKeyguardThenExecute(() -> false /* dismissAction */
|
||||
, null /* cancelRunnable */, false /* afterKeyguardGone */);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,12 +472,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
|
||||
return mVrMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPresenterLocked() {
|
||||
return mStatusBarKeyguardViewManager.isShowing()
|
||||
&& mStatusBarKeyguardViewManager.isSecure();
|
||||
}
|
||||
|
||||
private void onLockedNotificationImportanceChange(OnDismissAction dismissAction) {
|
||||
mStatusBarStateController.setLeaveOpenOnKeyguardHide(true);
|
||||
mActivityStarter.dismissKeyguardThenExecute(dismissAction, null,
|
||||
|
||||
@@ -67,6 +67,7 @@ import com.android.systemui.plugins.FalsingManager;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.DragDownHelper;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
|
||||
import com.android.systemui.statusbar.phone.ScrimController.ScrimVisibility;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
@@ -417,9 +418,8 @@ public class StatusBarWindowView extends FrameLayout {
|
||||
}
|
||||
boolean intercept = false;
|
||||
if (mNotificationPanel.isFullyExpanded()
|
||||
&& mStatusBarStateController.getState() == StatusBarState.KEYGUARD
|
||||
&& mDragDownHelper.isDragDownEnabled()
|
||||
&& !mService.isBouncerShowing()
|
||||
&& !mBypassController.getBypassEnabled()
|
||||
&& !mService.isDozing()) {
|
||||
intercept = mDragDownHelper.onInterceptTouchEvent(ev);
|
||||
}
|
||||
@@ -442,9 +442,7 @@ public class StatusBarWindowView extends FrameLayout {
|
||||
if (mService.isDozing()) {
|
||||
handled = !mService.isPulsing();
|
||||
}
|
||||
if ((mStatusBarStateController.getState() == StatusBarState.KEYGUARD && !handled
|
||||
&& !mBypassController.getBypassEnabled())
|
||||
|| mDragDownHelper.isDraggingDown()) {
|
||||
if ((mDragDownHelper.isDragDownEnabled() && !handled) || mDragDownHelper.isDraggingDown()) {
|
||||
// we still want to finish our drag down gesture when locking the screen
|
||||
handled = mDragDownHelper.onTouchEvent(ev);
|
||||
}
|
||||
|
||||
@@ -29,9 +29,12 @@ import android.testing.TestableLooper;
|
||||
import android.testing.TestableLooper.RunWithLooper;
|
||||
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
|
||||
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||
import com.android.systemui.statusbar.phone.UnlockMethodCache;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
@@ -51,12 +54,17 @@ public class DynamicPrivacyControllerTest extends SysuiTestCase {
|
||||
= mock(NotificationLockscreenUserManager.class);
|
||||
private DynamicPrivacyController.Listener mListener
|
||||
= mock(DynamicPrivacyController.Listener.class);
|
||||
private KeyguardMonitor mKeyguardMonitor = mock(KeyguardMonitor.class);
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
when(mCache.canSkipBouncer()).thenReturn(false);
|
||||
when(mKeyguardMonitor.isShowing()).thenReturn(true);
|
||||
mDynamicPrivacyController = new DynamicPrivacyController(
|
||||
mLockScreenUserManager, mCache);
|
||||
mLockScreenUserManager, mKeyguardMonitor, mCache,
|
||||
mock(StatusBarStateController.class));
|
||||
mDynamicPrivacyController.setStatusBarKeyguardViewManager(
|
||||
mock(StatusBarKeyguardViewManager.class));
|
||||
mDynamicPrivacyController.addListener(mListener);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@ import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||
import com.android.systemui.statusbar.NotificationShelf;
|
||||
import com.android.systemui.statusbar.RemoteInputController;
|
||||
import com.android.systemui.statusbar.StatusBarState;
|
||||
import com.android.systemui.statusbar.SysuiStatusBarStateController;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationEntryManager;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationData;
|
||||
@@ -105,7 +106,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
|
||||
|
||||
@Rule public MockitoRule mockito = MockitoJUnit.rule();
|
||||
@Mock private StatusBar mBar;
|
||||
@Mock private StatusBarStateController mBarState;
|
||||
@Mock private SysuiStatusBarStateController mBarState;
|
||||
@Mock private HeadsUpManagerPhone mHeadsUpManager;
|
||||
@Mock private NotificationBlockingHelperManager mBlockingHelperManager;
|
||||
@Mock private NotificationGroupManager mGroupManager;
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.android.internal.logging.testing.FakeMetricsLogger;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.notification.ActivityLaunchAnimator;
|
||||
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
|
||||
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||
import com.android.systemui.statusbar.notification.collection.NotificationRowBinderImpl;
|
||||
@@ -75,7 +76,7 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
|
||||
mock(NotificationPanelView.class), mock(HeadsUpManagerPhone.class),
|
||||
statusBarWindowView, mock(NotificationListContainerViewGroup.class),
|
||||
mock(DozeScrimController.class), mock(ScrimController.class),
|
||||
mock(ActivityLaunchAnimator.class), mock(StatusBarKeyguardViewManager.class),
|
||||
mock(ActivityLaunchAnimator.class), mock(DynamicPrivacyController.class),
|
||||
mock(NotificationAlertingManager.class),
|
||||
mock(NotificationRowBinderImpl.class));
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private RemoteInputController mRemoteInputController;
|
||||
@Mock private StatusBarStateControllerImpl mStatusBarStateController;
|
||||
@Mock private DeviceProvisionedController mDeviceProvisionedController;
|
||||
@Mock private NotificationPresenter mNotificationPresenter;
|
||||
@Mock private StatusBarNotificationPresenter mNotificationPresenter;
|
||||
@Mock
|
||||
private NotificationEntryListener mEntryListener;
|
||||
@Mock
|
||||
@@ -780,7 +780,7 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
NotificationShelf notificationShelf,
|
||||
NotificationLockscreenUserManager notificationLockscreenUserManager,
|
||||
CommandQueue commandQueue,
|
||||
NotificationPresenter notificationPresenter,
|
||||
StatusBarNotificationPresenter notificationPresenter,
|
||||
BubbleController bubbleController,
|
||||
NavigationBarController navBarController,
|
||||
AutoHideController autoHideController,
|
||||
|
||||
Reference in New Issue
Block a user