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

Commit 9dcdf248 authored by Hasib Prince's avatar Hasib Prince Committed by Sayantan Roychowdhury
Browse files

Issue 742, 6064: fixed: showing gplay search result

parent c20c3b24
Loading
Loading
Loading
Loading
+37 −37
Original line number Diff line number Diff line
@@ -244,7 +244,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()) {
@@ -257,15 +266,6 @@ class FusedAPIImpl @Inject constructor(
                    )
                )
            }

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

@@ -274,7 +274,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(
@@ -290,6 +290,8 @@ class FusedAPIImpl @Inject constructor(

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

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

    private fun fetchGplaySearchResults(
        query: String,
@@ -333,13 +333,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(
@@ -352,8 +354,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