omikit-plugin 2.3.3 → 2.4.0

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
@@ -143,13 +143,7 @@ You can refer <a href="https://github.com/VIHATTeam/OMICALL-React-Native-SDK/blo
143
143
 
144
144
  - For more setting information, please refer <a href="https://api.omicall.com/web-sdk/mobile-sdk/android-sdk/cau-hinh-push-notification">Config Push for Android</a>
145
145
 
146
- #### iOS:
147
-
148
- ---
149
-
150
- We support both Object-C and Swift. But we only support documents for Object-C. We will write for Swift language later. Thank you.
151
-
152
- ---
146
+ #### iOS(Object-C):
153
147
 
154
148
  - Add variables in Appdelegate.h:
155
149
 
@@ -230,7 +224,65 @@ if (@available(iOS 10.0, *)) {
230
224
 
231
225
  ```
232
226
 
233
- **_ Only use under lines when added `Cloud Messaging` plugin in your project _**
227
+
228
+ *** Only use under lines when added `Cloud Messaging` plugin in your project ***
229
+
230
+ - Setup push notification: We only support Firebase for push notification.
231
+
232
+ - Add `google-service.json` in `android/app` (For more information, you can refer <a href="https://rnfirebase.io/app/usage">Core/App</a>)
233
+ - Add Firebase Messaging to receive `fcm_token` (You can refer <a href="https://pub.dev/packages/firebase_messaging">Cloud Messaging</a> to setup notification for React Native)
234
+
235
+ - For more setting information, please refer <a href="https://api.omicall.com/web-sdk/mobile-sdk/ios-sdk/cau-hinh-push-notification">Config Push for iOS</a>
236
+
237
+ #### iOS(Swift):
238
+
239
+ - Add variables in Appdelegate.swift:
240
+
241
+ ```
242
+ import OmiKit
243
+ import PushKit
244
+ import NotificationCenter
245
+
246
+ var pushkitManager: PushKitManager?
247
+ var provider: CallKitProviderDelegate?
248
+ var voipRegistry: PKPushRegistry?
249
+ ```
250
+
251
+ - Add these lines into `didFinishLaunchingWithOptions`:
252
+
253
+ ```
254
+ OmiClient.setEnviroment(KEY_OMI_APP_ENVIROMENT_SANDBOX)
255
+ provider = CallKitProviderDelegate.init(callManager: OMISIPLib.sharedInstance().callManager)
256
+ voipRegistry = PKPushRegistry.init(queue: .main)
257
+ pushkitManager = PushKitManager.init(voipRegistry: voipRegistry)
258
+ ```
259
+
260
+ - Add these lines into `Info.plist`:
261
+
262
+ ```
263
+ <key>NSCameraUsageDescription</key>
264
+ <string>Need camera access for video call functions</string>
265
+ <key>NSMicrophoneUsageDescription</key>
266
+ <string>Need microphone access for make Call</string>
267
+ ```
268
+
269
+ - Save token for `OmiClient`: if you added `firebase_messaging` in your project so you don't need add these lines.
270
+
271
+ ```
272
+ func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
273
+ let deviceTokenString = deviceToken.hexString
274
+ OmiClient.setUserPushNotificationToken(deviceTokenString)
275
+ }
276
+
277
+ extension Data {
278
+ var hexString: String {
279
+ let hexString = map { String(format: "%02.2hhx", $0) }.joined()
280
+ return hexString
281
+ }
282
+ }
283
+ ```
284
+
285
+ *** Only use under lines when added `Cloud Messaging` plugin in your project ***
234
286
 
235
287
  - Setup push notification: We only support Firebase for push notification.
236
288
 
@@ -239,6 +291,7 @@ if (@available(iOS 10.0, *)) {
239
291
 
240
292
  - For more setting information, please refer <a href="https://api.omicall.com/web-sdk/mobile-sdk/ios-sdk/cau-hinh-push-notification">Config Push for iOS</a>
241
293
 
294
+
242
295
  ## Implement
243
296
 
244
297
  - Set up <a href="https://rnfirebase.io/messaging/usage">Cloud Messaging</a> plugin:
@@ -308,11 +361,12 @@ if (@available(iOS 10.0, *)) {
308
361
  prefixMissedCallMessage: 'Cuộc gọi nhỡ từ', //config prefix message for the missed call
309
362
  missedCallTitle: 'Cuộc gọi nhỡ', //config title for the missed call
310
363
  userNameKey: 'uuid', //we have 3 values: uuid, full_name, extension.
364
+ channelId: 'com.channel.sample', //your notification channel id
311
365
  });
312
366
  //incomingAcceptButtonImage, incomingDeclineButtonImage, backImage, userImage: Add these into `android/app/src/main/res/drawble`
313
367
  ```
314
368
 
315
- - Get call when user open app from killed status(only iOS):
369
+ - Get call when user open app from killed state(only iOS):
316
370
 
317
371
  ```
318
372
  import { getInitialCall } from 'omikit-plugin';
@@ -534,13 +588,12 @@ if (@available(iOS 10.0, *)) {
534
588
 
535
589
  ```
536
590
  useEffect(() => {
537
- omiEmitter.addListener(OmiCallEvent.incomingReceived, incomingReceived);
538
- omiEmitter.addListener(OmiCallEvent.onCallEstablished, onCallEstablished);
539
- omiEmitter.addListener(OmiCallEvent.onCallEnd, onCallEnd);
591
+ omiEmitter.addListener(OmiCallEvent.onCallStateChanged, onCallStateChanged);
540
592
  omiEmitter.addListener(OmiCallEvent.onMuted, onMuted);
541
593
  omiEmitter.addListener(OmiCallEvent.onSpeaker, onSpeaker);
542
594
  omiEmitter.addListener(OmiCallEvent.onClickMissedCall, clickMissedCall);
543
595
  omiEmitter.addListener(OmiCallEvent.onSwitchboardAnswer, onSwitchboardAnswer);
596
+ omiEmitter.addListener(OmiCallEvent.onCallQuality, onCallQuality);
544
597
  if (Platform.OS === 'ios') {
545
598
  registerVideoEvent();
546
599
  omiEmitter.addListener(
@@ -549,9 +602,7 @@ useEffect(() => {
549
602
  );
550
603
  }
551
604
  return () => {
552
- omiEmitter.removeAllListeners(OmiCallEvent.incomingReceived);
553
- omiEmitter.removeAllListeners('onCallEstablished');
554
- omiEmitter.removeAllListeners(OmiCallEvent.onCallEnd);
605
+ omiEmitter.removeAllListeners(OmiCallEvent.onCallStateChanged);
555
606
  omiEmitter.removeAllListeners(OmiCallEvent.onMuted);
556
607
  omiEmitter.removeAllListeners(OmiCallEvent.onSpeaker);
557
608
  omiEmitter.removeAllListeners(OmiCallEvent.onSwitchboardAnswer);
@@ -563,12 +614,16 @@ useEffect(() => {
563
614
  }, []);
564
615
  ```
565
616
 
617
+ - Important event `onCallStateChanged`: We provide it to listen call state change.
618
+
619
+ + It is call state tracking event. We will return status of state. Please refer `OmiCallState`.
620
+ + Incoming call state lifecycle: incoming(receive on foreround state) -> early -> connecting -> confirmed -> disconnected
621
+ + Outgoing call state lifecycle: calling -> early (call created) -> connecting -> confirmed -> disconnected
622
+
566
623
  - Action Name value:
567
- - `OmiCallEvent.incomingReceived`: Have a incoming call. On Android this event work only foreground
568
- - `OmiCallEvent.onCallEstablished`: Connected a call.
569
- - `OmiCallEvent.onCallEnd`: End a call and return call information (like endCall)
570
624
  - `OmiCallEvent.onMuted`: Audio changed.
571
625
  - `OmiCallEvent.onSpeaker`: Audio changed.
572
626
  - `OmiCallEvent.onClickMissedCall`: Click missed call notification.
573
627
  - `OmiCallEvent.onSwitchboardAnswer`: Switchboard sip is listening.
574
- - Data value: We return `callerNumber`, `sip`, `isVideo: true/false` information
628
+ - `OmiCallEvent.onCallQuality`: The calling quality.
629
+ - Data value: We return `callerNumber`, `sip`, `isVideo: true/false` information
@@ -68,6 +68,9 @@ android {
68
68
  targetCompatibility JavaVersion.VERSION_1_8
69
69
  }
70
70
 
71
+ dataBinding {
72
+ enabled = true
73
+ }
71
74
  }
72
75
 
73
76
  allprojects {
@@ -96,22 +99,13 @@ dependencies {
96
99
  implementation "com.facebook.react:react-native:+" // From node_modules
97
100
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
98
101
 
99
- api 'vn.vihat.omicall:omi-sdk:1.2.36'
100
-
101
- implementation 'androidx.core:core-ktx:1.7.0'
102
- implementation 'androidx.fragment:fragment-ktx:1.4.0'
103
- implementation 'androidx.activity:activity-ktx:1.4.0'
102
+ api 'vn.vihat.omicall:omi-sdk:1.4.2'
103
+ // implementation fileTree(include: ['*.jar'], dir: 'libs')
104
+ // implementation files('OmiSDK.aar')
104
105
  implementation 'androidx.appcompat:appcompat:1.5.0'
105
106
  implementation 'com.google.android.material:material:1.6.1'
106
- implementation 'com.google.firebase:firebase-messaging-ktx:23.0.8'
107
- implementation 'com.google.android.flexbox:flexbox:3.0.0'
108
- implementation "com.google.code.gson:gson:2.8.6"
109
- def lifecycle_version = "2.4.0"
110
- implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
111
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
112
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
113
- implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.0"
114
- implementation 'androidx.databinding:viewbinding:7.1.2'
107
+ implementation 'com.google.firebase:firebase-messaging-ktx:23.1.2'
108
+ implementation 'androidx.lifecycle:lifecycle-process:2.1.0'
115
109
  implementation("com.squareup.retrofit2:retrofit:2.9.0") {
116
110
  exclude module: 'okhttp'
117
111
  }
@@ -119,6 +113,8 @@ dependencies {
119
113
  implementation "com.squareup.okhttp3:okhttp:4.9.1"
120
114
  implementation "com.squareup.okhttp3:okhttp-urlconnection:4.9.1"
121
115
  implementation "com.squareup.okhttp3:logging-interceptor:4.9.1"
116
+ implementation "com.google.code.gson:gson:2.8.9"
117
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
122
118
  implementation "androidx.security:security-crypto:1.1.0-alpha06"
123
119
  }
124
120
 
@@ -10,6 +10,7 @@ import android.os.Handler
10
10
  import android.os.Looper
11
11
  import android.provider.Settings
12
12
  import android.util.Log
13
+ import androidx.annotation.RequiresApi
13
14
  import androidx.core.app.ActivityCompat
14
15
  import androidx.core.app.ActivityCompat.startActivityForResult
15
16
  import androidx.core.content.ContextCompat
@@ -17,6 +18,7 @@ import com.facebook.react.ReactActivity
17
18
  import com.facebook.react.bridge.*
18
19
  import com.facebook.react.modules.core.RCTNativeAppEventEmitter
19
20
  import com.omikitplugin.constants.*
21
+ import com.omikitplugin.state.CallState
20
22
  import kotlinx.coroutines.CoroutineScope
21
23
  import kotlinx.coroutines.Dispatchers
22
24
  import kotlinx.coroutines.launch
@@ -24,97 +26,111 @@ import kotlinx.coroutines.withContext
24
26
  import vn.vihat.omicall.omisdk.OmiAccountListener
25
27
  import vn.vihat.omicall.omisdk.OmiClient
26
28
  import vn.vihat.omicall.omisdk.OmiListener
29
+ import vn.vihat.omicall.omisdk.service.NotificationService
27
30
  import vn.vihat.omicall.omisdk.utils.OmiSDKUtils
28
31
  import vn.vihat.omicall.omisdk.utils.SipServiceConstants
29
32
 
30
33
 
31
34
  class OmikitPluginModule(reactContext: ReactApplicationContext?) :
32
- ReactContextBaseJavaModule(reactContext), ActivityEventListener {
35
+ ReactContextBaseJavaModule(reactContext), ActivityEventListener, OmiListener {
33
36
  private val mainScope = CoroutineScope(Dispatchers.Main)
34
37
 
35
38
  override fun getName(): String {
36
39
  return NAME
37
40
  }
38
41
 
39
- private val callListener = object : OmiListener {
40
-
41
- override fun incomingReceived(callerId: Int, phoneNumber: String?, isVideo: Boolean?) {
42
+ override fun incomingReceived(callerId: Int, phoneNumber: String?, isVideo: Boolean?) {
43
+ val map: WritableMap = WritableNativeMap()
44
+ map.putBoolean("isVideo", isVideo ?: true)
45
+ map.putString("callerNumber", phoneNumber)
46
+ map.putInt("status", CallState.incoming.value)
47
+ sendEvent(CALL_STATE_CHANGED, map)
48
+ Log.d("omikit", "incomingReceived: ")
49
+ }
50
+
51
+ override fun networkHealth(stat: Map<String, *>, quality: Int) {
52
+ val map: WritableMap = WritableNativeMap()
53
+ map.putInt("quality", quality)
54
+ sendEvent(CALL_QUALITY, map)
55
+ }
56
+
57
+ override fun onCallEnd(callInfo: MutableMap<String, Any?>, statusCode: Int) {
58
+ val call = callInfo as Map<*, *>
59
+ val map: WritableMap = WritableNativeMap()
60
+ val timeStartToAnswer = call["time_start_to_answer"] as Long?
61
+ val timeEnd = call["time_end"] as Long
62
+ map.putString("transaction_id", call["transaction_id"] as String?)
63
+ map.putString("direction", call["direction"] as String)
64
+ map.putString("source_number", call["source_number"] as String)
65
+ map.putString("destination_number", call["destination_number"] as String)
66
+ map.putDouble("time_start_to_answer", (timeStartToAnswer ?: 0).toDouble())
67
+ map.putDouble("time_end", timeEnd.toDouble())
68
+ map.putString("sip_user", call["sip_user"] as String)
69
+ map.putString("disposition", call["disposition"] as String)
70
+ map.putInt("status", CallState.disconnected.value)
71
+ sendEvent(CALL_STATE_CHANGED, map)
72
+ }
73
+
74
+ override fun onCallEstablished(
75
+ callerId: Int,
76
+ phoneNumber: String?,
77
+ isVideo: Boolean?,
78
+ startTime: Long,
79
+ transactionId: String?,
80
+ ) {
81
+ Handler(Looper.getMainLooper()).postDelayed({
82
+ Log.d("OmikitReactNative", "onCallEstablished")
42
83
  val map: WritableMap = WritableNativeMap()
43
- map.putBoolean("isVideo", isVideo ?: true)
44
84
  map.putString("callerNumber", phoneNumber)
45
- sendEvent(INCOMING_RECEIVED, map)
46
- Log.d("omikit", "incomingReceived: ")
47
- }
48
-
49
- override fun onCallEnd(callInfo: Any?) {
50
- if (callInfo is Map<*, *>) {
51
- val call = callInfo as Map<*, *>
52
- val map: WritableMap = WritableNativeMap()
53
- val timeStartToAnswer = call["time_start_to_answer"] as Long?
54
- val timeEnd = call["time_end"] as Long
55
- map.putString("transaction_id", call["transaction_id"] as String?)
56
- map.putString("direction", call["direction"] as String)
57
- map.putString("source_number", call["source_number"] as String)
58
- map.putString("destination_number", call["destination_number"] as String)
59
- map.putDouble("time_start_to_answer", (timeStartToAnswer ?: 0).toDouble())
60
- map.putDouble("time_end", timeEnd.toDouble())
61
- map.putString("sip_user", call["sip_user"] as String)
62
- map.putString("disposition", call["disposition"] as String)
63
- sendEvent(CALL_END, map)
64
- } else {
65
- sendEvent(CALL_END, null)
66
- }
67
- }
68
-
69
- override fun onCallEstablished(
70
- callerId: Int,
71
- phoneNumber: String?,
72
- isVideo: Boolean?,
73
- startTime: Long,
74
- transactionId: String?,
75
- ) {
76
- Handler(Looper.getMainLooper()).postDelayed({
77
- Log.d("OmikitReactNative", "onCallEstablished")
78
- val map: WritableMap = WritableNativeMap()
79
- map.putString("callerNumber", phoneNumber)
80
- map.putBoolean("isVideo", isVideo ?: true)
81
- map.putString("transactionId", transactionId)
82
- sendEvent(CALL_ESTABLISHED, map)
83
- }, 500)
84
- }
85
+ map.putBoolean("isVideo", isVideo ?: true)
86
+ map.putString("transactionId", transactionId)
87
+ map.putInt("status", CallState.confirmed.value)
88
+ sendEvent(CALL_STATE_CHANGED, map)
89
+ }, 500)
90
+ }
85
91
 
86
- override fun onConnectionTimeout() {
87
- // sendEvent("onConnectionTimeout", null)
88
- }
92
+ override fun onConnecting() {
93
+ val map: WritableMap = WritableNativeMap()
94
+ map.putString("callerNumber", "")
95
+ map.putBoolean("isVideo", NotificationService.isVideo)
96
+ map.putString("transactionId", "")
97
+ map.putInt("status", CallState.connecting.value)
98
+ sendEvent(CALL_STATE_CHANGED, map)
99
+ }
89
100
 
90
- override fun onHold(isHold: Boolean) {
91
- // val map: WritableMap = WritableNativeMap()
92
- // map.putBoolean("isHold", isHold)
93
- // sendEvent(HOLD, map)
94
- }
95
101
 
96
- override fun onMuted(isMuted: Boolean) {
97
- // val map: WritableMap = WritableNativeMap()
98
- // map.putBoolean("isMuted", isMuted)
99
- // sendEvent(MUTED, map)
100
- }
102
+ override fun onHold(isHold: Boolean) {
103
+ }
101
104
 
102
- override fun onOutgoingStarted(callerId: Int, phoneNumber: String?, isVideo: Boolean?) {
105
+ override fun onMuted(isMuted: Boolean) {
106
+ }
103
107
 
104
- }
108
+ override fun onOutgoingStarted(callerId: Int, phoneNumber: String?, isVideo: Boolean?) {
109
+ val map: WritableMap = WritableNativeMap()
110
+ map.putString("callerNumber", "")
111
+ map.putBoolean("isVideo", NotificationService.isVideo)
112
+ map.putString("transactionId", "")
113
+ map.putInt("status", CallState.calling.value)
114
+ sendEvent(CALL_STATE_CHANGED, map)
115
+ }
105
116
 
106
- override fun onRinging() {
107
- }
117
+ override fun onRinging() {
118
+ val map: WritableMap = WritableNativeMap()
119
+ map.putString("callerNumber", "")
120
+ map.putBoolean("isVideo", false)
121
+ map.putString("transactionId", "")
122
+ map.putInt("status", CallState.early.value)
123
+ sendEvent(CALL_STATE_CHANGED, map)
124
+ }
108
125
 
109
- override fun onSwitchBoardAnswer(sip: String) {
110
- val map: WritableMap = WritableNativeMap()
111
- map.putString("sip", sip)
112
- sendEvent(SWITCHBOARD_ANSWER, map)
113
- }
126
+ override fun onSwitchBoardAnswer(sip: String) {
127
+ val map: WritableMap = WritableNativeMap()
128
+ map.putString("sip", sip)
129
+ sendEvent(SWITCHBOARD_ANSWER, map)
130
+ }
114
131
 
115
- override fun onVideoSize(width: Int, height: Int) {
132
+ override fun onVideoSize(width: Int, height: Int) {
116
133
 
117
- }
118
134
  }
119
135
 
120
136
  private val accountListener = object : OmiAccountListener {
@@ -130,7 +146,7 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
130
146
  reactApplicationContext!!.addActivityEventListener(this)
131
147
  Handler(Looper.getMainLooper()).post {
132
148
  OmiClient(context = reactApplicationContext!!)
133
- OmiClient.instance.setListener(callListener)
149
+ OmiClient.instance.setListener(this)
134
150
  }
135
151
  }
136
152
 
@@ -140,12 +156,14 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
140
156
  promise.resolve(true)
141
157
  }
142
158
 
159
+ @RequiresApi(Build.VERSION_CODES.M)
143
160
  @ReactMethod
144
161
  fun systemAlertWindow(promise: Promise) {
145
162
  val result = Settings.canDrawOverlays(reactApplicationContext)
146
163
  promise.resolve(result)
147
164
  }
148
165
 
166
+ @RequiresApi(Build.VERSION_CODES.M)
149
167
  @ReactMethod
150
168
  fun openSystemAlertSetting(promise: Promise) {
151
169
  val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
@@ -166,6 +184,7 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
166
184
  val backImage = data.getString("backImage")
167
185
  val userImage = data.getString("userImage")
168
186
  val userNameKey = data.getString("userNameKey")
187
+ val channelId = data.getString("channelId")
169
188
  OmiClient.instance.configPushNotification(
170
189
  notificationIcon = notificationIcon ?: "",
171
190
  prefix = prefix ?: "Cuộc gọi tới từ: ",
@@ -177,6 +196,7 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
177
196
  prefixMissedCallMessage = prefixMissedCallMessage ?: "Cuộc gọi nhỡ từ",
178
197
  missedCallTitle = prefixMissedCallMessage ?: "Cuộc gọi nhỡ",
179
198
  userNameKey = userNameKey ?: "extension",
199
+ channelId = channelId ?: "",
180
200
  )
181
201
  promise.resolve(true)
182
202
  }
@@ -194,8 +214,8 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
194
214
  OmiClient.register(
195
215
  userName,
196
216
  password,
197
- isVideo,
198
217
  realm,
218
+ isVideo,
199
219
  host,
200
220
  )
201
221
  }
@@ -313,24 +333,19 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
313
333
  @ReactMethod
314
334
  fun endCall(promise: Promise) {
315
335
  currentActivity?.runOnUiThread {
316
- val callInfo = OmiClient.instance.hangUp()
317
- if (callInfo is Map<*, *>) {
318
- val call = callInfo as Map<*, *>
319
- val map: WritableMap = WritableNativeMap()
320
- val timeStartToAnswer = call["time_start_to_answer"] as Long?
321
- val timeEnd = call["time_end"] as Long
322
- map.putString("transaction_id", call["transaction_id"] as String?)
323
- map.putString("direction", call["direction"] as String)
324
- map.putString("source_number", call["source_number"] as String)
325
- map.putString("destination_number", call["destination_number"] as String)
326
- map.putDouble("time_start_to_answer", (timeStartToAnswer ?: 0).toDouble())
327
- map.putDouble("time_end", timeEnd.toDouble())
328
- map.putString("sip_user", call["sip_user"] as String)
329
- map.putString("disposition", call["disposition"] as String)
330
- sendEvent(CALL_END, map)
331
- } else {
332
- promise.resolve(null)
333
- }
336
+ val call = OmiClient.instance.hangUp()
337
+ val map: WritableMap = WritableNativeMap()
338
+ val timeStartToAnswer = call["time_start_to_answer"] as Long?
339
+ val timeEnd = call["time_end"] as Long
340
+ map.putString("transaction_id", call["transaction_id"] as String?)
341
+ map.putString("direction", call["direction"] as String)
342
+ map.putString("source_number", call["source_number"] as String)
343
+ map.putString("destination_number", call["destination_number"] as String)
344
+ map.putDouble("time_start_to_answer", (timeStartToAnswer ?: 0).toDouble())
345
+ map.putDouble("time_end", timeEnd.toDouble())
346
+ map.putString("sip_user", call["sip_user"] as String)
347
+ map.putString("disposition", call["disposition"] as String)
348
+ sendEvent(CALL_STATE_CHANGED, map)
334
349
  }
335
350
  }
336
351
 
@@ -528,9 +543,11 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
528
543
  }
529
544
 
530
545
  private fun sendEvent(eventName: String?, params: Any?) {
531
- currentActivity!!.runOnUiThread {
532
- reactApplicationContext.getJSModule(RCTNativeAppEventEmitter::class.java)
533
- .emit(eventName, params)
546
+ if (currentActivity != null) {
547
+ currentActivity!!.runOnUiThread {
548
+ reactApplicationContext.getJSModule(RCTNativeAppEventEmitter::class.java)
549
+ .emit(eventName, params)
550
+ }
534
551
  }
535
552
  }
536
553
 
@@ -26,11 +26,10 @@ const val GET_GUEST_USER = "GET_GUEST_USER"
26
26
  const val GET_USER_INFO = "GET_USER_INFO"
27
27
 
28
28
  //LISTENER
29
- const val CALL_ESTABLISHED = "CALL_ESTABLISHED"
30
- const val CALL_END = "CALL_END"
31
- const val INCOMING_RECEIVED = "INCOMING_RECEIVED"
29
+ const val CALL_STATE_CHANGED = "CALL_STATE_CHANGED"
32
30
  const val VIDEO = "VIDEO"
33
31
  const val SPEAKER = "SPEAKER"
34
32
  const val MUTED = "MUTED"
35
33
  const val CLICK_MISSED_CALL = "CLICK_MISSED_CALL"
36
34
  const val SWITCHBOARD_ANSWER = "SWITCHBOARD_ANSWER"
35
+ const val CALL_QUALITY = "CALL_QUALITY"
@@ -0,0 +1,12 @@
1
+ package com.omikitplugin.state
2
+
3
+ enum class CallState(_value: Int) {
4
+ calling(0),
5
+ early(1),
6
+ connecting(2),
7
+ confirmed(3),
8
+ incoming(4),
9
+ disconnected(5);
10
+
11
+ val value = _value
12
+ }
@@ -20,6 +20,7 @@ class CallManager {
20
20
  var isSpeaker = false
21
21
  private var guestPhone : String = ""
22
22
  private var lastStatusCall : String?
23
+ private var tempCallInfo : [String: Any]?
23
24
 
24
25
  /// Get instance
25
26
  static func shareInstance() -> CallManager {
@@ -94,10 +95,19 @@ class CallManager {
94
95
  name: NSNotification.Name.OMICallSwitchBoardAnswer,
95
96
  object: nil
96
97
  )
98
+ NotificationCenter.default.addObserver(CallManager.instance!, selector: #selector(self.updateNetworkHealth(_:)), name: NSNotification.Name.OMICallNetworkQuality, object: nil)
97
99
  self.showMissedCall()
98
100
  }
99
101
  }
100
102
 
103
+ @objc func updateNetworkHealth(_ notification: NSNotification) {
104
+ guard let userInfo = notification.userInfo,
105
+ let state = userInfo[OMINotificationNetworkStatusKey] as? Int else {
106
+ return;
107
+ }
108
+ OmikitPlugin.instance.sendEvent(withName: CALL_QUALITY, body: ["quality": state])
109
+ }
110
+
101
111
  func configNotification(data: [String: Any]) {
102
112
  let user = UserDefaults.standard
103
113
  if let prefix = data["prefix"] as? String, let userNameKey = data["userNameKey"] as? String {
@@ -174,9 +184,6 @@ class CallManager {
174
184
  return;
175
185
  }
176
186
  switch (state) {
177
- case 0:
178
- OmikitPlugin.instance.sendEvent(withName: LOCAL_VIDEO_READY, body: nil)
179
- break
180
187
  case 1:
181
188
  OmikitPlugin.instance.sendEvent(withName: REMOTE_VIDEO_READY, body: nil)
182
189
  break
@@ -186,23 +193,9 @@ class CallManager {
186
193
  }
187
194
 
188
195
  @objc func callDealloc(_ notification: NSNotification) {
189
- guard let userInfo = notification.userInfo,
190
- let call = userInfo[OMINotificationUserInfoCallKey] as? OMICall else {
191
- return;
192
- }
193
- if (call.callState == .disconnected) {
194
- DispatchQueue.main.async {[weak self] in
195
- guard let self = self else { return }
196
- if (self.videoManager != nil) {
197
- self.videoManager = nil
198
- }
199
- let callInfo = self.getCallInfo(call: call)
200
- self.lastStatusCall = nil
201
- self.guestPhone = ""
202
- DispatchQueue.main.async {
203
- OmikitPlugin.instance.sendEvent(withName: CALL_END, body: callInfo)
204
- }
205
- }
196
+ if (tempCallInfo != nil) {
197
+ tempCallInfo!["status"] = CallState.disconnected.rawValue
198
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: tempCallInfo!)
206
199
  }
207
200
  }
208
201
 
@@ -215,30 +208,44 @@ class CallManager {
215
208
  print(call.callState)
216
209
  switch (call.callState) {
217
210
  case .calling:
218
- if (!call.isIncoming) {
219
- NSLog("Outgoing call, in CALLING state, with UUID \(call.uuid)")
220
- }
211
+ NSLog("Outgoing call, in CALLING state, with UUID \(call.uuid)")
212
+ var callInfo = baseInfoFromCall(call: call)
213
+ callInfo["status"] = CallState.calling.rawValue
214
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
221
215
  break
222
216
  case .early:
223
- if (!call.isIncoming) {
224
- NSLog("Outgoing call, in EARLY state, with UUID: \(call.uuid)")
225
- }
217
+ var callInfo = baseInfoFromCall(call: call)
218
+ callInfo["status"] = CallState.early.rawValue
219
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
226
220
  break
227
221
  case .connecting:
228
- if (!call.isIncoming) {
229
- NSLog("Outgoing call, in CONNECTING state, with UUID: \(call.uuid)")
230
- }
222
+ var callInfo = baseInfoFromCall(call: call)
223
+ callInfo["status"] = CallState.connecting.rawValue
224
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
231
225
  break
232
226
  case .confirmed:
233
- NSLog("Outgoing call, in CONFIRMED state, with UUID: \(call.uuid)")
227
+ NSLog("Outgoing call, in CONFIRMED state, with UUID: \(call)")
234
228
  if (videoManager == nil && call.isVideo) {
235
229
  videoManager = OMIVideoViewManager.init()
236
230
  }
237
231
  isSpeaker = call.isVideo
238
232
  lastStatusCall = "answered"
239
- OmikitPlugin.instance.sendEvent(withName: CALL_ESTABLISHED, body: ["isVideo": call.isVideo, "callerNumber": call.callerNumber])
233
+ var callInfo = baseInfoFromCall(call: call)
234
+ callInfo["status"] = CallState.confirmed.rawValue
235
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
240
236
  OmikitPlugin.instance.sendMuteStatus()
241
- OmikitPlugin.instance.sendSpeakerStatus()
237
+ break
238
+ case .incoming:
239
+ guestPhone = call.callerNumber ?? ""
240
+ DispatchQueue.main.async {[weak self] in
241
+ guard let self = self else { return }
242
+ let state: UIApplication.State = UIApplication.shared.applicationState
243
+ if (state == .active) {
244
+ var callInfo = self.baseInfoFromCall(call: call)
245
+ callInfo["status"] = CallState.incoming.rawValue
246
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
247
+ }
248
+ }
242
249
  break
243
250
  case .disconnected:
244
251
  if (!call.connected) {
@@ -246,21 +253,17 @@ class CallManager {
246
253
  } else if (!call.userDidHangUp) {
247
254
  NSLog("Call remotly ended, in DISCONNECTED state, with UUID: \(call.uuid)")
248
255
  }
249
- let callInfo = getCallInfo(call: call)
256
+ tempCallInfo = getCallInfo(call: call)
250
257
  if (videoManager != nil) {
251
258
  videoManager = nil
252
259
  }
253
260
  lastStatusCall = nil
254
261
  guestPhone = ""
255
- print(call.uuid.uuidString)
256
- OmikitPlugin.instance.sendEvent(withName: CALL_END, body: callInfo)
257
- break
258
- case .incoming:
259
- guestPhone = call.callerNumber ?? ""
260
- OmikitPlugin.instance.sendEvent(withName: INCOMING_RECEIVED, body: ["isVideo": call.isVideo, "callerNumber": call.callerNumber ?? ""])
262
+ tempCallInfo!["status"] = CallState.disconnected.rawValue
263
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: tempCallInfo!)
264
+ tempCallInfo = nil
261
265
  break
262
266
  default:
263
- NSLog("Default call state")
264
267
  break
265
268
  }
266
269
  }
@@ -296,12 +299,15 @@ class CallManager {
296
299
 
297
300
  func endAvailableCall() -> [String: Any] {
298
301
  guard let call = getAvailableCall() else {
299
- OmikitPlugin.instance.sendEvent(withName: CALL_END, body: [:])
302
+ let callInfo = [
303
+ "status": CallState.disconnected.rawValue,
304
+ ]
305
+ OmikitPlugin.instance.sendEvent(withName: CALL_STATE_CHANGED, body: callInfo)
300
306
  return [:]
301
307
  }
302
- let callInfo = getCallInfo(call: call)
308
+ tempCallInfo = getCallInfo(call: call)
303
309
  omiLib.callManager.end(call)
304
- return callInfo
310
+ return tempCallInfo!
305
311
  }
306
312
 
307
313
  func endAllCalls() {
@@ -474,6 +480,14 @@ class CallManager {
474
480
  "disposition" : lastStatusCall == nil ? "no_answered" : "answered",
475
481
  ]
476
482
  }
483
+
484
+ private func baseInfoFromCall(call: OMICall) -> [String: Any] {
485
+ return [
486
+ "callerNumber": call.callerNumber,
487
+ "isVideo": call.isVideo,
488
+ "transactionId": call.omiId,
489
+ ]
490
+ }
477
491
  }
478
492
 
479
493
 
@@ -0,0 +1,16 @@
1
+ //
2
+ // CallState.swift
3
+ // omicall_flutter_plugin
4
+ //
5
+ // Created by PRO 2019 16' on 25/05/2023.
6
+ //
7
+
8
+ import Foundation
9
+ enum CallState: Int {
10
+ case calling = 0
11
+ case early
12
+ case connecting
13
+ case confirmed
14
+ case incoming
15
+ case disconnected
16
+ }
@@ -36,14 +36,11 @@ let GET_GUEST_USER = "GET_GUEST_USER"
36
36
  let GET_USER_INFO = "GET_USER_INFO"
37
37
 
38
38
  //LISTENER
39
- let CALL_ESTABLISHED = "CALL_ESTABLISHED"
40
- let CALL_END = "CALL_END"
41
- let INCOMING_RECEIVED = "INCOMING_RECEIVED"
42
- let VIDEO = "VIDEO"
39
+ let CALL_STATE_CHANGED = "CALL_STATE_CHANGED"
43
40
  let SPEAKER = "SPEAKER"
44
41
  let MUTED = "MUTED"
45
- let LOCAL_VIDEO_READY = "LOCAL_VIDEO_READY"
46
42
  let REMOTE_VIDEO_READY = "REMOTE_VIDEO_READY"
47
43
  let CLICK_MISSED_CALL = "CLICK_MISSED_CALL"
48
44
  let SWITCHBOARD_ANSWER = "SWITCHBOARD_ANSWER"
45
+ let CALL_QUALITY = "CALL_QUALITY"
49
46
 
@@ -195,16 +195,13 @@ public class OmikitPlugin: RCTEventEmitter {
195
195
 
196
196
  public override func supportedEvents() -> [String]! {
197
197
  return [
198
- INCOMING_RECEIVED,
199
- CALL_ESTABLISHED,
200
- CALL_END,
198
+ CALL_STATE_CHANGED,
201
199
  MUTED,
202
200
  SPEAKER,
203
- VIDEO,
204
201
  REMOTE_VIDEO_READY,
205
- LOCAL_VIDEO_READY,
206
202
  CLICK_MISSED_CALL,
207
- SWITCHBOARD_ANSWER
203
+ SWITCHBOARD_ANSWER,
204
+ CALL_QUALITY
208
205
  ]
209
206
  }
210
207
  }
@@ -36,4 +36,15 @@ Object.keys(_omi_remote_camera).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _omi_call_state = require("./omi_call_state");
40
+ Object.keys(_omi_call_state).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _omi_call_state[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _omi_call_state[key];
47
+ }
48
+ });
49
+ });
39
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_omikit","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_omi_local_camera","_omi_remote_camera"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,kBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_omikit","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_omi_local_camera","_omi_remote_camera","_omi_call_state"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,iBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,iBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,iBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,iBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,kBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OmiCallState = void 0;
7
+ let OmiCallState;
8
+ exports.OmiCallState = OmiCallState;
9
+ (function (OmiCallState) {
10
+ OmiCallState[OmiCallState["calling"] = 0] = "calling";
11
+ OmiCallState[OmiCallState["early"] = 1] = "early";
12
+ OmiCallState[OmiCallState["connecting"] = 2] = "connecting";
13
+ OmiCallState[OmiCallState["confirmed"] = 3] = "confirmed";
14
+ OmiCallState[OmiCallState["incoming"] = 4] = "incoming";
15
+ OmiCallState[OmiCallState["disconnected"] = 5] = "disconnected";
16
+ })(OmiCallState || (exports.OmiCallState = OmiCallState = {}));
17
+ //# sourceMappingURL=omi_call_state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OmiCallState","exports"],"sourceRoot":"../../src","sources":["omi_call_state.tsx"],"mappings":";;;;;;IAAYA,YAAY;AAAAC,OAAA,CAAAD,YAAA,GAAAA,YAAA;AAAA,WAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;AAAA,GAAZA,YAAY,KAAAC,OAAA,CAAAD,YAAA,GAAZA,YAAY"}
@@ -115,15 +115,13 @@ function openSystemAlertSetting() {
115
115
  const omiEmitter = new _reactNative.NativeEventEmitter(OmikitPlugin);
116
116
  exports.omiEmitter = omiEmitter;
117
117
  const OmiCallEvent = {
118
- onCallEstablished: 'CALL_ESTABLISHED',
119
- onCallEnd: 'CALL_END',
120
- incomingReceived: 'INCOMING_RECEIVED',
118
+ onCallStateChanged: 'CALL_STATE_CHANGED',
121
119
  onSpeaker: 'SPEAKER',
122
120
  onMuted: 'MUTED',
123
- onLocalVideoReady: 'LOCAL_VIDEO_READY',
124
121
  onRemoteVideoReady: 'REMOTE_VIDEO_READY',
125
122
  onClickMissedCall: 'CLICK_MISSED_CALL',
126
- onSwitchboardAnswer: 'SWITCHBOARD_ANSWER'
123
+ onSwitchboardAnswer: 'SWITCHBOARD_ANSWER',
124
+ onCallQuality: 'CALL_QUALITY'
127
125
  };
128
126
  exports.OmiCallEvent = OmiCallEvent;
129
127
  //# sourceMappingURL=omikit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OmikitPlugin","NativeModules","Proxy","get","Error","startServices","configPushNotification","data","getInitialCall","initCallWithUserPassword","console","log","initCallWithApiKey","updateToken","startCall","startCallWithUuid","joinCall","endCall","toggleMute","toggleSpeaker","onHold","sendDTMF","switchOmiCamera","toggleOmiVideo","logout","registerVideoEvent","removeVideoEvent","getCurrentUser","getGuestUser","systemAlertWindow","openSystemAlertSetting","omiEmitter","NativeEventEmitter","exports","OmiCallEvent","onCallEstablished","onCallEnd","incomingReceived","onSpeaker","onMuted","onLocalVideoReady","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OmikitPlugin","NativeModules","Proxy","get","Error","startServices","configPushNotification","data","getInitialCall","initCallWithUserPassword","console","log","initCallWithApiKey","updateToken","startCall","startCallWithUuid","joinCall","endCall","toggleMute","toggleSpeaker","onHold","sendDTMF","switchOmiCamera","toggleOmiVideo","logout","registerVideoEvent","removeVideoEvent","getCurrentUser","getGuestUser","systemAlertWindow","openSystemAlertSetting","omiEmitter","NativeEventEmitter","exports","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './omikit';
2
2
  export * from './omi_local_camera';
3
3
  export * from './omi_remote_camera';
4
+ export * from './omi_call_state';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,qBAAqB"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,kBAAkB"}
@@ -0,0 +1,10 @@
1
+ export let OmiCallState;
2
+ (function (OmiCallState) {
3
+ OmiCallState[OmiCallState["calling"] = 0] = "calling";
4
+ OmiCallState[OmiCallState["early"] = 1] = "early";
5
+ OmiCallState[OmiCallState["connecting"] = 2] = "connecting";
6
+ OmiCallState[OmiCallState["confirmed"] = 3] = "confirmed";
7
+ OmiCallState[OmiCallState["incoming"] = 4] = "incoming";
8
+ OmiCallState[OmiCallState["disconnected"] = 5] = "disconnected";
9
+ })(OmiCallState || (OmiCallState = {}));
10
+ //# sourceMappingURL=omi_call_state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OmiCallState"],"sourceRoot":"../../src","sources":["omi_call_state.tsx"],"mappings":"AAAA,WAAYA,YAAY;AAOvB,WAPWA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;AAAA,GAAZA,YAAY,KAAZA,YAAY"}
@@ -84,14 +84,12 @@ export function openSystemAlertSetting() {
84
84
  }
85
85
  export const omiEmitter = new NativeEventEmitter(OmikitPlugin);
86
86
  export const OmiCallEvent = {
87
- onCallEstablished: 'CALL_ESTABLISHED',
88
- onCallEnd: 'CALL_END',
89
- incomingReceived: 'INCOMING_RECEIVED',
87
+ onCallStateChanged: 'CALL_STATE_CHANGED',
90
88
  onSpeaker: 'SPEAKER',
91
89
  onMuted: 'MUTED',
92
- onLocalVideoReady: 'LOCAL_VIDEO_READY',
93
90
  onRemoteVideoReady: 'REMOTE_VIDEO_READY',
94
91
  onClickMissedCall: 'CLICK_MISSED_CALL',
95
- onSwitchboardAnswer: 'SWITCHBOARD_ANSWER'
92
+ onSwitchboardAnswer: 'SWITCHBOARD_ANSWER',
93
+ onCallQuality: 'CALL_QUALITY'
96
94
  };
97
95
  //# sourceMappingURL=omikit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","OmikitPlugin","Proxy","get","Error","startServices","configPushNotification","data","getInitialCall","initCallWithUserPassword","console","log","initCallWithApiKey","updateToken","startCall","startCallWithUuid","joinCall","endCall","toggleMute","toggleSpeaker","onHold","sendDTMF","switchOmiCamera","toggleOmiVideo","logout","registerVideoEvent","removeVideoEvent","getCurrentUser","getGuestUser","systemAlertWindow","openSystemAlertSetting","omiEmitter","OmiCallEvent","onCallEstablished","onCallEnd","incomingReceived","onSpeaker","onMuted","onLocalVideoReady","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","OmikitPlugin","Proxy","get","Error","startServices","configPushNotification","data","getInitialCall","initCallWithUserPassword","console","log","initCallWithApiKey","updateToken","startCall","startCallWithUuid","joinCall","endCall","toggleMute","toggleSpeaker","onHold","sendDTMF","switchOmiCamera","toggleOmiVideo","logout","registerVideoEvent","removeVideoEvent","getCurrentUser","getGuestUser","systemAlertWindow","openSystemAlertSetting","omiEmitter","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './omikit';
2
2
  export * from './omi_local_camera';
3
3
  export * from './omi_remote_camera';
4
+ export * from './omi_call_state';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare enum OmiCallState {
2
+ calling = 0,
3
+ early = 1,
4
+ connecting = 2,
5
+ confirmed = 3,
6
+ incoming = 4,
7
+ disconnected = 5
8
+ }
9
+ //# sourceMappingURL=omi_call_state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omi_call_state.d.ts","sourceRoot":"","sources":["../../src/omi_call_state.tsx"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,UAAU,IAAI;IACd,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,YAAY,IAAI;CACjB"}
@@ -24,14 +24,12 @@ export declare function systemAlertWindow(): Promise<boolean>;
24
24
  export declare function openSystemAlertSetting(): Promise<void>;
25
25
  export declare const omiEmitter: NativeEventEmitter;
26
26
  export declare const OmiCallEvent: {
27
- onCallEstablished: string;
28
- onCallEnd: string;
29
- incomingReceived: string;
27
+ onCallStateChanged: string;
30
28
  onSpeaker: string;
31
29
  onMuted: string;
32
- onLocalVideoReady: string;
33
30
  onRemoteVideoReady: string;
34
31
  onClickMissedCall: string;
35
32
  onSwitchboardAnswer: string;
33
+ onCallQuality: string;
36
34
  };
37
35
  //# sourceMappingURL=omikit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"omikit.d.ts","sourceRoot":"","sources":["../../src/omikit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmB3E,wBAAgB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAE5C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAE9D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAE7C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAE3C;AAED,wBAAgB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1C;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAE7C;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEhD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAElD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAEjD;AAED,wBAAgB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAE7C;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtD;AAED,eAAO,MAAM,UAAU,oBAAuC,CAAC;AAE/D,eAAO,MAAM,YAAY;;;;;;;;;;CAUxB,CAAC"}
1
+ {"version":3,"file":"omikit.d.ts","sourceRoot":"","sources":["../../src/omikit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmB3E,wBAAgB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,CAE5C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAE9D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAE7C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAE3C;AAED,wBAAgB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1C;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAE7C;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEhD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpD;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAElD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAEjD;AAED,wBAAgB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAE7C;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAE3C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtD;AAED,eAAO,MAAM,UAAU,oBAAuC,CAAC;AAE/D,eAAO,MAAM,YAAY;;;;;;;;CAQxB,CAAC"}
@@ -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.32'
35
+ s.dependency "OmiKit", '1.5.40'
36
36
  end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omikit-plugin",
3
- "version": "2.3.3",
3
+ "version": "2.4.0",
4
4
  "description": "Omikit Plugin by ViHAT",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './omikit';
2
2
  export * from './omi_local_camera';
3
3
  export * from './omi_remote_camera';
4
+ export * from './omi_call_state';
@@ -0,0 +1,8 @@
1
+ export enum OmiCallState {
2
+ calling = 0,
3
+ early = 1,
4
+ connecting = 2,
5
+ confirmed = 3,
6
+ incoming = 4,
7
+ disconnected = 5,
8
+ }
package/src/omikit.tsx CHANGED
@@ -117,13 +117,11 @@ export function openSystemAlertSetting(): Promise<void> {
117
117
  export const omiEmitter = new NativeEventEmitter(OmikitPlugin);
118
118
 
119
119
  export const OmiCallEvent = {
120
- onCallEstablished: 'CALL_ESTABLISHED',
121
- onCallEnd: 'CALL_END',
122
- incomingReceived: 'INCOMING_RECEIVED',
120
+ onCallStateChanged: 'CALL_STATE_CHANGED',
123
121
  onSpeaker: 'SPEAKER',
124
122
  onMuted: 'MUTED',
125
- onLocalVideoReady: 'LOCAL_VIDEO_READY',
126
123
  onRemoteVideoReady: 'REMOTE_VIDEO_READY',
127
124
  onClickMissedCall: 'CLICK_MISSED_CALL',
128
125
  onSwitchboardAnswer: 'SWITCHBOARD_ANSWER',
126
+ onCallQuality: 'CALL_QUALITY',
129
127
  };