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

Commit 1dd26494 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

Merge branch '1652-oss_search_fix' into 'main'

Issue 1652 - Fix open source apps search

See merge request !376
parents 17c977d2 2f5aaee9
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -140,6 +140,11 @@ class SearchFragment :
                    if (!requireContext().isNetworkAvailable()) {
                        return
                    }

                    if (authObjects.value?.none { it is AuthObject.GPlayAuth } == true) {
                        return
                    }

                    searchViewModel.loadMore(searchText)
                }
            }
+11 −4
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ class SearchViewModel @Inject constructor(
            }

            successAuthList.find { it is AuthObject.CleanApk }?.run {
                getSearchResults(query, AuthData("", ""), lifecycleOwner)
                getSearchResults(query, null, lifecycleOwner)
                return@onLoadData
            }
        }, retryBlock)
@@ -105,17 +105,20 @@ class SearchViewModel @Inject constructor(
     */
    private fun getSearchResults(
        query: String,
        authData: AuthData,
        authData: AuthData?,
        lifecycleOwner: LifecycleOwner
    ) {
        viewModelScope.launch(Dispatchers.IO) {
            val searchResultSupreme = fusedAPIRepository.getCleanApkSearchResults(query, authData)
            val searchResultSupreme = fusedAPIRepository.getCleanApkSearchResults(
                query,
                authData ?: AuthData("", "")
            )

            searchResult.postValue(searchResultSupreme)

            if (!searchResultSupreme.isSuccess()) {
                val exception =
                    if (authData.aasToken.isNotBlank() || authData.authToken.isNotBlank()) {
                    if (authData != null) {
                        GPlayException(
                            searchResultSupreme.isTimeout(),
                            searchResultSupreme.message.ifBlank { DATA_LOAD_ERROR }
@@ -130,6 +133,10 @@ class SearchViewModel @Inject constructor(
                handleException(exception)
            }

            if (authData == null) {
                return@launch
            }

            nextSubBundle = null
            fetchGplayData(query)
        }