@@ -13,10 +13,12 @@ import com.klippa.scanner.model.KlippaError
13
13
import com.klippa.scanner.model.KlippaImageColor
14
14
import com.klippa.scanner.model.KlippaMultipleDocumentMode
15
15
import com.klippa.scanner.model.KlippaObjectDetectionModel
16
+ import com.klippa.scanner.model.KlippaOutputFormat
16
17
import com.klippa.scanner.model.KlippaScannerResult
17
18
import com.klippa.scanner.model.KlippaSegmentedDocumentMode
18
19
import com.klippa.scanner.model.KlippaSingleDocumentMode
19
20
import com.klippa.scanner.model.KlippaSize
21
+ import com.klippa.scanner.storage.KlippaStorage
20
22
import io.flutter.embedding.engine.plugins.FlutterPlugin
21
23
import io.flutter.embedding.engine.plugins.activity.ActivityAware
22
24
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
@@ -72,13 +74,23 @@ class KlippaScannerSdkPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, P
72
74
}
73
75
74
76
override fun onMethodCall (call : MethodCall , result : Result ) {
75
- if (call.method == " startSession " ) {
76
- startSession(call, result)
77
- } else {
78
- result.notImplemented()
77
+ when (call.method) {
78
+ " startSession " -> startSession(call, result)
79
+ " purge " -> purge(result)
80
+ else -> result.notImplemented()
79
81
}
80
82
}
81
83
84
+ private fun purge (result : Result ) {
85
+ val activity = activityPluginBinding?.activity ? : kotlin.run {
86
+ result.error(E_ACTIVITY_DOES_NOT_EXIST , " Activity doesn't exist" , null )
87
+ return
88
+ }
89
+
90
+ KlippaStorage .purge(activity)
91
+ result.success(null )
92
+ }
93
+
82
94
private fun startSession (call : MethodCall , result : Result ) {
83
95
val activity = activityPluginBinding?.activity ? : kotlin.run {
84
96
result.error(E_ACTIVITY_DOES_NOT_EXIST , " Activity doesn't exist" , null )
@@ -172,6 +184,20 @@ class KlippaScannerSdkPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, P
172
184
}
173
185
}
174
186
187
+ call.argument<String >(" OutputFormat" )?.let {
188
+ when (it) {
189
+ " jpeg" -> {
190
+ scannerSession.imageAttributes.outputFormat = KlippaOutputFormat .JPEG
191
+ }
192
+ " pdfSingle" -> {
193
+ scannerSession.imageAttributes.outputFormat = KlippaOutputFormat .PDF_SINGLE
194
+ }
195
+ " pdfMerged" -> {
196
+ scannerSession.imageAttributes.outputFormat = KlippaOutputFormat .PDF_MERGED
197
+ }
198
+ }
199
+ }
200
+
175
201
call.argument<Int >(" ImageLimit" )?.let {
176
202
scannerSession.imageAttributes.imageLimit = it
177
203
}
@@ -184,6 +210,10 @@ class KlippaScannerSdkPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, P
184
210
scannerSession.imageAttributes.imageMovingSensitivity = it
185
211
}
186
212
213
+ call.argument<Boolean >(" PerformOnDeviceOCR" )?.let {
214
+ scannerSession.imageAttributes.performOnDeviceOCR = it
215
+ }
216
+
187
217
call.argument<Boolean >(" StoreImagesToCameraRoll" )?.let {
188
218
scannerSession.imageAttributes.storeImagesToGallery = it
189
219
}
@@ -322,7 +352,7 @@ class KlippaScannerSdkPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, P
322
352
private fun klippaScannerDidFinishScanningWithResult (result : KlippaScannerResult ) {
323
353
val images: MutableList <Map <String , String >> = mutableListOf ()
324
354
325
- for (image in result.images ) {
355
+ for (image in result.results ) {
326
356
val imageDict = mapOf (" Filepath" to image.location)
327
357
images.add(imageDict)
328
358
}
0 commit comments