From 8a33685073c2d7afc28a2bbddab98173e1322eef Mon Sep 17 00:00:00 2001 From: hasibprince Date: Fri, 28 Oct 2022 21:18:59 +0600 Subject: [PATCH 1/3] fixed: showing search result from gplay --- .../e/apps/api/fused/FusedAPIImpl.kt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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 1ada969bf..0c2f8aca6 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 @@ -247,6 +247,15 @@ class FusedAPIImpl @Inject constructor( )?.let { emit(it) } } + if (preferenceManagerModule.isPWASelected()) { + fetchPWASearchResult( + this@FusedAPIImpl, + query, + searchResult, + packageSpecificResults + )?.let { emit(it) } + } + if (preferenceManagerModule.isGplaySelected()) { emitSource( fetchGplaySearchResults( @@ -257,15 +266,6 @@ class FusedAPIImpl @Inject constructor( ) ) } - - if (preferenceManagerModule.isPWASelected()) { - fetchPWASearchResult( - this@FusedAPIImpl, - query, - searchResult, - packageSpecificResults - )?.let { emit(it) } - } } } -- GitLab From fbddd534f0b34c34dec307b10c41243abf44932c Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 1 Nov 2022 16:41:02 +0530 Subject: [PATCH 2/3] Issue 742: Fix search continuously loading if search result if empty --- .../e/apps/api/fused/FusedAPIImpl.kt | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) 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 0c2f8aca6..92ee10913 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 @@ -244,7 +244,7 @@ class FusedAPIImpl @Inject constructor( query, searchResult, packageSpecificResults - )?.let { emit(it) } + ).let { emit(it) } } if (preferenceManagerModule.isPWASelected()) { @@ -253,7 +253,7 @@ class FusedAPIImpl @Inject constructor( query, searchResult, packageSpecificResults - )?.let { emit(it) } + ).let { emit(it) } } if (preferenceManagerModule.isGplaySelected()) { @@ -274,7 +274,7 @@ class FusedAPIImpl @Inject constructor( query: String, searchResult: MutableList, packageSpecificResults: ArrayList - ): ResultSupreme, Boolean>>? { + ): ResultSupreme, Boolean>> { val pwaApps: MutableList = mutableListOf() val status = fusedAPIImpl.runCodeBlockWithTimeout({ getCleanAPKSearchResults( @@ -290,19 +290,19 @@ class FusedAPIImpl @Inject constructor( if (pwaApps.isNotEmpty() || status != ResultStatus.OK) { searchResult.addAll(pwaApps) - return ResultSupreme.create( - status, - Pair( - filterWithKeywordSearch( - searchResult, - packageSpecificResults, - query - ), - false - ) - ) } - return null + + return ResultSupreme.create( + status, + Pair( + filterWithKeywordSearch( + searchResult, + packageSpecificResults, + query + ), + preferenceManagerModule.isGplaySelected() + ) + ) } private fun fetchGplaySearchResults( @@ -333,26 +333,26 @@ class FusedAPIImpl @Inject constructor( query: String, searchResult: MutableList, packageSpecificResults: ArrayList - ): ResultSupreme, Boolean>>? { + ): ResultSupreme, Boolean>> { val status = fusedAPIImpl.runCodeBlockWithTimeout({ cleanApkResults.addAll(getCleanAPKSearchResults(query)) }) - if (cleanApkResults.isNotEmpty() || status != ResultStatus.OK) { + if (cleanApkResults.isNotEmpty()) { searchResult.addAll(cleanApkResults) - return ResultSupreme.create( - status, - Pair( - filterWithKeywordSearch( - searchResult, - packageSpecificResults, - query - ), - preferenceManagerModule.isGplaySelected() || preferenceManagerModule.isPWASelected() - ) - ) } - return null + + return ResultSupreme.create( + status, + Pair( + filterWithKeywordSearch( + searchResult, + packageSpecificResults, + query + ), + preferenceManagerModule.isGplaySelected() || preferenceManagerModule.isPWASelected() + ) + ) } private suspend fun fetchPackageSpecificResult( -- GitLab From 9e7601533cc32076f5fc048fcae71dbe43db7d8e Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 1 Nov 2022 16:50:36 +0530 Subject: [PATCH 3/3] Issue 742: Do not show "No apps found" in search till loading status is false --- app/src/main/java/foundation/e/apps/search/SearchFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/search/SearchFragment.kt b/app/src/main/java/foundation/e/apps/search/SearchFragment.kt index 90a95147d..58aa1075a 100644 --- a/app/src/main/java/foundation/e/apps/search/SearchFragment.kt +++ b/app/src/main/java/foundation/e/apps/search/SearchFragment.kt @@ -131,7 +131,7 @@ class SearchFragment : private fun observeSearchResult(listAdapter: ApplicationListRVAdapter?) { searchViewModel.searchResult.observe(viewLifecycleOwner) { - if (it.data?.first.isNullOrEmpty()) { + if (it.data?.first.isNullOrEmpty() && it.data?.second == false) { noAppsFoundLayout?.visibility = View.VISIBLE } else { if (!updateSearchResult(listAdapter, it)) return@observe -- GitLab