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

Commit c31bf405 authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

[flexiglass] Hydrates system server with isDeviceLocked state.

See associated bug for details of debugging and implementation design.

Fix: 343211758
Test: unit tests added
Test: manually verified with adb shell dumpsys trust | grep deviceLocked
that the deviceLocked state is =1 when locked and =0 when unlocked
Test: manually verified with adb shell setprop
log.tag.TrustManagerService VERBOSE && adb shell stop && adb shell start
&& adb logcat -s TrustManagerService | grep handler that the order of
received message IDs matches with flexiglass on and off when unlocking
or locking
Test: manually verified that the overview screenshots are shown, see
b/347789654 for more information
Flag: com.android.systemui.scene_container

Change-Id: I07449eacbb4c3cc053f4f27483894e5305d4f3b6
parent 8dd80d76
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -38,7 +38,7 @@ import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.flags.Flags
import com.android.systemui.flags.Flags
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.flags.fakeFeatureFlagsClassic
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
import com.android.systemui.scene.domain.interactor.sceneContainerStartable
import com.android.systemui.scene.domain.startable.sceneContainerStartable
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.testKosmos
import com.android.systemui.testKosmos
+17 −2
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import kotlinx.coroutines.test.runTest
@@ -61,7 +62,8 @@ class TrustRepositoryTest : SysuiTestCase() {
    @Before
    @Before
    fun setUp() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)
        testScope = TestScope()
        val testDispatcher = StandardTestDispatcher()
        testScope = TestScope(testDispatcher)
        userRepository = FakeUserRepository()
        userRepository = FakeUserRepository()
        userRepository.setUserInfos(users)
        userRepository.setUserInfos(users)
        val logger =
        val logger =
@@ -69,7 +71,13 @@ class TrustRepositoryTest : SysuiTestCase() {
                LogBuffer("TestBuffer", 1, mock(LogcatEchoTracker::class.java), false)
                LogBuffer("TestBuffer", 1, mock(LogcatEchoTracker::class.java), false)
            )
            )
        underTest =
        underTest =
            TrustRepositoryImpl(testScope.backgroundScope, userRepository, trustManager, logger)
            TrustRepositoryImpl(
                testScope.backgroundScope,
                testDispatcher,
                userRepository,
                trustManager,
                logger,
            )
    }
    }


    fun TestScope.init() {
    fun TestScope.init() {
@@ -275,4 +283,11 @@ class TrustRepositoryTest : SysuiTestCase() {
            userRepository.setSelectedUserInfo(users[1])
            userRepository.setSelectedUserInfo(users[1])
            assertThat(trustUsuallyManaged).isFalse()
            assertThat(trustUsuallyManaged).isFalse()
        }
        }

    @Test
    fun reportKeyguardShowingChanged() =
        testScope.runTest {
            underTest.reportKeyguardShowingChanged()
            verify(trustManager).reportKeyguardShowingChanged()
        }
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -42,9 +42,9 @@ import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsViewModel
import com.android.systemui.qs.ui.adapter.FakeQSSceneAdapter
import com.android.systemui.qs.ui.adapter.FakeQSSceneAdapter
import com.android.systemui.res.R
import com.android.systemui.res.R
import com.android.systemui.scene.domain.interactor.sceneBackInteractor
import com.android.systemui.scene.domain.interactor.sceneBackInteractor
import com.android.systemui.scene.domain.interactor.sceneContainerStartable
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.domain.resolver.homeSceneFamilyResolver
import com.android.systemui.scene.domain.resolver.homeSceneFamilyResolver
import com.android.systemui.scene.domain.startable.sceneContainerStartable
import com.android.systemui.scene.shared.model.SceneFamilies
import com.android.systemui.scene.shared.model.SceneFamilies
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.settings.brightness.ui.viewmodel.brightnessMirrorViewModel
import com.android.systemui.settings.brightness.ui.viewmodel.brightnessMirrorViewModel
+1 −1
Original line number Original line Diff line number Diff line
@@ -58,9 +58,9 @@ import com.android.systemui.power.domain.interactor.powerInteractor
import com.android.systemui.qs.footerActionsController
import com.android.systemui.qs.footerActionsController
import com.android.systemui.qs.footerActionsViewModelFactory
import com.android.systemui.qs.footerActionsViewModelFactory
import com.android.systemui.qs.ui.adapter.FakeQSSceneAdapter
import com.android.systemui.qs.ui.adapter.FakeQSSceneAdapter
import com.android.systemui.scene.domain.interactor.sceneContainerStartable
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.domain.interactor.sceneInteractor
import com.android.systemui.scene.domain.resolver.homeSceneFamilyResolver
import com.android.systemui.scene.domain.resolver.homeSceneFamilyResolver
import com.android.systemui.scene.domain.startable.sceneContainerStartable
import com.android.systemui.scene.shared.model.SceneFamilies
import com.android.systemui.scene.shared.model.SceneFamilies
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.fakeSceneDataSource
import com.android.systemui.scene.shared.model.fakeSceneDataSource
+1 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.authentication.domain.interactor.authenticationInter
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.flags.EnableSceneContainer
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
import com.android.systemui.scene.domain.startable.sceneContainerStartable
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.testKosmos
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
Loading