dynamsoft-capture-vision-react-native 3.4.1000 → 3.4.1200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -159,5 +159,5 @@ dependencies {
159
159
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
160
160
  implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
161
161
 
162
- implementation "com.dynamsoft:capturevisionbundle:3.4.1000"
162
+ implementation "com.dynamsoft:capturevisionbundle:3.4.1200"
163
163
  }
@@ -1,5 +1,6 @@
1
1
  package com.dynamsoft.reactnativelib
2
2
 
3
+ import com.dynamsoft.license.LicenseManager
3
4
  import com.dynamsoft.reactnativelib.license.LicenseModuleImpl
4
5
  import com.facebook.react.bridge.Promise
5
6
  import com.facebook.react.bridge.ReactApplicationContext
@@ -15,4 +16,14 @@ class LicenseModule(reactApplicationContext: ReactApplicationContext) : ReactCon
15
16
  fun initLicense(license: String, promise: Promise) {
16
17
  impl.initLicense(license, promise)
17
18
  }
19
+
20
+ @ReactMethod
21
+ fun setDeviceFriendlyName(deviceFriendlyName: String) {
22
+ impl.setDeviceFriendlyName(deviceFriendlyName)
23
+ }
24
+
25
+ @ReactMethod
26
+ fun getDeviceUUID(promise: Promise) {
27
+ impl.getDeviceUUID(promise)
28
+ }
18
29
  }
@@ -101,9 +101,12 @@ class CaptureVisionRouterModuleImpl(private val reactContext: ReactApplicationCo
101
101
 
102
102
  @ReactMethod(isBlockingSynchronousMethod = true)
103
103
  fun destroyInstance(): Boolean {
104
- cvr?.input = null
105
104
  cvr?.removeAllResultReceivers()
105
+ ifStopCapturing = true
106
106
  cvr?.stopCapturing()
107
+ try {
108
+ cvr?.input = null
109
+ } catch (_: Exception) {}
107
110
  cvr = null
108
111
  return true
109
112
  }
@@ -26,4 +26,14 @@ class LicenseModuleImpl(private val reactContext: ReactApplicationContext) {
26
26
  }
27
27
  }
28
28
  }
29
+
30
+ @ReactMethod
31
+ fun setDeviceFriendlyName(deviceFriendlyName: String) {
32
+ LicenseManager.setDeviceFriendlyName(deviceFriendlyName)
33
+ }
34
+
35
+ @ReactMethod
36
+ fun getDeviceUUID(promise: Promise) {
37
+ promise.resolve(LicenseManager.getDeviceUUID())
38
+ }
29
39
  }
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.private_header_files = "ios/**/*.h"
18
18
  s.requires_arc = true
19
19
 
20
- s.dependency "DynamsoftCaptureVisionBundle", ">= 3.4.1000", "< 4.0"
20
+ s.dependency "DynamsoftCaptureVisionBundle", ">= 3.4.1200", "< 4.0"
21
21
 
22
22
  install_modules_dependencies(s)
23
23
  end
@@ -67,8 +67,8 @@ RCT_EXPORT_METHOD(close) {
67
67
  [self.dce close];
68
68
  }
69
69
 
70
- RCT_EXPORT_METHOD(setCameraView:(nullable NSNumber *)tag) {
71
- if (tag && tag.integerValue != 0) {
70
+ RCT_EXPORT_METHOD(setCameraView:(nonnull NSNumber *)tag) {
71
+ if (tag.integerValue != 0) {
72
72
  [self trySetCameraViewWithTag:tag attempt:1];
73
73
  } else {
74
74
  self.dce.cameraView = nil;
@@ -35,6 +35,7 @@ RCT_EXPORT_METHOD(initLicense:(NSString *)license
35
35
  {
36
36
  licenseResolve = resolve;
37
37
  licenseReject = reject;
38
+ [DSClientRemark setEdition:@"react-native"];
38
39
  [DSLicenseManager initLicense:license verificationDelegate:self];
39
40
  }
40
41
 
@@ -47,4 +48,15 @@ RCT_EXPORT_METHOD(initLicense:(NSString *)license
47
48
  }
48
49
  }
49
50
 
51
+ RCT_EXPORT_METHOD(setDeviceFriendlyName:(NSString *)name) {
52
+ [DSLicenseManager setDeviceFriendlyName:name];
53
+ }
54
+
55
+ RCT_EXPORT_METHOD(getDeviceUUID:(RCTPromiseResolveBlock)resolve
56
+ rejecter:(RCTPromiseRejectBlock)reject)
57
+ {
58
+ NSString *uuid = [DSLicenseManager getDeviceUUID];
59
+ resolve(uuid);
60
+ }
61
+
50
62
  @end
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dynamsoft-capture-vision-react-native",
3
3
  "title": "Dynamsoft Capture Vision React Native",
4
- "version": "3.4.1000",
4
+ "version": "3.4.1200",
5
5
  "description": "The Dynamsoft Capture Vision React Native SDK provides a wrapper for building barcode scanning, document scanning and MRZ scanning applications with React Native.",
6
6
  "homepage": "https://github.com/Dynamsoft/capture-vision-react-native-samples",
7
7
  "main": "src/index.tsx",
@@ -30,4 +30,20 @@ export class LicenseManager {
30
30
  static initLicense(license: string): Promise<void> {
31
31
  return DynamsoftLicenseModule.initLicense(license)
32
32
  }
33
+
34
+ /**
35
+ * Sets a friendly name for the device, which can be used for easier identification in license management.
36
+ * @param name - The friendly name to be set for the device.
37
+ * */
38
+ static setDeviceFriendlyName(name: string) {
39
+ DynamsoftLicenseModule.setDeviceFriendlyName(name)
40
+ }
41
+
42
+ /**
43
+ * Retrieves the unique identifier (UUID) of the device, which is often used in license management to associate licenses with specific devices.
44
+ * @return Promise<string> - A promise that resolves with the device UUID as a string.
45
+ * */
46
+ static getDeviceUUID(): Promise<string> {
47
+ return DynamsoftLicenseModule.getDeviceUUID()
48
+ }
33
49
  }