Skip to content

Commit 127ffdc

Browse files
committed
fixed vin-scanner example
fix image-ref usage logic fix imageRef usage logic update dependencies fix compiling remove dev deps
1 parent 29bf1b2 commit 127ffdc

File tree

17 files changed

+167
-42
lines changed

17 files changed

+167
-42
lines changed

classic-components-example/camera-view-aspect-ratio-finder/src/main/java/io/scanbot/example/MainActivity.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ import io.scanbot.sdk.documentscanner.DocumentScanner
2626
import io.scanbot.sdk.documentscanner.DocumentScannerParameters
2727
import io.scanbot.sdk.geometry.AspectRatio
2828
import io.scanbot.sdk.image.ImageRef
29+
import io.scanbot.sdk.imageprocessing.ScanbotSdkImageProcessor
2930
import io.scanbot.sdk.process.ImageProcessor
3031
import io.scanbot.sdk.ui.camera.AdaptiveFinderOverlayView
3132
import io.scanbot.sdk.ui.camera.ScanbotCameraXView
3233
import io.scanbot.sdk.ui.camera.ShutterButton
34+
import io.scanbot.sdk.util.PolygonHelper
3335

3436
class MainActivity : AppCompatActivity(), DocumentScannerFrameHandler.ResultHandler {
3537
private lateinit var cameraView: ScanbotCameraXView
@@ -186,11 +188,18 @@ class MainActivity : AppCompatActivity(), DocumentScannerFrameHandler.ResultHand
186188
this.ignoreOrientationMismatch = true
187189
}
188190
})
189-
val polygon = scanner.run(image).getOrNull()?.pointsNormalized ?: throw Exception("Document detection failed")
191+
val polygon = scanner.run(image).getOrNull()?.pointsNormalized
192+
?: throw Exception("Document detection failed")
193+
194+
val polygonCrop =
195+
polygon.takeIf { it.isNotEmpty() && it.size == 4 } ?: PolygonHelper.getFullPolygon()
196+
var documentImage = ScanbotSdkImageProcessor.create()
197+
.crop(image, polygonCrop)
198+
.getOrThrow()
199+
documentImage = ScanbotSdkImageProcessor.create().resize(documentImage, 200).getOrThrow()
190200

191-
val documentImage = ImageProcessor(image).crop(polygon).processedBitmap().getOrNull()
192201
resultView.post {
193-
resultView.setImageBitmap(documentImage)
202+
resultView.setImageBitmap(documentImage.toBitmap().getOrNull())
194203
cameraView.continuousFocus()
195204
cameraView.startPreview()
196205
}

classic-components-example/camera-view/src/main/java/io/scanbot/example/MainActivity.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@ import io.scanbot.sdk.document.DocumentScannerFrameHandler
3333
import io.scanbot.sdk.documentscanner.DocumentDetectionStatus
3434
import io.scanbot.sdk.documentscanner.DocumentScanner
3535
import io.scanbot.sdk.image.ImageRef
36+
import io.scanbot.sdk.imageprocessing.ScanbotSdkImageProcessor
3637
import io.scanbot.sdk.process.ImageProcessor
3738
import io.scanbot.sdk.ui.PolygonView
3839
import io.scanbot.sdk.ui.camera.ScanbotCameraXView
3940
import io.scanbot.sdk.ui.camera.ShutterButton
41+
import io.scanbot.sdk.util.PolygonHelper
4042

4143
class MainActivity : AppCompatActivity(), DocumentScannerFrameHandler.ResultHandler {
4244
private lateinit var cameraView: ScanbotCameraXView
@@ -223,16 +225,14 @@ class MainActivity : AppCompatActivity(), DocumentScannerFrameHandler.ResultHand
223225
documentScanner.run(image).getOrNull()?.pointsNormalized ?: throw IllegalStateException(
224226
"No document detected"
225227
)
228+
val polygonCrop = polygon.takeIf { it.isNotEmpty() && it.size == 4 } ?: PolygonHelper.getFullPolygon()
229+
var documentImage = ScanbotSdkImageProcessor.create()
230+
.crop(image, polygonCrop)
231+
.getOrThrow()
232+
documentImage = ScanbotSdkImageProcessor.create().resize(documentImage, 200).getOrThrow()
226233

227-
val documentImage =
228-
ImageProcessor(image).resize(200).crop(polygon).processedBitmap().getOrNull()
229234
resultView.post {
230-
val bm = image.toBitmap()
231-
when(bm){
232-
is Result.Success<*> -> {}
233-
is Result.Unexpected ->{ throw IllegalStateException(bm.message) }
234-
}
235-
resultView.setImageBitmap(bm.getOrNull())
235+
resultView.setImageBitmap(documentImage.toBitmap().getOrNull())
236236
}
237237

238238
// continue scanning

classic-components-example/vin-scanner/src/main/java/io/scanbot/example/ExampleApplication.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.scanbot.example
22

33
import android.app.Application
4-
import io.scanbot.sap.SdkFeature
54
import io.scanbot.sdk.ScanbotSDK
65
import io.scanbot.sdk.ScanbotSDKInitializer
76
import io.scanbot.sdk.util.log.LoggerProvider
@@ -24,11 +23,9 @@ class ExampleApplication : Application() {
2423
.withLogging(true)
2524
// TODO 2/2: Enable the Scanbot SDK license key
2625
//.license(this, licenseKey)
27-
.licenceErrorHandler { status, feature, statusMessage ->
26+
.licenseErrorHandler { status, feature, statusMessage ->
2827
LoggerProvider.logger.d("ExampleApplication", "+++> License status: ${status.name}. Status message: $statusMessage")
29-
if (feature != SdkFeature.NoSdkFeature) {
30-
LoggerProvider.logger.d("ExampleApplication", "+++> Feature not available: ${feature.name}")
31-
}
28+
LoggerProvider.logger.d("ExampleApplication", "+++> Feature not available: ${feature.name}")
3229
}
3330
//.sdkFilesDirectory(this, getExternalFilesDir(null)!!)
3431
.initialize(this)
@@ -38,6 +35,6 @@ class ExampleApplication : Application() {
3835
val licenseInfo = ScanbotSDK(this).licenseInfo
3936
LoggerProvider.logger.d("ExampleApplication", "License status: ${licenseInfo.status}")
4037
LoggerProvider.logger.d("ExampleApplication", "License isValid: ${licenseInfo.isValid}")
41-
LoggerProvider.logger.d("ExampleApplication", "License expirationDate: ${licenseInfo.expirationDate}")
38+
LoggerProvider.logger.d("ExampleApplication", "License expirationDate: ${licenseInfo.expirationDateString}")
4239
}
4340
}

classic-components-example/vin-scanner/src/main/java/io/scanbot/example/ScannerActivity.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ import android.util.TypedValue
55
import android.widget.Button
66
import android.widget.TextView
77
import androidx.appcompat.app.AppCompatActivity
8+
import io.scanbot.common.getOrThrow
89
import io.scanbot.example.common.applyEdgeToEdge
910
import io.scanbot.sdk.ScanbotSDK
1011
import io.scanbot.sdk.camera.CameraPreviewMode
1112
import io.scanbot.sdk.camera.FrameHandlerResult
12-
import io.scanbot.sdk.common.AspectRatio
13+
import io.scanbot.sdk.geometry.AspectRatio
1314
import io.scanbot.sdk.ui.camera.FinderOverlayView
1415
import io.scanbot.sdk.ui.camera.IScanbotCameraView
1516
import io.scanbot.sdk.ui.camera.ScanbotCameraXView
@@ -32,7 +33,7 @@ class ScannerActivity : AppCompatActivity() {
3233
supportActionBar!!.hide()
3334
applyEdgeToEdge(findViewById(R.id.root_view))
3435

35-
vinScanner = ScanbotSDK(this).createVinScanner()
36+
vinScanner = ScanbotSDK(this).createVinScanner().getOrThrow()
3637

3738
cameraView = findViewById<ScanbotCameraXView>(R.id.cameraView)
3839
resultTextView = findViewById(R.id.resultTextView)

data-capture-ready-to-use-ui-example/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ dependencies {
7474
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version")
7575
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version")
7676

77-
def scanbotSdkVersion = "8.0.0.38-STAGING-SNAPSHOT"
77+
def scanbotSdkVersion = "8.0.0_RESULT.54-STAGING-SNAPSHOT"
7878

7979
implementation("io.scanbot:sdk-package-4:$scanbotSdkVersion")
8080
implementation("io.scanbot:sdk-package-ui:$scanbotSdkVersion")

data-capture-ready-to-use-ui-example/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
plugins {
3-
id "com.android.application" version "8.3.2" apply false
4-
id "org.jetbrains.kotlin.android" version "1.9.23" apply false
3+
id "com.android.application" version '8.13.0' apply false
4+
id "org.jetbrains.kotlin.android" version "2.2.20" apply false
55
}
66

77
allprojects {

data-capture-ready-to-use-ui-example/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip

document-scanner-ready-to-use-ui-example/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ android {
3939
}
4040
}
4141

42-
def scanbotSdkVersion = "8.0.0.39-STAGING-SNAPSHOT"
42+
def scanbotSdkVersion = "8.0.0_RESULT.54-STAGING-SNAPSHOT"
4343

4444
dependencies {
4545

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/di/ExampleSingleton.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import io.scanbot.sdk.docprocessing.PdfPagesExtractor
77
import io.scanbot.sdk.documentqualityanalyzer.DocumentQualityAnalyzer
88
import io.scanbot.sdk.ocr.OcrEngine
99
import io.scanbot.sdk.ocr.OcrEngineManager
10+
import io.scanbot.sdk.pdf.PdfGenerator
1011
import io.scanbot.sdk.persistence.fileio.FileIOProcessor
1112
import io.scanbot.sdk.persistence.page.PageFileStorage
12-
import io.scanbot.sdk.process.PdfGenerator
1313
import io.scanbot.sdk.tiff.TiffGeneratorManager
1414
import io.scanbot.sdk.tiffgeneration.TiffGenerator
1515

document-scanner-ready-to-use-ui-example/app/src/main/java/com/example/scanbot/doc_code_snippet/PdfFromDocumentSnippet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class PdfFromDocumentSnippet : AppCompatActivity() {
8383
pageFit = PageFit.NONE,
8484
resamplingMethod = ResamplingMethod.NONE,
8585
)
86-
val result = pdfGenerator.generateFromDocument(
86+
val result = pdfGenerator.generate(
8787
document,
8888
config
8989
)

0 commit comments

Comments
 (0)