Loading app/build.gradle +3 −5 Original line number Diff line number Diff line Loading @@ -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' } Loading Loading @@ -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' Loading app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt +2 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) } } Loading @@ -147,7 +144,5 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi) fun isAnyAppInstallStatusChanged(currentList: List<FusedApp>) = fusedAPIImpl.isAnyAppInstallStatusChanged(currentList) fun isOpenSourceSelected() = fusedAPIImpl.isOpenSourceSelected() } app/src/main/java/foundation/e/apps/data/fused/FusedApi.kt +1 −21 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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>> } app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt +4 −53 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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? Loading @@ -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)) Loading app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
app/build.gradle +3 −5 Original line number Diff line number Diff line Loading @@ -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' } Loading Loading @@ -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' Loading
app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt +2 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) } } Loading @@ -147,7 +144,5 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedApi) fun isAnyAppInstallStatusChanged(currentList: List<FusedApp>) = fusedAPIImpl.isAnyAppInstallStatusChanged(currentList) fun isOpenSourceSelected() = fusedAPIImpl.isOpenSourceSelected() }
app/src/main/java/foundation/e/apps/data/fused/FusedApi.kt +1 −21 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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>> }
app/src/main/java/foundation/e/apps/data/fused/FusedApiImpl.kt +4 −53 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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. Loading Loading @@ -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? Loading @@ -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)) Loading
app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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