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

Commit 4292ee32 authored by Beverly's avatar Beverly
Browse files

Don't make an IPC to set the initialValue of isFingerprintEnabledByDevicePolicy

Instead, we can make the StateFlow a Flow to avoid requiring a
initialValue. The value was only used in the dumpsys for debugging.

Test: atest BiometricSettingsRepositoryTest
Fixes: 327277125
Flag: None
Change-Id: Ieda62c8d694d35a60fc2073cd5bde09c210eb331
parent 2966eb20
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -175,7 +175,6 @@ constructor(
        pw.println("isFingerprintAuthCurrentlyAllowed=${isFingerprintAuthCurrentlyAllowed.value}")
        pw.println("isNonStrongBiometricAllowed=${isNonStrongBiometricAllowed.value}")
        pw.println("isStrongBiometricAllowed=${isStrongBiometricAllowed.value}")
        pw.println("isFingerprintEnabledByDevicePolicy=${isFingerprintEnabledByDevicePolicy.value}")
    }

    /** UserId of the current selected user. */
@@ -324,22 +323,14 @@ constructor(
            else isNonStrongBiometricAllowed
        }

    private val isFingerprintEnabledByDevicePolicy: StateFlow<Boolean> =
        selectedUserId
            .flatMapLatest { userId ->
    private val isFingerprintEnabledByDevicePolicy: Flow<Boolean> =
        selectedUserId.flatMapLatest { userId ->
            devicePolicyChangedForAllUsers
                .transformLatest { emit(devicePolicyManager.isFingerprintDisabled(userId)) }
                .onStart { emit(devicePolicyManager.isFingerprintDisabled(userId)) }
                .flowOn(backgroundDispatcher)
                .distinctUntilChanged()
        }
            .stateIn(
                scope,
                started = SharingStarted.Eagerly,
                initialValue =
                    devicePolicyManager.isFingerprintDisabled(
                        userRepository.getSelectedUserInfo().id
                    )
            )

    override val isFingerprintEnrolledAndEnabled: StateFlow<Boolean> =
        isFingerprintEnrolled