diff options
13 files changed, 114 insertions, 22 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt index d38fb5050c5f..5f154acbaca0 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinatorTest.kt @@ -48,7 +48,7 @@ import com.android.systemui.statusbar.notification.domain.interactor.SeenNotific import com.android.systemui.statusbar.notification.domain.interactor.lockScreenShowOnlyUnseenNotificationsSetting import com.android.systemui.statusbar.notification.domain.interactor.seenNotificationsInteractor import com.android.systemui.statusbar.notification.headsup.OnHeadsUpChangedListener -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.testKosmos import com.android.systemui.util.settings.FakeSettings @@ -625,7 +625,7 @@ class OriginalUnseenKeyguardCoordinatorTest(flags: FlagsParameterization) : Sysu val keyguardCoordinator = OriginalUnseenKeyguardCoordinator( dumpManager = kosmos.dumpManager, - headsUpManager = kosmos.headsUpManager, + headsUpManager = kosmos.mockHeadsUpManager, keyguardRepository = kosmos.keyguardRepository, keyguardTransitionInteractor = kosmos.keyguardTransitionInteractor, logger = KeyguardCoordinatorLogger(logcatLogBuffer()), @@ -663,7 +663,8 @@ class OriginalUnseenKeyguardCoordinatorTest(flags: FlagsParameterization) : Sysu val onHeadsUpChangedListener: OnHeadsUpChangedListener get() = - argumentCaptor { verify(kosmos.headsUpManager).addListener(capture()) }.lastValue + argumentCaptor { verify(kosmos.mockHeadsUpManager).addListener(capture()) } + .lastValue } companion object { diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt index f4c254562420..216f51d992d0 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.kt @@ -38,7 +38,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.domain.interactor.HeadsUpNotificationIconInteractor import com.android.systemui.statusbar.notification.domain.interactor.headsUpNotificationIconInteractor import com.android.systemui.statusbar.notification.headsup.PinnedStatus -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.NotificationTestHelper import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation @@ -75,7 +75,7 @@ class HeadsUpAppearanceControllerTest : SysuiTestCase() { private val keyguardStateController = kosmos.keyguardStateController private val commandQueue = kosmos.commandQueue private val notificationRoundnessManager = mock<NotificationRoundnessManager>() - private var headsUpManager = kosmos.headsUpManager + private var headsUpManager = kosmos.mockHeadsUpManager private lateinit var testHelper: NotificationTestHelper private lateinit var row: ExpandableNotificationRow diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt index 2d35ea5d4e95..61943f2283e0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt @@ -65,7 +65,7 @@ import com.android.systemui.statusbar.notification.AssistantFeedbackController import com.android.systemui.statusbar.notification.NotificationActivityStarter import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider import com.android.systemui.statusbar.notification.domain.interactor.activeNotificationsInteractor -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier import com.android.systemui.statusbar.notification.stack.NotificationListContainer import com.android.systemui.statusbar.notificationLockscreenUserManager @@ -128,7 +128,7 @@ class NotificationGutsManagerWithScenesTest : SysuiTestCase() { private val shadeController = kosmos.shadeControllerSceneImpl private val notificationLockscreenUserManager = kosmos.notificationLockscreenUserManager private val statusBarStateController = kosmos.statusBarStateController - private val headsUpManager = kosmos.headsUpManager + private val headsUpManager = kosmos.mockHeadsUpManager private val activityStarter = kosmos.activityStarter private val userManager = kosmos.userManager private val activeNotificationsInteractor = kosmos.activeNotificationsInteractor diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/AvalancheControllerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/AvalancheControllerKosmos.kt new file mode 100644 index 000000000000..2a2f5f974a19 --- /dev/null +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/AvalancheControllerKosmos.kt @@ -0,0 +1,29 @@ +/* + * 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.headsup + +import com.android.internal.logging.uiEventLoggerFake +import com.android.systemui.dump.dumpManager +import com.android.systemui.kosmos.Kosmos +import com.android.systemui.kosmos.Kosmos.Fixture +import com.android.systemui.util.mockito.mock + +var Kosmos.mockAvalancheController by Fixture { mock<AvalancheController>() } + +val Kosmos.avalancheController by Fixture { + AvalancheController(dumpManager, uiEventLoggerFake, headsUpManagerLogger, bgHandler = mock()) +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerKosmos.kt index de9485d48383..dfc8a68968cb 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerKosmos.kt @@ -16,8 +16,44 @@ package com.android.systemui.statusbar.notification.headsup +import android.content.applicationContext +import android.view.accessibility.accessibilityManagerWrapper +import com.android.internal.logging.uiEventLoggerFake +import com.android.systemui.concurrency.fakeExecutor import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture +import com.android.systemui.kosmos.testScope +import com.android.systemui.plugins.statusbar.statusBarStateController +import com.android.systemui.shade.domain.interactor.shadeInteractor +import com.android.systemui.statusbar.notification.collection.provider.visualStabilityProvider +import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager +import com.android.systemui.statusbar.phone.keyguardBypassController +import com.android.systemui.statusbar.policy.configurationController +import com.android.systemui.util.concurrency.mockExecutorHandler +import com.android.systemui.util.kotlin.JavaAdapter import com.android.systemui.util.mockito.mock +import com.android.systemui.util.settings.fakeGlobalSettings +import com.android.systemui.util.time.fakeSystemClock -var Kosmos.headsUpManager by Fixture { mock<HeadsUpManager>() } +var Kosmos.mockHeadsUpManager by Fixture { mock<HeadsUpManager>() } + +var Kosmos.headsUpManager: HeadsUpManager by Fixture { + HeadsUpManagerImpl( + applicationContext, + headsUpManagerLogger, + statusBarStateController, + keyguardBypassController, + mock<GroupMembershipManager>(), + visualStabilityProvider, + configurationController, + mockExecutorHandler(fakeExecutor), + fakeGlobalSettings, + fakeSystemClock, + fakeExecutor, + accessibilityManagerWrapper, + uiEventLoggerFake, + JavaAdapter(testScope.backgroundScope), + shadeInteractor, + avalancheController, + ) +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerLoggerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerLoggerKosmos.kt new file mode 100644 index 000000000000..d595fa6f05d2 --- /dev/null +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/headsup/HeadsUpManagerLoggerKosmos.kt @@ -0,0 +1,28 @@ +/* + * 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.headsup + +import com.android.systemui.kosmos.Kosmos +import com.android.systemui.kosmos.Kosmos.Fixture +import com.android.systemui.log.logcatLogBuffer +import org.mockito.kotlin.mock + +val Kosmos.mockHeadsUpManagerLogger by Fixture { mock<HeadsUpManagerLogger>() } + +val Kosmos.headsUpManagerLogger by Fixture { + HeadsUpManagerLogger(logcatLogBuffer("HeadsUpManagerLogger")) +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/OnUserInteractionCallbackKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/OnUserInteractionCallbackKosmos.kt index ec54c33f1156..cc3f21b2277a 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/OnUserInteractionCallbackKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/row/OnUserInteractionCallbackKosmos.kt @@ -22,14 +22,14 @@ import com.android.systemui.statusbar.notification.collection.coordinator.visual import com.android.systemui.statusbar.notification.collection.inflation.OnUserInteractionCallbackImpl import com.android.systemui.statusbar.notification.collection.notifCollection import com.android.systemui.statusbar.notification.collection.render.notificationVisibilityProvider -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager var Kosmos.onUserInteractionCallback: OnUserInteractionCallback by Kosmos.Fixture { OnUserInteractionCallbackImpl( notificationVisibilityProvider, notifCollection, - headsUpManager, + mockHeadsUpManager, statusBarStateController, visualStabilityCoordinator, ) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt index 383e31d99314..65f4ec1c437c 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/AmbientStateKosmos.kt @@ -21,6 +21,7 @@ import com.android.systemui.dump.dumpManager import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture import com.android.systemui.shade.transition.largeScreenShadeInterpolator +import com.android.systemui.statusbar.notification.headsup.mockAvalancheController import com.android.systemui.statusbar.phone.statusBarKeyguardViewManager import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -33,6 +34,6 @@ val Kosmos.ambientState by Fixture { /*bypassController=*/ stackScrollAlgorithmBypassController, /*statusBarKeyguardViewManager=*/ statusBarKeyguardViewManager, /*largeScreenShadeInterpolator=*/ largeScreenShadeInterpolator, - /*avalancheController=*/ avalancheController, + /*avalancheController=*/ mockAvalancheController, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmKosmos.kt index a5c4bfd61945..67343c95f6e1 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmKosmos.kt @@ -18,7 +18,6 @@ package com.android.systemui.statusbar.notification.stack import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture -import com.android.systemui.statusbar.notification.headsup.AvalancheController import com.android.systemui.util.mockito.mock var Kosmos.stackScrollAlgorithmSectionProvider by Fixture { @@ -28,5 +27,3 @@ var Kosmos.stackScrollAlgorithmSectionProvider by Fixture { var Kosmos.stackScrollAlgorithmBypassController by Fixture { mock<StackScrollAlgorithm.BypassController>() } - -var Kosmos.avalancheController by Fixture { mock<AvalancheController>() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/WindowRootViewVisibilityInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/WindowRootViewVisibilityInteractorKosmos.kt index e972c2c77902..64f16dac6242 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/WindowRootViewVisibilityInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/WindowRootViewVisibilityInteractorKosmos.kt @@ -25,14 +25,14 @@ import com.android.systemui.scene.data.repository.windowRootViewVisibilityReposi import com.android.systemui.scene.domain.interactor.WindowRootViewVisibilityInteractor import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.statusbar.notification.domain.interactor.activeNotificationsInteractor -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager val Kosmos.windowRootViewVisibilityInteractor by Fixture { WindowRootViewVisibilityInteractor( scope = applicationCoroutineScope, windowRootViewVisibilityRepository = windowRootViewVisibilityRepository, keyguardRepository = keyguardRepository, - headsUpManager = headsUpManager, + headsUpManager = mockHeadsUpManager, powerInteractor = powerInteractor, activeNotificationsInteractor = activeNotificationsInteractor, ) { diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/DozeServiceHostKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/DozeServiceHostKosmos.kt index f86824a1af6d..d0bf584d9a62 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/DozeServiceHostKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/DozeServiceHostKosmos.kt @@ -26,7 +26,7 @@ import com.android.systemui.keyguard.wakefulnessLifecycle import com.android.systemui.kosmos.Kosmos import com.android.systemui.plugins.statusbar.statusBarStateController import com.android.systemui.shade.domain.interactor.shadeLockscreenInteractor -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notificationShadeWindowController import com.android.systemui.statusbar.policy.batteryController import com.android.systemui.statusbar.policy.deviceProvisionedController @@ -42,7 +42,7 @@ val Kosmos.dozeServiceHost: DozeServiceHost by wakefulnessLifecycle, statusBarStateController, deviceProvisionedController, - headsUpManager, + mockHeadsUpManager, batteryController, scrimController, { biometricUnlockController }, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/ShadeTouchableRegionManagerKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/ShadeTouchableRegionManagerKosmos.kt index 5b7f23b0cff2..9adaeff9c552 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/ShadeTouchableRegionManagerKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/ShadeTouchableRegionManagerKosmos.kt @@ -24,7 +24,7 @@ import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testScope import com.android.systemui.scene.domain.interactor.sceneInteractor import com.android.systemui.shade.domain.interactor.shadeInteractor -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notificationShadeWindowController import com.android.systemui.statusbar.policy.configurationController import com.android.systemui.util.kotlin.JavaAdapter @@ -36,7 +36,7 @@ var Kosmos.shadeTouchableRegionManager by applicationContext, notificationShadeWindowController, configurationController, - headsUpManager, + mockHeadsUpManager, shadeInteractor, { sceneInteractor }, JavaAdapter(testScope.backgroundScope), diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterKosmos.kt index 6083414240a6..7743a1c7e0cd 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterKosmos.kt @@ -36,7 +36,7 @@ import com.android.systemui.shade.shadeController import com.android.systemui.statusbar.commandQueue import com.android.systemui.statusbar.notification.collection.provider.launchFullScreenIntentProvider import com.android.systemui.statusbar.notification.collection.render.notificationVisibilityProvider -import com.android.systemui.statusbar.notification.headsup.headsUpManager +import com.android.systemui.statusbar.notification.headsup.mockHeadsUpManager import com.android.systemui.statusbar.notification.notificationTransitionAnimatorControllerProvider import com.android.systemui.statusbar.notification.row.onUserInteractionCallback import com.android.systemui.statusbar.notificationClickNotifier @@ -58,7 +58,7 @@ val Kosmos.statusBarNotificationActivityStarter by fakeExecutorHandler, fakeExecutor, notificationVisibilityProvider, - headsUpManager, + mockHeadsUpManager, activityStarter, commandQueue, notificationClickNotifier, |