diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index fc32cadebf3f08cc325876bc3a07cf39154ba9e5..1b998ed9053a7d1fe79c42039da25db0b2c3f019 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -225,6 +225,8 @@ class FusedAPIImpl @Inject constructor( */ return liveData { val packageSpecificResults = ArrayList() + var gplayPackageResult: FusedApp? = null + var cleanapkPackageResult: FusedApp? = null val status = runCodeBlockWithTimeout({ if (preferenceManagerModule.preferredApplicationType() == APP_TYPE_ANY) { @@ -235,7 +237,7 @@ class FusedAPIImpl @Inject constructor( */ getApplicationDetails(query, query, authData, Origin.GPLAY).let { if (it.second == ResultStatus.OK) { - packageSpecificResults.add(it.first) + gplayPackageResult = it.first } } } catch (_: Exception) {} @@ -246,11 +248,20 @@ class FusedAPIImpl @Inject constructor( * Blank result to be filtered out. */ if (it.isSuccess() && it.data!!.package_name.isNotBlank()) { - packageSpecificResults.add(it.data!!) + cleanapkPackageResult = it.data!! } } }) + /* + * Currently only show open source package result if exists in both fdroid and gplay. + * This is temporary. + * Issue: https://gitlab.e.foundation/e/backlog/-/issues/5783 + */ + cleanapkPackageResult?.let { packageSpecificResults.add(it) } ?: run { + gplayPackageResult?.let { packageSpecificResults.add(it) } + } + /* * If there was a timeout, return it and don't try to fetch anything else. * Also send true in the pair to signal more results being loaded.