Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62be2a5a authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes I736234da,I931c50f3 into main

* changes:
  Remove redundant flows from SharedNotificationContainerInteractor
  Remove redundant deps on `SharedNotificationContainerInteractor`.
parents 599e4263 14495ce3
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -85,7 +85,6 @@ import com.android.systemui.biometrics.AuthController;
import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository;
import com.android.systemui.common.ui.view.LongPressHandlingView;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInteractor;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor;
@@ -434,15 +433,6 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase {
                new ShadeInteractorLegacyImpl(
                        mTestScope.getBackgroundScope(),
                        mFakeKeyguardRepository,
                        new SharedNotificationContainerInteractor(
                                new FakeConfigurationRepository(),
                                mContext,
                                () -> splitShadeStateController,
                                () -> mShadeInteractor,
                                mKeyguardInteractor,
                                deviceEntryUdfpsInteractor,
                                () -> mLargeScreenHeaderHelper
                        ),
                        mShadeRepository
                ),
                mKosmos.getShadeModeInteractor());
+0 −30
Original line number Diff line number Diff line
@@ -36,16 +36,12 @@ import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardStatusView;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.bouncer.data.repository.FakeKeyguardBouncerRepository;
import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository;
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInteractor;
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository;
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor;
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor;
import com.android.systemui.kosmos.KosmosJavaAdapter;
import com.android.systemui.media.controls.domain.pipeline.MediaDataManager;
@@ -55,7 +51,6 @@ import com.android.systemui.plugins.qs.QS;
import com.android.systemui.power.domain.interactor.PowerInteractor;
import com.android.systemui.qs.QSFragmentLegacy;
import com.android.systemui.res.R;
import com.android.systemui.scene.domain.interactor.SceneInteractor;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.FakeShadeRepository;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
@@ -72,7 +67,6 @@ import com.android.systemui.statusbar.notification.data.repository.ActiveNotific
import com.android.systemui.statusbar.notification.domain.interactor.ActiveNotificationsInteractor;
import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.domain.interactor.SharedNotificationContainerInteractor;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBottomAreaView;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
@@ -179,27 +173,11 @@ public class QuickSettingsControllerImplBaseTest extends SysuiTestCase {
        mStatusBarStateController = mKosmos.getStatusBarStateController();

        mKosmos.getFakeDeviceProvisioningRepository().setDeviceProvisioned(true);
        FakeConfigurationRepository configurationRepository = new FakeConfigurationRepository();

        PowerInteractor powerInteractor = mKosmos.getPowerInteractor();

        SceneInteractor sceneInteractor = mKosmos.getSceneInteractor();

        KeyguardTransitionInteractor keyguardTransitionInteractor =
                mKosmos.getKeyguardTransitionInteractor();
        KeyguardInteractor keyguardInteractor = new KeyguardInteractor(
                mKeyguardRepository,
                powerInteractor,
                new FakeKeyguardBouncerRepository(),
                new ConfigurationInteractor(configurationRepository),
                mShadeRepository,
                keyguardTransitionInteractor,
                () -> sceneInteractor,
                () -> mKosmos.getFromGoneTransitionInteractor(),
                () -> mKosmos.getFromLockscreenTransitionInteractor(),
                () -> mKosmos.getFromOccludedTransitionInteractor(),
                () -> mKosmos.getSharedNotificationContainerInteractor(),
                mTestScope);

        ResourcesSplitShadeStateController splitShadeStateController =
                new ResourcesSplitShadeStateController();
@@ -222,14 +200,6 @@ public class QuickSettingsControllerImplBaseTest extends SysuiTestCase {
                new ShadeInteractorLegacyImpl(
                        mTestScope.getBackgroundScope(),
                        mKeyguardRepository,
                        new SharedNotificationContainerInteractor(
                                configurationRepository,
                                mContext,
                                () -> splitShadeStateController,
                                () -> mShadeInteractor,
                                keyguardInteractor,
                                deviceEntryUdfpsInteractor,
                                () -> mLargeScreenHeaderHelper),
                        mShadeRepository
                ),
                mKosmos.getShadeModeInteractor());
+7 −6
Original line number Diff line number Diff line
@@ -26,9 +26,9 @@ import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.StatusBarState
import com.android.systemui.kosmos.testScope
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.shade.data.repository.fakeShadeRepository
import com.android.systemui.shade.shadeTestUtil
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.fakeUserRepository
import com.google.common.truth.Truth.assertThat
@@ -46,6 +46,7 @@ import org.junit.runner.RunWith
class ShadeInteractorLegacyImplTest : SysuiTestCase() {
    val kosmos = testKosmos()
    val testScope = kosmos.testScope
    val shadeTestUtil = kosmos.shadeTestUtil
    val configurationRepository = kosmos.fakeConfigurationRepository
    val keyguardRepository = kosmos.fakeKeyguardRepository
    val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository
@@ -87,7 +88,7 @@ class ShadeInteractorLegacyImplTest : SysuiTestCase() {

            // WHEN split shade is enabled and QS is expanded
            keyguardRepository.setStatusBarState(StatusBarState.SHADE)
            overrideResource(R.bool.config_use_split_notification_shade, true)
            shadeTestUtil.setSplitShade(true)
            configurationRepository.onAnyConfigurationChange()
            shadeRepository.setQsExpansion(.5f)
            shadeRepository.setLegacyShadeExpansion(.7f)
@@ -104,7 +105,7 @@ class ShadeInteractorLegacyImplTest : SysuiTestCase() {

            // WHEN split shade is not enabled and QS is expanded
            keyguardRepository.setStatusBarState(StatusBarState.SHADE)
            overrideResource(R.bool.config_use_split_notification_shade, false)
            shadeTestUtil.setSplitShade(false)
            shadeRepository.setQsExpansion(.5f)
            shadeRepository.setLegacyShadeExpansion(1f)
            runCurrent()
@@ -120,7 +121,7 @@ class ShadeInteractorLegacyImplTest : SysuiTestCase() {

            // WHEN split shade is not enabled and QS is expanded
            keyguardRepository.setStatusBarState(StatusBarState.SHADE)
            overrideResource(R.bool.config_use_split_notification_shade, false)
            shadeTestUtil.setSplitShade(false)
            shadeRepository.setQsExpansion(1f)
            shadeRepository.setLegacyShadeExpansion(1f)
            runCurrent()
@@ -136,7 +137,7 @@ class ShadeInteractorLegacyImplTest : SysuiTestCase() {

            // WHEN split shade is not enabled and QS partly expanded
            keyguardRepository.setStatusBarState(StatusBarState.SHADE)
            overrideResource(R.bool.config_use_split_notification_shade, false)
            shadeTestUtil.setSplitShade(false)
            shadeRepository.setQsExpansion(.4f)
            shadeRepository.setLegacyShadeExpansion(1f)
            runCurrent()
@@ -152,7 +153,7 @@ class ShadeInteractorLegacyImplTest : SysuiTestCase() {

            // WHEN split shade is not enabled and QS collapsed
            keyguardRepository.setStatusBarState(StatusBarState.SHADE)
            overrideResource(R.bool.config_use_split_notification_shade, false)
            shadeTestUtil.setSplitShade(false)
            shadeRepository.setQsExpansion(0f)
            shadeRepository.setLegacyShadeExpansion(.6f)
            runCurrent()
+27 −16
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
    fun validateMarginStartInSplitShade() =
        testScope.runTest {
            shadeTestUtil.setSplitShade(true)
            overrideResource(R.dimen.notification_panel_margin_horizontal, 20)
            overrideDimensionPixelSize(R.dimen.notification_panel_margin_horizontal, 20)

            val dimens by collectLastValue(underTest.configurationBasedDimensions)

@@ -174,7 +174,7 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
    fun validateMarginStart() =
        testScope.runTest {
            shadeTestUtil.setSplitShade(false)
            overrideResource(R.dimen.notification_panel_margin_horizontal, 20)
            overrideDimensionPixelSize(R.dimen.notification_panel_margin_horizontal, 20)

            val dimens by collectLastValue(underTest.configurationBasedDimensions)

@@ -189,8 +189,8 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight()).thenReturn(5)
            shadeTestUtil.setSplitShade(true)
            overrideResource(R.bool.config_use_large_screen_shade_header, true)
            overrideResource(R.dimen.large_screen_shade_header_height, 10)
            overrideResource(R.dimen.keyguard_split_shade_top_margin, 50)
            overrideDimensionPixelSize(R.dimen.large_screen_shade_header_height, 10)
            overrideDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin, 50)

            val paddingTop by collectLastValue(underTest.paddingTopDimen)
            configurationRepository.onAnyConfigurationChange()
@@ -205,8 +205,8 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight()).thenReturn(10)
            shadeTestUtil.setSplitShade(false)
            overrideResource(R.bool.config_use_large_screen_shade_header, true)
            overrideResource(R.dimen.large_screen_shade_header_height, 10)
            overrideResource(R.dimen.keyguard_split_shade_top_margin, 50)
            overrideDimensionPixelSize(R.dimen.large_screen_shade_header_height, 10)
            overrideDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin, 50)

            val paddingTop by collectLastValue(underTest.paddingTopDimen)

@@ -221,8 +221,8 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight()).thenReturn(10)
            shadeTestUtil.setSplitShade(false)
            overrideResource(R.bool.config_use_large_screen_shade_header, false)
            overrideResource(R.dimen.large_screen_shade_header_height, 10)
            overrideResource(R.dimen.keyguard_split_shade_top_margin, 50)
            overrideDimensionPixelSize(R.dimen.large_screen_shade_header_height, 10)
            overrideDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin, 50)

            val paddingTop by collectLastValue(underTest.paddingTopDimen)

@@ -263,8 +263,11 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight())
                .thenReturn(headerHelperHeight)
            overrideResource(R.bool.config_use_large_screen_shade_header, true)
            overrideResource(R.dimen.large_screen_shade_header_height, headerResourceHeight)
            overrideResource(R.dimen.notification_panel_margin_top, 0)
            overrideDimensionPixelSize(
                R.dimen.large_screen_shade_header_height,
                headerResourceHeight,
            )
            overrideDimensionPixelSize(R.dimen.notification_panel_margin_top, 0)

            val dimens by collectLastValue(underTest.configurationBasedDimensions)

@@ -282,8 +285,11 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight())
                .thenReturn(headerHelperHeight)
            overrideResource(R.bool.config_use_large_screen_shade_header, true)
            overrideResource(R.dimen.large_screen_shade_header_height, headerResourceHeight)
            overrideResource(R.dimen.notification_panel_margin_top, 0)
            overrideDimensionPixelSize(
                R.dimen.large_screen_shade_header_height,
                headerResourceHeight,
            )
            overrideDimensionPixelSize(R.dimen.notification_panel_margin_top, 0)

            val dimens by collectLastValue(underTest.configurationBasedDimensions)

@@ -480,8 +486,8 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
    fun validateMarginTop() =
        testScope.runTest {
            overrideResource(R.bool.config_use_large_screen_shade_header, false)
            overrideResource(R.dimen.large_screen_shade_header_height, 50)
            overrideResource(R.dimen.notification_panel_margin_top, 0)
            overrideDimensionPixelSize(R.dimen.large_screen_shade_header_height, 50)
            overrideDimensionPixelSize(R.dimen.notification_panel_margin_top, 0)

            val dimens by collectLastValue(underTest.configurationBasedDimensions)

@@ -676,8 +682,8 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
            whenever(largeScreenHeaderHelper.getLargeScreenHeaderHeight()).thenReturn(5)
            shadeTestUtil.setSplitShade(true)
            overrideResource(R.bool.config_use_large_screen_shade_header, true)
            overrideResource(R.dimen.large_screen_shade_header_height, 10)
            overrideResource(R.dimen.keyguard_split_shade_top_margin, 50)
            overrideDimensionPixelSize(R.dimen.large_screen_shade_header_height, 10)
            overrideDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin, 50)

            configurationRepository.onAnyConfigurationChange()
            runCurrent()
@@ -1310,4 +1316,9 @@ class SharedNotificationContainerViewModelTest(flags: FlagsParameterization) : S
        communalSceneRepository.setTransitionState(transitionState)
        runCurrent()
    }

    private fun overrideDimensionPixelSize(id: Int, pixelSize: Int) {
        overrideResource(id, pixelSize)
        configurationRepository.setDimensionPixelSize(id, pixelSize)
    }
}
+6 −7
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.shade.data.repository.ShadeRepository
import com.android.systemui.statusbar.notification.stack.domain.interactor.SharedNotificationContainerInteractor
import com.android.systemui.util.kotlin.Utils.Companion.sample as sampleCombine
import com.android.systemui.util.kotlin.sample
import javax.inject.Inject
@@ -93,7 +92,6 @@ constructor(
    private val fromGoneTransitionInteractor: Provider<FromGoneTransitionInteractor>,
    private val fromLockscreenTransitionInteractor: Provider<FromLockscreenTransitionInteractor>,
    private val fromOccludedTransitionInteractor: Provider<FromOccludedTransitionInteractor>,
    sharedNotificationContainerInteractor: Provider<SharedNotificationContainerInteractor>,
    @Application applicationScope: CoroutineScope,
) {
    // TODO(b/296118689): move to a repository
@@ -104,15 +102,16 @@ constructor(
        SceneContainerFlag.assertInLegacyMode()
        combineTransform(
                _notificationPlaceholderBounds,
                sharedNotificationContainerInteractor.get().configurationBasedDimensions,
                keyguardTransitionInteractor.isInTransition(
                    edge = Edge.create(from = LOCKSCREEN, to = AOD)
                ),
            ) { bounds, cfg, isTransitioningToAod ->
                shadeRepository.isShadeLayoutWide,
                configurationInteractor.dimensionPixelSize(R.dimen.keyguard_split_shade_top_margin),
            ) { bounds, isTransitioningToAod, useSplitShade, keyguardSplitShadeTopMargin ->
                if (isTransitioningToAod) {
                    // Keep bounds stable during this transition, to prevent cases like smartspace
                    // popping in and adjusting the bounds. A prime example would be media playing,
                    // which then updates smartspace on transition to AOD
                    // which then updates smartspace on transition to AOD.
                    return@combineTransform
                }

@@ -120,8 +119,8 @@ constructor(
                // legacy placement behavior within notifications for splitshade.
                emit(
                    if (MigrateClocksToBlueprint.isEnabled) {
                        if (cfg.useSplitShade) {
                            bounds.copy(bottom = bounds.bottom - cfg.keyguardSplitShadeTopMargin)
                        if (useSplitShade) {
                            bounds.copy(bottom = bounds.bottom - keyguardSplitShadeTopMargin)
                        } else {
                            bounds
                        }
Loading