@infilectorg/infiviz-shots-react-sdk 1.0.43 → 1.0.46

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.
@@ -64,11 +64,12 @@ android {
64
64
 
65
65
  buildTypes {
66
66
  release {
67
- minifyEnabled true
68
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
67
+ debuggable false
68
+ minifyEnabled false
69
69
  }
70
70
  debug {
71
71
  minifyEnabled false
72
+ debuggable true
72
73
  }
73
74
  }
74
75
 
@@ -77,8 +78,12 @@ android {
77
78
  }
78
79
 
79
80
  compileOptions {
80
- sourceCompatibility JavaVersion.VERSION_17
81
- targetCompatibility JavaVersion.VERSION_17
81
+ sourceCompatibility JavaVersion.VERSION_1_8
82
+ targetCompatibility JavaVersion.VERSION_1_8
83
+ }
84
+
85
+ kotlinOptions {
86
+ jvmTarget = "1.8"
82
87
  }
83
88
 
84
89
  sourceSets {
@@ -103,7 +108,7 @@ dependencies {
103
108
  implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
104
109
 
105
110
 
106
- implementation 'com.infilect:infivizshots-sdk:RN-1.0.1'
111
+ implementation 'com.infilect:infivizshots-sdk:RN-1.2.2'
107
112
 
108
113
  testImplementation 'junit:junit:4.13.2'
109
114
  implementation 'com.github.bumptech.glide:glide:4.14.2'
@@ -122,4 +127,4 @@ react {
122
127
  jsRootDir = file("../src/")
123
128
  libraryName = "InfivizShotsReactSdk"
124
129
  codegenJavaPackageName = "com.infilect.infivizshotsreactsdk"
125
- }
130
+ }
@@ -32,6 +32,7 @@ import infilect.infiviz.infilect_client.model.ivyresponse.SDKCallback
32
32
  import infilect.infiviz.infilect_client.model.ivyresponse.UploadCallback
33
33
  import infilect.infiviz.sdkEnvironment.InfivizshotsEnvironment
34
34
  import kotlin.jvm.java
35
+ import android.util.Log
35
36
 
36
37
  @ReactModule(name = InfivizShotsReactSdkModule.NAME)
37
38
  class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationContext) :
@@ -49,18 +50,43 @@ class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationConte
49
50
  val status = intent!!.getStringExtra(IntentConstants.STATUS)
50
51
  val message = intent.getStringExtra(IntentConstants.MESSAGE)
51
52
  val sessionId = intent.getStringExtra(IntentConstants.SESSION_ID)
53
+ val universalSessionId = intent.getStringExtra(IntentConstants.EXTERNAL_SESSION_ID)
52
54
 
53
- sendEventToReact(SDKEvent.SYNC_EVENT, sessionId!!, status!!, message!!)
55
+ sendEventToReact(SDKEvent.SYNC_EVENT, sessionId!!, status!!, message!!,universalSessionId)
54
56
  }
55
57
  }
56
58
 
59
+ fun convertReadableMapToStringHashMap(readableMap: ReadableMap?): HashMap<String, String> {
60
+ val result = HashMap<String, String>()
61
+ if(readableMap!=null){
62
+ val iterator = readableMap.keySetIterator()
63
+
64
+ while (iterator.hasNextKey()) {
65
+ val key = iterator.nextKey()
66
+ try {
67
+ result[key] = when (readableMap.getType(key)) {
68
+ com.facebook.react.bridge.ReadableType.Null -> ""
69
+ com.facebook.react.bridge.ReadableType.Boolean -> readableMap.getBoolean(key).toString()
70
+ com.facebook.react.bridge.ReadableType.Number -> readableMap.getDouble(key).toString()
71
+ com.facebook.react.bridge.ReadableType.String -> readableMap.getString(key) ?: ""
72
+ else -> ""
73
+ }
74
+ } catch (e: Exception) {
75
+ result[key] = ""
76
+ }
77
+ }
78
+ }
79
+ return result
80
+ }
81
+
57
82
  private fun sendEventToReact(
58
- eventName: SDKEvent, sessionId: String, status: String, message: String
83
+ eventName: SDKEvent, sessionId: String, status: String, message: String, universalSessionId: String? = null
59
84
  ) {
60
85
  val params = Arguments.createMap().apply {
61
- putString("sessionId", sessionId)
86
+ putString("temporarySessionID", sessionId)
62
87
  putString("status", status)
63
88
  putString("message", message)
89
+ putString("universalSessionID", universalSessionId)
64
90
  }
65
91
 
66
92
  if (reactContext.hasActiveReactInstance()) {
@@ -69,6 +95,22 @@ class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationConte
69
95
  }
70
96
  }
71
97
 
98
+ // Add this async function
99
+ private fun fetchUniversalSessionIdAsync(temporarySessionID: String, callback: (String?) -> Unit) {
100
+ InfiVizShotsSDK.fetchUniversalSessionId(
101
+ currentActivity,
102
+ temporarySessionID, object : SDKCallback<String> {
103
+ override fun onSuccess(sessionId: String) {
104
+ callback(sessionId)
105
+ }
106
+
107
+ override fun onError(sdkExceptions: SDKExceptions) {
108
+ Log.e("SDK", "Error fetching universal session ID", sdkExceptions)
109
+ callback(null)
110
+ }
111
+ })
112
+ }
113
+
72
114
  private fun sendEventToReact(eventName: SDKEvent, sessionId: String) {
73
115
  if (reactContext.hasActiveReactInstance()) {
74
116
  reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
@@ -150,30 +192,14 @@ class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationConte
150
192
  category: String,
151
193
  maxPhoto: Double,
152
194
  maxPhotoOneGo: Double,
153
- metaData: ReadableMap,
195
+ metaData: ReadableMap?,
154
196
  promise: Promise
155
197
  ) {
156
198
  startCameraCallback = {
157
199
  promise.resolve(it)
158
200
  }
159
-
160
- // Convert ReadableMap to Map<String, Any> for metadata (non-null)
161
- val metadataMap: Map<String, Any> = metaData.let { map ->
162
- val result = mutableMapOf<String, Any>()
163
- val iterator = map.entryIterator
164
- while (iterator.hasNextKey()) {
165
- val key = iterator.nextKey()
166
- val value = map.getDynamic(key)
167
- when {
168
- value.isNull -> result[key] = null
169
- value.isBoolean -> result[key] = value.asBoolean()
170
- value.isNumber -> result[key] = value.asDouble()
171
- value.isString -> result[key] = value.asString()
172
- else -> result[key] = value.toString()
173
- }
174
- }
175
- result
176
- }
201
+
202
+ val metadataMap = convertReadableMapToStringHashMap(metaData)
177
203
 
178
204
  InfiVizShotsSDK.startCamera(
179
205
  currentActivity!!,
@@ -204,29 +230,13 @@ class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationConte
204
230
  metaData: ReadableMap,
205
231
  promise: Promise
206
232
  ) {
207
- // Convert ReadableMap to Map<String, Any> for metadata
208
- val metadataMap: Map<String, Any> = metaData.let { map ->
209
- val result = mutableMapOf<String, Any>()
210
- val iterator = map.entryIterator
211
- while (iterator.hasNextKey()) {
212
- val key = iterator.nextKey()
213
- val value = map.getDynamic(key)
214
- when {
215
- value.isNull -> result[key] = null
216
- value.isBoolean -> result[key] = value.asBoolean()
217
- value.isNumber -> result[key] = value.asDouble()
218
- value.isString -> result[key] = value.asString()
219
- else -> result[key] = value.toString()
220
- }
221
- }
222
- result
223
- }
233
+ // val metadataMap = metaData.toStringHashMap()
224
234
 
225
235
  InfiVizShotsSDK.retakeImage(
226
236
  currentActivity!!,
227
237
  temporarySessionId,
228
238
  imageURI,
229
- metadataMap,
239
+ // metadataMap,
230
240
  object : SDKCallback<String> {
231
241
  override fun onSuccess(response: String) {
232
242
  promise.resolve(response)
@@ -265,27 +275,11 @@ class InfivizShotsReactSdkModule(private val reactContext: ReactApplicationConte
265
275
  @ReactMethod
266
276
  fun resumeCamera(
267
277
  tempSessionId: String,
268
- metaData: ReadableMap,
278
+ metaData: ReadableMap?,
269
279
  promise: Promise
270
280
  ) {
271
- // Convert ReadableMap to Map<String, Any> for metadata (non-null)
272
- val metadataMap: Map<String, Any> = metaData.let { map ->
273
- val result = mutableMapOf<String, Any>()
274
- val iterator = map.entryIterator
275
- while (iterator.hasNextKey()) {
276
- val key = iterator.nextKey()
277
- val value = map.getDynamic(key)
278
- when {
279
- value.isNull -> result[key] = null
280
- value.isBoolean -> result[key] = value.asBoolean()
281
- value.isNumber -> result[key] = value.asDouble()
282
- value.isString -> result[key] = value.asString()
283
- else -> result[key] = value.toString()
284
- }
285
- }
286
- result
287
- }
288
-
281
+ val metadataMap = convertReadableMapToStringHashMap(metaData)
282
+
289
283
  InfiVizShotsSDK.resumeCamera(
290
284
  currentActivity!!,
291
285
  tempSessionId, 22, metadataMap, object : SDKCallback<String?> {