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

Commit baadf6ac authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Rename LoginDataStore to LoginData

parent 2563176b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -28,11 +28,11 @@ import javax.inject.Singleton
 */
@Singleton
class CleanApkAuthenticator @Inject constructor(
    val loginDataStore: LoginDataStore,
    val loginData: LoginData,
) : StoreAuthenticator {

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

    override fun isStoreActive(): Boolean {
        if (user == User.UNAVAILABLE) {
@@ -41,7 +41,7 @@ class CleanApkAuthenticator @Inject constructor(
             */
            return false
        }
        return loginDataStore.isOpenSourceSelected() || loginDataStore.isPWASelected()
        return loginData.isOpenSourceSelected() || loginData.isPWASelected()
    }

    override suspend fun getAuthObject(): AuthObject.CleanApk {
+11 −11
Original line number Diff line number Diff line
@@ -43,14 +43,14 @@ import javax.inject.Singleton
class GooglePlayAuthenticator @Inject constructor(
    @ApplicationContext private val context: Context,
    private val gson: Gson,
    private val loginDataStore: LoginDataStore,
    private val loginData: LoginData,
) : StoreAuthenticator, AuthDataValidator {

    @Inject
    lateinit var gPlayApiFactory: GPlayApiFactory

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

    private val gPlayLoginInterface: GPlayLoginInterface
        get() = gPlayApiFactory.getGPlayApi(user)
@@ -68,7 +68,7 @@ class GooglePlayAuthenticator @Inject constructor(
             */
            return false
        }
        return loginDataStore.isGplaySelected()
        return loginData.isGplaySelected()
    }

    /**
@@ -103,7 +103,7 @@ class GooglePlayAuthenticator @Inject constructor(
    }

    override suspend fun clearSavedAuth() {
        loginDataStore.clearAuthData()
        loginData.clearAuthData()
    }

    /**
@@ -111,7 +111,7 @@ class GooglePlayAuthenticator @Inject constructor(
     * Returns null if nothing is saved.
     */
    private fun getSavedAuthData(): AuthData? {
        val authJson = loginDataStore.getAuthData()
        val authJson = loginData.getAuthData()
        return if (authJson.isBlank()) null
        else try {
            gson.fromJson(authJson, AuthData::class.java)
@@ -122,20 +122,20 @@ class GooglePlayAuthenticator @Inject constructor(
    }

    private suspend fun saveAuthData(authData: AuthData) {
        loginDataStore.saveAuthData(authData)
        loginData.saveAuthData(authData)
    }

    /**
     * Generate new AuthData based on the user type.
     */
    private suspend fun generateAuthData(): ResultSupreme<AuthData?> {
        return when (loginDataStore.getUserType()) {
        return when (loginData.getUserType()) {
            User.ANONYMOUS -> getAuthData()
            User.GOOGLE -> {
                getAuthData(
                    loginDataStore.getEmail(),
                    loginDataStore.getOAuthToken(),
                    loginDataStore.getAASToken()
                    loginData.getEmail(),
                    loginData.getOAuthToken(),
                    loginData.getAASToken()
                )
            }
            else -> ResultSupreme.Error("User type not ANONYMOUS or GOOGLE")
@@ -205,7 +205,7 @@ class GooglePlayAuthenticator @Inject constructor(
        /*
         * Finally save the aasToken and create auth data.
         */
        loginDataStore.saveAasToken(aasTokenFetched)
        loginData.saveAasToken(aasTokenFetched)
        return loginApiRepository.fetchAuthData(email, aasTokenFetched, locale).run {
            if (isSuccess()) ResultSupreme.Success(formatAuthData(this.data!!))
            else this
+13 −13
Original line number Diff line number Diff line
@@ -30,33 +30,33 @@ import javax.inject.Singleton
 */
@Singleton
class LoginCommon @Inject constructor(
    private val loginDataStore: LoginDataStore,
    private val loginData: LoginData,
) {
    suspend fun saveUserType(user: User) {
        loginDataStore.saveUserType(user)
        loginData.saveUserType(user)
    }

    fun getUserType(): User {
        return loginDataStore.getUserType()
        return loginData.getUserType()
    }

    suspend fun saveGoogleLogin(email: String, oauth: String) {
        loginDataStore.saveGoogleLogin(email, oauth)
        loginData.saveGoogleLogin(email, oauth)
    }

    suspend fun setNoGoogleMode() {
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_FOSS, true)
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_PWA, true)
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_GPLAY, false)
        loginDataStore.saveUserType(User.NO_GOOGLE)
        loginData.setSource(Constants.PREFERENCE_SHOW_FOSS, true)
        loginData.setSource(Constants.PREFERENCE_SHOW_PWA, true)
        loginData.setSource(Constants.PREFERENCE_SHOW_GPLAY, false)
        loginData.saveUserType(User.NO_GOOGLE)
    }

    suspend fun logout() {
        loginDataStore.destroyCredentials()
        loginDataStore.clearUserType()
        loginData.destroyCredentials()
        loginData.clearUserType()
        // reset app source preferences on logout.
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_FOSS, true)
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_PWA, true)
        loginDataStore.setSource(Constants.PREFERENCE_SHOW_GPLAY, true)
        loginData.setSource(Constants.PREFERENCE_SHOW_FOSS, true)
        loginData.setSource(Constants.PREFERENCE_SHOW_PWA, true)
        loginData.setSource(Constants.PREFERENCE_SHOW_GPLAY, true)
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ import javax.inject.Inject
import javax.inject.Singleton

@Singleton
class LoginDataStore @Inject constructor(
class LoginData @Inject constructor(
    @ApplicationContext
    private val context: Context,
    private val gson: Gson