diff options
10 files changed, 44 insertions, 191 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt index c347347eff83..31fbcb984105 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.kt @@ -27,39 +27,34 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.InitController import com.android.systemui.SysuiTestCase -import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository -import com.android.systemui.authentication.shared.model.AuthenticationMethodModel -import com.android.systemui.deviceentry.domain.interactor.deviceUnlockedInteractor -import com.android.systemui.flags.EnableSceneContainer -import com.android.systemui.kosmos.Kosmos -import com.android.systemui.kosmos.runTest import com.android.systemui.plugins.activityStarter +import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.power.domain.interactor.powerInteractor import com.android.systemui.settings.FakeDisplayTracker import com.android.systemui.shade.NotificationShadeWindowView +import com.android.systemui.shade.ShadeController import com.android.systemui.shade.ShadeViewController import com.android.systemui.shade.domain.interactor.panelExpansionInteractor import com.android.systemui.statusbar.CommandQueue -import com.android.systemui.statusbar.StatusBarState +import com.android.systemui.statusbar.NotificationRemoteInputManager +import com.android.systemui.statusbar.NotificationShadeWindowController import com.android.systemui.statusbar.lockscreenShadeTransitionController import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder -import com.android.systemui.statusbar.notification.domain.interactor.notificationAlertsInteractor +import com.android.systemui.statusbar.notification.domain.interactor.NotificationAlertsInteractor import com.android.systemui.statusbar.notification.dynamicPrivacyController import com.android.systemui.statusbar.notification.headsup.headsUpManager import com.android.systemui.statusbar.notification.interruption.NotificationInterruptSuppressor import com.android.systemui.statusbar.notification.interruption.VisualInterruptionCondition +import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider import com.android.systemui.statusbar.notification.interruption.VisualInterruptionFilter import com.android.systemui.statusbar.notification.interruption.VisualInterruptionRefactor import com.android.systemui.statusbar.notification.interruption.VisualInterruptionType -import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow -import com.android.systemui.statusbar.notification.stack.notificationStackScrollLayoutController -import com.android.systemui.statusbar.notification.visualInterruptionDecisionProvider +import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.notificationLockscreenUserManager import com.android.systemui.statusbar.notificationRemoteInputManager import com.android.systemui.statusbar.notificationShadeWindowController import com.android.systemui.statusbar.policy.KeyguardStateController -import com.android.systemui.statusbar.policy.keyguardStateController import com.android.systemui.statusbar.sysuiStatusBarStateController import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat @@ -67,9 +62,7 @@ import com.google.common.truth.Truth.assertWithMessage import org.junit.Before import org.junit.Test import org.junit.runner.RunWith -import org.mockito.kotlin.any import org.mockito.kotlin.argumentCaptor -import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.times import org.mockito.kotlin.verify @@ -79,7 +72,9 @@ import org.mockito.kotlin.whenever @RunWith(AndroidJUnit4::class) @RunWithLooper class StatusBarNotificationPresenterTest : SysuiTestCase() { - private lateinit var kosmos: Kosmos + private val kosmos = testKosmos() + + private val visualInterruptionDecisionProvider: VisualInterruptionDecisionProvider = mock() private var interruptSuppressor: NotificationInterruptSuppressor? = null private var alertsDisabledCondition: VisualInterruptionCondition? = null @@ -88,30 +83,20 @@ class StatusBarNotificationPresenterTest : SysuiTestCase() { private var panelsDisabledCondition: VisualInterruptionCondition? = null private val commandQueue: CommandQueue = CommandQueue(mContext, FakeDisplayTracker(mContext)) - private val keyguardStateController: KeyguardStateController - get() = kosmos.keyguardStateController - - private val notificationAlertsInteractor - get() = kosmos.notificationAlertsInteractor - - private val visualInterruptionDecisionProvider - get() = kosmos.visualInterruptionDecisionProvider + private val shadeController: ShadeController = mock() + private val notificationAlertsInteractor: NotificationAlertsInteractor = mock() + private val keyguardStateController: KeyguardStateController = mock() private lateinit var underTest: StatusBarNotificationPresenter @Before fun setup() { - kosmos = - testKosmos().apply { - whenever(notificationAlertsInteractor.areNotificationAlertsEnabled()) - .thenReturn(true) - whenever(notificationStackScrollLayoutController.expandHelperCallback) - .thenReturn(mock()) - lockscreenShadeTransitionController.setStackScroller( - notificationStackScrollLayoutController - ) - lockscreenShadeTransitionController.centralSurfaces = mock() - } + mDependency.injectTestDependency(StatusBarStateController::class.java, mock()) + mDependency.injectTestDependency(ShadeController::class.java, shadeController) + mDependency.injectMockDependency(NotificationRemoteInputManager.Callback::class.java) + mDependency.injectMockDependency(NotificationShadeWindowController::class.java) + + whenever(notificationAlertsInteractor.areNotificationAlertsEnabled()).thenReturn(true) underTest = createPresenter() if (VisualInterruptionRefactor.isEnabled) { @@ -309,60 +294,14 @@ class StatusBarNotificationPresenterTest : SysuiTestCase() { assertThat(types).contains(VisualInterruptionType.BUBBLE) } - @Test - @EnableSceneContainer - fun testExpandSensitiveNotification_onLockScreen_opensShade() = - kosmos.runTest { - // Given we are on the keyguard - kosmos.sysuiStatusBarStateController.state = StatusBarState.KEYGUARD - // And the device is locked - kosmos.fakeAuthenticationRepository.setAuthenticationMethod( - AuthenticationMethodModel.Pin - ) - - // When the user expands a sensitive Notification - val entry = - createRow().entry.apply { - setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true) - } - underTest.onExpandClicked(entry, mock(), /* nowExpanded= */ true) - - // Then we open the locked shade - assertThat(kosmos.sysuiStatusBarStateController.state) - .isEqualTo(StatusBarState.SHADE_LOCKED) - } - - @Test - @EnableSceneContainer - fun testExpandSensitiveNotification_onLockedShade_showsBouncer() = - kosmos.runTest { - // Given we are on the locked shade - kosmos.sysuiStatusBarStateController.state = StatusBarState.SHADE_LOCKED - // And the device is locked - kosmos.fakeAuthenticationRepository.setAuthenticationMethod( - AuthenticationMethodModel.Pin - ) - - // When the user expands a sensitive Notification - val entry = - createRow().entry.apply { - setSensitive(/* sensitive= */ true, /* deviceSensitive= */ true) - } - underTest.onExpandClicked(entry, mock(), /* nowExpanded= */ true) - - // Then we show the bouncer - verify(kosmos.activityStarter).dismissKeyguardThenExecute(any(), eq(null), eq(false)) - // AND we are still on the locked shade - assertThat(kosmos.sysuiStatusBarStateController.state) - .isEqualTo(StatusBarState.SHADE_LOCKED) - } - private fun createPresenter(): StatusBarNotificationPresenter { val shadeViewController: ShadeViewController = mock() val notificationShadeWindowView: NotificationShadeWindowView = mock() whenever(notificationShadeWindowView.resources).thenReturn(mContext.resources) - whenever(kosmos.notificationStackScrollLayoutController.view).thenReturn(mock()) + + val stackScrollLayoutController: NotificationStackScrollLayoutController = mock() + whenever(stackScrollLayoutController.view).thenReturn(mock()) val initController: InitController = InitController() @@ -374,12 +313,12 @@ class StatusBarNotificationPresenterTest : SysuiTestCase() { kosmos.headsUpManager, notificationShadeWindowView, kosmos.activityStarter, - kosmos.notificationStackScrollLayoutController, + stackScrollLayoutController, kosmos.dozeScrimController, kosmos.notificationShadeWindowController, kosmos.dynamicPrivacyController, - kosmos.keyguardStateController, - kosmos.notificationAlertsInteractor, + keyguardStateController, + notificationAlertsInteractor, kosmos.lockscreenShadeTransitionController, kosmos.powerInteractor, commandQueue, @@ -389,11 +328,10 @@ class StatusBarNotificationPresenterTest : SysuiTestCase() { /* notificationMediaManager = */ mock(), /* notificationGutsManager = */ mock(), initController, - kosmos.visualInterruptionDecisionProvider, + visualInterruptionDecisionProvider, kosmos.notificationRemoteInputManager, /* remoteInputManagerCallback = */ mock(), /* notificationListContainer = */ mock(), - kosmos.deviceUnlockedInteractor, ) .also { initController.executePostInitTasks() } } @@ -424,21 +362,14 @@ class StatusBarNotificationPresenterTest : SysuiTestCase() { interruptSuppressor = suppressorCaptor.lastValue } - private fun createRow(): ExpandableNotificationRow { - val row: ExpandableNotificationRow = mock() - val entry: NotificationEntry = createNotificationEntry() - whenever(row.entry).thenReturn(entry) - entry.row = row - return row - } - - private fun createNotificationEntry(): NotificationEntry = - NotificationEntryBuilder() + private fun createNotificationEntry(): NotificationEntry { + return NotificationEntryBuilder() .setPkg("a") .setOpPkg("a") .setTag("a") .setNotification(Builder(mContext, "a").build()) .build() + } private fun createFsiNotificationEntry(): NotificationEntry { val notification: Notification = diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java index 12684fa8518a..b3cc047251ed 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java @@ -37,12 +37,10 @@ import androidx.annotation.NonNull; import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.InitController; import com.android.systemui.dagger.SysUISingleton; -import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter.OnDismissAction; import com.android.systemui.power.domain.interactor.PowerInteractor; import com.android.systemui.res.R; -import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.shade.NotificationShadeWindowView; import com.android.systemui.shade.QuickSettingsController; import com.android.systemui.shade.ShadeViewController; @@ -61,7 +59,6 @@ import com.android.systemui.statusbar.notification.DynamicPrivacyController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.render.NotifShadeEventSource; import com.android.systemui.statusbar.notification.domain.interactor.NotificationAlertsInteractor; -import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptSuppressor; import com.android.systemui.statusbar.notification.interruption.VisualInterruptionCondition; import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider; @@ -72,6 +69,7 @@ import com.android.systemui.statusbar.notification.row.NotificationGutsManager; import com.android.systemui.statusbar.notification.row.NotificationGutsManager.OnSettingsClickListener; import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; +import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.policy.KeyguardStateController; import java.util.Set; @@ -104,7 +102,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu private final IStatusBarService mBarService; private final DynamicPrivacyController mDynamicPrivacyController; private final NotificationListContainer mNotifListContainer; - private final DeviceUnlockedInteractor mDeviceUnlockedInteractor; private final QuickSettingsController mQsController; protected boolean mVrMode; @@ -136,8 +133,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu VisualInterruptionDecisionProvider visualInterruptionDecisionProvider, NotificationRemoteInputManager remoteInputManager, NotificationRemoteInputManager.Callback remoteInputManagerCallback, - NotificationListContainer notificationListContainer, - DeviceUnlockedInteractor deviceUnlockedInteractor) { + NotificationListContainer notificationListContainer) { mActivityStarter = activityStarter; mKeyguardStateController = keyguardStateController; mNotificationPanel = panel; @@ -164,7 +160,6 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu mBarService = IStatusBarService.Stub.asInterface( ServiceManager.getService(Context.STATUS_BAR_SERVICE)); mNotifListContainer = notificationListContainer; - mDeviceUnlockedInteractor = deviceUnlockedInteractor; IVrManager vrManager = IVrManager.Stub.asInterface(ServiceManager.getService( Context.VR_SERVICE)); @@ -253,25 +248,14 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu if (mStatusBarStateController.getState() == StatusBarState.KEYGUARD) { mShadeTransitionController.goToLockedShade(clickedEntry.getRow()); } else if (clickedEntry.isSensitive().getValue() - && isInLockedDownShade()) { + && mDynamicPrivacyController.isInLockedDownShade()) { mStatusBarStateController.setLeaveOpenOnKeyguardHide(true); - // launch the bouncer mActivityStarter.dismissKeyguardThenExecute(() -> false /* dismissAction */ , null /* cancelRunnable */, false /* afterKeyguardGone */); } } } - /** @return true if the Shade is shown over the Lockscreen, and the device is locked */ - private boolean isInLockedDownShade() { - if (SceneContainerFlag.isEnabled()) { - return mStatusBarStateController.getState() == StatusBarState.SHADE_LOCKED - && !mDeviceUnlockedInteractor.getDeviceUnlockStatus().getValue().isUnlocked(); - } else { - return mDynamicPrivacyController.isInLockedDownShade(); - } - } - @Override public boolean isDeviceInVrMode() { return mVrMode; diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/plugins/ActivityStarterKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/plugins/ActivityStarterKosmos.kt index 49bbbef6ccc0..0ec8d49ec29b 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/plugins/ActivityStarterKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/plugins/ActivityStarterKosmos.kt @@ -17,6 +17,6 @@ package com.android.systemui.plugins import com.android.systemui.kosmos.Kosmos -import org.mockito.kotlin.mock +import com.android.systemui.util.mockito.mock var Kosmos.activityStarter by Kosmos.Fixture { mock<ActivityStarter>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeKeyguardTransitionControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeKeyguardTransitionControllerKosmos.kt index 8865573c4030..e5a75d59468d 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeKeyguardTransitionControllerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeKeyguardTransitionControllerKosmos.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,14 +18,8 @@ package com.android.systemui.statusbar import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture -import org.mockito.kotlin.mock - -var Kosmos.lockscreenShadeKeyguardTransitionController by Fixture { - mock<LockscreenShadeKeyguardTransitionController>() -} +import com.android.systemui.util.mockito.mock var Kosmos.lockscreenShadeKeyguardTransitionControllerFactory by Fixture { - LockscreenShadeKeyguardTransitionController.Factory { - lockscreenShadeKeyguardTransitionController - } + mock<LockscreenShadeKeyguardTransitionController.Factory>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeQsTransitionControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeQsTransitionControllerKosmos.kt index fc52e454a1c6..27679804d11f 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeQsTransitionControllerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/LockscreenShadeQsTransitionControllerKosmos.kt @@ -18,12 +18,8 @@ package com.android.systemui.statusbar import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture -import org.mockito.kotlin.mock - -var Kosmos.lockscreenShadeQsTransitionController by Fixture { - mock<LockscreenShadeQsTransitionController>() -} +import com.android.systemui.util.mockito.mock var Kosmos.lockscreenShadeQsTransitionControllerFactory by Fixture { - LockscreenShadeQsTransitionController.Factory { lockscreenShadeQsTransitionController } + mock<LockscreenShadeQsTransitionController.Factory>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SingleShadeLockScreenOverScrollerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SingleShadeLockScreenOverScrollerKosmos.kt index 5523bd68f692..43e39c05f6e9 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SingleShadeLockScreenOverScrollerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SingleShadeLockScreenOverScrollerKosmos.kt @@ -18,12 +18,8 @@ package com.android.systemui.statusbar import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture -import org.mockito.kotlin.mock - -var Kosmos.singleShadeLockScreenOverScroller by Fixture { - mock<SingleShadeLockScreenOverScroller>() -} +import com.android.systemui.util.mockito.mock var Kosmos.singleShadeLockScreenOverScrollerFactory by Fixture { - SingleShadeLockScreenOverScroller.Factory { _ -> singleShadeLockScreenOverScroller } + mock<SingleShadeLockScreenOverScroller.Factory>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SplitShadeLockScreenOverScrollerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SplitShadeLockScreenOverScrollerKosmos.kt index e491dffb0ed5..017371a6cba8 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SplitShadeLockScreenOverScrollerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/SplitShadeLockScreenOverScrollerKosmos.kt @@ -18,10 +18,8 @@ package com.android.systemui.statusbar import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture -import org.mockito.kotlin.mock - -var Kosmos.splitShadeLockScreenOverScroller by Fixture { mock<SplitShadeLockScreenOverScroller>() } +import com.android.systemui.util.mockito.mock var Kosmos.splitShadeLockScreenOverScrollerFactory by Fixture { - SplitShadeLockScreenOverScroller.Factory { _, _ -> splitShadeLockScreenOverScroller } + mock<SplitShadeLockScreenOverScroller.Factory>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisualInterruptionDecisionProviderKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisualInterruptionDecisionProviderKosmos.kt deleted file mode 100644 index 360e9e93f18d..000000000000 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/VisualInterruptionDecisionProviderKosmos.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.statusbar.notification - -import com.android.systemui.kosmos.Kosmos -import com.android.systemui.statusbar.notification.interruption.VisualInterruptionDecisionProvider -import org.mockito.kotlin.mock - -val Kosmos.visualInterruptionDecisionProvider by - Kosmos.Fixture { mock<VisualInterruptionDecisionProvider>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationAlertsInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationAlertsInteractorKosmos.kt deleted file mode 100644 index 768952d1ee77..000000000000 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationAlertsInteractorKosmos.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.statusbar.notification.domain.interactor - -import com.android.systemui.kosmos.Kosmos -import org.mockito.kotlin.mock - -val Kosmos.notificationAlertsInteractor by Kosmos.Fixture { mock<NotificationAlertsInteractor>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/KeyguardStateControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/KeyguardStateControllerKosmos.kt index 26642d4f7534..f19ac1e5a58d 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/KeyguardStateControllerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/KeyguardStateControllerKosmos.kt @@ -17,7 +17,7 @@ package com.android.systemui.statusbar.policy import com.android.systemui.kosmos.Kosmos -import org.mockito.kotlin.mock +import org.mockito.Mockito.mock var Kosmos.keyguardStateController: KeyguardStateController by - Kosmos.Fixture { mock<KeyguardStateController>() } + Kosmos.Fixture { mock(KeyguardStateController::class.java) } |