Skip to content

Commit 0b5aca9

Browse files
committed
Release 6.2
1 parent 3d54f8f commit 0b5aca9

9 files changed

Lines changed: 102 additions & 32 deletions

File tree

Samples/Advanced/DocumentReader-Kotlin/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ dependencies {
4343
implementation "androidx.recyclerview:recyclerview:1.2.1"
4444

4545
//noinspection GradleDynamicVersion
46-
implementation 'com.regula.documentreader.core:fullrfid:6.1.+@aar'
46+
implementation 'com.regula.documentreader.core:fullrfid:6.2.+@aar'
4747
//noinspection GradleDynamicVersion
48-
implementation('com.regula.documentreader:api:6.1.+@aar') {
48+
implementation('com.regula.documentreader:api:6.2.+@aar') {
4949
transitive = true
5050
}
5151

Samples/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/CustomRfidActivity.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import androidx.appcompat.app.AppCompatActivity
2020
import com.regula.documentreader.api.DocumentReader
2121
import com.regula.documentreader.api.enums.DocReaderAction
2222
import com.regula.documentreader.api.enums.eRFID_DataFile_Type
23-
import com.regula.documentreader.api.enums.eRFID_NotificationAndErrorCodes
23+
import com.regula.documentreader.api.enums.eRFID_ErrorCodes
24+
import com.regula.documentreader.api.enums.eRFID_NotificationCodes
2425
import com.regula.documentreader.databinding.ActivityCustomRfidBinding
2526

2627

@@ -145,7 +146,7 @@ class CustomRfidActivity : AppCompatActivity() {
145146
handler.postDelayed({ finish() }, 2500)
146147
} else {
147148
val builder =
148-
getString(R.string.RFID_Error_Failed) + "\n" + eRFID_NotificationAndErrorCodes.getTranslation(
149+
getString(R.string.RFID_Error_Failed) + "\n" + eRFID_ErrorCodes.getTranslation(
149150
this,
150151
results.rfidResult
151152
)
@@ -172,7 +173,7 @@ class CustomRfidActivity : AppCompatActivity() {
172173
}
173174
DocReaderAction.ERROR -> {
174175
val builder =
175-
getString(R.string.RFID_Error_Failed) + "\n" + eRFID_NotificationAndErrorCodes.getTranslation(
176+
getString(R.string.RFID_Error_Failed) + "\n" + eRFID_ErrorCodes.getTranslation(
176177
this,
177178
results!!.rfidResult
178179
)
@@ -189,7 +190,7 @@ class CustomRfidActivity : AppCompatActivity() {
189190

190191
private fun rfidProgress(code: Int, value: Int) {
191192
when (code and -0x10000) {
192-
eRFID_NotificationAndErrorCodes.RFID_NOTIFICATION_PCSC_READING_DATAGROUP -> if (value == 0) {
193+
eRFID_NotificationCodes.RFID_NOTIFICATION_PCSC_READING_DATAGROUP -> if (value == 0) {
193194
handler.post {
194195
binding.currentRfidDgTv.text = String.format(
195196
getString(R.string.strReadingRFIDDG), eRFID_DataFile_Type.getTranslation(

Samples/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/DirectResultsActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,9 @@ class DirectResultsActivity : AppCompatActivity() {
170170
try {
171171
when {
172172
parameters contentEquals arrayOf(fieldType) -> output =
173-
results.getTextFieldByType(args[0]).value()!!.value!!
173+
results.getTextFieldByType(args[0])!!.value()!!.value!!
174174
parameters contentEquals fieldType_lcid -> output =
175-
results.getTextFieldByType(args[0], args[1]).value()!!.value!!
175+
results.getTextFieldByType(args[0], args[1])!!.value()!!.value!!
176176
parameters contentEquals fieldType_lcid_sourceType -> output =
177177
results.getTextFieldValueByType(args[0], args[1], args[2])
178178
parameters contentEquals fieldType_lcid_sourceType_original -> output =

Samples/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/MainActivity.kt

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.app.Activity
55
import android.content.Intent
66
import android.content.pm.PackageManager
77
import android.graphics.*
8+
import android.net.Uri
89
import android.os.Bundle
910
import android.text.SpannableString
1011
import android.text.style.AbsoluteSizeSpan
@@ -32,6 +33,7 @@ import com.regula.documentreader.SettingsActivity.Companion.functionality
3233
import com.regula.documentreader.SettingsActivity.Companion.isDataEncryptionEnabled
3334
import com.regula.documentreader.SettingsActivity.Companion.isRfidEnabled
3435
import com.regula.documentreader.SettingsActivity.Companion.useCustomRfidActivity
36+
import com.regula.documentreader.api.DocumentReader
3537
import com.regula.documentreader.api.DocumentReader.Instance
3638
import com.regula.documentreader.api.completions.IDocumentReaderCompletion
3739
import com.regula.documentreader.api.completions.IDocumentReaderPrepareCompletion
@@ -60,10 +62,35 @@ class MainActivity : FragmentActivity(), Serializable {
6062
@Transient
6163
val imageBrowsingIntentLauncher =
6264
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
63-
if (it.resultCode == Activity.RESULT_OK) it.data?.data.let { uri ->
64-
val bmp = getBitmap(uri, 1920, 1080, this)
65-
loadingDialog = showDialog("Processing image")
66-
bmp?.let { Instance().recognizeImage(bmp, completion) }
65+
if (it.resultCode == Activity.RESULT_OK) {
66+
it.data?.let { intent ->
67+
val imageUris = ArrayList<Uri>()
68+
if (intent.clipData == null) {
69+
intent.data?.let { uri ->
70+
imageUris.add(uri)
71+
}
72+
} else {
73+
intent.clipData?.let { clipData ->
74+
for (i in 0 until clipData.itemCount) {
75+
imageUris.add(clipData.getItemAt(i).uri)
76+
}
77+
}
78+
}
79+
if (imageUris.size > 0) {
80+
loadingDialog = showDialog("Processing image")
81+
if (imageUris.size == 1) {
82+
getBitmap(imageUris[0], 1920, 1080, this)?.let { bitmap ->
83+
Instance().recognizeImage(bitmap, completion)
84+
}
85+
} else {
86+
val bitmaps = arrayOfNulls<Bitmap>(imageUris.size)
87+
for (i in bitmaps.indices) {
88+
bitmaps[i] = getBitmap(imageUris[i], 1920, 1080, this)
89+
}
90+
Instance().recognizeImages(bitmaps, completion)
91+
}
92+
}
93+
}
6794
}
6895
}
6996

@@ -188,7 +215,7 @@ class MainActivity : FragmentActivity(), Serializable {
188215
var accessKey: String?
189216
accessKey = results.getTextFieldValueByType(eVisualFieldType.FT_MRZ_STRINGS)
190217
if (accessKey != null && accessKey.isNotEmpty()) {
191-
accessKey = results.getTextFieldValueByType(eVisualFieldType.FT_MRZ_STRINGS)
218+
accessKey = results.getTextFieldValueByType(eVisualFieldType.FT_MRZ_STRINGS)!!
192219
.replace("^", "").replace("\n", "")
193220
Instance().rfidScenario().setMrz(accessKey)
194221
Instance().rfidScenario().setPacePasswordType(eRFID_Password_Type.PPT_MRZ)
@@ -244,8 +271,9 @@ class MainActivity : FragmentActivity(), Serializable {
244271
hideDialog()
245272
when (result) {
246273
is Result.Success -> {
247-
val map = DocReaderResultsJsonParser.parseCoreResults(result.component1())
248-
val results = map["docReaderResults"] as DocumentReaderResults
274+
val map = result.component1()
275+
?.let { DocReaderResultsJsonParser.parseCoreResults(it) }
276+
val results = map?.get("docReaderResults") as DocumentReaderResults
249277
ResultsActivity.results = results
250278
startActivity(Intent(this, ResultsActivity::class.java))
251279
}

Samples/Advanced/DocumentReader-Kotlin/app/src/main/java/com/regula/documentreader/ResultsActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import com.regula.documentreader.api.enums.LCID
2626
import com.regula.documentreader.api.enums.eCheckResult.CH_CHECK_OK
2727
import com.regula.documentreader.api.enums.eCheckResult.CH_CHECK_WAS_NOT_DONE
2828
import com.regula.documentreader.api.enums.eRFID_DataFile_Type
29-
import com.regula.documentreader.api.enums.eRFID_NotificationAndErrorCodes.*
29+
import com.regula.documentreader.api.enums.eRFID_ErrorCodes.*
3030
import com.regula.documentreader.api.enums.eRPRM_FieldVerificationResult.*
3131
import com.regula.documentreader.api.results.DocumentReaderResults
3232
import com.regula.documentreader.api.results.DocumentReaderValue

Samples/Basic/DocumentReader-sample/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ dependencies {
3131
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
3232
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
3333

34-
implementation 'com.regula.documentreader.core:fullrfid:6.1.+@aar'
35-
implementation('com.regula.documentreader:api:6.1.+@aar') {
34+
implementation 'com.regula.documentreader.core:fullrfid:6.2.+@aar'
35+
implementation('com.regula.documentreader:api:6.2.+@aar') {
3636
transitive = true;
3737
}
3838
}

Samples/Basic/DocumentReader-sample/app/src/main/java/com/regula/documentreader/MainActivity.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.regula.documentreader;
22

33
import android.Manifest;
4+
import android.content.ClipData;
45
import android.content.ContentResolver;
56
import android.content.Intent;
67
import android.content.SharedPreferences;
78
import android.content.pm.PackageManager;
89
import android.graphics.Bitmap;
910
import android.graphics.BitmapFactory;
11+
import android.graphics.Color;
1012
import android.net.Uri;
1113
import android.os.Bundle;
1214
import androidx.annotation.NonNull;
@@ -132,13 +134,31 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
132134
if (resultCode == RESULT_OK) {
133135
//Image browsing intent processed successfully
134136
if (requestCode == REQUEST_BROWSE_PICTURE){
135-
if (data.getData() != null) {
136-
Uri selectedImage = data.getData();
137-
Bitmap bmp = getBitmap(selectedImage, 1920, 1080);
137+
ArrayList<Uri> imageUris = new ArrayList<>();
138+
ClipData clipData = data.getClipData();
138139

139-
loadingDialog = showDialog("Processing image");
140+
if (clipData == null) {
141+
Uri imageUri = data.getData();
142+
if (imageUri != null) {
143+
imageUris.add(imageUri);
144+
}
145+
} else {
146+
for (int i = 0; i < clipData.getItemCount(); i++) {
147+
imageUris.add(clipData.getItemAt(i).getUri());
148+
}
149+
}
140150

141-
DocumentReader.Instance().recognizeImage(bmp, completion);
151+
if (imageUris.size() > 0) {
152+
loadingDialog = showDialog("Processing image");
153+
if (imageUris.size() == 1) {
154+
DocumentReader.Instance().recognizeImage(getBitmap(imageUris.get(0), 1920, 1080), completion);
155+
} else {
156+
Bitmap[] bitmaps = new Bitmap[imageUris.size()];
157+
for (int i = 0; i < bitmaps.length; i++) {
158+
bitmaps[i] = getBitmap(imageUris.get(i), 1920, 1080);
159+
}
160+
DocumentReader.Instance().recognizeImages(bitmaps, completion);
161+
}
142162
}
143163
}
144164
}

Samples/Basic/DocumentReader-sample_kotlin/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ dependencies {
3232
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
3333
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
3434

35-
implementation 'com.regula.documentreader.core:fullrfid:6.1.+@aar'
36-
implementation('com.regula.documentreader:api:6.1.+@aar') {
35+
implementation 'com.regula.documentreader.core:fullrfid:6.2.+@aar'
36+
implementation('com.regula.documentreader:api:6.2.+@aar') {
3737
transitive = true;
3838
}
3939
}

Samples/Basic/DocumentReader-sample_kotlin/app/src/main/java/com/regula/documentreader/MainActivity.kt

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,36 @@ class MainActivity : AppCompatActivity() {
102102
}
103103
}
104104

105-
var resultLauncher =
105+
private var resultLauncher =
106106
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
107107
if (result.resultCode == Activity.RESULT_OK) {
108-
// There are no request codes
109-
if (result!!.data != null) {
110-
val selectedImage = result.data!!.data;
111-
val bmp = getBitmap(selectedImage, 1920, 1080)
112-
loadingDialog = showDialog("Processing image")
113-
DocumentReader.Instance().recognizeImage(bmp!!, completion)
108+
result.data?.let { intent ->
109+
val imageUris = ArrayList<Uri>()
110+
if (intent.clipData == null) {
111+
intent.data?.let { uri ->
112+
imageUris.add(uri)
113+
}
114+
} else {
115+
intent.clipData?.let { clipData ->
116+
for (i in 0 until clipData.itemCount) {
117+
imageUris.add(clipData.getItemAt(i).uri)
118+
}
119+
}
120+
}
121+
if (imageUris.size > 0) {
122+
loadingDialog = showDialog("Processing image")
123+
if (imageUris.size == 1) {
124+
getBitmap(imageUris[0], 1920, 1080)?.let { bitmap ->
125+
DocumentReader.Instance().recognizeImage(bitmap, completion)
126+
}
127+
} else {
128+
val bitmaps = arrayOfNulls<Bitmap>(imageUris.size)
129+
for (i in bitmaps.indices) {
130+
bitmaps[i] = getBitmap(imageUris[i], 1920, 1080)
131+
}
132+
DocumentReader.Instance().recognizeImages(bitmaps, completion)
133+
}
134+
}
114135
}
115136
}
116137
}

0 commit comments

Comments
 (0)