diff --git a/lawnchair/res/drawable/ic_firefox.xml b/lawnchair/res/drawable/ic_firefox.xml new file mode 100644 index 00000000000..247d797bcfe --- /dev/null +++ b/lawnchair/res/drawable/ic_firefox.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/lawnchair/res/drawable/ic_firefox_tinted.xml b/lawnchair/res/drawable/ic_firefox_tinted.xml new file mode 100644 index 00000000000..4beb0fdbdac --- /dev/null +++ b/lawnchair/res/drawable/ic_firefox_tinted.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/lawnchair/res/drawable/ic_iceraven.xml b/lawnchair/res/drawable/ic_iceraven.xml new file mode 100644 index 00000000000..7308766f81f --- /dev/null +++ b/lawnchair/res/drawable/ic_iceraven.xml @@ -0,0 +1,14 @@ + + + + diff --git a/lawnchair/res/drawable/ic_iceraven_tinted.xml b/lawnchair/res/drawable/ic_iceraven_tinted.xml new file mode 100644 index 00000000000..72268352ec1 --- /dev/null +++ b/lawnchair/res/drawable/ic_iceraven_tinted.xml @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/lawnchair/res/values/strings.xml b/lawnchair/res/values/strings.xml index c2afc25d6e2..6f0989ea0a8 100644 --- a/lawnchair/res/values/strings.xml +++ b/lawnchair/res/values/strings.xml @@ -565,6 +565,8 @@ YouTube Pixel Search Yandex + Firefox + Iceraven %1$s and Lawnchair have a revenue share agreement.\n\nSearching with %1$s helps support Lawnchair. diff --git a/lawnchair/src/app/lawnchair/qsb/providers/Firefox.kt b/lawnchair/src/app/lawnchair/qsb/providers/Firefox.kt new file mode 100644 index 00000000000..99c610793ad --- /dev/null +++ b/lawnchair/src/app/lawnchair/qsb/providers/Firefox.kt @@ -0,0 +1,25 @@ +package app.lawnchair.qsb.providers + +import android.content.Intent +import app.lawnchair.qsb.ThemingMethod +import com.android.launcher3.R + +data object Firefox : QsbSearchProvider( + id = "Firefox", + name = R.string.search_provider_firefox, + icon = R.drawable.ic_firefox, + themedIcon = R.drawable.ic_firefox_tinted, + themingMethod = ThemingMethod.TINT, + packageName = "org.mozilla.firefox", + action = "org.mozilla.fenix.OPEN_TAB", + className = "org.mozilla.fenix.IntentReceiverActivity", + website = "https://play.google.com/store/apps/details?id=org.mozilla.firefox", + type = QsbSearchProviderType.APP, + supportVoiceIntent = false, +) { + + override fun handleCreateVoiceIntent(): Intent = + Intent(action) + .addFlags(INTENT_FLAGS) + .setClassName(packageName, "org.chromium.chrome.browser.VoiceSearchActivity") +} diff --git a/lawnchair/src/app/lawnchair/qsb/providers/Iceraven.kt b/lawnchair/src/app/lawnchair/qsb/providers/Iceraven.kt new file mode 100644 index 00000000000..c51b0e00b43 --- /dev/null +++ b/lawnchair/src/app/lawnchair/qsb/providers/Iceraven.kt @@ -0,0 +1,25 @@ +package app.lawnchair.qsb.providers + +import android.content.Intent +import app.lawnchair.qsb.ThemingMethod +import com.android.launcher3.R + +data object Iceraven : QsbSearchProvider( + id = "Iceraven", + name = R.string.search_provider_iceraven, + icon = R.drawable.ic_iceraven, + themedIcon = R.drawable.ic_iceraven_tinted, + themingMethod = ThemingMethod.TINT, + packageName = "io.github.forkmaintainers.iceraven", + action = "org.mozilla.fenix.OPEN_TAB", + className = "org.mozilla.fenix.IntentReceiverActivity", + website = "github.com/fork-maintainers/iceraven-browser/releases/latest", + type = QsbSearchProviderType.APP, + supportVoiceIntent = true, +) { + + override fun handleCreateVoiceIntent(): Intent = + Intent(action) + .addFlags(INTENT_FLAGS) + .setClassName(packageName, "org.chromium.chrome.browser.VoiceSearchActivity") +} diff --git a/lawnchair/src/app/lawnchair/qsb/providers/QsbSearchProvider.kt b/lawnchair/src/app/lawnchair/qsb/providers/QsbSearchProvider.kt index 585b8f5f911..1020c1fa082 100644 --- a/lawnchair/src/app/lawnchair/qsb/providers/QsbSearchProvider.kt +++ b/lawnchair/src/app/lawnchair/qsb/providers/QsbSearchProvider.kt @@ -133,6 +133,8 @@ sealed class QsbSearchProvider( Bing, Brave, Yandex, + Firefox, + Iceraven, Startpage, )