omikit-plugin 3.1.5 → 3.1.7

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.
package/README.md CHANGED
@@ -361,7 +361,7 @@ We support 2 environments. So you need set correct key in Appdelegate.
361
361
  - Create OmiKit: OmiKit need userName, password, realm, host to init enviroment. ViHAT Group will provide informations for you. Please contact for my sale:
362
362
 
363
363
  ```
364
- import { initCall } from 'omikit-plugin';
364
+ import { initCallWithUserPassword } from 'omikit-plugin';
365
365
 
366
366
  const loginInfo = {
367
367
  userName: userName, //string
@@ -369,9 +369,9 @@ We support 2 environments. So you need set correct key in Appdelegate.
369
369
  realm: realm, //string
370
370
  isVideo: isVideo, //boolean: true/false
371
371
  host: host, //string
372
- fcmToken: fcmToken, //string
372
+ fcmToken: fcmToken, //string
373
373
  };
374
- const result = await initCall(loginInfo);
374
+ const result = await initCallWithUserPassword(loginInfo);
375
375
  //result is true then user login successfully.
376
376
  ```
377
377
 
@@ -104,7 +104,7 @@ dependencies {
104
104
  // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
105
105
  //noinspection GradleDynamicVersion
106
106
  // implementation "com.facebook.react:react-native"
107
- api 'vn.vihat.omicall:omi-sdk:2.0.39'
107
+ api 'vn.vihat.omicall:omi-sdk:2.0.43'
108
108
 
109
109
  implementation "com.facebook.react:react-native:+" // From node_modules
110
110
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
@@ -172,6 +172,11 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
172
172
  sendEvent(SWITCHBOARD_ANSWER, map)
173
173
  }
174
174
 
175
+ override fun onSlowRegister(){
176
+ Log.d("Kds", "MainActivity -> callListener -> onSlowRegister")
177
+ }
178
+
179
+
175
180
  override fun onVideoSize(width: Int, height: Int) {
176
181
 
177
182
  }
@@ -184,7 +189,7 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
184
189
 
185
190
  private fun messageCall(type: Int): String {
186
191
  return when (type) {
187
- // 401 -> "INVALID_UUID"
192
+ // 0 -> "INVALID_UUID"
188
193
  // 1 -> "INVALID_PHONE_NUMBER"
189
194
  // 2 -> "SAME_PHONE_NUMBER_WITH_PHONE_REGISTER"
190
195
  // 3 -> "MAX_RETRY"
@@ -196,14 +201,14 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
196
201
  // 8 -> "START_CALL_SUCCESS"
197
202
  // 9 -> "HAVE_ANOTHER_CALL"
198
203
  200 -> "START_CALL_SUCCESS"
199
- 400 -> "AL"
204
+ 400 -> "ALREADY_IN_CALL"
200
205
  401 -> "INVALID_UUID"
201
206
  402 -> "INVALID_PHONE_NUMBER"
202
207
  403 -> "CAN_NOT_CALL_YOURSELF"
203
208
  404 -> "SWITCHBOARD_NOT_CONNECTED"
204
209
  405 -> "PERMISSION_DENIED"
205
210
  406 -> "PERMISSION_DENIED"
206
- 407 -> "COULD_NOT_REGISTER_ACCOUNT"
211
+ 407 -> "SWITCHBOARD_REGISTERING"
207
212
  else -> "HAVE_ANOTHER_CALL"
208
213
  }
209
214
  }
@@ -290,10 +295,12 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
290
295
  val host = data.getString("host")
291
296
  val isVideo = data.getBoolean("isVideo")
292
297
  val firebaseToken = data.getString("fcmToken") as String
293
- Log.d("dataOmi", "INIT_CALL_USER_PASSWORD $userName -- $password --$realm --$isVideo -- $host ")
298
+
299
+ Log.d("dataOmi", "INIT_CALL_USER_PASSWORD $userName -- $password --$realm --$isVideo -- $host")
300
+
294
301
  withContext(Dispatchers.Default) {
295
302
  try {
296
- if (userName != null && password != null && realm != null && host != null) {
303
+ if (userName != null && password != null && realm != null) {
297
304
  OmiClient.register(userName, password, realm , isVideo ?: true, firebaseToken, host)
298
305
  }
299
306
  } catch (_: Throwable) {
@@ -380,26 +387,23 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
380
387
  if (audio == PackageManager.PERMISSION_GRANTED) {
381
388
  currentActivity?.runOnUiThread {
382
389
  val phoneNumber = data.getString("phoneNumber") as String
383
- val isVideo = data.getBoolean("isVideo")
390
+ val isVideo = data.getBoolean("isVideo") ?: false ;
384
391
  val startCallResult = OmiClient.getInstance(reactApplicationContext!!).startCall(phoneNumber, isVideo)
385
- Log.d("dataOmi", "startCall ==>> ${startCallResult} ")
386
- Log.d("dataOmi", "startCall2 ==>> ${startCallResult.value} ")
387
392
  var statusCalltemp = startCallResult.value as Int;
388
393
  if(startCallResult.value == 200 ){
389
394
  statusCalltemp = 8
390
395
  }
391
- map.putString("status", statusCalltemp.toString())
392
- map.putString("_id", "")
393
- map.putString("message", messageCall(startCallResult.value) as String)
394
- Log.d("OMISDK", "=>> ON START CALL => $map")
396
+ map.putInt("status", statusCalltemp)
397
+ map.putString("_id", "")
398
+ map.putString("message", messageCall(startCallResult.value) as String)
395
399
  promise.resolve(map)
396
400
  }
397
401
  } else {
398
- map.putString("status","4")
399
- map.putString("_id", "")
400
- map.putString("message", messageCall(4) as String)
401
- Log.d("OMISDK", "=>> ON START CALL FAIL BECAUSE NEED PERMISSION => $map")
402
- promise.resolve(map)
402
+ map.putInt("status", 4)
403
+ map.putString("_id", "")
404
+ map.putString("message", messageCall(406) as String)
405
+ Log.d("OMISDK", "=>> ON START CALL FAIL BECAUSE NEED PERMISSION => $map")
406
+ promise.resolve(map)
403
407
  }
404
408
  }
405
409
 
@@ -1,4 +1,4 @@
1
- //
1
+ //
2
2
  // CallUtils.swift
3
3
  // OMICall Contact Center
4
4
  //
@@ -38,14 +38,21 @@ class CallManager {
38
38
  return currentCall
39
39
  }
40
40
 
41
- func transferCall(_ phoneNumber: String){
41
+ func transferCall(_ phoneNumber: String)-> Bool {
42
+ var result = false;
42
43
  do {
43
- if let callInfo = omiLib.getCurrentCall() {
44
- callInfo.blindTransferCall(withNumber: phoneNumber)
45
- }
44
+ if let callInfo = self.omiLib.getCurrentConfirmCall() {
45
+ dump(callInfo)
46
+ if callInfo.callState != .disconnected {
47
+ callInfo.blindTransferCall(withNumber: phoneNumber);
48
+ result = true
49
+ }
50
+ }
46
51
  } catch let error {
47
52
  print("ERROR_WHEN_TRANSFER_CALL_IOS: ", error)
48
53
  }
54
+ print("calllZiii 2 ==> \(result)")
55
+ return result
49
56
  }
50
57
 
51
58
 
@@ -79,6 +86,43 @@ class CallManager {
79
86
  }
80
87
  }
81
88
 
89
+ func convertDictionaryToJson(dictionary: [String: Any]) -> String? {
90
+ do {
91
+ let jsonData = try JSONSerialization.data(withJSONObject: dictionary, options: [])
92
+ if let jsonString = String(data: jsonData, encoding: .utf8) {
93
+ return jsonString
94
+ }
95
+ } catch {
96
+ print("Error converting dictionary to JSON: \(error.localizedDescription)")
97
+ }
98
+ return nil
99
+ }
100
+
101
+ private func messageCall(type: Int) -> String {
102
+ switch(type){
103
+ case 0:
104
+ return "INVALID_UUID"
105
+ case 1:
106
+ return "INVALID_PHONE_NUMBER"
107
+ case 2:
108
+ return "SAME_PHONE_NUMBER_WITH_PHONE_REGISTER"
109
+ case 3:
110
+ return "MAX_RETRY"
111
+ case 4:
112
+ return "PERMISSION_DENIED"
113
+ case 5:
114
+ return "COULD_NOT_FIND_END_POINT"
115
+ case 6:
116
+ return "REGISTER_ACCOUNT_FAIL"
117
+ case 7:
118
+ return "START_CALL_FAIL"
119
+ case 9:
120
+ return "HAVE_ANOTHER_CALL"
121
+ default:
122
+ return "START_CALL_SUCCESS"
123
+ }
124
+ }
125
+
82
126
  private func requestPermission(isVideo: Bool) {
83
127
  AVCaptureDevice.requestAccess(for: .audio) { _ in
84
128
  // print("request audio")
@@ -112,7 +156,7 @@ class CallManager {
112
156
  requestPermission(isVideo: isVideo)
113
157
  return true
114
158
  }
115
-
159
+
116
160
  func showMissedCall() {
117
161
  OmiClient.setMissedCall { call in
118
162
  UNUserNotificationCenter.current().getNotificationSettings { settings in
@@ -280,7 +324,7 @@ class CallManager {
280
324
  guestPhone = call.callerNumber ?? ""
281
325
  break
282
326
  case OMICallState.disconnected.rawValue:
283
- tempCallInfo = getCallInfo(call: call) ?? [:]
327
+ tempCallInfo = getCallInfo(call: call)
284
328
  if (videoManager != nil) {
285
329
  videoManager = nil
286
330
  }
@@ -321,29 +365,60 @@ class CallManager {
321
365
 
322
366
 
323
367
  /// Start call
324
- func startCall(_ phoneNumber: String, isVideo: Bool, completion: @escaping (_ : Int) -> Void) {
368
+ func startCall(_ phoneNumber: String, isVideo: Bool, completion: @escaping (_ : String) -> Void) {
325
369
  let secondsSinceCurrentTime = lastTimeCall.timeIntervalSinceNow
326
370
  guestPhone = phoneNumber
327
371
  OmiClient.startCall(phoneNumber, isVideo: isVideo) { status in
328
372
  DispatchQueue.main.async {
329
- completion(status.rawValue)
373
+ let callCurrent = self.omiLib.getCurrentCall()
374
+ var dataToSend: [String: Any] = [
375
+ "status": status.rawValue,
376
+ "_id": "",
377
+ "message": self.messageCall(type: status.rawValue)
378
+ ]
379
+
380
+ if(callCurrent != nil){
381
+ dataToSend["_id"] = String(describing: OmiCallModel(omiCall: callCurrent!).uuid)
382
+ }
383
+
384
+ if let jsonString = self.convertDictionaryToJson(dictionary: dataToSend) {
385
+ completion(jsonString)
386
+ } else {
387
+ completion("Conversion to JSON failed")
388
+ }
389
+ return
330
390
  }
331
391
  }
332
392
  }
333
393
 
334
394
  /// Start call
335
- func startCallWithUuid(_ uuid: String, isVideo: Bool, completion: @escaping (_ : Int) -> Void) {
395
+ func startCallWithUuid(_ uuid: String, isVideo: Bool, completion: @escaping (_ : String) -> Void) {
336
396
  let phoneNumber = OmiClient.getPhone(uuid)
337
397
  if let phone = phoneNumber {
338
398
  guestPhone = phoneNumber ?? ""
339
- OmiClient.startCall(phone, isVideo: isVideo) { status in
340
- DispatchQueue.main.async {
341
- completion(status.rawValue)
399
+ DispatchQueue.main.async {
400
+ OmiClient.startCall(phone, isVideo: isVideo) { statusCall in
401
+ let callCurrent = self.omiLib.getCurrentCall()
402
+ // completion(status.rawValue)
403
+ var dataToSend: [String: Any] = [
404
+ "status": statusCall.rawValue,
405
+ "_id": "",
406
+ "message": self.messageCall(type: statusCall.rawValue)
407
+ ]
408
+ if(callCurrent != nil){
409
+ dataToSend["_id"] = String(describing: OmiCallModel(omiCall: callCurrent!).uuid)
410
+ }
411
+ if let jsonString = self.convertDictionaryToJson(dictionary: dataToSend) {
412
+ completion(jsonString)
413
+ } else {
414
+ completion("Conversion to JSON failed")
415
+ }
416
+ return
417
+
342
418
  }
343
419
  }
344
420
  return
345
421
  }
346
- completion(OMIStartCallStatus.invalidUuid.rawValue)
347
422
  }
348
423
 
349
424
  func endAvailableCall() -> [String: Any] {
@@ -12,7 +12,7 @@ Pod::Spec.new do |s|
12
12
  s.authors = package["author"]
13
13
 
14
14
  s.platforms = { :ios => "11.0" }
15
- s.source = { :git => "https://github.com/stevennguyenn/omikit-plugin.git", :tag => "#{s.version}" }
15
+ s.source = { :git => "https://github.com/VIHATTeam/OMICALL-React-Native-SDK.git", :tag => "#{s.version}" }
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
@@ -32,5 +32,5 @@ Pod::Spec.new do |s|
32
32
  s.dependency "RCTTypeSafety"
33
33
  s.dependency "ReactCommon/turbomodule/core"
34
34
  end
35
- s.dependency "OmiKit", '1.5.85'
36
- end
35
+ s.dependency "OmiKit", '1.5.84'
36
+ end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omikit-plugin",
3
- "version": "3.1.5",
3
+ "version": "3.1.7",
4
4
  "description": "Omikit Plugin by ViHAT",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",