From 824b3dd577fa60a63bd29cb2fb15f8398ac2ad0c Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 16 Oct 2021 11:18:10 +0200 Subject: [PATCH 01/16] Add german fastlane --- .../metadata/android/de/full_description.txt | 46 +++++++++++++++++++ .../metadata/android/de/short_description.txt | 1 + fastlane/metadata/android/de/title.txt | 1 + 3 files changed, 48 insertions(+) create mode 100644 fastlane/metadata/android/de/full_description.txt create mode 100644 fastlane/metadata/android/de/short_description.txt create mode 100644 fastlane/metadata/android/de/title.txt diff --git a/fastlane/metadata/android/de/full_description.txt b/fastlane/metadata/android/de/full_description.txt new file mode 100644 index 00000000..d3892f94 --- /dev/null +++ b/fastlane/metadata/android/de/full_description.txt @@ -0,0 +1,46 @@ +ALLE GÄNGIGEN FORMATE +Scannen Sie alle gängigen Barcode-Formate: QR, Data Matrix, Aztec, UPC, EAN und mehr. + +TASCHENLAMPE UND ZOOM +Aktivieren Sie die Taschenlampe, um im Dunkeln zu scannen. Verwenden Sie den Zoom, um Barcodes aus großer Entfernung zu lesen. + +RELEVANTE AKTIONEN +Öffnen Sie Links, stellen Sie eine WiFi-Verbindung her, zeigen Sie Geostandorte an, fügen Sie Kalenderereignisse hinzu, finden Sie Produktinformationen, usw. + +SCANNEN VON BILDERN +Scannen Sie Codes aus Bilddateien oder direkt mit der Kamera. + +QR-CODES UND BARCODES ERSTELLEN +Erstellen Sie Ihre eigenen QR-Codes oder Barcodes mit dem integrierten Generator. + +VERLAUF +Zeigen Sie gescannte und erstellte Codes in der Historie an. + +CSV- UND JSON-EXPORT +Exportieren Sie Codes als CSV- oder JSON-Dateien. + +EINSTELLUNGEN +Passen Sie Ihre App mit flexiblen Einstellungen an. + +Unterstützte QR-Codes: +- Website-Links (URL) +- WiFi-Hotspot-Zugangsinformationen +- Geostandorte +- Kontaktinformationen (MeCard, vCard) +- Kalenderereignisse +- Telefone +- E-Mail +- SMS + +Strichcodes und 2D-Codes: +- Data Matrix +- Azteke +- PDF417 +- EAN-13, EAN-8 +- UPC-E, UPC-A +- Code 39, Code 93 und Code 128 +- Codabar +- ITF + +Quellcode: +https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner \ No newline at end of file diff --git a/fastlane/metadata/android/de/short_description.txt b/fastlane/metadata/android/de/short_description.txt new file mode 100644 index 00000000..f03c2e6a --- /dev/null +++ b/fastlane/metadata/android/de/short_description.txt @@ -0,0 +1 @@ +QR- und Barcode-Scanner mit allen Funktionen, die Sie brauchen. \ No newline at end of file diff --git a/fastlane/metadata/android/de/title.txt b/fastlane/metadata/android/de/title.txt new file mode 100644 index 00000000..bb7219d0 --- /dev/null +++ b/fastlane/metadata/android/de/title.txt @@ -0,0 +1 @@ +QR & Barcode Scanner \ No newline at end of file From 651f6ae09036c9ff4eafdcdacda4bafc5ae92308 Mon Sep 17 00:00:00 2001 From: Max Siomin <80629574+MaxSiominDev@users.noreply.github.com> Date: Wed, 17 Nov 2021 21:51:31 +0300 Subject: [PATCH 02/16] Update dependencies --- app/build.gradle | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7aad2d39..cba612b9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,19 @@ -apply plugin: 'io.sentry.android.gradle' -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' +plugins { + id 'io.sentry.android.gradle' + id 'com.android.application' + id 'kotlin-android' + id 'kotlin-android-extensions' + id 'kotlin-kapt' +} android { - compileSdkVersion 29 + compileSdkVersion 31 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.example.barcodescanner" minSdkVersion 21 - targetSdkVersion 29 + targetSdkVersion 31 versionCode 11 versionName "1.9" multiDexEnabled true @@ -68,10 +70,10 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Android - implementation 'androidx.core:core-ktx:1.3.2' - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'com.google.android.material:material:1.2.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.1' + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' implementation 'androidx.multidex:multidex:2.0.1' // Room From c5e40476944896b601ee8dd26161cc53bca3785a Mon Sep 17 00:00:00 2001 From: prsnbrg Date: Sat, 27 Nov 2021 20:48:19 +0100 Subject: [PATCH 03/16] Change Github URL --- README.md | 6 +++--- .../feature/tabs/settings/SettingsFragment.kt | 2 +- description/en/description.txt | 2 +- description/ru/description.txt | 2 +- fastlane/metadata/android/ca/full_description.txt | 2 +- fastlane/metadata/android/en-US/full_description.txt | 2 +- fastlane/metadata/android/es/full_description.txt | 2 +- fastlane/metadata/android/pt-BR/full_description.txt | 2 +- fastlane/metadata/android/ru/full_description.txt | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index bd154a14..120b704a 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,16 @@ ## Overview [![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/) -[![](https://img.shields.io/github/v/release/dmitriy-ilchenko/QrAndBarcodeScanner)](https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner/releases/latest) +[![](https://img.shields.io/github/v/release/wewewe718/QrAndBarcodeScanner)](https://github.com/wewewe718/QrAndBarcodeScanner/releases/latest) QR & Barcode Scanner is an ad-free, open-source scanner app. It uses the [ZXing][zxing] scanning library. ## Download -Get it on Google Play Explore it on AppGallery Get it on FDroid Get it on Github +Get it on Google Play Explore it on AppGallery Get it on FDroid Get it on Github ## Screenshots - + ## Contributing diff --git a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/SettingsFragment.kt b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/SettingsFragment.kt index 13a19039..6ea78bd6 100644 --- a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/SettingsFragment.kt +++ b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/SettingsFragment.kt @@ -137,7 +137,7 @@ class SettingsFragment : Fragment(), DeleteConfirmationDialogFragment.Listener { } private fun showSourceCode() { - val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner")) + val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/wewewe718/QrAndBarcodeScanner")) if (intent.resolveActivity(packageManager) != null) { startActivity(intent) } diff --git a/description/en/description.txt b/description/en/description.txt index ecf65a13..e1b2b2c2 100644 --- a/description/en/description.txt +++ b/description/en/description.txt @@ -47,4 +47,4 @@ Barcodes and 2D codes: • ITF Source code: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner \ No newline at end of file +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file diff --git a/description/ru/description.txt b/description/ru/description.txt index e85344a7..8d62faf1 100644 --- a/description/ru/description.txt +++ b/description/ru/description.txt @@ -47,4 +47,4 @@ • ITF Исходный код: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner \ No newline at end of file +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file diff --git a/fastlane/metadata/android/ca/full_description.txt b/fastlane/metadata/android/ca/full_description.txt index 561a1e03..7e1d5e68 100644 --- a/fastlane/metadata/android/ca/full_description.txt +++ b/fastlane/metadata/android/ca/full_description.txt @@ -43,4 +43,4 @@ Codis de barres i codis 2D: • ITF Codi font: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner +https://github.com/wewewe718/QrAndBarcodeScanner diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 6d54aa8b..11707d46 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -43,4 +43,4 @@ Barcodes and 2D codes: • ITF Source code: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner \ No newline at end of file +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file diff --git a/fastlane/metadata/android/es/full_description.txt b/fastlane/metadata/android/es/full_description.txt index b8316324..66c28946 100644 --- a/fastlane/metadata/android/es/full_description.txt +++ b/fastlane/metadata/android/es/full_description.txt @@ -43,4 +43,4 @@ Códigos de barras y códigos 2D: • ITF Código fuente: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner +https://github.com/wewewe718/QrAndBarcodeScanner diff --git a/fastlane/metadata/android/pt-BR/full_description.txt b/fastlane/metadata/android/pt-BR/full_description.txt index a2b6b869..e1e7b505 100644 --- a/fastlane/metadata/android/pt-BR/full_description.txt +++ b/fastlane/metadata/android/pt-BR/full_description.txt @@ -43,4 +43,4 @@ Códigos de barras e códigos 2D: - ITF Código fonte: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner +https://github.com/wewewe718/QrAndBarcodeScanner diff --git a/fastlane/metadata/android/ru/full_description.txt b/fastlane/metadata/android/ru/full_description.txt index c592ac5a..9d7c6f1d 100644 --- a/fastlane/metadata/android/ru/full_description.txt +++ b/fastlane/metadata/android/ru/full_description.txt @@ -43,4 +43,4 @@ • ITF Исходный код: -https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner \ No newline at end of file +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file From c77426a4d140f68c314b1865cf4e48f146df45ad Mon Sep 17 00:00:00 2001 From: prsnbrg Date: Sat, 27 Nov 2021 21:01:15 +0100 Subject: [PATCH 04/16] Add Startpage search engine --- .../common/dialog/ChooseSearchEngineDialogFragment.kt | 2 ++ .../tabs/settings/search/ChooseSearchEngineActivity.kt | 4 +++- .../com/example/barcodescanner/model/SearchEngine.kt | 1 + .../main/res/layout/activity_choose_search_engine.xml | 9 +++++++++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/barcodescanner/feature/common/dialog/ChooseSearchEngineDialogFragment.kt b/app/src/main/java/com/example/barcodescanner/feature/common/dialog/ChooseSearchEngineDialogFragment.kt index 27a21a79..64fe6a4d 100644 --- a/app/src/main/java/com/example/barcodescanner/feature/common/dialog/ChooseSearchEngineDialogFragment.kt +++ b/app/src/main/java/com/example/barcodescanner/feature/common/dialog/ChooseSearchEngineDialogFragment.kt @@ -16,6 +16,7 @@ class ChooseSearchEngineDialogFragment : DialogFragment() { SearchEngine.DUCK_DUCK_GO, SearchEngine.GOOGLE, SearchEngine.QWANT, + SearchEngine.STARTPAGE, SearchEngine.YAHOO, SearchEngine.YANDEX ) @@ -33,6 +34,7 @@ class ChooseSearchEngineDialogFragment : DialogFragment() { getString(R.string.activity_choose_search_engine_duck_duck_go), getString(R.string.activity_choose_search_engine_google), getString(R.string.activity_choose_search_engine_qwant), + getString(R.string.activity_choose_search_engine_startpage), getString(R.string.activity_choose_search_engine_yahoo), getString(R.string.activity_choose_search_engine_yandex) ) diff --git a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt index b66cd7ba..0a133669 100644 --- a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt +++ b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt @@ -23,7 +23,7 @@ class ChooseSearchEngineActivity : BaseActivity() { } private val buttons by unsafeLazy { - listOf(button_none, button_ask_every_time, button_bing, button_duck_duck_go, button_google, button_qwant, button_yahoo, button_yandex) + listOf(button_none, button_ask_every_time, button_bing, button_duck_duck_go, button_google, button_qwant, button_startpage, button_yahoo, button_yandex) } override fun onCreate(savedInstanceState: Bundle?) { @@ -51,6 +51,7 @@ class ChooseSearchEngineActivity : BaseActivity() { SearchEngine.DUCK_DUCK_GO -> button_duck_duck_go.isChecked = true SearchEngine.GOOGLE -> button_google.isChecked = true SearchEngine.QWANT -> button_qwant.isChecked = true + SearchEngine.STARTPAGE -> button_startpage.isChecked = true SearchEngine.YAHOO -> button_yahoo.isChecked = true SearchEngine.YANDEX -> button_yandex.isChecked = true } @@ -63,6 +64,7 @@ class ChooseSearchEngineActivity : BaseActivity() { button_duck_duck_go.setCheckedChangedListener(SearchEngine.DUCK_DUCK_GO) button_google.setCheckedChangedListener(SearchEngine.GOOGLE) button_qwant.setCheckedChangedListener(SearchEngine.QWANT) + utton_startpage.setCheckedChangedListener(SearchEngine.STARTPAGE) button_yahoo.setCheckedChangedListener(SearchEngine.YAHOO) button_yandex.setCheckedChangedListener(SearchEngine.YANDEX) } diff --git a/app/src/main/java/com/example/barcodescanner/model/SearchEngine.kt b/app/src/main/java/com/example/barcodescanner/model/SearchEngine.kt index 510dc414..229cb0cc 100644 --- a/app/src/main/java/com/example/barcodescanner/model/SearchEngine.kt +++ b/app/src/main/java/com/example/barcodescanner/model/SearchEngine.kt @@ -7,6 +7,7 @@ enum class SearchEngine(val templateUrl: String) { DUCK_DUCK_GO("https://duckduckgo.com/?q="), GOOGLE("https://www.google.com/search?q="), QWANT("https://www.qwant.com/?q="), + STARTPAGE("https://www.startpage.com/sp/search?query="), YAHOO("https://search.yahoo.com/search?p="), YANDEX("https://www.yandex.ru/search/?text="), } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_choose_search_engine.xml b/app/src/main/res/layout/activity_choose_search_engine.xml index 65c43a95..8aa93e45 100644 --- a/app/src/main/res/layout/activity_choose_search_engine.xml +++ b/app/src/main/res/layout/activity_choose_search_engine.xml @@ -80,6 +80,15 @@ app:layout_constraintEnd_toEndOf="parent" app:text="@string/activity_choose_search_engine_qwant" /> + DuckDuckGo Google Qwant + Startpage Yahoo Yandex From ad15f3f94e9cedd1656b46b88619fcd817021c21 Mon Sep 17 00:00:00 2001 From: ner0 Date: Wed, 8 Dec 2021 14:22:05 +0000 Subject: [PATCH 05/16] Portuguese translation for app title/descriptions --- .../android/pt-PT/full_description.txt | 46 +++++++++++++++++++ .../android/pt-PT/short_description.txt | 1 + fastlane/metadata/android/pt-PT/title.txt | 1 + .../metadata/android/pt/full_description.txt | 46 +++++++++++++++++++ .../metadata/android/pt/short_description.txt | 1 + fastlane/metadata/android/pt/title.txt | 1 + 6 files changed, 96 insertions(+) create mode 100644 fastlane/metadata/android/pt-PT/full_description.txt create mode 100644 fastlane/metadata/android/pt-PT/short_description.txt create mode 100644 fastlane/metadata/android/pt-PT/title.txt create mode 100644 fastlane/metadata/android/pt/full_description.txt create mode 100644 fastlane/metadata/android/pt/short_description.txt create mode 100644 fastlane/metadata/android/pt/title.txt diff --git a/fastlane/metadata/android/pt-PT/full_description.txt b/fastlane/metadata/android/pt-PT/full_description.txt new file mode 100644 index 00000000..c944851a --- /dev/null +++ b/fastlane/metadata/android/pt-PT/full_description.txt @@ -0,0 +1,46 @@ +TODOS OS FORMATOS COMUNS +Leia todos os formatos comuns de códigos de barras: QR, Data Matrix, Aztec, UPC, EAN e muitos mais. + +LANTERNA E ZOOM +Ative a lanterna para ler no escuro. Use o zoom para ler códigos de barras distantes. + +AÇÕES RELEVANTES +Abra ligações de internet, ligue ao WiFi, visualize geo-localizações, adicione contactos, adicione eventos de calendário, encontre informações sobre produtos, etc. + +LER A PARTIR DE IMAGENS +Leia códigos a partir de ficheiros de imagem ou diretamente através da câmera. + +CRIAR CÓDIGOS QR E CÓDIGOS DE BARRAS +Crie os seus próprios códigos QR ou códigos de barras através do mecanismo integrado. + +HISTÓRICO +Visualize o histórico dos códigos lidos e criados. + +EXPORTAÇÃO EM CSV E JSON +Exporte os códigos para ficheiros CSV ou JSON. + +DEFINIÇÕES +Personalize a sua aplicação com configurações flexíveis. + +Códigos QR suportados: +- Ligações de sites web (URL) +- Informações de acesso a redes WiFi +- Geo-localizações +- Dados de contactos (MeCard, vCard) +- Eventos de calendário +- Telefones +- E-mail +- SMS + +Códigos de barras e códigos 2D: +- Data Matrix +- Aztec +- PDF417 +- EAN-13, EAN-8 +- UPC-E, UPC-A +- Código 39, Código 93 e Código 128 +- Codabar +- ITF + +Código-fonte: +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file diff --git a/fastlane/metadata/android/pt-PT/short_description.txt b/fastlane/metadata/android/pt-PT/short_description.txt new file mode 100644 index 00000000..69a765de --- /dev/null +++ b/fastlane/metadata/android/pt-PT/short_description.txt @@ -0,0 +1 @@ +Leitor de QR & códigos de barras, com todas as funcionalidades que precisa. \ No newline at end of file diff --git a/fastlane/metadata/android/pt-PT/title.txt b/fastlane/metadata/android/pt-PT/title.txt new file mode 100644 index 00000000..f2a8e774 --- /dev/null +++ b/fastlane/metadata/android/pt-PT/title.txt @@ -0,0 +1 @@ +Leitor de QR & códigos de barras \ No newline at end of file diff --git a/fastlane/metadata/android/pt/full_description.txt b/fastlane/metadata/android/pt/full_description.txt new file mode 100644 index 00000000..c944851a --- /dev/null +++ b/fastlane/metadata/android/pt/full_description.txt @@ -0,0 +1,46 @@ +TODOS OS FORMATOS COMUNS +Leia todos os formatos comuns de códigos de barras: QR, Data Matrix, Aztec, UPC, EAN e muitos mais. + +LANTERNA E ZOOM +Ative a lanterna para ler no escuro. Use o zoom para ler códigos de barras distantes. + +AÇÕES RELEVANTES +Abra ligações de internet, ligue ao WiFi, visualize geo-localizações, adicione contactos, adicione eventos de calendário, encontre informações sobre produtos, etc. + +LER A PARTIR DE IMAGENS +Leia códigos a partir de ficheiros de imagem ou diretamente através da câmera. + +CRIAR CÓDIGOS QR E CÓDIGOS DE BARRAS +Crie os seus próprios códigos QR ou códigos de barras através do mecanismo integrado. + +HISTÓRICO +Visualize o histórico dos códigos lidos e criados. + +EXPORTAÇÃO EM CSV E JSON +Exporte os códigos para ficheiros CSV ou JSON. + +DEFINIÇÕES +Personalize a sua aplicação com configurações flexíveis. + +Códigos QR suportados: +- Ligações de sites web (URL) +- Informações de acesso a redes WiFi +- Geo-localizações +- Dados de contactos (MeCard, vCard) +- Eventos de calendário +- Telefones +- E-mail +- SMS + +Códigos de barras e códigos 2D: +- Data Matrix +- Aztec +- PDF417 +- EAN-13, EAN-8 +- UPC-E, UPC-A +- Código 39, Código 93 e Código 128 +- Codabar +- ITF + +Código-fonte: +https://github.com/wewewe718/QrAndBarcodeScanner \ No newline at end of file diff --git a/fastlane/metadata/android/pt/short_description.txt b/fastlane/metadata/android/pt/short_description.txt new file mode 100644 index 00000000..69a765de --- /dev/null +++ b/fastlane/metadata/android/pt/short_description.txt @@ -0,0 +1 @@ +Leitor de QR & códigos de barras, com todas as funcionalidades que precisa. \ No newline at end of file diff --git a/fastlane/metadata/android/pt/title.txt b/fastlane/metadata/android/pt/title.txt new file mode 100644 index 00000000..f2a8e774 --- /dev/null +++ b/fastlane/metadata/android/pt/title.txt @@ -0,0 +1 @@ +Leitor de QR & códigos de barras \ No newline at end of file From 66e7b6f3138a361f2472e6809803a3ae6267b1c1 Mon Sep 17 00:00:00 2001 From: PtilopsisLeucotis Date: Sat, 11 Dec 2021 16:14:07 +0300 Subject: [PATCH 06/16] Fix typo in russian description --- description/ru/description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/description/ru/description.txt b/description/ru/description.txt index e85344a7..e089a42c 100644 --- a/description/ru/description.txt +++ b/description/ru/description.txt @@ -33,7 +33,7 @@ • контактные данные (MeCard, vCard) • события календаря • телефон -• лектронная почта +• электронная почта • SMS Штрихкоды и 2D коды: From d501a3097a8ece9a4ab4662de7f1f4b1400da923 Mon Sep 17 00:00:00 2001 From: James Bottomley Date: Tue, 1 Feb 2022 15:45:13 -0500 Subject: [PATCH 07/16] Add airline boardingpass barcode decoding This is just a simple decoder to pull out the elements and display them from any IATA compliant boarding pass. It works with both paper and electronic boarding passes. The ic_boardingpass.xml file came from https://materialdesignicons.com/ Signed-off-by: James Bottomley --- .../barcodescanner/extension/BarcodeSchema.kt | 2 + .../feature/barcode/BarcodeActivity.kt | 1 + .../barcodescanner/model/ParsedBarcode.kt | 1 + .../model/schema/BoardingPass.kt | 115 ++++++++++++++++++ .../barcodescanner/model/schema/Schema.kt | 1 + .../barcodescanner/usecase/BarcodeParser.kt | 4 +- app/src/main/res/drawable/ic_boardingpass.xml | 8 ++ app/src/main/res/values/strings.xml | 1 + 8 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/example/barcodescanner/model/schema/BoardingPass.kt create mode 100644 app/src/main/res/drawable/ic_boardingpass.xml diff --git a/app/src/main/java/com/example/barcodescanner/extension/BarcodeSchema.kt b/app/src/main/java/com/example/barcodescanner/extension/BarcodeSchema.kt index 345257ea..f89db97e 100644 --- a/app/src/main/java/com/example/barcodescanner/extension/BarcodeSchema.kt +++ b/app/src/main/java/com/example/barcodescanner/extension/BarcodeSchema.kt @@ -20,6 +20,7 @@ fun BarcodeSchema.toImageId(): Int? { BarcodeSchema.VCARD -> R.drawable.ic_contact BarcodeSchema.WIFI -> R.drawable.ic_wifi BarcodeSchema.YOUTUBE -> R.drawable.ic_youtube + BarcodeSchema.BOARDINGPASS -> R.drawable.ic_boardingpass else -> null } } @@ -41,6 +42,7 @@ fun BarcodeSchema.toStringId(): Int? { BarcodeSchema.VCARD -> R.string.barcode_schema_v_card BarcodeSchema.WIFI -> R.string.barcode_schema_wifi BarcodeSchema.YOUTUBE -> R.string.barcode_schema_youtube + BarcodeSchema.BOARDINGPASS -> R.string.barcode_schema_boardingpass BarcodeSchema.OTHER -> R.string.barcode_schema_other else -> null } diff --git a/app/src/main/java/com/example/barcodescanner/feature/barcode/BarcodeActivity.kt b/app/src/main/java/com/example/barcodescanner/feature/barcode/BarcodeActivity.kt index 5708a911..c91db46d 100644 --- a/app/src/main/java/com/example/barcodescanner/feature/barcode/BarcodeActivity.kt +++ b/app/src/main/java/com/example/barcodescanner/feature/barcode/BarcodeActivity.kt @@ -148,6 +148,7 @@ class BarcodeActivity : BaseActivity(), DeleteConfirmationDialogFragment.Listene BarcodeSchema.WIFI -> connectToWifi() BarcodeSchema.YOUTUBE -> openInYoutube() BarcodeSchema.NZCOVIDTRACER -> openLink() + BarcodeSchema.BOARDINGPASS -> return else -> return } } diff --git a/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt b/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt index a5979ce4..a02ae5e3 100644 --- a/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt +++ b/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt @@ -95,6 +95,7 @@ class ParsedBarcode(barcode: Barcode) { BarcodeSchema.CRYPTOCURRENCY -> parseBitcoin() BarcodeSchema.OTP_AUTH -> parseOtp() BarcodeSchema.NZCOVIDTRACER -> parseNZCovidTracer() + BarcodeSchema.BOARDINGPASS, BarcodeSchema.URL -> parseUrl() } } diff --git a/app/src/main/java/com/example/barcodescanner/model/schema/BoardingPass.kt b/app/src/main/java/com/example/barcodescanner/model/schema/BoardingPass.kt new file mode 100644 index 00000000..ecc72aa1 --- /dev/null +++ b/app/src/main/java/com/example/barcodescanner/model/schema/BoardingPass.kt @@ -0,0 +1,115 @@ +package com.example.barcodescanner.model.schema + + +import com.example.barcodescanner.extension.joinToStringNotNullOrBlankWithLineSeparator +import com.example.barcodescanner.extension.startsWithIgnoreCase +import com.example.barcodescanner.extension.unsafeLazy +import java.util.Calendar +import java.text.SimpleDateFormat +import java.util.Locale + +class BoardingPass( + val name: String? = null, + val pnr: String? = null, + val from: String? = null, + val to: String? = null, + val carrier: String? = null, + val flight: String? = null, + val date: String? = null, + val cabin: String? = null, + val seat: String? = null, + val seq: String? = null, + val ticket: String? = null, + val selectee: String? = null, + val ffAirline: String? = null, + val ffNo: String? = null, + val fasttrack: String? = null, + val blob: String? = null, +) : Schema { + + companion object { + private const val TAG = "QRandBAR" + private val DATE_FORMATTER by unsafeLazy { SimpleDateFormat("d MMMM", Locale.ENGLISH) } + + fun parse(text: String): BoardingPass? { + + // M1 means single leg barcode + if (text.startsWithIgnoreCase("M1").not()) { + return null + } + // E means electronic ticket + if (text[22] != 'E') { + return null + } + val fieldSize: Int = text.slice(58..59).toInt(16) + // > is the marker for the airline specific optional fields + if (fieldSize != 0 && text[60] != '>') { + return null + } + // ^ is the mandatory security marker + if (text[60+fieldSize] != '^') { + return null + } + + val name: String = text.slice(2..21).trim() + val pnr: String = text.slice(23..29).trim() + val from: String = text.slice(30..32) + val to: String = text.slice(33..35) + val carrier: String = text.slice(36..38).trim() + val flight: String = text.slice(39..43).trim() + val dateJ: String = text.slice(44..46) + val cabin: String = text.slice(47..47) + val seat: String = text.slice(48..51).trim() + val seq: String = text.slice(52..56).trim() + // 57 is status - ignore + + val today = Calendar.getInstance() + today.set(Calendar.DAY_OF_YEAR, dateJ.toInt()) + val date: String = DATE_FORMATTER.format(today.getTime()) + var selectee : String = "" + var ticket : String = "" + var ffAirline : String = "" + var ffNo : String = "" + var fasttrack: String = "" + + if (fieldSize != 0) { + val size: Int = text.slice(62..63).toInt(16) + if (size != 0 && size != 24) { + return null + } + // don't really care about the first optional field + // it's mostly baggage and checkin information + val size1: Int = text.slice(64+size..65+size).toInt(16) + // European boarding passes are 42 to have appended fasttrack + // US boarding passes are size 41 with no fasttrack + if (size1 != 0 && size1 != 41 && size1 != 42) { + return null + } else { + ticket = text.slice(66+size..78+size).trim() + // TSA field: + // blank for not US flights + // 0 - normal cleared + // 1 - no fly + // 2 - selected for enhanced security + // 3 - precheck + selectee = text.slice(79+size..79+size) + ffAirline = text.slice(84+size..86+size).trim() + ffNo = text.slice(87+size..102+size).trim() + if (size1 == 42) { + // Y - fasttrack eligible + fasttrack = text.slice(107+size..107+size) + } + } + } + + return BoardingPass(name, pnr, from, to, carrier, flight, date, + cabin, seat, seq, ticket, selectee, + ffAirline, ffNo, fasttrack, + text) + } + } + + override val schema = BarcodeSchema.BOARDINGPASS + override fun toFormattedText(): String = listOf(name, pnr, "$from->$to", "$carrier$flight", date, cabin, seat, seq, ticket, selectee, "$ffAirline$ffNo", fasttrack).joinToStringNotNullOrBlankWithLineSeparator() + override fun toBarcodeText(): String = "$blob" +} \ No newline at end of file diff --git a/app/src/main/java/com/example/barcodescanner/model/schema/Schema.kt b/app/src/main/java/com/example/barcodescanner/model/schema/Schema.kt index 280082c7..d737b52c 100644 --- a/app/src/main/java/com/example/barcodescanner/model/schema/Schema.kt +++ b/app/src/main/java/com/example/barcodescanner/model/schema/Schema.kt @@ -18,6 +18,7 @@ enum class BarcodeSchema { WIFI, YOUTUBE, NZCOVIDTRACER, + BOARDINGPASS, OTHER; } diff --git a/app/src/main/java/com/example/barcodescanner/usecase/BarcodeParser.kt b/app/src/main/java/com/example/barcodescanner/usecase/BarcodeParser.kt index 65c5918b..e5fafd59 100644 --- a/app/src/main/java/com/example/barcodescanner/usecase/BarcodeParser.kt +++ b/app/src/main/java/com/example/barcodescanner/usecase/BarcodeParser.kt @@ -23,7 +23,8 @@ object BarcodeParser { fun parseSchema(format: BarcodeFormat, text: String): Schema { if (format != BarcodeFormat.QR_CODE) { - return Other(text) + return BoardingPass.parse(text) + ?:Other(text) } return App.parse(text) @@ -43,6 +44,7 @@ object BarcodeParser { ?: VCard.parse(text) ?: OtpAuth.parse(text) ?: NZCovidTracer.parse(text) + ?: BoardingPass.parse(text) ?: Other(text) } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_boardingpass.xml b/app/src/main/res/drawable/ic_boardingpass.xml new file mode 100644 index 00000000..ec424c58 --- /dev/null +++ b/app/src/main/res/drawable/ic_boardingpass.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dc634482..3e0bbfbd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -363,6 +363,7 @@ Contact (VCard) Wi-Fi Youtube URL + Boarding Pass Text From 02fdd985ac5edc148a4cdefeaf6ea4acad9bd218 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 12 Mar 2022 18:59:26 +0100 Subject: [PATCH 08/16] Fix a spelling mistake (introduced in #109) Compiling should now work without errors. --- .../tabs/settings/search/ChooseSearchEngineActivity.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt index 0a133669..95e39609 100644 --- a/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt +++ b/app/src/main/java/com/example/barcodescanner/feature/tabs/settings/search/ChooseSearchEngineActivity.kt @@ -64,7 +64,7 @@ class ChooseSearchEngineActivity : BaseActivity() { button_duck_duck_go.setCheckedChangedListener(SearchEngine.DUCK_DUCK_GO) button_google.setCheckedChangedListener(SearchEngine.GOOGLE) button_qwant.setCheckedChangedListener(SearchEngine.QWANT) - utton_startpage.setCheckedChangedListener(SearchEngine.STARTPAGE) + button_startpage.setCheckedChangedListener(SearchEngine.STARTPAGE) button_yahoo.setCheckedChangedListener(SearchEngine.YAHOO) button_yandex.setCheckedChangedListener(SearchEngine.YANDEX) } @@ -85,4 +85,4 @@ class ChooseSearchEngineActivity : BaseActivity() { } } } -} \ No newline at end of file +} From 2a367ea973cd57b05681b34608b9fe6e0d1e4652 Mon Sep 17 00:00:00 2001 From: tzagim <2285958+tzagim@users.noreply.github.com> Date: Tue, 15 Mar 2022 11:48:52 +0200 Subject: [PATCH 09/16] Create strings.xml --- app/src/main/res/values-iw/strings.xml | 383 +++++++++++++++++++++++++ 1 file changed, 383 insertions(+) create mode 100644 app/src/main/res/values-iw/strings.xml diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml new file mode 100644 index 00000000..b7ed88b7 --- /dev/null +++ b/app/src/main/res/values-iw/strings.xml @@ -0,0 +1,383 @@ + + QR וסורק ברקוד + + + סריקה + סריקת תמונה + יצירת ברקוד + היסטוריה + + + יצירת קוד QR + סריקת תמונה + + + שגיאה + משהו התשבש + אישור + + + מחיקה + ביטול + למחוק היסטוריה? + למחוק? + + + אישור + אישור + ביטול + + + עריכת שם + אישור + ביטול + + + סריקה + יצירה + היסטוריה + הגדרות + + + סריקת תמונה + מבזק + נשמר + + + סריקה + אישור + סובב שמאלה + סובב ימינה + בחירת תמונה אחרת + + + יצירה + קוד QR + תוכן מהלוח + טקסט + קודי QR נוספים + ברקוד + ברקודים וקודים דו מימדיים אחרים + + + יצירת קוד QR + + + יצירת ברקוד + ברקודים דו מימדיים + ברקודים חד מימדיים + + + יצירה + אנשי קשר + + + לחלופין: + + + - יש לפתוח את הדפדפן\n- לטעון את האתר\n- לחיצה על \"שיתוף\" מהתפריט\n- ולבחור ביישום הזה + + + כותרת + + + הצפנה + + WPA/WPA2 + WEP + None + + שם רשת + סיסמה + הסתרה + + + נושא + הודעה + + + הודעה + + + נושא + הודעה + + + מטבע קריפטו + + Bitcoin + Bitcoin Cash + Ethereum + Litecoin + Dash + + כתובת המקבל + סכום + תווית + הודעה + + + קו רוחב + קו אורך + גובה (אופצינאלי) + + + סוג + + HOTP + TOTP + + אלגוריתם + + SHA1 + SHA256 + SHA512 + + מנפיק + חשבון + ספרות + תקופה + מונה + סוד + סוד אקראי + + + כותרת + מארגן + תקציר + תאריך התחלה + תאריך סיום + + + שם פרטי + שם משפחה + ארגון + משרה + דואר אלקטרוני + טלפון + פקס + ארץ + אזור/מדינה + מיקוד + עיר + רחוב + אתר + - יש לפתוח את יישום אנשי הקשר\n- לפתוח איש קשר קיים או ליצור חדש\n- ללחוץ \"שיתוף\" מהתפריט\n- ולבחור את היישום הזה + + + טקסט ללא תווים מיוחדים + טקסט עם תווים מיוחדים + ספרות + טקסט באותיות ראשיות ללא תווים מיוחדים + טקסט באותיות ראשיות ללא תווים מיוחדים + טקסט ללא תווים מיוחדים + 7 ספרות + 12 ספרות + מספר זוגי של ספרות + 11 ספרות + 7 ספרות + + + היסטוריה + + הכל + מועדפים + + ייצוא היסטוריה + ניקוי היסטוריה + + + ייצוא היסטוריה + ייצוא כ + + CSV + JSON + + שם הקובץ + db + ייצוא + נשמר להורדות + + + הגדרות + מראה + ערכת עיצוב + צבעי קוד הפוכים בעיצוב כהה + הצג קוד עם תוכן לבן על רקע כהה + סורק + פתח תוכן של קודים סרוקים באופן אוטומטי + עלול לפתוח תוכן מזיק + העתקה ללוח + העתקת ברקודים סרוקים ללוח + מצב מיקוד אוטומטי פשוט + הפעלה רק אם יש לך בעיות מיקוד + מבזק + הפעלת מבזק בפתיחה + רטט + רטט בעת סריקה + סריקה רציפה + שמירת סריקות להיסטוריה בלבד + אישור סריקות ידני + מנע סריקות בשוגג + מצלמה + פורמטים נתמכים + היסטוריה + שמירת ברקודים שנסרקו להיסטוריה + שמירת ברקודים שנוצרו להיסטוריה + אל תשמור כפילויות + הימנע מכפלויות בהיסטוריה + ניקוי היסטוריה + מתקדם + מנוע חיפוש + בחירת מנוע חיפוש לחיפושים במרשתת + דוחות שגיאה + איפשור דוחות שגיאה + זה יעזור לנו לתקן באגים + אודות + חיפוש עדכונים + הרשאות + קוד מקור + גירסת יישום + + + ערכת עיצוב + כמערכת + בהיר + כהה + + + מצלמה + קידמית + אחורית + + + פורמטים נתמכים + + + מנועי חיפוש + ללא + שאל בכל פעם + Bing + DuckDuckGo + Google + Qwant + Yahoo + Yandex + + + הרשאות + רגיל + רטט + משמש לרטט בעת סריקה + Wi-Fi + משמש לחיבור Wi-Fi בעת סריקת קוד QR + אינטרנט + משמש למשלוח דוחות שגיאה, ניתן להשבית זאת בהגדרות. + זמן ריצה + מצלמה + משמש לסריקת קודי QR וברקוד במצלמה + קריאת אנשי קשר + משמש ליצירת קוד QR על ידי בחירת איש קשר מרשימת אנשי הקשר שלך + אחסון + משמש לגישה לאחסון כאשר ברצונך לשמור את קוד QR או ברקוד כטקסט או תמונה + + + הוספה ליומן + הוספה לאנשי קשר + התקשר %s + שליחת SMS/MMS אל %s + דואר אלקטרוני אל %s + הצגת מיקום + חיבור אל Wi-Fi + פתיחת הגדות Wi-Fi + העתקת שם הרשת + העתקת סיסמת הרשת + פתיחת יישום + פתיחה בחנות + פתיחה ביוטיוב + שמירה לסימניות + פתיחת קישור + פתיחה ביישום אחר + הצגת סיסמה + פתיחה ביישום אחר + שיתוף כטקסט + העתקה ללוח + שמירה כטקסט + חיפוש במרשתת + הוספה למועדפים + הצגת קוד + שיתוף כתמונה + שמירה כתמונה + הדפסה + מחיקה + מתחבר… + הועתק ללוח + לא נמצא יישום לפעולה זו + ביטול + + + הגברת בהירות + הקטנת בהירות + + + OTP + לא ניתן ליצור סיסמה + מונה: %s + %s:%s נותרו + רענון + + + שמירה + שמירה כ + + CSV + JSON + + שמירה + נשמר להורדות + + + שמירה + שמירה כ + + PNG + SVG + + שמירה + שמירה לגלריה + + + סימניה + ביטקוין + דואר אלקטרוני + מיקום + כתובת + יישום + MMS + איש קשר (MeCard) + טלפון + OTP + SMS + כתובת אתר + אירוע + איש קשר (VCard) + Wi-Fi + קישור יוטיוב + טקסט + + + קוד QR + Aztec + Codabar + Code 39 + Code 93 + Code 128 + Data Matrix + EAN-8 + EAN-13 + ITF + PDF417 + UPC-A + UPC-E + + From a115fc5a2874d17a582758c748b1b4b81d1dc0c4 Mon Sep 17 00:00:00 2001 From: tzagim <2285958+tzagim@users.noreply.github.com> Date: Tue, 15 Mar 2022 11:49:34 +0200 Subject: [PATCH 10/16] Create full_description.txt --- .../metadata/android/iw/full_description.txt | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 fastlane/metadata/android/iw/full_description.txt diff --git a/fastlane/metadata/android/iw/full_description.txt b/fastlane/metadata/android/iw/full_description.txt new file mode 100644 index 00000000..aaac5cf7 --- /dev/null +++ b/fastlane/metadata/android/iw/full_description.txt @@ -0,0 +1,46 @@ +כל הפורמטים הנפוצים +סרוק את כל פורמטי הברקוד הנפוצים: QR, Data Matrix, Aztec, UPC, EAN ועוד. + +פנס וזום +אפשר לפנס לסרוק בחושך. השתמש בזום כדי לקרוא ברקודים ממרחקים רחוקים. + +פעולות רלוונטיות +פתח קישורים, התחבר ל-WiFi, הצג מיקומים גיאוגרפיים, הוסף אירועי לוח שנה, מצא מידע על מוצרים וכו'. + +סרוק מתמונות +סרוק קודים מקובצי תמונה או ישירות באמצעות המצלמה. + +צור קודי QR וברקודים +צור קודי QR או ברקודים משלך עם הגנרטור המובנה. + +היסטוריה +הצג קודים סרוקים ונוצרים בהיסטוריה. + +יצוא CSV ו-JSON +ייצא קודים כקובצי CSV או JSON. + +הגדרות +התאם אישית את האפליקציה שלך עם הגדרות גמישות. + +קודי QR נתמכים: +• קישורים לאתר (URL) +• מידע על גישה לנקודה חמה של WiFi +• מיקומים גיאוגרפיים +• נתוני איש קשר (MeCard, vCard) +• אירועי לוח שנה +• טלפונים +• אימייל +• סמס + +ברקודים וקודים דו מימדיים: +• מטריצת נתונים +• Aztec +• PDF417 +• EAN-13, EAN-8 +• UPC-E, UPC-A +• קוד 39, קוד 93 וקוד 128 +• Codabar +• ITF + +קוד מקור: +https://github.com/dmitriy-ilchenko/QrAndBarcodeScanner From caac4cffc5b202ac369df7db927b067a547078e1 Mon Sep 17 00:00:00 2001 From: tzagim <2285958+tzagim@users.noreply.github.com> Date: Tue, 15 Mar 2022 11:50:00 +0200 Subject: [PATCH 11/16] Create short_description.txt --- fastlane/metadata/android/iw/short_description.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/iw/short_description.txt diff --git a/fastlane/metadata/android/iw/short_description.txt b/fastlane/metadata/android/iw/short_description.txt new file mode 100644 index 00000000..5bba09b4 --- /dev/null +++ b/fastlane/metadata/android/iw/short_description.txt @@ -0,0 +1 @@ + סורק QR וברקוד עם כל התכונות שאתה צריך. From c0c425a8953d80ba5730185ecdcf648bf30d91c0 Mon Sep 17 00:00:00 2001 From: tzagim <2285958+tzagim@users.noreply.github.com> Date: Tue, 15 Mar 2022 11:50:25 +0200 Subject: [PATCH 12/16] Create title.txt --- fastlane/metadata/android/iw/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/iw/title.txt diff --git a/fastlane/metadata/android/iw/title.txt b/fastlane/metadata/android/iw/title.txt new file mode 100644 index 00000000..bf87ae84 --- /dev/null +++ b/fastlane/metadata/android/iw/title.txt @@ -0,0 +1 @@ + סורק QR וברקוד From 86a3ecb018a3dd867924a48db3b80b7354725443 Mon Sep 17 00:00:00 2001 From: "mnt912@gmail.com" Date: Tue, 5 Apr 2022 15:54:58 +0300 Subject: [PATCH 13/16] Update Kotlin version --- app/build.gradle | 6 +++--- build.gradle | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cba612b9..9ef66263 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -71,9 +71,9 @@ dependencies { // Android implementation 'androidx.core:core-ktx:1.7.0' - implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'com.google.android.material:material:1.4.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.multidex:multidex:2.0.1' // Room diff --git a/build.gradle b/build.gradle index 39cf4763..2dfe50e0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.4.10' + ext.kotlin_version = '1.6.0' repositories { google() jcenter() From 99884b551900d12b9a23049319ddee01b3049811 Mon Sep 17 00:00:00 2001 From: "mnt912@gmail.com" Date: Tue, 5 Apr 2022 16:33:22 +0300 Subject: [PATCH 14/16] Fix Sentry --- app/build.gradle | 18 +++++++++--------- app/src/main/AndroidManifest.xml | 17 +++++++++++++++++ .../example/barcodescanner/usecase/Logger.kt | 2 +- build.gradle | 3 +-- gradle/wrapper/gradle-wrapper.properties | 6 +++--- 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 9ef66263..790688b4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,14 +1,19 @@ plugins { - id 'io.sentry.android.gradle' + id("io.sentry.android.gradle") version "3.0.1" id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions' id 'kotlin-kapt' } +sentry { + includeProguardMapping = true + autoUploadProguardMapping = true +} + android { compileSdkVersion 31 - buildToolsVersion "29.0.3" + buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.barcodescanner" @@ -56,11 +61,6 @@ android { buildConfigField "boolean", "ERROR_REPORTS_ENABLED_BY_DEFAULT", "false" } } - - sentry { - autoProguardConfig true - autoUpload true - } } dependencies { @@ -77,7 +77,7 @@ dependencies { implementation 'androidx.multidex:multidex:2.0.1' // Room - final roomVersion = "2.2.5" + final roomVersion = "2.4.2" kapt "androidx.room:room-compiler:$roomVersion" implementation "androidx.room:room-runtime:$roomVersion" implementation "androidx.room:room-rxjava2:$roomVersion" @@ -114,5 +114,5 @@ dependencies { implementation 'com.github.florent37:singledateandtimepicker:2.2.6' // Sentry - implementation 'io.sentry:sentry-android:2.3.1' + implementation 'io.sentry:sentry-android:5.7.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cc797ba1..1425ed13 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,6 +47,7 @@ android:name=".feature.tile.QuickSettingsTileService" android:icon="@drawable/ic_scan" android:label="@string/app_name" + android:exported="true" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> @@ -81,6 +83,7 @@ android:screenOrientation="fullSensor" android:configChanges="orientation|screenSize" tools:ignore="AppLinkUrlError" + android:exported="true" > @@ -102,6 +105,7 @@ android:screenOrientation="fullSensor" android:configChanges="orientation|screenSize" android:windowSoftInputMode="stateVisible" + android:exported="true" > @@ -119,69 +123,82 @@ android:name=".feature.tabs.create.qr.CreateQrCodeAllActivity" android:screenOrientation="fullSensor" android:configChanges="orientation|screenSize" + android:exported="false" /> diff --git a/app/src/main/java/com/example/barcodescanner/usecase/Logger.kt b/app/src/main/java/com/example/barcodescanner/usecase/Logger.kt index 3f64f38a..086cfb08 100644 --- a/app/src/main/java/com/example/barcodescanner/usecase/Logger.kt +++ b/app/src/main/java/com/example/barcodescanner/usecase/Logger.kt @@ -1,7 +1,7 @@ package com.example.barcodescanner.usecase import com.example.barcodescanner.BuildConfig -import io.sentry.core.Sentry +import io.sentry.Sentry object Logger { var isEnabled = BuildConfig.ERROR_REPORTS_ENABLED_BY_DEFAULT diff --git a/build.gradle b/build.gradle index 2dfe50e0..bee550d1 100644 --- a/build.gradle +++ b/build.gradle @@ -9,9 +9,8 @@ buildscript { maven { url "https://jitpack.io" } } dependencies { - classpath 'com.android.tools.build:gradle:4.0.2' + classpath 'com.android.tools.build:gradle:7.0.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'io.sentry:sentry-android-gradle-plugin:1.7.28' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1b64e8f8..bd5b3b4c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,8 @@ -#Sun Jul 26 01:41:08 MSK 2020 +#Tue Apr 05 16:05:22 MSK 2022 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip +zipStoreBase=GRADLE_USER_HOME android.enableJetifier=true android.useAndroidX=true From 99d30debbe12d513007675f90df7680e9eb40621 Mon Sep 17 00:00:00 2001 From: "mnt912@gmail.com" Date: Tue, 5 Apr 2022 16:36:27 +0300 Subject: [PATCH 15/16] Fix jcenter --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index bee550d1..582c3af4 100644 --- a/build.gradle +++ b/build.gradle @@ -4,9 +4,9 @@ buildscript { ext.kotlin_version = '1.6.0' repositories { google() - jcenter() mavenCentral() maven { url "https://jitpack.io" } + jcenter() } dependencies { classpath 'com.android.tools.build:gradle:7.0.2' @@ -17,8 +17,8 @@ buildscript { allprojects { repositories { google() - jcenter() maven { url "https://jitpack.io" } + jcenter() } } From 1cc71f1e97214c299423a30966528109d3516afa Mon Sep 17 00:00:00 2001 From: "mnt912@gmail.com" Date: Tue, 5 Apr 2022 16:47:51 +0300 Subject: [PATCH 16/16] v1.10 --- CHANGELOG.md | 4 ++++ app/build.gradle | 4 ++-- .../java/com/example/barcodescanner/model/ParsedBarcode.kt | 1 + fastlane/metadata/android/en-US/changelogs/12.txt | 2 ++ fastlane/metadata/android/ru/changelogs/12.txt | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/12.txt create mode 100644 fastlane/metadata/android/ru/changelogs/12.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 433d201c..207f096b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 1.10 +* Add support for Airline Boarding Pass barcodes +* Update translations + ## 1.9 * Add support for New Zealand Covid Tracer QR Codes * Update translations diff --git a/app/build.gradle b/app/build.gradle index 790688b4..b250318c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,8 +19,8 @@ android { applicationId "com.example.barcodescanner" minSdkVersion 21 targetSdkVersion 31 - versionCode 11 - versionName "1.9" + versionCode 12 + versionName "1.10" multiDexEnabled true vectorDrawables.useSupportLibrary true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt b/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt index a02ae5e3..b52d7f7e 100644 --- a/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt +++ b/app/src/main/java/com/example/barcodescanner/model/ParsedBarcode.kt @@ -97,6 +97,7 @@ class ParsedBarcode(barcode: Barcode) { BarcodeSchema.NZCOVIDTRACER -> parseNZCovidTracer() BarcodeSchema.BOARDINGPASS, BarcodeSchema.URL -> parseUrl() + else -> {} } } diff --git a/fastlane/metadata/android/en-US/changelogs/12.txt b/fastlane/metadata/android/en-US/changelogs/12.txt new file mode 100644 index 00000000..85c1ebc5 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/12.txt @@ -0,0 +1,2 @@ +* Add support for Airline Boarding Pass barcodes +* Update translations \ No newline at end of file diff --git a/fastlane/metadata/android/ru/changelogs/12.txt b/fastlane/metadata/android/ru/changelogs/12.txt new file mode 100644 index 00000000..7724d2ec --- /dev/null +++ b/fastlane/metadata/android/ru/changelogs/12.txt @@ -0,0 +1 @@ +* Обновлен перевод \ No newline at end of file