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

Commit 85813406 authored by Danny Burakov's avatar Danny Burakov Committed by burakov
Browse files

Revert^2 "[Dual Shade] Ensure ShadeMode is never `Dual` outside of SceneContainer."

This reverts commit 5e57ebc7.

Reason for revert: Fixed failing tests.

Test: All unit tests pass.
Change-Id: Ic436e16978bb3440932ed4105ab79d9ba191a778
parent 88568848
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
@@ -44,6 +45,7 @@ import org.junit.runner.RunWith
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

@OptIn(ExperimentalCoroutinesApi::class)
@SmallTest
@RunWith(ParameterizedAndroidJunit4::class)
class CommunalTransitionViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
@@ -65,7 +67,7 @@ class CommunalTransitionViewModelTest(flags: FlagsParameterization) : SysuiTestC

    private val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository
    private val communalSceneRepository = kosmos.fakeCommunalSceneRepository
    private val sceneInteractor = kosmos.sceneInteractor
    private val sceneInteractor by lazy { kosmos.sceneInteractor }

    private val underTest: CommunalTransitionViewModel by lazy {
        kosmos.communalTransitionViewModel
+13 −6
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ import com.android.systemui.user.data.model.SelectionStatus
import com.android.systemui.user.data.repository.fakeUserRepository
import com.android.systemui.util.mockito.eq
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.test.TestScope
@@ -73,6 +74,7 @@ import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mockito.never
import org.mockito.Mockito.verify

@OptIn(ExperimentalCoroutinesApi::class)
@SmallTest
@RunWith(AndroidJUnit4::class)
class DeviceEntryFaceAuthInteractorTest : SysuiTestCase() {
@@ -80,21 +82,26 @@ class DeviceEntryFaceAuthInteractorTest : SysuiTestCase() {
    private val testScope: TestScope = kosmos.testScope

    private lateinit var underTest: SystemUIDeviceEntryFaceAuthInteractor

    private val bouncerRepository = kosmos.fakeKeyguardBouncerRepository
    private val keyguardTransitionRepository = kosmos.fakeKeyguardTransitionRepository
    private val keyguardTransitionInteractor = kosmos.keyguardTransitionInteractor
    private val faceAuthRepository = kosmos.fakeDeviceEntryFaceAuthRepository
    private val fakeUserRepository = kosmos.fakeUserRepository
    private val facePropertyRepository = kosmos.facePropertyRepository
    private val fakeDeviceEntryFingerprintAuthInteractor =
        kosmos.deviceEntryFingerprintAuthInteractor
    private val powerInteractor = kosmos.powerInteractor
    private val fakeBiometricSettingsRepository = kosmos.fakeBiometricSettingsRepository

    private val keyguardUpdateMonitor = kosmos.keyguardUpdateMonitor
    private val keyguardUpdateMonitor by lazy { kosmos.keyguardUpdateMonitor }
    private val faceWakeUpTriggersConfig = kosmos.fakeFaceWakeUpTriggersConfig
    private val trustManager = kosmos.trustManager
    private val deviceEntryFaceAuthStatusInteractor = kosmos.deviceEntryFaceAuthStatusInteractor

    private val keyguardTransitionInteractor by lazy { kosmos.keyguardTransitionInteractor }
    private val fakeDeviceEntryFingerprintAuthInteractor by lazy {
        kosmos.deviceEntryFingerprintAuthInteractor
    }
    private val powerInteractor by lazy { kosmos.powerInteractor }
    private val deviceEntryFaceAuthStatusInteractor by lazy {
        kosmos.deviceEntryFaceAuthStatusInteractor
    }

    @Before
    fun setup() {
+16 −4
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectValues
import com.android.systemui.flags.DisableSceneContainer
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
import com.android.systemui.keyguard.shared.model.Edge
import com.android.systemui.keyguard.shared.model.KeyguardState
@@ -46,20 +47,31 @@ import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import junit.framework.Assert.assertEquals
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Assert.assertThrows
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

@OptIn(ExperimentalCoroutinesApi::class)
@SmallTest
@RunWith(AndroidJUnit4::class)
class KeyguardTransitionInteractorTest : SysuiTestCase() {
    val kosmos = testKosmos()
    val underTest = kosmos.keyguardTransitionInteractor
    val repository = kosmos.fakeKeyguardTransitionRepository
    val testScope = kosmos.testScope

    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope

    private lateinit var repository: FakeKeyguardTransitionRepository
    private lateinit var underTest: KeyguardTransitionInteractor

    @Before
    fun setup() {
        repository = kosmos.fakeKeyguardTransitionRepository
        underTest = kosmos.keyguardTransitionInteractor
    }

    @Test
    fun transitionCollectorsReceivesOnlyAppropriateEvents() =
+7 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.authController
import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository
import com.android.systemui.flags.DisableSceneContainer
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.flags.andSceneContainer
import com.android.systemui.keyguard.data.repository.fakeKeyguardClockRepository
import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
@@ -47,6 +48,7 @@ import com.android.systemui.shade.data.repository.shadeRepository
import com.android.systemui.shade.domain.interactor.enableDualShade
import com.android.systemui.shade.domain.interactor.enableSingleShade
import com.android.systemui.shade.domain.interactor.enableSplitShade
import com.android.systemui.shade.domain.interactor.shadeModeInteractor
import com.android.systemui.shade.shared.model.ShadeMode
import com.android.systemui.testKosmos
import com.android.systemui.unfold.fakeUnfoldTransitionProgressProvider
@@ -123,6 +125,7 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa
        }

    @Test
    @EnableSceneContainer
    fun notificationsPlacement_dualShadeSmallClock_below() =
        kosmos.runTest {
            setupState(
@@ -135,6 +138,7 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa
        }

    @Test
    @EnableSceneContainer
    fun notificationsPlacement_dualShadeLargeClock_topStart() =
        kosmos.runTest {
            setupState(
@@ -156,6 +160,7 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa
        }

    @Test
    @EnableSceneContainer
    fun areNotificationsVisible_dualShadeWideOnLockscreen_true() =
        kosmos.runTest {
            setupState(
@@ -298,6 +303,7 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa
    ) {
        val isShadeLayoutWide by collectLastValue(kosmos.shadeRepository.isShadeLayoutWide)
        val collectedClockSize by collectLastValue(kosmos.keyguardClockInteractor.clockSize)
        val collectedShadeMode by collectLastValue(kosmos.shadeModeInteractor.shadeMode)
        when (shadeMode) {
            ShadeMode.Dual -> kosmos.enableDualShade(wideLayout = shadeLayoutWide)
            ShadeMode.Single -> kosmos.enableSingleShade()
@@ -309,6 +315,7 @@ class LockscreenContentViewModelTest(flags: FlagsParameterization) : SysuiTestCa
        if (shadeLayoutWide != null) {
            assertThat(isShadeLayoutWide).isEqualTo(shadeLayoutWide)
        }
        assertThat(collectedShadeMode).isEqualTo(shadeMode)
        assertThat(collectedClockSize).isEqualTo(clockSize)
    }

+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.qs.panels.domain.interactor
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.collectLastValue
import com.android.systemui.kosmos.runTest
@@ -34,6 +35,7 @@ import org.junit.runner.RunWith

@SmallTest
@RunWith(AndroidJUnit4::class)
@EnableSceneContainer
class GridLayoutTypeInteractorTest : SysuiTestCase() {
    val kosmos = testKosmos()

Loading