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

Commit 5f4242e2 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

issue_5680_3: [Fix] return false from isActive() if user is UNAVAILABLE

parent a63c399e
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
package foundation.e.apps.login

import foundation.e.apps.api.ResultSupreme
import foundation.e.apps.utils.enums.User
import javax.inject.Inject
import javax.inject.Singleton

@@ -30,14 +31,24 @@ class LoginSourceCleanApk @Inject constructor(
    val loginDataStore: LoginDataStore,
) : LoginSourceInterface {

    private val user: User
        get() = loginDataStore.getUserType()

    override fun isActive(): Boolean {
        if (user == User.UNAVAILABLE) {
            /*
             * UNAVAILABLE user means first login is not completed.
             * Hence send false.
             */
            return false
        }
        return loginDataStore.isOpenSourceSelected() || loginDataStore.isPWASelected()
    }

    override suspend fun getAuthObject(): AuthObject.CleanApk {
        return AuthObject.CleanApk(
            ResultSupreme.Success(Unit),
            loginDataStore.getUserType(),
            user,
        )
    }

+7 −0
Original line number Diff line number Diff line
@@ -54,6 +54,13 @@ class LoginSourceGPlay @Inject constructor(
        get() = LoginApiRepository(gPlayLoginInterface)

    override fun isActive(): Boolean {
        if (user == User.UNAVAILABLE) {
            /*
             * UNAVAILABLE user means first login is not completed.
             * Hence send false.
             */
            return false
        }
        return loginDataStore.isGplaySelected()
    }