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

Commit 36866fd9 authored by Nishith  Khanna's avatar Nishith Khanna
Browse files

Merge branch '3200-a14-qwant' into 'a14'

Add Murena Qwant support for BlissLauncher

See merge request e/os/BlissLauncher3!111
parents 3f6d8067 9f31fd0c
Loading
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ object SearchSuggestionUtil {
    fun getSuggestionProvider(context: Context): SuggestionProvider {
        return with(defaultSearchEngine(context)) {
            when {
                contains(Providers.QWANT.key, true) -> QwantProvider()
                contains(Providers.QWANT.key, true) || contains(Providers.MURENASEARCH.key, true) ->
                    QwantProvider()
                else -> DuckDuckGoProvider()
            }
        }
@@ -39,10 +40,13 @@ object SearchSuggestionUtil {

        return with(defaultSearchEngine) {
            when {
                contains(Providers.MURENASEARCH.key, true) ->
                    "${Providers.MURENASEARCH.url}?q=$query"
                contains(Providers.QWANT.key, true) -> "${Providers.QWANT.url}?q=$query"
                contains(Providers.DUCKDUCKGO.key, true) -> "${Providers.DUCKDUCKGO.url}?q=$query"
                contains(Providers.MOJEEK.key, true) -> "${Providers.MOJEEK.url}search?q=$query"
                else -> "${Providers.SPOT.url}?q=$query"
                contains(Providers.SPOT.key, true) -> "${Providers.SPOT.url}?q=$query"
                else -> "${Providers.MURENASEARCH.url}?q=$query"
            }.toUri()
        }
    }
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ interface SuggestionProvider {
enum class Providers(val key: String, val url: String) {
    DUCKDUCKGO("duckduckgo", "https://duckduckgo.com/"),
    QWANT("qwant", "https://www.qwant.com/"),
    MURENASEARCH("murena search", "https://murena.qwant.com/"),
    SPOT("spot", "https://spot.murena.io/"),
    MOJEEK("mojeek", "https://www.mojeek.com/")
}
+18 −8
Original line number Diff line number Diff line
@@ -17,10 +17,12 @@
 */
package foundation.e.bliss.suggestions.qwant

import android.util.Log
import foundation.e.bliss.suggestions.RetrofitService
import foundation.e.bliss.suggestions.SuggestionProvider
import foundation.e.bliss.suggestions.SuggestionsResult
import java.io.IOException
import retrofit2.HttpException
import timber.log.Timber

class QwantProvider : SuggestionProvider {

@@ -28,13 +30,21 @@ class QwantProvider : SuggestionProvider {
        get() = RetrofitService.getInstance(QwantApi.BASE_URL).create(QwantApi::class.java)

    override suspend fun query(query: String): SuggestionsResult {
        return try {
            val result = suggestionService.query(query)
        Log.d("QwantProvider", "Result: $result")
        return SuggestionsResult(query).apply {
            Timber.d("Result: $result")
            SuggestionsResult(query).apply {
                networkItems =
                    if (result.status == "success") {
                        result.data?.items?.map { it.value }?.take(3) ?: emptyList()
                    } else emptyList()
            }
        } catch (e: HttpException) {
            Timber.e("HTTP error: ${e.code()} - ${e.message()}")
            SuggestionsResult(query).apply { networkItems = emptyList() }
        } catch (e: IOException) {
            Timber.e("IO error: $e - ${e.message}")
            SuggestionsResult(query).apply { networkItems = emptyList() }
        }
    }
}