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

Commit f904294d authored by Josh Tsuji's avatar Josh Tsuji
Browse files

Initialize isKeyguardEnabled from LockPatternUtils.

The device knows upon boot whether keyguard is enabled or not - defaulting to true is not an accurate reflection of the device state and causes issues when the initial false value comes in after a true emission.

Bug: 278086361
Test: atest SystemUITests
Flag: EXEMPT bugfix
Change-Id: Ic749f8ad0dff8f0ebb7cf02310c4a160a03e6e08
parent 9962f020
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.graphics.Point
import android.hardware.biometrics.BiometricSourceType
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.widget.LockPatternUtils
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.SysuiTestCase
@@ -73,6 +74,7 @@ class KeyguardRepositoryImplTest : SysuiTestCase() {
    @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
    @Mock private lateinit var dreamOverlayCallbackController: DreamOverlayCallbackController
    @Mock private lateinit var userTracker: UserTracker
    @Mock private lateinit var lockPatternUtils: LockPatternUtils
    @Captor private lateinit var updateCallbackCaptor: ArgumentCaptor<KeyguardUpdateMonitorCallback>
    private val mainDispatcher = StandardTestDispatcher()
    private val testDispatcher = StandardTestDispatcher()
@@ -100,6 +102,7 @@ class KeyguardRepositoryImplTest : SysuiTestCase() {
                systemClock,
                facePropertyRepository,
                userTracker,
                lockPatternUtils,
            )
    }

+4 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.keyguard.data.repository

import android.graphics.Point
import com.android.internal.widget.LockPatternUtils
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.biometrics.AuthController
@@ -311,6 +312,7 @@ constructor(
    private val systemClock: SystemClock,
    facePropertyRepository: FacePropertyRepository,
    private val userTracker: UserTracker,
    lockPatternUtils: LockPatternUtils,
) : KeyguardRepository {
    private val _dismissAction: MutableStateFlow<DismissAction> =
        MutableStateFlow(DismissAction.None)
@@ -468,7 +470,8 @@ constructor(
        awaitClose { keyguardStateController.removeCallback(callback) }
    }

    private val _isKeyguardEnabled = MutableStateFlow(true)
    private val _isKeyguardEnabled =
        MutableStateFlow(!lockPatternUtils.isLockScreenDisabled(userTracker.userId))
    override val isKeyguardEnabled: StateFlow<Boolean> = _isKeyguardEnabled.asStateFlow()

    private val _isDozing = MutableStateFlow(statusBarStateController.isDozing)