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

Commit ee17bc3d authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

Merge branch '742-gplay_search_result' into 'main'

Issue 742, 6064: fixed: showing gplay search result

See merge request !230
parents 57412390 9dcdf248
Loading
Loading
Loading
Loading
Loading
+37 −37
Original line number Diff line number Diff line
@@ -228,7 +228,16 @@ class FusedAPIImpl @Inject constructor(
                    query,
                    searchResult,
                    packageSpecificResults
                )?.let { emit(it) }
                ).let { emit(it) }
            }

            if (preferenceManagerModule.isPWASelected()) {
                fetchPWASearchResult(
                    this@FusedAPIImpl,
                    query,
                    searchResult,
                    packageSpecificResults
                ).let { emit(it) }
            }

            if (preferenceManagerModule.isGplaySelected()) {
@@ -241,15 +250,6 @@ class FusedAPIImpl @Inject constructor(
                    )
                )
            }

            if (preferenceManagerModule.isPWASelected()) {
                fetchPWASearchResult(
                    this@FusedAPIImpl,
                    query,
                    searchResult,
                    packageSpecificResults
                )?.let { emit(it) }
            }
        }
    }

@@ -258,7 +258,7 @@ class FusedAPIImpl @Inject constructor(
        query: String,
        searchResult: MutableList<FusedApp>,
        packageSpecificResults: ArrayList<FusedApp>
    ): ResultSupreme<Pair<List<FusedApp>, Boolean>>? {
    ): ResultSupreme<Pair<List<FusedApp>, Boolean>> {
        val pwaApps: MutableList<FusedApp> = mutableListOf()
        val status = fusedAPIImpl.runCodeBlockWithTimeout({
            getCleanAPKSearchResults(
@@ -274,6 +274,8 @@ class FusedAPIImpl @Inject constructor(

        if (pwaApps.isNotEmpty() || status != ResultStatus.OK) {
            searchResult.addAll(pwaApps)
        }

        return ResultSupreme.create(
            status,
            Pair(
@@ -282,12 +284,10 @@ class FusedAPIImpl @Inject constructor(
                    packageSpecificResults,
                    query
                ),
                    false
                preferenceManagerModule.isGplaySelected()
            )
        )
    }
        return null
    }

    private fun fetchGplaySearchResults(
        query: String,
@@ -317,13 +317,15 @@ class FusedAPIImpl @Inject constructor(
        query: String,
        searchResult: MutableList<FusedApp>,
        packageSpecificResults: ArrayList<FusedApp>
    ): ResultSupreme<Pair<List<FusedApp>, Boolean>>? {
    ): ResultSupreme<Pair<List<FusedApp>, 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(
@@ -336,8 +338,6 @@ class FusedAPIImpl @Inject constructor(
            )
        )
    }
        return null
    }

    private suspend fun fetchPackageSpecificResult(
        authData: AuthData,
+1 −1
Original line number Diff line number Diff line
@@ -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