diff options
15 files changed, 90 insertions, 43 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java index f4903f1f054f..768bb8e2e917 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java @@ -131,6 +131,7 @@ import com.android.systemui.settings.DisplayTracker; import com.android.systemui.settings.UserContextProvider; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.ShadeViewController; +import com.android.systemui.shade.domain.interactor.PanelExpansionInteractor; import com.android.systemui.shared.navigationbar.RegionSamplingHelper; import com.android.systemui.shared.recents.utilities.Utilities; import com.android.systemui.shared.rotation.RotationButton; @@ -199,6 +200,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private final Lazy<Optional<CentralSurfaces>> mCentralSurfacesOptionalLazy; private final KeyguardStateController mKeyguardStateController; private final ShadeViewController mShadeViewController; + private final PanelExpansionInteractor mPanelExpansionInteractor; private final NotificationRemoteInputManager mNotificationRemoteInputManager; private final OverviewProxyService mOverviewProxyService; private final NavigationModeController mNavigationModeController; @@ -537,6 +539,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy, KeyguardStateController keyguardStateController, ShadeViewController shadeViewController, + PanelExpansionInteractor panelExpansionInteractor, NotificationRemoteInputManager notificationRemoteInputManager, NotificationShadeDepthController notificationShadeDepthController, @Main Handler mainHandler, @@ -575,6 +578,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements mCentralSurfacesOptionalLazy = centralSurfacesOptionalLazy; mKeyguardStateController = keyguardStateController; mShadeViewController = shadeViewController; + mPanelExpansionInteractor = panelExpansionInteractor; mNotificationRemoteInputManager = notificationRemoteInputManager; mOverviewProxyService = overviewProxyService; mNavigationModeController = navigationModeController; @@ -749,7 +753,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements final Display display = mView.getDisplay(); mView.setComponents(mRecentsOptional); if (mCentralSurfacesOptionalLazy.get().isPresent()) { - mView.setComponents(mShadeViewController); + mView.setComponents(mShadeViewController, mPanelExpansionInteractor); } mView.setDisabledFlags(mDisabledFlags1, mSysUiFlagsContainer); mView.setOnVerticalChangedListener(this::onVerticalChanged); diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java index c5190a21f079..1927f4932ee0 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java @@ -75,6 +75,7 @@ import com.android.systemui.recents.Recents; import com.android.systemui.res.R; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.shade.ShadeViewController; +import com.android.systemui.shade.domain.interactor.PanelExpansionInteractor; import com.android.systemui.shared.rotation.FloatingRotationButton; import com.android.systemui.shared.rotation.RotationButton.RotationButtonUpdatesCallback; import com.android.systemui.shared.rotation.RotationButtonController; @@ -149,7 +150,9 @@ public class NavigationBarView extends FrameLayout { private NavigationBarInflaterView mNavigationInflaterView; private Optional<Recents> mRecentsOptional = Optional.empty(); @Nullable - private ShadeViewController mPanelView; + private ShadeViewController mShadeViewController; + @Nullable + private PanelExpansionInteractor mPanelExpansionInteractor; private RotationContextButton mRotationContextButton; private FloatingRotationButton mFloatingRotationButton; private RotationButtonController mRotationButtonController; @@ -347,8 +350,9 @@ public class NavigationBarView extends FrameLayout { } /** */ - public void setComponents(ShadeViewController panel) { - mPanelView = panel; + public void setComponents(ShadeViewController svc, PanelExpansionInteractor pei) { + mShadeViewController = svc; + mPanelExpansionInteractor = pei; updatePanelSystemUiStateFlags(); } @@ -750,10 +754,10 @@ public class NavigationBarView extends FrameLayout { private void updatePanelSystemUiStateFlags() { if (SysUiState.DEBUG) { - Log.d(TAG, "Updating panel sysui state flags: panelView=" + mPanelView); + Log.d(TAG, "Updating panel sysui state flags: panelView=" + mShadeViewController); } - if (mPanelView != null) { - mPanelView.updateSystemUiStateFlags(); + if (mShadeViewController != null) { + mShadeViewController.updateSystemUiStateFlags(); } } @@ -801,7 +805,8 @@ public class NavigationBarView extends FrameLayout { */ void updateSlippery() { setSlippery(!isQuickStepSwipeUpEnabled() || - (mPanelView != null && mPanelView.isFullyExpanded() && !mPanelView.isCollapsing())); + (mPanelExpansionInteractor != null && mPanelExpansionInteractor.isFullyExpanded() + && !mPanelExpansionInteractor.isCollapsing())); } void setSlippery(boolean slippery) { diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewController.kt index de21a73e312b..a343dedb6742 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewController.kt @@ -37,9 +37,6 @@ interface ShadeViewController { */ val isPanelExpanded: Boolean - /** Returns whether the shade is in the process of collapsing. */ - val isCollapsing: Boolean - /** Returns whether shade's height is zero. */ val isFullyCollapsed: Boolean @@ -102,19 +99,6 @@ interface ShadeViewController { fun showAodUi() /** - * This method should not be used anymore, you should probably use [.isShadeFullyOpen] instead. - * It was overused as indicating if shade is open or we're on keyguard/AOD. Moving forward we - * should be explicit about the what state we're checking. - * - * @return if panel is covering the screen, which means we're in expanded shade or keyguard/AOD - */ - @Deprecated( - "depends on the state you check, use {@link #isShadeFullyExpanded()},\n" + - "{@link #isOnAod()}, {@link #isOnKeyguard()} instead." - ) - fun isFullyExpanded(): Boolean - - /** * Sends an external (e.g. Status Bar) touch event to the Shade touch handler. * * This is different from [startInputFocusTransfer] as it doesn't rely on setting the launcher diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewControllerEmptyImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewControllerEmptyImpl.kt index b67156f4b982..c9140b525c1f 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeViewControllerEmptyImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeViewControllerEmptyImpl.kt @@ -33,31 +33,33 @@ class ShadeViewControllerEmptyImpl @Inject constructor() : ShadeBackActionInteractor, ShadeLockscreenInteractor, PanelExpansionInteractor { - override fun expandToNotifications() {} - override val isExpanded: Boolean = false + @Deprecated("Use ShadeInteractor instead") override fun expandToNotifications() {} + @Deprecated("Use ShadeInteractor instead") override val isExpanded: Boolean = false override val isPanelExpanded: Boolean = false override fun animateCollapseQs(fullyCollapse: Boolean) {} override fun canBeCollapsed(): Boolean = false - override val isCollapsing: Boolean = false + @Deprecated("Use ShadeAnimationInteractor instead") override val isCollapsing: Boolean = false override val isFullyCollapsed: Boolean = false override val isTracking: Boolean = false override val isViewEnabled: Boolean = false override fun shouldHideStatusBarIconsWhenExpanded() = false - override fun blockExpansionForCurrentTouch() {} + @Deprecated("Not supported by scenes") override fun blockExpansionForCurrentTouch() {} override fun disableHeader(state1: Int, state2: Int, animated: Boolean) {} override fun startExpandLatencyTracking() {} override fun startBouncerPreHideAnimation() {} override fun dozeTimeTick() {} override fun resetViews(animate: Boolean) {} override val barState: Int = 0 + @Deprecated("Only supported by very old devices that will not adopt scenes.") override fun closeUserSwitcherIfOpen(): Boolean { return false } override fun onBackPressed() {} + @Deprecated("According to b/318376223, shade predictive back is not be supported.") override fun onBackProgressed(progressFraction: Float) {} override fun setAlpha(alpha: Int, animate: Boolean) {} override fun setAlphaChangeAnimationEndAction(r: Runnable) {} - override fun setPulsing(pulsing: Boolean) {} + @Deprecated("Not supported by scenes") override fun setPulsing(pulsing: Boolean) {} override fun setQsScrimEnabled(qsScrimEnabled: Boolean) {} override fun setAmbientIndicationTop(ambientIndicationTop: Int, ambientTextVisible: Boolean) {} override fun updateSystemUiStateFlags() {} @@ -66,14 +68,18 @@ class ShadeViewControllerEmptyImpl @Inject constructor() : override fun removeOnGlobalLayoutListener(listener: ViewTreeObserver.OnGlobalLayoutListener) {} override fun transitionToExpandedShade(delay: Long) {} - override fun resetViewGroupFade() {} + @Deprecated("Not supported by scenes") override fun resetViewGroupFade() {} + @Deprecated("Not supported by scenes") override fun setKeyguardTransitionProgress(keyguardAlpha: Float, keyguardTranslationY: Int) {} - override fun setOverStretchAmount(amount: Float) {} + @Deprecated("Not supported by scenes") override fun setOverStretchAmount(amount: Float) {} + @Deprecated("TODO(b/325072511) delete this") override fun setKeyguardStatusBarAlpha(alpha: Float) {} override fun showAodUi() {} - override fun isFullyExpanded(): Boolean { - return false - } + @Deprecated( + "depends on the state you check, use {@link #isShadeFullyExpanded()},\n" + + "{@link #isOnAod()}, {@link #isOnKeyguard()} instead." + ) + override val isFullyExpanded = false override fun handleExternalTouch(event: MotionEvent): Boolean { return false } @@ -84,6 +90,7 @@ class ShadeViewControllerEmptyImpl @Inject constructor() : override val shadeHeadsUpTracker = ShadeHeadsUpTrackerEmptyImpl() override val shadeFoldAnimator = ShadeFoldAnimatorEmptyImpl() + @Deprecated("Use SceneInteractor.currentScene instead.") override val legacyPanelExpansion = flowOf(0f) } diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractor.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractor.kt index 01118bd1406f..bd96a33c2f41 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractor.kt @@ -41,4 +41,20 @@ interface PanelExpansionInteractor { * backwards-compatibility and should not be consumed by newer code. */ @Deprecated("Use SceneInteractor.currentScene instead.") val legacyPanelExpansion: Flow<Float> + + /** + * This method should not be used anymore, you should probably use [.isShadeFullyOpen] instead. + * It was overused as indicating if shade is open or we're on keyguard/AOD. Moving forward we + * should be explicit about the what state we're checking. + * + * @return if panel is covering the screen, which means we're in expanded shade or keyguard/AOD + */ + @Deprecated( + "depends on the state you check, use {@link #isShadeFullyExpanded()},\n" + + "{@link #isOnAod()}, {@link #isOnKeyguard()} instead." + ) + val isFullyExpanded: Boolean + + /** Returns whether the shade is in the process of collapsing. */ + @Deprecated("Use ShadeAnimationInteractor instead") val isCollapsing: Boolean } diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImpl.kt index 20f73b00d8a7..c5a69680b5ab 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImpl.kt @@ -35,6 +35,8 @@ class PanelExpansionInteractorImpl @Inject constructor( sceneInteractor: SceneInteractor, + shadeInteractor: ShadeInteractor, + shadeAnimationInteractor: ShadeAnimationInteractor, ) : PanelExpansionInteractor { /** @@ -93,6 +95,16 @@ constructor( } } + @Deprecated( + "depends on the state you check, use {@link #isShadeFullyExpanded()},\n" + + "{@link #isOnAod()}, {@link #isOnKeyguard()} instead." + ) + override val isFullyExpanded = shadeInteractor.isAnyFullyExpanded.value + + @Deprecated("Use ShadeAnimationInteractor instead") + override val isCollapsing = + shadeAnimationInteractor.isAnyCloseAnimationRunning.value || + shadeAnimationInteractor.isLaunchingActivity.value private fun SceneKey.isExpandable(): Boolean { return this == Scenes.Shade || this == Scenes.QuickSettings } diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractor.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractor.kt index 5a777e8574d6..134c983f7b30 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractor.kt @@ -17,7 +17,6 @@ package com.android.systemui.shade.domain.interactor import com.android.systemui.shade.data.repository.ShadeAnimationRepository -import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow @@ -38,5 +37,5 @@ abstract class ShadeAnimationInteractor( * completes the close. Important: if QS is collapsing back to shade, this will be false because * that is not considered "closing". */ - abstract val isAnyCloseAnimationRunning: Flow<Boolean> + abstract val isAnyCloseAnimationRunning: StateFlow<Boolean> } diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorEmptyImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorEmptyImpl.kt index 2a7658a8eed7..f364d6ddf939 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorEmptyImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorEmptyImpl.kt @@ -19,7 +19,7 @@ package com.android.systemui.shade.domain.interactor import com.android.systemui.dagger.SysUISingleton import com.android.systemui.shade.data.repository.ShadeAnimationRepository import javax.inject.Inject -import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.MutableStateFlow /** Implementation of ShadeAnimationInteractor for shadeless SysUI variants. */ @SysUISingleton @@ -28,5 +28,5 @@ class ShadeAnimationInteractorEmptyImpl constructor( shadeAnimationRepository: ShadeAnimationRepository, ) : ShadeAnimationInteractor(shadeAnimationRepository) { - override val isAnyCloseAnimationRunning = flowOf(false) + override val isAnyCloseAnimationRunning = MutableStateFlow(false) } diff --git a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorSceneContainerImpl.kt b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorSceneContainerImpl.kt index eaac8ae9dd3a..d9982e39e958 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorSceneContainerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorSceneContainerImpl.kt @@ -18,21 +18,26 @@ package com.android.systemui.shade.domain.interactor import com.android.compose.animation.scene.ObservableTransitionState import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shade.data.repository.ShadeAnimationRepository import javax.inject.Inject +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn /** Implementation of ShadeAnimationInteractor compatible with the scene container framework. */ @SysUISingleton class ShadeAnimationInteractorSceneContainerImpl @Inject constructor( + @Background scope: CoroutineScope, shadeAnimationRepository: ShadeAnimationRepository, sceneInteractor: SceneInteractor, ) : ShadeAnimationInteractor(shadeAnimationRepository) { @@ -56,4 +61,5 @@ constructor( } } .distinctUntilChanged() + .stateIn(scope, SharingStarted.Eagerly, false) } 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 8e9c0384987d..5b142590d149 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java @@ -44,6 +44,7 @@ import com.android.systemui.res.R; import com.android.systemui.shade.NotificationShadeWindowView; import com.android.systemui.shade.QuickSettingsController; 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.LockscreenShadeTransitionController; import com.android.systemui.statusbar.NotificationLockscreenUserManager; @@ -87,6 +88,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu private final NotificationMediaManager mMediaManager; private final NotificationGutsManager mGutsManager; private final ShadeViewController mNotificationPanel; + private final PanelExpansionInteractor mPanelExpansionInteractor; private final HeadsUpManager mHeadsUpManager; private final AboveShelfObserver mAboveShelfObserver; private final DozeScrimController mDozeScrimController; @@ -108,6 +110,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu StatusBarNotificationPresenter( Context context, ShadeViewController panel, + PanelExpansionInteractor panelExpansionInteractor, QuickSettingsController quickSettingsController, HeadsUpManager headsUp, NotificationShadeWindowView statusBarWindow, @@ -134,6 +137,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu mActivityStarter = activityStarter; mKeyguardStateController = keyguardStateController; mNotificationPanel = panel; + mPanelExpansionInteractor = panelExpansionInteractor; mQsController = quickSettingsController; mHeadsUpManager = headsUp; mDynamicPrivacyController = dynamicPrivacyController; @@ -202,7 +206,7 @@ class StatusBarNotificationPresenter implements NotificationPresenter, CommandQu @Override public boolean isCollapsing() { - return mNotificationPanel.isCollapsing() + return mPanelExpansionInteractor.isCollapsing() || mNotificationShadeWindowController.isLaunchingActivity(); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java index 31746a2a46a3..b38d5e326b97 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/navigationbar/NavigationBarTest.java @@ -99,6 +99,7 @@ import com.android.systemui.settings.UserContextProvider; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.NotificationShadeWindowView; import com.android.systemui.shade.ShadeViewController; +import com.android.systemui.shade.domain.interactor.PanelExpansionInteractor; import com.android.systemui.shared.rotation.RotationButtonController; import com.android.systemui.shared.system.TaskStackChangeListeners; import com.android.systemui.statusbar.CommandQueue; @@ -580,6 +581,7 @@ public class NavigationBarTest extends SysuiTestCase { () -> Optional.of(mCentralSurfaces), mKeyguardStateController, mock(ShadeViewController.class), + mock(PanelExpansionInteractor.class), mock(NotificationRemoteInputManager.class), mock(NotificationShadeDepthController.class), mHandler, 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 617b25d97eee..88b239a77433 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt @@ -481,8 +481,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { // AND status bar doesn't want it whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT)) .thenReturn(false) - // AND shade is not fully expanded - whenever(notificationPanelViewController.isFullyExpanded()).thenReturn(false) + // AND shade is not fully expanded (mock is false by default) // AND the lock icon does NOT want the touch whenever(lockIconViewController.willHandleTouchWhileDozing(DOWN_EVENT)).thenReturn(false) // AND quick settings controller DOES want it diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java index b0404a055a68..a8c5fc357c7c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java @@ -50,6 +50,7 @@ import com.android.systemui.shade.NotificationShadeWindowView; import com.android.systemui.shade.QuickSettingsController; 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.LockscreenShadeTransitionController; import com.android.systemui.statusbar.NotificationLockscreenUserManager; @@ -296,6 +297,7 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase { mStatusBarNotificationPresenter = new StatusBarNotificationPresenter( mContext, shadeViewController, + mock(PanelExpansionInteractor.class), mock(QuickSettingsController.class), mock(HeadsUpManager.class), notificationShadeWindowView, diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorKosmos.kt index 2a4dd3a43b88..09c8f87c99cc 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorKosmos.kt @@ -23,6 +23,8 @@ import com.android.systemui.scene.domain.interactor.sceneInteractor val Kosmos.panelExpansionInteractor by Fixture { panelExpansionInteractorImpl } val Kosmos.panelExpansionInteractorImpl by Fixture { PanelExpansionInteractorImpl( - sceneInteractor = sceneInteractor, + sceneInteractor, + shadeInteractor, + shadeAnimationInteractor, ) } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorKosmos.kt index d2dd200faa07..6d24e2aec089 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/shade/domain/interactor/ShadeAnimationInteractorKosmos.kt @@ -17,6 +17,7 @@ package com.android.systemui.shade.domain.interactor 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.data.repository.shadeAnimationRepository @@ -24,5 +25,9 @@ var Kosmos.shadeAnimationInteractor: ShadeAnimationInteractor by Kosmos.Fixture { ShadeAnimationInteractorEmptyImpl(shadeAnimationRepository) } var Kosmos.shadeAnimationInteractorSceneContainerImpl: ShadeAnimationInteractorSceneContainerImpl by Kosmos.Fixture { - ShadeAnimationInteractorSceneContainerImpl(shadeAnimationRepository, sceneInteractor) + ShadeAnimationInteractorSceneContainerImpl( + testScope.backgroundScope, + shadeAnimationRepository, + sceneInteractor + ) } |