Restrict searching to a specific format

This commit is contained in:
Markus Fisch
2026-03-26 19:30:03 +01:00
parent ddc5a14558
commit ac632e3aac
27 changed files with 63 additions and 1 deletions
@@ -16,8 +16,10 @@ import android.view.MenuItem
import android.view.MotionEvent
import android.view.View
import android.view.ViewConfiguration
import android.widget.ArrayAdapter
import android.widget.EditText
import android.widget.SeekBar
import android.widget.Spinner
import androidx.appcompat.app.AppCompatActivity
import androidx.camera.core.Camera
import androidx.camera.core.CameraSelector
@@ -451,20 +453,46 @@ class CameraActivity : AppCompatActivity() {
private fun askForSearchTerm() {
val view = layoutInflater.inflate(R.layout.dialog_search_term, null)
val editText = view.findViewById<EditText>(R.id.term)
val formatView = view.findViewById<Spinner>(R.id.format)
val names = resources.getStringArray(
R.array.barcode_formats_names
).toMutableList().apply {
add(0, getString(R.string.all_formats))
}
val values = resources.getStringArray(
R.array.barcode_formats_values
).toMutableList().apply {
add(0, "")
}
formatView.adapter = ArrayAdapter(
this,
android.R.layout.simple_spinner_item,
names
).apply {
setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item
)
}
searchTerm?.let {
editText.setText(it.toString())
}
formatView.setSelection(
values.indexOf(restrictFormat ?: "").coerceAtLeast(0)
)
AlertDialog.Builder(this)
.setView(view)
.setPositiveButton(android.R.string.ok) { _, _ ->
val term = editText.text.toString().trim()
restrictFormat = values[formatView.selectedItemPosition].ifEmpty {
null
}
if (!term.isEmpty()) {
searchTerm = term.toRegex()
} else {
searchTerm = null
}
ignoreNext = null
updateTitle()
updateHintsAndTitle()
}
.setNegativeButton(android.R.string.cancel) { _, _ ->
// do not change anything on cancel
@@ -19,4 +19,13 @@
android:maxLines="1"
android:maxLength="1024"
android:importantForAutofill="no"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/format"/>
<Spinner
android:id="@+id/format"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
+1
View File
@@ -53,6 +53,7 @@
<string name="cannot_resolve_action">لم يتم العثور على تطبيق يمكنه فتح ذلك</string>
<string name="pick_search_engine">اختر محرك البحث</string>
<string name="format">التنسيق</string>
<string name="all_formats">كل التنسيقات</string>
<string name="size_width_by_height">الحجم بالبكسل: %1$d×%2$d</string>
<string name="size_no_magnification">بدون تكبير</string>
<string name="add_quiet_zone">إضافة منطقة هادئة</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Няма приложение което може да отвори това</string>
<string name="pick_search_engine">Изберете търсачка</string>
<string name="format">Формат</string>
<string name="all_formats">Всички формати</string>
<string name="size_width_by_height">Размер в пиксели: %1$d×%2$d</string>
<string name="size_no_magnification">Без увеличение</string>
<string name="add_quiet_zone">Добавяне на тиха зона</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">খোলার মতো অ্যাপ নেই</string>
<string name="pick_search_engine">একটা সার্চ ইঞ্জিন নাও</string>
<string name="format">ধরণ</string>
<string name="all_formats">সব ফরম্যাট</string>
<string name="size_width_by_height">পিক্সেলে আকা:%1$d×%2$d</string>
<string name="size_no_magnification">কোনো বৃদ্ধি নেই</string>
<string name="add_quiet_zone">শান্তি জোন যোগ করুন</string>
+1
View File
@@ -51,6 +51,7 @@
<string name="cannot_resolve_action">Nemáte aplikaci, která by toto uměla otevřít</string>
<string name="pick_search_engine">Zvolte vyhledávač</string>
<string name="format">Formát</string>
<string name="all_formats">Všechny formáty</string>
<string name="size_width_by_height">Velikost v pixelech: %1$d×%2$d</string>
<string name="size_no_magnification">Žádné zvětšení</string>
<string name="add_quiet_zone">Přidat tichou zónu</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Inge applikation kan åbne det</string>
<string name="pick_search_engine">Vælg en søgemaskine</string>
<string name="format">Format</string>
<string name="all_formats">Alle formater</string>
<string name="size_width_by_height">Størrelse i pixels: %1$d×%2$d</string>
<string name="size_no_magnification">Ingen forstørrelse</string>
<string name="add_quiet_zone">Tilføj stille zone</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Keine App kann das öffnen</string>
<string name="pick_search_engine">Suchmaschine auswählen</string>
<string name="format">Format</string>
<string name="all_formats">Alle Formate</string>
<string name="size_width_by_height">Größe in Pixel: %1$d×%2$d</string>
<string name="size_no_magnification">Keine Vergrößerung</string>
<string name="add_quiet_zone">Ruhezone hinzufügen</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Ninguna aplicación puede abrir eso</string>
<string name="pick_search_engine">Seleccionar motor de búsqueda</string>
<string name="format">Formato</string>
<string name="all_formats">Todos los formatos</string>
<string name="size_width_by_height">Tamaño en píxeles: %1$d×%2$d</string>
<string name="size_no_magnification">Sin aumento</string>
<string name="add_quiet_zone">Agregar zona tranquila</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">هیچ برنامه‌ای نمی‌تواند آن را بگشاید</string>
<string name="pick_search_engine">یک موتور جست‌وجو برگزینید</string>
<string name="format">قالب</string>
<string name="all_formats">همه قالب‌ها</string>
<string name="size_width_by_height">اندازه به پیکسل: %1$d×%2$d</string>
<string name="size_no_magnification">بدون بزرگنمایی</string>
<string name="add_quiet_zone">اضافه کردن حوزه ساکت</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Aucune application ne peut ouvrir cela</string>
<string name="pick_search_engine">Choisir un moteur de recherche</string>
<string name="format">Format</string>
<string name="all_formats">Tous les formats</string>
<string name="size_width_by_height">Taille en pixels : %1$d×%2$d</string>
<string name="size_no_magnification">Pas de grossissement</string>
<string name="add_quiet_zone">Ajouter une zone blanche</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Nincs alkalmazás, amely meg tudná nyitni azt</string>
<string name="pick_search_engine">Válasszon keresőmotort</string>
<string name="format">Formátum</string>
<string name="all_formats">Minden formátum</string>
<string name="size_width_by_height">Méret képpontban: %1$d×%2$d</string>
<string name="size_no_magnification">Nincs nagyítás</string>
<string name="add_quiet_zone">Nyugodt övezet hozzáadása</string>
+1
View File
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">Tidak ada aplikasi yang bisa membukanya</string>
<string name="pick_search_engine">Pilih mesin pencari</string>
<string name="format">Format</string>
<string name="all_formats">Semua format</string>
<string name="size_width_by_height">Ukuran dalam piksel: %1$d×%2$d</string>
<string name="size_no_magnification">無放大</string>
<string name="add_quiet_zone">Dodaj cichą strefę</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Nessuna app può aprirlo</string>
<string name="pick_search_engine">Scegli motore di ricerca</string>
<string name="format">Formato</string>
<string name="all_formats">Tutti i formati</string>
<string name="size_width_by_height">Dimensioni (pixel): %1$d×%2$d</string>
<string name="size_no_magnification">Nessun ingrandimento</string>
<string name="add_quiet_zone">Aggiungi zona tranquilla</string>
+1
View File
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">開くためのアプリがありません!</string>
<string name="pick_search_engine">検索エンジンを選択</string>
<string name="format">フォーマット</string>
<string name="all_formats">すべての形式</string>
<string name="size_width_by_height">大きさ(ピクセル): %1$d×%2$d</string>
<string name="size_no_magnification">拡大なし</string>
<string name="add_quiet_zone">外側に余白(クワイエットゾーン)を追加する</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">ამ მოქმედებისთვის აპლიკაცია ნაპოვნი არაა</string>
<string name="pick_search_engine">აირჩიეთ საძიებო სისტემა</string>
<string name="format">ფორმატი</string>
<string name="all_formats">ყველა ფორმატი</string>
<string name="size_width_by_height">ზომა პიქსელებში: %1$d×%2$d</string>
<string name="size_no_magnification">არ არის დიდება</string>
<string name="add_quiet_zone">დაამატეთ შესული ზონა</string>
+1
View File
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">어떤 앱도 열 수 없습니다</string>
<string name="pick_search_engine">검색 엔진을 선택하세요</string>
<string name="format">형식</string>
<string name="all_formats">모든 형식</string>
<string name="size_width_by_height">크기(픽셀): %1$d×%2$d</string>
<string name="size_no_magnification">확대하지 않음</string>
<string name="add_quiet_zone">조용한 지역 추가</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Geen enkele toepassing kan dat openen</string>
<string name="pick_search_engine">Zoekmachine kiezen</string>
<string name="format">Formaat</string>
<string name="all_formats">Alle formaten</string>
<string name="size_width_by_height">Afmeting in pixels: %1$d×%2$d</string>
<string name="size_no_magnification">Geen vergroting</string>
<string name="add_quiet_zone">Voeg stille zone toe</string>
+1
View File
@@ -22,6 +22,7 @@
<string name="compose_barcode">Utwórz kod kreskowy</string>
<string name="history">Historia</string>
<string name="format">Format</string>
<string name="all_formats">Wszystkie formaty</string>
<string name="add_to_history">Dodaj do historii</string>
<string name="added_to_history">Dodano do historii</string>
<string name="pin_item">Przypnij</string>
@@ -49,6 +49,7 @@
<string name="cannot_resolve_action">Nenhum app pode abrir isto</string>
<string name="pick_search_engine">Escolha um motor de pesquisa</string>
<string name="format">Formato</string>
<string name="all_formats">Todos os formatos</string>
<string name="size_width_by_height">Tamanho em pixels: %1$d×%2$d</string>
<string name="size_no_magnification">Sem magnificação</string>
<string name="add_quiet_zone">Adicionar zona tranquila</string>
@@ -51,6 +51,7 @@
<string name="cannot_resolve_action">Не найдено приложение для этого действия</string>
<string name="pick_search_engine">Выберите поисковую систему</string>
<string name="format">Формат</string>
<string name="all_formats">Все форматы</string>
<string name="size_width_by_height">Размер в пикселях: %1$d×%2$d</string>
<string name="size_no_magnification">Без увеличения</string>
<string name="add_quiet_zone">Добавить отступы</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">Bunu açacak uygulama yok</string>
<string name="pick_search_engine">Arama motoru seç</string>
<string name="format">Biçim</string>
<string name="all_formats">Tüm biçimler</string>
<string name="size_width_by_height">Piksel türünde boyut: %1$d×%2$d</string>
<string name="size_no_magnification">Büyütme Yok</string>
<string name="add_quiet_zone">Sessiz bölge ekle</string>
+1
View File
@@ -49,6 +49,7 @@
<string name="cannot_resolve_action">Жодey додаток не може цього відкрити</string>
<string name="pick_search_engine">Вибрати пошукову систему</string>
<string name="format">Формат</string>
<string name="all_formats">Усі формати</string>
<string name="size_width_by_height">Розмір у пікселях: %1$d×%2$d</string>
<string name="size_no_magnification">Без збільшення</string>
<string name="add_quiet_zone">Додати тиху зону</string>
+1
View File
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">Không có ứng dụng nào mở được nội dung này</string>
<string name="pick_search_engine">Chọn một trình tìm kiếm</string>
<string name="format">Định dạng</string>
<string name="all_formats">Tất cả định dạng</string>
<string name="size_width_by_height">Kích cỡ theo pixel: %1$d×%2$d</string>
<string name="size_no_magnification">Không phóng to</string>
<string name="add_quiet_zone">Thêm vùng yên tĩnh</string>
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">没有应用可以打开它</string>
<string name="pick_search_engine">选择一个搜索引擎</string>
<string name="format">编码格式</string>
<string name="all_formats">所有格式</string>
<string name="size_width_by_height">图片尺寸: %1$d×%2$d</string>
<string name="size_no_magnification">无放大</string>
<string name="add_quiet_zone">添加安静区</string>
@@ -47,6 +47,7 @@
<string name="cannot_resolve_action">沒有可開啟這個項目的應用程式</string>
<string name="pick_search_engine">選擇一個搜尋引擎</string>
<string name="format">格式</string>
<string name="all_formats">所有格式</string>
<string name="size_width_by_height">圖片尺寸: %1$d×%2$d</string>
<string name="size_no_magnification">不擴大</string>
<string name="add_quiet_zone">加上空白邊界</string>
+1
View File
@@ -48,6 +48,7 @@
<string name="cannot_resolve_action">No application can open that</string>
<string name="pick_search_engine">Pick a search engine</string>
<string name="format">Format</string>
<string name="all_formats">All formats</string>
<string name="size_width_by_height">Size in pixels: %1$d×%2$d</string>
<string name="size_no_magnification">No magnification</string>
<string name="add_quiet_zone">Add quiet zone</string>