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

Commit a30237bd authored by Hasib Prince's avatar Hasib Prince
Browse files

refactoring

parent 92611c1f
Loading
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -90,8 +90,8 @@ android {

    buildTypes {
        debug {
//            versionNameSuffix ".debug"
//            applicationIdSuffix ".debug"
            versionNameSuffix ".debug"
            applicationIdSuffix ".debug"
            signingConfig signingConfigs.debugConfig
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
@@ -149,11 +149,9 @@ dependencies {

    // TODO: Add splitinstall-lib to a repo https://gitlab.e.foundation/e/os/backlog/-/issues/628
    api files('libs/splitinstall-lib.jar')
    api files('libs/gplayapi-3.0.4.jar')

    implementation 'foundation.e.lib:telemetry:0.0.8-alpha'

//    implementation 'foundation.e:gplayapi:3.0.1'
    implementation 'foundation.e:gplayapi:3.0.1-1'
    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'androidx.fragment:fragment-ktx:1.5.6'
+2 −7
Original line number Diff line number Diff line
@@ -20,10 +20,7 @@ package foundation.e.apps.data.fused

import androidx.lifecycle.LiveData
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.enums.FilterLevel
import foundation.e.apps.data.enums.Origin
@@ -120,13 +117,13 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi)
    suspend fun getAppsListBasedOnCategory(
        authData: AuthData,
        category: String,
        browseUrl: String?,
        pageUrl: String?,
        source: String
    ): ResultSupreme<Pair<List<FusedApp>, String>> {
        return when (source) {
            "Open Source" -> fusedAPIImpl.getOpenSourceApps(category)
            "PWA" -> fusedAPIImpl.getPWAApps(category)
            else -> fusedAPIImpl.getAppsByCategory(authData, category, browseUrl)
            else -> fusedAPIImpl.getGplayAppsByCategory(authData, category, pageUrl)
        }
    }

@@ -147,7 +144,5 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi)
    fun isAnyAppInstallStatusChanged(currentList: List<FusedApp>) =
        fusedAPIImpl.isAnyAppInstallStatusChanged(currentList)


    fun isOpenSourceSelected() = fusedAPIImpl.isOpenSourceSelected()

}
+1 −21
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@ import androidx.lifecycle.LiveData
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.cleanapk.data.download.Download
import foundation.e.apps.data.enums.FilterLevel
@@ -86,24 +84,6 @@ interface FusedApi {

    suspend fun getOpenSourceApps(category: String): ResultSupreme<Pair<List<FusedApp>, String>>

    suspend fun getNextStreamBundle(
        homeUrl: String,
        currentStreamBundle: StreamBundle,
    ): ResultSupreme<StreamBundle>

    suspend fun getAdjustedFirstCluster(
        streamBundle: StreamBundle,
        pointer: Int = 0,
    ): ResultSupreme<StreamCluster>

    suspend fun getNextStreamCluster(
        currentStreamCluster: StreamCluster,
    ): ResultSupreme<StreamCluster>

    suspend fun getPlayStoreApps(
        browseUrl: String,
    ): ResultSupreme<List<FusedApp>>

    /*
        * Function to search cleanapk using package name.
        * Will be used to handle f-droid deeplink.
@@ -179,5 +159,5 @@ interface FusedApi {
    fun isAnyAppInstallStatusChanged(currentList: List<FusedApp>): Boolean
    fun isOpenSourceSelected(): Boolean

    suspend fun getAppsByCategory(authData: AuthData, category: String, nextPageUrl: String?): ResultSupreme<Pair<List<FusedApp>, String>>
    suspend fun getGplayAppsByCategory(authData: AuthData, category: String, pageUrl: String?): ResultSupreme<Pair<List<FusedApp>, String>>
}
+4 −53
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Artwork
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.Category
import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
@@ -571,55 +570,6 @@ class FusedApiImpl @Inject constructor(
        return ResultSupreme.create(status, Pair(list, ""))
    }

    override suspend fun getNextStreamBundle(
        homeUrl: String,
        currentStreamBundle: StreamBundle,
    ): ResultSupreme<StreamBundle> {
        var streamBundle = StreamBundle()
        val status = runCodeBlockWithTimeout({
            streamBundle =
                gplayRepository.getAppsByCategory(homeUrl, currentStreamBundle) as StreamBundle
        })
        return ResultSupreme.create(status, streamBundle)
    }

    override suspend fun getAdjustedFirstCluster(
        streamBundle: StreamBundle,
        pointer: Int,
    ): ResultSupreme<StreamCluster> {
        var streamCluster = StreamCluster()
        val status = runCodeBlockWithTimeout({
            streamCluster =
                gplayRepository.getAppsByCategory("", Pair(streamBundle, pointer)) as StreamCluster
        })
        return ResultSupreme.create(status, streamCluster)
    }

    override suspend fun getNextStreamCluster(
        currentStreamCluster: StreamCluster,
    ): ResultSupreme<StreamCluster> {
        var streamCluster = StreamCluster()
        val status = runCodeBlockWithTimeout({
            streamCluster =
                gplayRepository.getAppsByCategory("", currentStreamCluster) as StreamCluster
        })
        return ResultSupreme.create(status, streamCluster)
    }

    override suspend fun getPlayStoreApps(
        browseUrl: String,
    ): ResultSupreme<List<FusedApp>> {
        val list = mutableListOf<FusedApp>()
        val status = runCodeBlockWithTimeout({
            list.addAll(
                (gplayRepository.getAppsByCategory(browseUrl) as List<App>).map { app ->
                    app.transformToFusedApp()
                }
            )
        })
        return ResultSupreme.create(status, list)
    }

    /*
     * Function to search cleanapk using package name.
     * Will be used to handle f-droid deeplink.
@@ -1456,7 +1406,7 @@ class FusedApiImpl @Inject constructor(
    }

    override fun isOpenSourceSelected() = preferenceManagerModule.isOpenSourceSelected()
    override suspend fun getAppsByCategory(
    override suspend fun getGplayAppsByCategory(
        authData: AuthData,
        category: String,
        pageUrl: String?
@@ -1470,6 +1420,7 @@ class FusedApiImpl @Inject constructor(
            filteredAppList.data?.let {
                fusedAppList = it.toMutableList()
            }

            nextPageUrl = streamCluster.clusterNextPageUrl
            if (!nextPageUrl.isNullOrEmpty()) {
                fusedAppList.add(FusedApp(isPlaceHolder = true))
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ import kotlinx.coroutines.flow.Flow
interface GplayStoreRepository : BaseStoreRepository {
    suspend fun getSearchResult(query: String): Flow<Pair<List<App>, Boolean>>
    suspend fun getSearchSuggestions(query: String): List<SearchSuggestEntry>
    suspend fun getAppsByCategory(category: String, paginationParameter: Any? = null): Any
    suspend fun getAppsByCategory(category: String, pageUrl: String? = null): Any
    suspend fun getCategories(type: CategoryType? = null): List<Category>
    suspend fun getAppsDetails(packageNamesOrIds: List<String>): List<App>
    suspend fun getDownloadInfo(
Loading