diff options
11 files changed, 46 insertions, 63 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt b/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt index 4227a7a67330..b2680950d9c5 100644 --- a/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/camera/CameraGestureHelper.kt @@ -29,12 +29,14 @@ import android.util.Log import android.view.WindowManager import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.ActivityIntentHelper +import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.plugins.ActivityStarter import com.android.systemui.settings.UserTracker import com.android.systemui.shared.system.ActivityManagerKt.isInForeground import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.phone.CentralSurfaces +import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.statusbar.policy.KeyguardStateController import java.util.concurrent.Executor import javax.inject.Inject @@ -43,10 +45,12 @@ import javax.inject.Inject * Helps with handling camera-related gestures (for example, double-tap the power button to launch * the camera). */ +@SysUISingleton class CameraGestureHelper @Inject constructor( private val context: Context, private val centralSurfaces: CentralSurfaces, private val keyguardStateController: KeyguardStateController, + private val statusBarKeyguardViewManager: StatusBarKeyguardViewManager, private val packageManager: PackageManager, private val activityManager: ActivityManager, private val activityStarter: ActivityStarter, @@ -133,7 +137,7 @@ class CameraGestureHelper @Inject constructor( centralSurfaces.startLaunchTransitionTimeout() // Call this to make sure the keyguard is ready to be dismissed once the next intent is // handled by the OS (in our case it is the activity we started right above) - centralSurfaces.readyForKeyguardDone() + statusBarKeyguardViewManager.readyForKeyguardDone() } /** diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java index 3a916cf198f3..1f4e2297eb43 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java @@ -65,6 +65,8 @@ import com.android.systemui.statusbar.notification.stack.AmbientState; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.phone.CentralSurfaces; +import com.android.systemui.statusbar.phone.DozeScrimController; +import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.phone.PhoneStatusBarViewController; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; import com.android.systemui.statusbar.window.StatusBarWindowStateController; @@ -118,6 +120,8 @@ public class NotificationShadeWindowViewController { private NotificationStackScrollLayout mStackScrollLayout; private PhoneStatusBarViewController mStatusBarViewController; private final CentralSurfaces mService; + private final DozeServiceHost mDozeServiceHost; + private final DozeScrimController mDozeScrimController; private final BackActionInteractor mBackActionInteractor; private final PowerInteractor mPowerInteractor; private final NotificationShadeWindowController mNotificationShadeWindowController; @@ -152,6 +156,8 @@ public class NotificationShadeWindowViewController { StatusBarWindowStateController statusBarWindowStateController, LockIconViewController lockIconViewController, CentralSurfaces centralSurfaces, + DozeServiceHost dozeServiceHost, + DozeScrimController dozeScrimController, BackActionInteractor backActionInteractor, PowerInteractor powerInteractor, NotificationShadeWindowController controller, @@ -189,6 +195,8 @@ public class NotificationShadeWindowViewController { mShadeLogger = shadeLogger; mLockIconViewController.init(); mService = centralSurfaces; + mDozeServiceHost = dozeServiceHost; + mDozeScrimController = dozeScrimController; mPowerInteractor = powerInteractor; mNotificationShadeWindowController = controller; mKeyguardUnlockAnimationController = keyguardUnlockAnimationController; @@ -332,7 +340,7 @@ public class NotificationShadeWindowViewController { } if (mStatusBarStateController.isDozing()) { - mService.extendDozePulse(); + mDozeScrimController.extendPulse(); } mLockIconViewController.onTouchEvent( ev, @@ -391,7 +399,7 @@ public class NotificationShadeWindowViewController { @Override public boolean shouldInterceptTouchEvent(MotionEvent ev) { - if (mStatusBarStateController.isDozing() && !mService.isPulsing() + if (mStatusBarStateController.isDozing() && !mDozeServiceHost.isPulsing() && !mDockManager.isDocked()) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { mShadeLogger.d("NSWVC: capture all touch events in always-on"); @@ -445,7 +453,7 @@ public class NotificationShadeWindowViewController { public boolean handleTouchEvent(MotionEvent ev) { boolean handled = false; if (mStatusBarStateController.isDozing()) { - handled = !mService.isPulsing(); + handled = !mDozeServiceHost.isPulsing(); } if (mStatusBarKeyguardViewManager.onTouch(ev)) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java index 763400b307fd..5bd40b8ed714 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java @@ -65,7 +65,6 @@ import com.android.systemui.statusbar.notification.collection.notifcollection.Di import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener; import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; import com.android.systemui.statusbar.phone.BiometricUnlockController; -import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.ScrimController; @@ -74,6 +73,8 @@ import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.Utils; import com.android.systemui.util.concurrency.DelayableExecutor; +import dagger.Lazy; + import java.io.PrintWriter; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -87,8 +88,6 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import dagger.Lazy; - /** * Handles tasks and state related to media notifications. For example, there is a 'current' media * notification, which this class keeps track of. @@ -133,7 +132,6 @@ public class NotificationMediaManager implements Dumpable { private final Context mContext; private final ArrayList<MediaListener> mMediaListeners; - private final Lazy<Optional<CentralSurfaces>> mCentralSurfacesOptionalLazy; private final MediaArtworkProcessor mMediaArtworkProcessor; private final Set<AsyncTask<?, ?, ?>> mProcessArtworkTasks = new ArraySet<>(); @@ -186,7 +184,6 @@ public class NotificationMediaManager implements Dumpable { */ public NotificationMediaManager( Context context, - Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy, Lazy<NotificationShadeWindowController> notificationShadeWindowController, NotificationVisibilityProvider visibilityProvider, MediaArtworkProcessor mediaArtworkProcessor, @@ -205,8 +202,6 @@ public class NotificationMediaManager implements Dumpable { mMediaArtworkProcessor = mediaArtworkProcessor; mKeyguardBypassController = keyguardBypassController; mMediaListeners = new ArrayList<>(); - // TODO: use KeyguardStateController#isOccluded to remove this dependency - mCentralSurfacesOptionalLazy = centralSurfacesOptionalLazy; mNotificationShadeWindowController = notificationShadeWindowController; mVisibilityProvider = visibilityProvider; mMainExecutor = mainExecutor; @@ -619,9 +614,7 @@ public class NotificationMediaManager implements Dumpable { NotificationShadeWindowController windowController = mNotificationShadeWindowController.get(); - boolean hideBecauseOccluded = - mCentralSurfacesOptionalLazy.get() - .map(CentralSurfaces::isOccluded).orElse(false); + boolean hideBecauseOccluded = mKeyguardStateController.isOccluded(); final boolean hasArtwork = artworkDrawable != null; mColorExtractor.setHasMediaArtwork(hasMediaArtwork); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java index f726c4e8a753..3dfe068e6137 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java @@ -64,7 +64,6 @@ import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection; import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; -import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.phone.CentralSurfacesImpl; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.ManagedProfileController; @@ -135,7 +134,6 @@ public interface CentralSurfacesDependenciesModule { @Provides static NotificationMediaManager provideNotificationMediaManager( Context context, - Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy, Lazy<NotificationShadeWindowController> notificationShadeWindowController, NotificationVisibilityProvider visibilityProvider, MediaArtworkProcessor mediaArtworkProcessor, @@ -152,7 +150,6 @@ public interface CentralSurfacesDependenciesModule { DisplayManager displayManager) { return new NotificationMediaManager( context, - centralSurfacesOptionalLazy, notificationShadeWindowController, visibilityProvider, mediaArtworkProcessor, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java index d0a093cf905a..cbb39150392c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java @@ -200,10 +200,6 @@ public interface CentralSurfaces extends Dumpable, LifecycleOwner { void onKeyguardViewManagerStatesUpdated(); - boolean isPulsing(); - - boolean isOccluded(); - boolean isDeviceInVrMode(); NotificationPresenter getPresenter(); @@ -247,8 +243,6 @@ public interface CentralSurfaces extends Dumpable, LifecycleOwner { @Deprecated float getDisplayHeight(); - void readyForKeyguardDone(); - void showKeyguard(); boolean hideKeyguard(); @@ -370,8 +364,6 @@ public interface CentralSurfaces extends Dumpable, LifecycleOwner { @Deprecated float getDisplayDensity(); - void extendDozePulse(); - public static class KeyboardShortcutsMessage { final int mDeviceId; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt index 72a5cfeaf052..10422e31dfaa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt @@ -41,8 +41,6 @@ abstract class CentralSurfacesEmptyImpl : CentralSurfaces { override fun getKeyguardMessageArea(): AuthKeyguardMessageArea? = null override fun isLaunchingActivityOverLockscreen() = false override fun onKeyguardViewManagerStatesUpdated() {} - override fun isPulsing() = false - override fun isOccluded() = false override fun isDeviceInVrMode() = false override fun getPresenter(): NotificationPresenter? = null override fun onInputFocusTransfer(start: Boolean, cancel: Boolean, velocity: Float) {} @@ -55,7 +53,6 @@ abstract class CentralSurfacesEmptyImpl : CentralSurfaces { override fun dump(pwOriginal: PrintWriter, args: Array<String>) {} override fun getDisplayWidth() = 0f override fun getDisplayHeight() = 0f - override fun readyForKeyguardDone() {} override fun showKeyguard() {} override fun hideKeyguard() = false override fun showKeyguardImpl() {} @@ -117,7 +114,6 @@ abstract class CentralSurfacesEmptyImpl : CentralSurfaces { override fun setLaunchEmergencyActionOnFinishedWaking(launch: Boolean) {} override fun getQSPanelController(): QSPanelController? = null override fun getDisplayDensity() = 0f - override fun extendDozePulse() {} override fun setIsLaunchingActivityOverLockscreen(isLaunchingActivityOverLockscreen: Boolean) {} override fun getAnimatorControllerFromNotification( associatedView: ExpandableNotificationRow?, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index 4aa8b6bddb09..605b3d23be2d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -1480,7 +1480,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // - Shade is in QQS over keyguard - swiping up should take us back to keyguard if (!isKeyguardShowing() || mStatusBarKeyguardViewManager.primaryBouncerIsOrWillBeShowing() - || isOccluded() + || mKeyguardStateController.isOccluded() || !mKeyguardStateController.canDismissLockScreen() || mKeyguardViewMediator.isAnySimPinSecure() || (mQsController.getExpanded() && trackingTouch) @@ -1709,22 +1709,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { } @Override - public boolean isPulsing() { - return mDozeServiceHost.isPulsing(); - } - - /** - * When the keyguard is showing and covered by a "showWhenLocked" activity it - * is occluded. This is controlled by {@link com.android.server.policy.PhoneWindowManager} - * - * @return whether the keyguard is currently occluded - */ - @Override - public boolean isOccluded() { - return mKeyguardStateController.isOccluded(); - } - - @Override public boolean isDeviceInVrMode() { return mPresenter.isDeviceInVrMode(); } @@ -2077,11 +2061,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { return mDisplay.getRotation(); } - @Override - public void readyForKeyguardDone() { - mStatusBarKeyguardViewManager.readyForKeyguardDone(); - } - private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -2325,11 +2304,12 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // there's no surface we can show to the user. Note that the device goes fully interactive // late in the transition, so we also allow the device to start dozing once the screen has // turned off fully. + boolean keyguardShowingUnOccluded = + mKeyguardStateController.isShowing() && !mKeyguardStateController.isOccluded(); boolean keyguardForDozing = mDozeServiceHost.getDozingRequested() && (!mDeviceInteractive || (isGoingToSleep() - && (isScreenFullyOff() - || (mKeyguardStateController.isShowing() && !isOccluded())))); - boolean isWakingAndOccluded = isOccluded() && isWakingOrAwake(); + && (isScreenFullyOff() || keyguardShowingUnOccluded))); + boolean isWakingAndOccluded = mKeyguardStateController.isOccluded() && isWakingOrAwake(); boolean shouldBeKeyguard = (mStatusBarStateController.isKeyguardRequested() || keyguardForDozing) && !wakeAndUnlocking && !isWakingAndOccluded; if (keyguardForDozing) { @@ -2852,7 +2832,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // cancelling a sleep), from the power button, on a device with a power button // FPS, and 'press to unlock' is required. mShouldDelayWakeUpAnimation = - !isPulsing() + !mDozeServiceHost.isPulsing() && mStatusBarStateController.getDozeAmount() == 1f && mWakefulnessLifecycle.getLastWakeReason() == PowerManager.WAKE_REASON_POWER_BUTTON @@ -3130,7 +3110,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { mScrimController.setExpansionAffectsAlpha(!unlocking); if (mAlternateBouncerInteractor.isVisibleState()) { - if ((!isOccluded() || mShadeSurface.isPanelExpanded()) + if ((!mKeyguardStateController.isOccluded() || mShadeSurface.isPanelExpanded()) && (mState == StatusBarState.SHADE || mState == StatusBarState.SHADE_LOCKED || mTransitionToFullShadeProgress > 0f)) { mScrimController.transitionTo(ScrimState.AUTH_SCRIMMED_SHADE); @@ -3166,7 +3146,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // This will cancel the keyguardFadingAway animation if it is running. We need to do // this as otherwise it can remain pending and leave keyguard in a weird state. mUnlockScrimCallback.onCancelled(); - } else if (mKeyguardStateController.isShowing() && !isOccluded() && !unlocking) { + } else if (mKeyguardStateController.isShowing() + && !mKeyguardStateController.isOccluded() + && !unlocking) { mScrimController.transitionTo(ScrimState.KEYGUARD); } else if (mKeyguardStateController.isShowing() && mKeyguardUpdateMonitor.isDreaming() && !unlocking) { @@ -3403,11 +3385,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { } } - @Override - public void extendDozePulse(){ - mDozeScrimController.extendPulse(); - } - private final KeyguardUpdateMonitorCallback mUpdateCallback = new KeyguardUpdateMonitorCallback() { @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java index 801cdbf0e83e..4849f64659d0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java @@ -185,7 +185,7 @@ public final class DozeServiceHost implements DozeHost { return mDozingRequested; } - boolean isPulsing() { + public boolean isPulsing() { return mPulsing; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt b/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt index 937a7a92ec46..037c1badf0ac 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/camera/CameraGestureHelperTest.kt @@ -31,6 +31,7 @@ import com.android.systemui.plugins.ActivityStarter import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.phone.CentralSurfaces +import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.mockito.KotlinArgumentCaptor import com.android.systemui.util.mockito.eq @@ -55,6 +56,8 @@ class CameraGestureHelperTest : SysuiTestCase() { @Mock lateinit var centralSurfaces: CentralSurfaces @Mock + lateinit var statusBarKeyguardViewManager: StatusBarKeyguardViewManager + @Mock lateinit var keyguardStateController: KeyguardStateController @Mock lateinit var packageManager: PackageManager @@ -91,6 +94,7 @@ class CameraGestureHelperTest : SysuiTestCase() { context = mock(), centralSurfaces = centralSurfaces, keyguardStateController = keyguardStateController, + statusBarKeyguardViewManager = statusBarKeyguardViewManager, packageManager = packageManager, activityManager = activityManager, activityStarter = activityStarter, diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt index 3cce4232ab7a..2aea1f934fd0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt @@ -56,6 +56,8 @@ import com.android.systemui.statusbar.notification.data.repository.NotificationE import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.phone.CentralSurfaces +import com.android.systemui.statusbar.phone.DozeScrimController +import com.android.systemui.statusbar.phone.DozeServiceHost import com.android.systemui.statusbar.phone.PhoneStatusBarViewController import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.statusbar.window.StatusBarWindowStateController @@ -90,6 +92,8 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { @Mock private lateinit var view: NotificationShadeWindowView @Mock private lateinit var sysuiStatusBarStateController: SysuiStatusBarStateController @Mock private lateinit var centralSurfaces: CentralSurfaces + @Mock private lateinit var dozeServiceHost: DozeServiceHost + @Mock private lateinit var dozeScrimController: DozeScrimController @Mock private lateinit var backActionInteractor: BackActionInteractor @Mock private lateinit var powerInteractor: PowerInteractor @Mock private lateinit var dockManager: DockManager @@ -168,6 +172,8 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { statusBarWindowStateController, lockIconViewController, centralSurfaces, + dozeServiceHost, + dozeScrimController, backActionInteractor, powerInteractor, notificationShadeWindowController, diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt index 66d48d64b3a3..1ab613485c9c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt @@ -56,6 +56,8 @@ import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.phone.CentralSurfaces +import com.android.systemui.statusbar.phone.DozeScrimController +import com.android.systemui.statusbar.phone.DozeServiceHost import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.statusbar.window.StatusBarWindowStateController import com.android.systemui.unfold.UnfoldTransitionProgressProvider @@ -89,6 +91,8 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { @Mock private lateinit var statusBarStateController: SysuiStatusBarStateController @Mock private lateinit var shadeController: ShadeController @Mock private lateinit var centralSurfaces: CentralSurfaces + @Mock private lateinit var dozeServiceHost: DozeServiceHost + @Mock private lateinit var dozeScrimController: DozeScrimController @Mock private lateinit var backActionInteractor: BackActionInteractor @Mock private lateinit var powerInteractor: PowerInteractor @Mock private lateinit var dockManager: DockManager @@ -174,6 +178,8 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { statusBarWindowStateController, lockIconViewController, centralSurfaces, + dozeServiceHost, + dozeScrimController, backActionInteractor, powerInteractor, notificationShadeWindowController, |