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

Commit 89a60fcd authored by Hasib Prince's avatar Hasib Prince
Browse files

Refactor: FusedApiRepository

parent 2198b6ca
Loading
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -20,5 +20,15 @@ package foundation.e.apps.data.enums
enum class Source {
    GPLAY,
    OPEN,
    PWA,
    PWA;

    companion object {
        fun fromString(source: String): Source {
            return when (source) {
                "Open Source" -> OPEN
                "PWA" -> PWA
                else -> GPLAY
            }
        }
    }
}
+5 −3
Original line number Diff line number Diff line
@@ -22,9 +22,11 @@ import androidx.lifecycle.LiveData
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.enums.AppTag
import foundation.e.apps.data.enums.FilterLevel
import foundation.e.apps.data.enums.Origin
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.enums.Source
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.data.fused.data.FusedCategory
@@ -118,11 +120,11 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi)
        authData: AuthData,
        category: String,
        pageUrl: String?,
        source: String
        source: Source
    ): ResultSupreme<Pair<List<FusedApp>, String>> {
        return when (source) {
            "Open Source" -> fusedAPIImpl.getOpenSourceApps(category)
            "PWA" -> fusedAPIImpl.getPWAApps(category)
            Source.OPEN -> fusedAPIImpl.getOpenSourceApps(category)
            Source.PWA -> fusedAPIImpl.getPWAApps(category)
            else -> fusedAPIImpl.getGplayAppsByCategory(authData, category, pageUrl)
        }
    }
+4 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.enums.AppTag
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.enums.Source
import foundation.e.apps.data.fused.FusedAPIRepository
@@ -75,13 +76,14 @@ class ApplicationListViewModel @Inject constructor(
        if (isLoading) {
            return
        }

        viewModelScope.launch(Dispatchers.IO) {
            isLoading = true
            val result = fusedAPIRepository.getAppsListBasedOnCategory(
                authData,
                category,
                nextPageUrl,
                source
                Source.fromString(source)
            ).apply {
                isLoading = false
            }
@@ -145,7 +147,7 @@ class ApplicationListViewModel @Inject constructor(
                authData,
                category,
                nextPageUrl,
                Source.GPLAY.toString()
                Source.GPLAY
            )
            isLoading = false