Skip to content

Commit d73ea34

Browse files
committed
Ask for search engine when searching for content
Instead of opening Google when searching for decoded content, there's now a dialog to pick a suitable search engine from. Especially useful if the user already knows what category the scanned item belongs to.
1 parent 694ebf8 commit d73ea34

File tree

8 files changed

+42
-9
lines changed

8 files changed

+42
-9
lines changed

app/src/main/kotlin/de/markusfisch/android/binaryeye/fragment/DecodeFragment.kt

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ class DecodeFragment : Fragment() {
169169
).show()
170170
}
171171

172-
private fun openUrl(url: String, googleIfNoUrl: Boolean = true) {
172+
private fun openUrl(url: String, searchIfNoUrl: Boolean = true) {
173173
if (activity == null || url.isEmpty()) {
174174
return
175175
}
@@ -180,14 +180,8 @@ class DecodeFragment : Fragment() {
180180
val intent = Intent(Intent.ACTION_VIEW, uri)
181181
if (intent.resolveActivity(activity.packageManager) != null) {
182182
startActivity(intent)
183-
} else if (googleIfNoUrl) {
184-
openUrl(
185-
"https://www.google.com/search?q=" + URLEncoder.encode(
186-
url,
187-
"utf-8"
188-
),
189-
false
190-
)
183+
} else if (searchIfNoUrl) {
184+
pickSearchEngineAndSearch(activity, url)
191185
} else {
192186
Toast.makeText(
193187
activity,
@@ -197,6 +191,21 @@ class DecodeFragment : Fragment() {
197191
}
198192
}
199193

194+
private fun pickSearchEngineAndSearch(context: Context, query: String) {
195+
val urls = context.resources.getStringArray(
196+
R.array.search_engines_values
197+
)
198+
AlertDialog.Builder(context)
199+
.setTitle(R.string.pick_search_engine)
200+
.setItems(R.array.search_engines_names) { _, which ->
201+
openUrl(
202+
urls[which] + URLEncoder.encode(query, "utf-8"),
203+
false
204+
)
205+
}
206+
.show()
207+
}
208+
200209
private fun askForFileNameAndSave(raw: ByteArray) {
201210
val ac = activity
202211
ac ?: return

app/src/main/res/values-de/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">In die Zwischenablage legen</string>
1717
<string name="open_url">URL öffnen</string>
1818
<string name="cannot_resolve_action">Keine App kann das öffnen</string>
19+
<string name="pick_search_engine">Suchmaschine auswählen</string>
1920
<string name="format">Format</string>
2021
<string name="size">Größe in Pixeln</string>
2122
<string name="width_by_height">%1$d×%2$d</string>

app/src/main/res/values-fr/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">Mis dans le presse-papiers</string>
1717
<string name="open_url">Ouvrir l\'url</string>
1818
<string name="cannot_resolve_action">Aucune application ne peut ouvrir ça</string>
19+
<string name="pick_search_engine">Pick a search engine</string>
1920
<string name="format">Format</string>
2021
<string name="size">Taille en pixels</string>
2122
<string name="width_by_height">%1$d×%2$d</string>

app/src/main/res/values-hu/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">Vágólapra helyezés</string>
1717
<string name="open_url">URL megnyitása</string>
1818
<string name="cannot_resolve_action">Nincs alkalmazás, amely meg tudná nyitni azt</string>
19+
<string name="pick_search_engine">Pick a search engine</string>
1920
<string name="format">Formátum</string>
2021
<string name="size">Méret képpontban</string>
2122
<string name="width_by_height">%1$d×%2$d</string>

app/src/main/res/values-it/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">Metti negli appunti</string>
1717
<string name="open_url">Apri URL</string>
1818
<string name="cannot_resolve_action">Nessuna app può aprirlo</string>
19+
<string name="pick_search_engine">Pick a search engine</string>
1920
<string name="format">Formato</string>
2021
<string name="size">Dimensioni in pixel</string>
2122
<string name="width_by_height">%1$d×%2$d</string>

app/src/main/res/values-nl/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">Kopieer de inhoud naar het klembord</string>
1717
<string name="open_url">URL openen</string>
1818
<string name="cannot_resolve_action">Er is geen app aangetroffen die dit kan openen</string>
19+
<string name="pick_search_engine">Pick a search engine</string>
1920
<string name="format">Formaat</string>
2021
<string name="size">Grootte, in pixels</string>
2122
<string name="width_by_height">%1$d×%2$d</string>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<resources>
2+
<string-array name="search_engines_names">
3+
<item>Google</item>
4+
<item>DuckDuckGo</item>
5+
<item>Qwant</item>
6+
<item>OpenFoodFacts.org</item>
7+
<item>OpenBeautyFacts.org</item>
8+
<item>OpenPetFoodFacts.org</item>
9+
</string-array>
10+
<string-array name="search_engines_values">
11+
<item>https://www.google.com/search?q=</item>
12+
<item>https://duckduckgo.com/?q=</item>
13+
<item>https://www.qwant.com/?q=</item>
14+
<item>https://world.openfoodfacts.org/cgi/search.pl?search_terms=</item>
15+
<item>https://world.openbeautyfacts.org/cgi/search.pl?search_terms=</item>
16+
<item>https://world.openpetfoodfacts.org/cgi/search.pl?search_terms=</item>
17+
</string-array>
18+
</resources>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<string name="put_into_clipboard">Put into clipboard</string>
1717
<string name="open_url">Open url</string>
1818
<string name="cannot_resolve_action">No application can open that</string>
19+
<string name="pick_search_engine">Pick a search engine</string>
1920
<string name="format">Format</string>
2021
<string name="size">Size in pixels</string>
2122
<string name="width_by_height">%1$d×%2$d</string>

0 commit comments

Comments
 (0)