rns-nativecall 0.3.0 → 0.3.1

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.
@@ -1,14 +1,7 @@
1
1
  package com.rnsnativecall
2
2
 
3
3
  import android.app.NotificationManager
4
- import android.content.ComponentName
5
4
  import android.content.Context
6
- import android.content.Intent
7
- import android.telecom.DisconnectCause
8
- import android.telecom.PhoneAccount
9
- import android.telecom.PhoneAccountHandle
10
- import android.telecom.TelecomManager
11
- import android.widget.Toast
12
5
  import com.facebook.react.bridge.*
13
6
  import com.facebook.react.modules.core.DeviceEventManagerModule
14
7
 
@@ -16,16 +9,12 @@ class CallModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMo
16
9
 
17
10
  init {
18
11
  instance = this
19
- registerPhoneAccount()
20
12
  }
21
13
 
22
14
  override fun getName() = "CallModule"
23
15
 
24
- // ... getPhoneAccountHandle and registerPhoneAccount remain the same ...
25
-
26
16
  @ReactMethod
27
17
  fun getInitialCallData(promise: Promise) {
28
- // Convert our stored simple Map into a WritableMap for JS
29
18
  val data = pendingCallDataMap?.let { map ->
30
19
  val writableMap = Arguments.createMap()
31
20
  map.forEach { (key, value) ->
@@ -33,9 +22,8 @@ class CallModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMo
33
22
  }
34
23
  writableMap
35
24
  }
36
-
37
25
  promise.resolve(data)
38
- pendingCallDataMap = null // Clear after consumption
26
+ pendingCallDataMap = null
39
27
  }
40
28
 
41
29
  @ReactMethod
@@ -55,25 +43,27 @@ class CallModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMo
55
43
 
56
44
  @ReactMethod
57
45
  fun endNativeCall(uuid: String) {
46
+ // Since we aren't using Telecom, we just stop the ringtone and clear notification
58
47
  NativeCallManager.stopRingtone()
59
- pendingCallDataMap = null // Clear any pending data
48
+ pendingCallDataMap = null
60
49
 
61
50
  val notificationManager = reactApplicationContext.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
62
51
  notificationManager.cancel(101)
52
+
53
+ // No more ConnectionService to destroy!
54
+ }
63
55
 
64
- val connection = MyConnectionService.getConnection(uuid)
65
- connection?.let {
66
- it.setDisconnected(DisconnectCause(DisconnectCause.MISSED))
67
- it.destroy()
68
- MyConnectionService.removeConnection(uuid)
69
- }
56
+ // This is a dummy now since we don't need PhoneAccount permissions anymore
57
+ @ReactMethod
58
+ fun checkTelecomPermissions(promise: Promise) {
59
+ promise.resolve(true)
70
60
  }
71
61
 
72
- // ... checkTelecomPermissions remains the same ...
62
+ @ReactMethod fun addListener(eventName: String) {}
63
+ @ReactMethod fun removeListeners(count: Int) {}
73
64
 
74
65
  companion object {
75
66
  private var instance: CallModule? = null
76
- // Use a standard Map to store data so we don't depend on React Context being alive
77
67
  private var pendingCallDataMap: Map<String, String>? = null
78
68
 
79
69
  @JvmStatic
@@ -85,7 +75,6 @@ class CallModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMo
85
75
  fun sendEventToJS(eventName: String, params: Any?) {
86
76
  val reactContext = instance?.reactApplicationContext
87
77
 
88
- // Convert params to WritableMap
89
78
  val bridgeData = when (params) {
90
79
  is Map<*, *> -> {
91
80
  val map = Arguments.createMap()
@@ -102,7 +91,6 @@ class CallModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMo
102
91
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
103
92
  ?.emit(eventName, bridgeData)
104
93
  } else if (eventName == "onCallAccepted" && params is Map<*, *>) {
105
- // FALLBACK: Store data for polling if JS isn't ready
106
94
  setPendingCallData(params as Map<String, String>)
107
95
  }
108
96
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rns-nativecall",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "RNS nativecall component with native Android/iOS for handling native call ui, when app is not open or open.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",