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

Commit 1e4ea01a authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Add extra logs for alternateBouncer

Added logs to the dumpsys and TableLogger (BouncerLog).

Test: See logs in sysui dumpys & bugreport
Bug: 267879504
Change-Id: I98cc35bc7e63e9a4611504db173d4d573afee2d0
parent a858b620
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.IntentFilter
import android.os.Looper
import android.os.UserHandle
import com.android.internal.widget.LockPatternUtils
import com.android.systemui.Dumpable
import com.android.systemui.biometrics.AuthController
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
@@ -31,7 +32,9 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.user.data.repository.UserRepository
import java.io.PrintWriter
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
@@ -81,7 +84,18 @@ constructor(
    @Application scope: CoroutineScope,
    @Background backgroundDispatcher: CoroutineDispatcher,
    @Main looper: Looper,
) : BiometricSettingsRepository {
    dumpManager: DumpManager,
) : BiometricSettingsRepository, Dumpable {

    init {
        dumpManager.registerDumpable(this)
    }

    override fun dump(pw: PrintWriter, args: Array<String?>) {
        pw.println("isFingerprintEnrolled=${isFingerprintEnrolled.value}")
        pw.println("isStrongBiometricAllowed=${isStrongBiometricAllowed.value}")
        pw.println("isFingerprintEnabledByDevicePolicy=${isFingerprintEnabledByDevicePolicy.value}")
    }

    /** UserId of the current selected user. */
    private val selectedUserId: Flow<Int> =
+13 −1
Original line number Diff line number Diff line
@@ -19,10 +19,13 @@ package com.android.systemui.keyguard.data.repository
import android.hardware.biometrics.BiometricSourceType
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.Dumpable
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dump.DumpManager
import java.io.PrintWriter
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.awaitClose
@@ -49,7 +52,16 @@ class DeviceEntryFingerprintAuthRepositoryImpl
constructor(
    val keyguardUpdateMonitor: KeyguardUpdateMonitor,
    @Application scope: CoroutineScope,
) : DeviceEntryFingerprintAuthRepository {
    dumpManager: DumpManager,
) : DeviceEntryFingerprintAuthRepository, Dumpable {

    init {
        dumpManager.registerDumpable(this)
    }

    override fun dump(pw: PrintWriter, args: Array<String?>) {
        pw.println("isLockedOut=${isLockedOut.value}")
    }

    override val isLockedOut: StateFlow<Boolean> =
        conflatedCallbackFlow {
+8 −5
Original line number Diff line number Diff line
@@ -158,18 +158,18 @@ constructor(
    override val bouncerErrorMessage: CharSequence?
        get() = viewMediatorCallback.consumeCustomMessage()

    init {
        setUpLogging()
    }

    /** Values associated with the AlternateBouncer */
    private val _isAlternateBouncerVisible = MutableStateFlow(false)
    override val isAlternateBouncerVisible = _isAlternateBouncerVisible.asStateFlow()
    override var lastAlternateBouncerVisibleTime: Long = NOT_VISIBLE
    private val _isAlternateBouncerUIAvailable = MutableStateFlow<Boolean>(false)
    private val _isAlternateBouncerUIAvailable = MutableStateFlow(false)
    override val isAlternateBouncerUIAvailable: StateFlow<Boolean> =
        _isAlternateBouncerUIAvailable.asStateFlow()

    init {
        setUpLogging()
    }

    override fun setPrimaryScrimmed(isScrimmed: Boolean) {
        _primaryBouncerScrimmed.value = isScrimmed
    }
@@ -290,6 +290,9 @@ constructor(
        resourceUpdateRequests
            .logDiffsForTable(buffer, "", "ResourceUpdateRequests", false)
            .launchIn(applicationScope)
        isAlternateBouncerUIAvailable
            .logDiffsForTable(buffer, "", "IsAlternateBouncerUIAvailable", false)
            .launchIn(applicationScope)
    }

    companion object {
+3 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUT
import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.AuthController
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.dump.DumpManager
import com.android.systemui.user.data.repository.FakeUserRepository
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.whenever
@@ -56,6 +57,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
    @Mock private lateinit var authController: AuthController
    @Mock private lateinit var lockPatternUtils: LockPatternUtils
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var dumpManager: DumpManager
    private lateinit var userRepository: FakeUserRepository

    private lateinit var testDispatcher: TestDispatcher
@@ -85,6 +87,7 @@ class BiometricSettingsRepositoryTest : SysuiTestCase() {
                scope = testScope.backgroundScope,
                backgroundDispatcher = testDispatcher,
                looper = testableLooper!!.looper,
                dumpManager = dumpManager,
            )
    }

+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.dump.DumpManager
import com.android.systemui.util.mockito.whenever
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -44,6 +45,7 @@ import org.mockito.MockitoAnnotations
@RunWith(JUnit4::class)
class DeviceEntryFingerprintAuthRepositoryTest : SysuiTestCase() {
    @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor
    @Mock private lateinit var dumpManager: DumpManager
    @Captor private lateinit var callbackCaptor: ArgumentCaptor<KeyguardUpdateMonitorCallback>

    private lateinit var testScope: TestScope
@@ -59,6 +61,7 @@ class DeviceEntryFingerprintAuthRepositoryTest : SysuiTestCase() {
            DeviceEntryFingerprintAuthRepositoryImpl(
                keyguardUpdateMonitor,
                testScope.backgroundScope,
                dumpManager,
            )
    }