diff --git a/MAUI/Anyline.Examples.MAUI.csproj b/MAUI/Anyline.Examples.MAUI.csproj
index d91e085..d039362 100644
--- a/MAUI/Anyline.Examples.MAUI.csproj
+++ b/MAUI/Anyline.Examples.MAUI.csproj
@@ -18,7 +18,7 @@
9C37433F-9192-4C96-B49A-B9A7E047FBC2
- 7.0.0
+ 8.0.0
1
12.0
@@ -79,8 +79,8 @@
-
-
+
+
diff --git a/MAUI/Platforms/Android/CustomRenderers/AnylineScanningViewRenderer.cs b/MAUI/Platforms/Android/CustomRenderers/AnylineScanningViewRenderer.cs
index d258c04..fa44db2 100644
--- a/MAUI/Platforms/Android/CustomRenderers/AnylineScanningViewRenderer.cs
+++ b/MAUI/Platforms/Android/CustomRenderers/AnylineScanningViewRenderer.cs
@@ -89,7 +89,12 @@ private void _scanView_CameraError(object sender, CameraErrorEventArgs e)
private void _scanView_CameraOpened(object sender, CameraOpenedEventArgs e)
{
if (_scanView != null)
- _scanView.Start();
+ {
+ if (_scanView.IsInitialized)
+ {
+ _scanView.Start();
+ }
+ }
}
///
@@ -178,7 +183,10 @@ private void DisposeAnyline()
{
if (_scanView != null)
{
- _scanView.Stop();
+ if (_scanView.IsInitialized)
+ {
+ _scanView.Stop();
+ }
_scanView.CameraView.CameraOpened -= _scanView_CameraOpened;
_scanView.CameraView.CameraError -= _scanView_CameraError;
_scanView.CameraView.ReleaseCameraInBackground();
diff --git a/MAUI/Platforms/iOS/CustomRenderers/AnylineScanningViewRenderer.cs b/MAUI/Platforms/iOS/CustomRenderers/AnylineScanningViewRenderer.cs
index 6a3a0df..38b57bd 100644
--- a/MAUI/Platforms/iOS/CustomRenderers/AnylineScanningViewRenderer.cs
+++ b/MAUI/Platforms/iOS/CustomRenderers/AnylineScanningViewRenderer.cs
@@ -86,7 +86,7 @@ private void StartAnylineScanner()
return;
}
- var success = _scanView.ScanViewPlugin.StartWithError(out error);
+ var success = _scanView.ViewPlugin.StartWithError(out error);
if (!success)
{
if (error != null)
@@ -102,9 +102,9 @@ private void StartAnylineScanner()
protected void DisposeAnyline()
{
- if (_scanView != null && _scanView.ScanViewPlugin != null)
+ if (_scanView != null && _scanView.ViewPlugin != null)
{
- _scanView.ScanViewPlugin.Stop();
+ _scanView.ViewPlugin.Stop();
}
_scanView?.Dispose();
diff --git a/MAUI/Platforms/iOS/Handlers/AnylineHandler.iOS.cs b/MAUI/Platforms/iOS/Handlers/AnylineHandler.iOS.cs
index 55c8289..a13ed4d 100644
--- a/MAUI/Platforms/iOS/Handlers/AnylineHandler.iOS.cs
+++ b/MAUI/Platforms/iOS/Handlers/AnylineHandler.iOS.cs
@@ -86,7 +86,7 @@ protected override void ConnectHandler(UIView PlatformView)
private void StartAnyline()
{
NSError error = null;
- bool success = _scanView.ScanViewPlugin.StartWithError(out error);
+ bool success = _scanView.ViewPlugin.StartWithError(out error);
if (!success)
{
@@ -113,7 +113,7 @@ protected override void DisconnectHandler(UIView PlatformView)
// PlatformView.Delegate = null;
//}
_scanView.StopCamera();
- _scanView.ScanViewPlugin.Stop();
+ _scanView.ViewPlugin.Stop();
PlatformView.RemoveFromSuperview();
}
}
diff --git a/MAUI/Platforms/iOS/NFC/NFCScanningViewRenderer.cs b/MAUI/Platforms/iOS/NFC/NFCScanningViewRenderer.cs
index 140e1f6..05d6be7 100644
--- a/MAUI/Platforms/iOS/NFC/NFCScanningViewRenderer.cs
+++ b/MAUI/Platforms/iOS/NFC/NFCScanningViewRenderer.cs
@@ -18,7 +18,8 @@ public override void WillMoveToWindow(UIWindow window)
if (window != null)
{
InitializeAnylineScanView();
- _nfcDetector = new ALNFCDetector(this, out NSError error);
+ NSError error = null;
+ _nfcDetector = new ALNFCDetector(this, out error);
}
else
{
@@ -77,7 +78,7 @@ public override void SubviewAdded(UIView uiview)
private void StartMRZScanner()
{
NSError error = null;
- var success = _scanView.ScanViewPlugin.StartWithError(out error);
+ var success = _scanView.ViewPlugin.StartWithError(out error);
if (!success)
{
if (error != null)
@@ -176,9 +177,9 @@ public void NfcFailedWithError(NSError error)
#region teardown
protected void DisposeAnyline()
{
- if (_scanView != null && _scanView.ScanViewPlugin != null)
+ if (_scanView != null && _scanView.ViewPlugin != null)
{
- _scanView.ScanViewPlugin.Stop();
+ _scanView.ViewPlugin.Stop();
}
_scanView?.Dispose();
diff --git a/MAUI/Resources/Raw/Configs/energy_analog_digital_config.json b/MAUI/Resources/Raw/Configs/energy_analog_digital_config.json
index 85d8bd8..9205e49 100644
--- a/MAUI/Resources/Raw/Configs/energy_analog_digital_config.json
+++ b/MAUI/Resources/Raw/Configs/energy_analog_digital_config.json
@@ -35,7 +35,7 @@
}
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
+ "style": "contour_rect",
"strokeColor": "0099FF",
"strokeWidth": 2,
"fillColor": "220099FF",
diff --git a/MAUI/Resources/Raw/Configs/id_config_arabic.json b/MAUI/Resources/Raw/Configs/id_config_arabic.json
index e572b96..ae10aee 100644
--- a/MAUI/Resources/Raw/Configs/id_config_arabic.json
+++ b/MAUI/Resources/Raw/Configs/id_config_arabic.json
@@ -67,8 +67,8 @@
"feedbackStrokeColor": "0099FF"
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
- "visualFeedbackRedrawTimeout": 100,
+ "style": "contour_rect",
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/id_config_cyrillic.json b/MAUI/Resources/Raw/Configs/id_config_cyrillic.json
index 0283612..38e8611 100644
--- a/MAUI/Resources/Raw/Configs/id_config_cyrillic.json
+++ b/MAUI/Resources/Raw/Configs/id_config_cyrillic.json
@@ -67,8 +67,8 @@
"feedbackStrokeColor": "0099FF"
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
- "visualFeedbackRedrawTimeout": 100,
+ "style": "contour_rect",
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/id_config_jlp.json b/MAUI/Resources/Raw/Configs/id_config_jlp.json
index 50f716d..4ed845f 100644
--- a/MAUI/Resources/Raw/Configs/id_config_jlp.json
+++ b/MAUI/Resources/Raw/Configs/id_config_jlp.json
@@ -22,7 +22,6 @@
}
},
"cutoutConfig": {
- "style": "rect",
"maxWidthPercent": "70%",
"maxHeightPercent": "70%",
"alignment": "center",
@@ -37,9 +36,9 @@
},
"feedbackStrokeColor": "0099FF"
},
- "scanFeedback": {
- "style": "RECT",
- "visualFeedbackRedrawTimeout": 100,
+ "scanFeedbackConfig": {
+ "style": "rect",
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/id_config_mrz.json b/MAUI/Resources/Raw/Configs/id_config_mrz.json
index 17d6899..d8f6613 100644
--- a/MAUI/Resources/Raw/Configs/id_config_mrz.json
+++ b/MAUI/Resources/Raw/Configs/id_config_mrz.json
@@ -45,7 +45,7 @@
},
"scanFeedbackConfig": {
"style": "rect",
- "visualFeedbackRedrawTimeout": 100,
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/id_config_universal.json b/MAUI/Resources/Raw/Configs/id_config_universal.json
index 6dd8263..fe1107b 100644
--- a/MAUI/Resources/Raw/Configs/id_config_universal.json
+++ b/MAUI/Resources/Raw/Configs/id_config_universal.json
@@ -46,7 +46,7 @@
},
"scanFeedbackConfig": {
"style": "contour_rect",
- "visualFeedbackRedrawTimeout": 100,
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/mro_shipping_container_horizontal_config.json b/MAUI/Resources/Raw/Configs/mro_shipping_container_horizontal_config.json
index 7c876a9..8d3b886 100644
--- a/MAUI/Resources/Raw/Configs/mro_shipping_container_horizontal_config.json
+++ b/MAUI/Resources/Raw/Configs/mro_shipping_container_horizontal_config.json
@@ -34,7 +34,7 @@
}
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
+ "style": "contour_rect",
"strokeColor": "0099FF",
"fillColor": "220099FF",
"blinkAnimationOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/mro_shipping_container_vertical_config.json b/MAUI/Resources/Raw/Configs/mro_shipping_container_vertical_config.json
index bce9a88..8ced4f6 100644
--- a/MAUI/Resources/Raw/Configs/mro_shipping_container_vertical_config.json
+++ b/MAUI/Resources/Raw/Configs/mro_shipping_container_vertical_config.json
@@ -33,7 +33,7 @@
}
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
+ "style": "contour_rect",
"strokeColor": "0099FF",
"fillColor": "220099FF",
"blinkAnimationOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/mro_usnr_config.json b/MAUI/Resources/Raw/Configs/mro_usnr_config.json
index 84a3adf..6c3cbaf 100644
--- a/MAUI/Resources/Raw/Configs/mro_usnr_config.json
+++ b/MAUI/Resources/Raw/Configs/mro_usnr_config.json
@@ -33,7 +33,7 @@
}
},
"scanFeedbackConfig": {
- "style": "CONTOUR_RECT",
+ "style": "contour_rect",
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/vehicle_registration_certificate_config.json b/MAUI/Resources/Raw/Configs/vehicle_registration_certificate_config.json
index 9bb344c..43a29ab 100644
--- a/MAUI/Resources/Raw/Configs/vehicle_registration_certificate_config.json
+++ b/MAUI/Resources/Raw/Configs/vehicle_registration_certificate_config.json
@@ -49,7 +49,7 @@
},
"scanFeedbackConfig": {
"style": "contour_rect",
- "visualFeedbackRedrawTimeout": 100,
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/MAUI/Resources/Raw/Configs/workflows_config_parallel_first_scan.json b/MAUI/Resources/Raw/Configs/workflows_config_parallel_first_scan.json
index c9f97c1..13f19de 100644
--- a/MAUI/Resources/Raw/Configs/workflows_config_parallel_first_scan.json
+++ b/MAUI/Resources/Raw/Configs/workflows_config_parallel_first_scan.json
@@ -18,7 +18,6 @@
"vinConfig": {}
},
"cutoutConfig": {
- "style": "rect",
"width": 720,
"alignment": "top_half",
"maxWidthPercent": "70%",
diff --git a/MAUI/Resources/Raw/Configs/workflows_config_parallel_scanning.json b/MAUI/Resources/Raw/Configs/workflows_config_parallel_scanning.json
index 69f97b9..907fc66 100644
--- a/MAUI/Resources/Raw/Configs/workflows_config_parallel_scanning.json
+++ b/MAUI/Resources/Raw/Configs/workflows_config_parallel_scanning.json
@@ -14,7 +14,6 @@
"startScanDelay": 0
},
"cutoutConfig": {
- "style": "rect",
"maxWidthPercent": "100%",
"width": 768,
"alignment": "top_half",
diff --git a/MAUI/Resources/Raw/Configs/workflows_config_serial_scanning.json b/MAUI/Resources/Raw/Configs/workflows_config_serial_scanning.json
index e19121c..af21e12 100644
--- a/MAUI/Resources/Raw/Configs/workflows_config_serial_scanning.json
+++ b/MAUI/Resources/Raw/Configs/workflows_config_serial_scanning.json
@@ -98,7 +98,7 @@
},
"scanFeedbackConfig": {
"style": "contour_rect",
- "visualFeedbackRedrawTimeout": 100,
+ "redrawTimeout": 100,
"strokeColor": "0099FF",
"fillColor": "220099FF",
"beepOnResult": true,
diff --git a/README.md b/README.md
index 2961902..780bcf1 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,9 @@ Anyline provides an easy-to-use SDK for applications to enable Optical Character
* The Anyline .NET SDK is essentially a Binding Library that wraps around the native Anyline SDK so all native functionality can be simply invoked via C# calls.
* For more information, please refer to the
-native Anyline [Android](https://documentation.anyline.com/toc/platforms/android/index.html) and [iOS](https://documentation.anyline.com/toc/platforms/ios/index.html) SDKs documentation pages.
+native Anyline [Android](https://documentation.anyline.com/android-sdk-component/latest/index.html) and [iOS](https://documentation.anyline.com/ios-sdk-component/latest/index.html) SDKs documentation pages.
-
+
## Quick Start ##
@@ -22,12 +22,12 @@ native Anyline [Android](https://documentation.anyline.com/toc/platforms/android
### Examples ###
The [MAUI](MAUI) directory provides source code for the Anyline MAUI Example App. Simply build & run the example project for your desired platform and enjoy scanning :)
-The examples app is designed in a generic way to work with any technical capability. In your use-case, it is advised to parse the scan results directly into the specific plugin objects. Check the "PLUGIN SPECIFICS" section on the [Android](https://documentation.anyline.com/toc/platforms/android/plugins/index.html) and [iOS](https://documentation.anyline.com/toc/platforms/ios/plugins/index.html) documentation pages for more information.
+The examples app is designed in a generic way to work with any technical capability. In your use-case, it is advised to parse the scan results directly into the specific plugin objects. Check the "PLUGIN SPECIFICS" section on the [Android](https://documentation.anyline.com/android-sdk-component/latest/index.html) and [iOS](https://documentation.anyline.com/ios-sdk-component/latest/index.html) documentation pages for more information.
### Available Technical Capabilities ###