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

Commit f59e8dcd authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Merge branch '4320-main-app_login' into 'v4.0'

Handle MicroG login mode separately from Google

See merge request !807
parents 0eca1d4a 86e17170
Loading
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
package foundation.e.apps.domain.install

import foundation.e.apps.data.preference.PlayStoreAuthStore
import foundation.e.apps.domain.model.PlayStoreAuthSource
import foundation.e.apps.domain.model.User
import foundation.e.apps.domain.preferences.SessionRepository
import foundation.e.apps.installapp.GPlayAccountTypes
import javax.inject.Inject

class GetGPlayAccountTypeUseCase @Inject constructor(
    private val sessionRepository: SessionRepository,
    private val playStoreAuthStore: PlayStoreAuthStore,
) {
    suspend operator fun invoke(): User {
        return sessionRepository.awaitUser()
    suspend operator fun invoke(): GPlayAccountTypes {
        val user = sessionRepository.awaitUser()
        return when (user) {
            User.NO_GOOGLE -> GPlayAccountTypes.NO_GOOGLE
            User.ANONYMOUS -> GPlayAccountTypes.ANONYMOUS
            User.GOOGLE -> {
                if (playStoreAuthStore.awaitPlayStoreAuthSource() == PlayStoreAuthSource.MICROG) {
                    GPlayAccountTypes.MICROG
                } else {
                    GPlayAccountTypes.GOOGLE
                }
            }
        }
    }
}
+2 −8
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import foundation.e.apps.data.enums.Source
import foundation.e.apps.domain.install.GetEnabledSearchSourcesUseCase
import foundation.e.apps.domain.install.GetGPlayAccountTypeUseCase
import foundation.e.apps.domain.install.InstallAppByIdUseCase
import foundation.e.apps.domain.model.User
import foundation.e.apps.domain.model.install.Status
import foundation.e.apps.installapp.AppInstallationStatus
import foundation.e.apps.installapp.GPlayAccountTypes
@@ -120,13 +119,8 @@ fun Status?.toAppInstallationStatus(): AppInstallationStatus {
    }
}

fun serializeUserForInstallAppLib(userType: User?): String {
    return when (userType) {
        User.NO_GOOGLE -> GPlayAccountTypes.NO_GOOGLE
        User.ANONYMOUS -> GPlayAccountTypes.ANONYMOUS
        User.GOOGLE -> GPlayAccountTypes.GOOGLE
        null -> GPlayAccountTypes.NOT_CONFIGURED
    }.name
fun serializeUserForInstallAppLib(userType: GPlayAccountTypes?): String {
    return userType?.name ?: GPlayAccountTypes.NOT_CONFIGURED.name
}

fun serializeSourcesForInstallAppLib(sources: List<Source>): List<String> {
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ android {
                create<MavenPublication>("aar") {
                    groupId = "foundation.e.apps"
                    artifactId = "install-app-lib"
                    version = "1.0.0"
                    version = "1.0.1"

                    artifact("$buildDir/outputs/aar/${project.name}-release.aar")

+1 −0
Original line number Diff line number Diff line
@@ -4,5 +4,6 @@ enum class GPlayAccountTypes {
    NO_GOOGLE,
    ANONYMOUS,
    GOOGLE,
    MICROG,
    NOT_CONFIGURED;
}