@stream-io/react-native-callingx 0.1.0-beta.6 → 0.1.1-beta.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/android/build.gradle +7 -1
- package/android/src/main/AndroidManifest.xml +31 -1
- package/android/src/main/java/io/getstream/rn/callingx/CallEventBroadcastReceiver.kt +17 -0
- package/android/src/main/java/io/getstream/rn/callingx/CallRegistrationStore.kt +176 -0
- package/android/src/main/java/io/getstream/rn/callingx/CallService.kt +302 -80
- package/android/src/main/java/io/getstream/rn/callingx/CallingxModuleImpl.kt +176 -191
- package/android/src/main/java/io/getstream/rn/callingx/StreamMessagingService.kt +48 -0
- package/android/src/main/java/io/getstream/rn/callingx/model/Call.kt +1 -0
- package/android/src/main/java/io/getstream/rn/callingx/notifications/CallNotificationManager.kt +196 -46
- package/android/src/main/java/io/getstream/rn/callingx/notifications/NotificationIntentFactory.kt +14 -8
- package/android/src/main/java/io/getstream/rn/callingx/notifications/NotificationReceiverActivity.kt +12 -1
- package/android/src/main/java/io/getstream/rn/callingx/notifications/NotificationReceiverService.kt +7 -0
- package/android/src/main/java/io/getstream/rn/callingx/repo/CallRepository.kt +38 -19
- package/android/src/main/java/io/getstream/rn/callingx/repo/LegacyCallRepository.kt +64 -55
- package/android/src/main/java/io/getstream/rn/callingx/repo/TelecomCallRepository.kt +241 -195
- package/android/src/main/java/io/getstream/rn/callingx/utils/CallEventBus.kt +61 -0
- package/android/src/main/java/io/getstream/rn/callingx/utils/SettingsStore.kt +51 -0
- package/android/src/newarch/java/io/getstream/rn/callingx/CallingxModule.kt +12 -3
- package/android/src/oldarch/java/io/getstream/rn/callingx/CallingxModule.kt +13 -3
- package/dist/module/CallingxModule.js +13 -10
- package/dist/module/CallingxModule.js.map +1 -1
- package/dist/module/spec/NativeCallingx.js.map +1 -1
- package/dist/module/utils/constants.js +24 -13
- package/dist/module/utils/constants.js.map +1 -1
- package/dist/typescript/src/CallingxModule.d.ts +3 -0
- package/dist/typescript/src/CallingxModule.d.ts.map +1 -1
- package/dist/typescript/src/spec/NativeCallingx.d.ts +7 -1
- package/dist/typescript/src/spec/NativeCallingx.d.ts.map +1 -1
- package/dist/typescript/src/types.d.ts +31 -0
- package/dist/typescript/src/types.d.ts.map +1 -1
- package/dist/typescript/src/utils/constants.d.ts +1 -1
- package/dist/typescript/src/utils/constants.d.ts.map +1 -1
- package/ios/AudioSessionManager.swift +2 -2
- package/ios/Callingx.mm +41 -17
- package/ios/CallingxImpl.swift +213 -83
- package/ios/Settings.swift +2 -2
- package/ios/UUIDStorage.swift +10 -10
- package/ios/VoipNotificationsManager.swift +8 -8
- package/package.json +4 -2
- package/src/CallingxModule.ts +14 -10
- package/src/spec/NativeCallingx.ts +10 -3
- package/src/types.ts +34 -0
- package/src/utils/constants.ts +23 -9
- package/android/bin/build/generated/source/buildConfig/debug/io/getstream/rn/callingx/BuildConfig.class +0 -0
- package/android/bin/build/generated/source/codegen/java/io/getstream/rn/callingx/NativeCallingxSpec.class +0 -0
- package/android/bin/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
- package/android/bin/build/generated/source/codegen/jni/CallingxSpec-generated.cpp +0 -167
- package/android/bin/build/generated/source/codegen/jni/CallingxSpec.h +0 -31
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/CallingxSpecJSI-generated.cpp +0 -196
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/CallingxSpecJSI.h +0 -283
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/ComponentDescriptors.cpp +0 -22
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/ComponentDescriptors.h +0 -24
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/EventEmitters.cpp +0 -16
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/EventEmitters.h +0 -17
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/Props.cpp +0 -19
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/Props.h +0 -18
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/ShadowNodes.cpp +0 -17
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/ShadowNodes.h +0 -23
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/States.cpp +0 -16
- package/android/bin/build/generated/source/codegen/jni/react/renderer/components/CallingxSpec/States.h +0 -20
- package/android/bin/build/generated/source/codegen/schema.json +0 -1
- package/android/bin/src/main/AndroidManifest.xml +0 -29
- package/android/bin/src/main/java/io/getstream/rn/callingx/notifications/NotificationChannelsManager.kt +0 -104
- /package/android/src/main/java/io/getstream/rn/callingx/{ResourceUtils.kt → utils/ResourceUtils.kt} +0 -0
- /package/android/src/main/java/io/getstream/rn/callingx/{Utils.kt → utils/Utils.kt} +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
-
*
|
|
4
|
-
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
-
* once the code is regenerated.
|
|
6
|
-
*
|
|
7
|
-
* @generated by codegen project: GenerateStateH.js
|
|
8
|
-
*/
|
|
9
|
-
#pragma once
|
|
10
|
-
|
|
11
|
-
#include <react/renderer/core/StateData.h>
|
|
12
|
-
#ifdef RN_SERIALIZABLE_STATE
|
|
13
|
-
#include <folly/dynamic.h>
|
|
14
|
-
#endif
|
|
15
|
-
|
|
16
|
-
namespace facebook::react {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} // namespace facebook::react
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"libraryName":"","modules":{"NativeCallingx":{"type":"NativeModule","aliasMap":{},"enumMap":{},"spec":{"eventEmitters":[{"name":"onNewEvent","optional":false,"typeAnnotation":{"type":"EventEmitterTypeAnnotation","typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"eventName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"params","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"cause","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"muted","optional":true,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"hold","optional":true,"typeAnnotation":{"type":"BooleanTypeAnnotation"}}]}}]}}},{"name":"onNewVoipEvent","optional":false,"typeAnnotation":{"type":"EventEmitterTypeAnnotation","typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"eventName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"params","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"token","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"aps","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}},{"name":"alert","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"title","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"category","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"sound","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"stream","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"sender","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"created_by_id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"body","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"title","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"call_display_name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"created_by_display_name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"version","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"type","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"receiver_id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"call_cid","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"video","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}}]}}}],"methods":[{"name":"setupiOS","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[{"name":"options","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"supportsVideo","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"maximumCallsPerCallGroup","optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}},{"name":"maximumCallGroups","optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}},{"name":"handleType","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"sound","optional":false,"typeAnnotation":{"type":"NullableTypeAnnotation","typeAnnotation":{"type":"StringTypeAnnotation"}}},{"name":"imageName","optional":false,"typeAnnotation":{"type":"NullableTypeAnnotation","typeAnnotation":{"type":"StringTypeAnnotation"}}},{"name":"callsHistory","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"displayCallTimeout","optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}}]}}]}},{"name":"setupAndroid","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[{"name":"options","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"incomingChannel","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"sound","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"vibration","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}}]}},{"name":"ongoingChannel","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}}]}},{"name":"setShouldRejectCallWhenBusy","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[{"name":"shouldReject","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}}]}},{"name":"canPostNotifications","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"BooleanTypeAnnotation"},"params":[]}},{"name":"getInitialEvents","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"ArrayTypeAnnotation","elementType":{"type":"ObjectTypeAnnotation","properties":[{"name":"eventName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"params","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"cause","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"muted","optional":true,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"hold","optional":true,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"source","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}},"params":[]}},{"name":"getInitialVoipEvents","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"ArrayTypeAnnotation","elementType":{"type":"ObjectTypeAnnotation","properties":[{"name":"eventName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"params","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"token","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"aps","optional":true,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}},{"name":"alert","optional":false,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"title","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"category","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"sound","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"stream","optional":true,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"sender","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"created_by_id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"body","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"title","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"call_display_name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"created_by_display_name","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"version","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"type","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"receiver_id","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"call_cid","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"video","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}}]}},"params":[]}},{"name":"setCurrentCallActive","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"displayIncomingCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"phoneNumber","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"callerName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"hasVideo","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"displayOptions","optional":true,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"displayTitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"displaySubtitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}},{"name":"answerIncomingCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"startCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"phoneNumber","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"callerName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"hasVideo","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}},{"name":"displayOptions","optional":true,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"displayTitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"displaySubtitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}},{"name":"updateDisplay","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"phoneNumber","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"callerName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"displayOptions","optional":true,"typeAnnotation":{"type":"ObjectTypeAnnotation","properties":[{"name":"displayTitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"displaySubtitle","optional":true,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}}]}},{"name":"isCallRegistered","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"BooleanTypeAnnotation"},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"hasRegisteredCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"BooleanTypeAnnotation"},"params":[]}},{"name":"endCallWithReason","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"reason","optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}}]}},{"name":"endCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"setMutedCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"isMuted","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}}]}},{"name":"setOnHoldCall","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"callId","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"isOnHold","optional":false,"typeAnnotation":{"type":"BooleanTypeAnnotation"}}]}},{"name":"registerBackgroundTaskAvailable","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[]}},{"name":"isServiceStarted","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"BooleanTypeAnnotation"}},"params":[]}},{"name":"startBackgroundTask","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"taskName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"timeout","optional":false,"typeAnnotation":{"type":"NumberTypeAnnotation"}}]}},{"name":"stopBackgroundTask","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"PromiseTypeAnnotation","elementType":{"type":"VoidTypeAnnotation"}},"params":[{"name":"taskName","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}}]}},{"name":"registerVoipToken","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[]}},{"name":"log","optional":false,"typeAnnotation":{"type":"FunctionTypeAnnotation","returnTypeAnnotation":{"type":"VoidTypeAnnotation"},"params":[{"name":"message","optional":false,"typeAnnotation":{"type":"StringTypeAnnotation"}},{"name":"level","optional":false,"typeAnnotation":{"type":"StringLiteralUnionTypeAnnotation","types":[{"type":"StringLiteralTypeAnnotation","value":"debug"},{"type":"StringLiteralTypeAnnotation","value":"info"},{"type":"StringLiteralTypeAnnotation","value":"warn"},{"type":"StringLiteralTypeAnnotation","value":"error"}]}}]}}]},"moduleName":"Callingx"}}}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
2
|
-
|
|
3
|
-
<uses-permission android:name="android.permission.MANAGE_OWN_CALLS" />
|
|
4
|
-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
5
|
-
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" />
|
|
6
|
-
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
|
7
|
-
|
|
8
|
-
<application>
|
|
9
|
-
<activity
|
|
10
|
-
android:name="io.getstream.rn.callingx.notifications.NotificationReceiverActivity"
|
|
11
|
-
android:excludeFromRecents="true"
|
|
12
|
-
android:exported="false"
|
|
13
|
-
android:noHistory="true"
|
|
14
|
-
android:taskAffinity=""
|
|
15
|
-
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
|
|
16
|
-
|
|
17
|
-
<service
|
|
18
|
-
android:name="io.getstream.rn.callingx.notifications.NotificationReceiverService"
|
|
19
|
-
android:exported="false" />
|
|
20
|
-
|
|
21
|
-
<service
|
|
22
|
-
android:name="io.getstream.rn.callingx.CallService"
|
|
23
|
-
android:enabled="true"
|
|
24
|
-
android:exported="false"
|
|
25
|
-
android:foregroundServiceType="phoneCall"
|
|
26
|
-
android:stopWithTask="true" />
|
|
27
|
-
|
|
28
|
-
</application>
|
|
29
|
-
</manifest>
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
package io.getstream.rn.callingx.notifications
|
|
2
|
-
|
|
3
|
-
import android.content.Context
|
|
4
|
-
import android.os.Build
|
|
5
|
-
import androidx.core.app.NotificationChannelCompat
|
|
6
|
-
import androidx.core.app.NotificationManagerCompat
|
|
7
|
-
import io.getstream.rn.callingx.debugLog
|
|
8
|
-
|
|
9
|
-
class NotificationChannelsManager(
|
|
10
|
-
private val context: Context,
|
|
11
|
-
private val notificationManager: NotificationManagerCompat =
|
|
12
|
-
NotificationManagerCompat.from(context)
|
|
13
|
-
) {
|
|
14
|
-
|
|
15
|
-
private var notificationsConfig: NotificationsConfig.Channels? = null
|
|
16
|
-
|
|
17
|
-
companion object {
|
|
18
|
-
private const val TAG = "[Callingx] NotificationChannelsManager"
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
data class NotificationStatus(
|
|
22
|
-
val canPost: Boolean,
|
|
23
|
-
val hasPermissions: Boolean,
|
|
24
|
-
val areNotificationsEnabled: Boolean,
|
|
25
|
-
val isIncomingChannelEnabled: Boolean,
|
|
26
|
-
val isOngoingChannelEnabled: Boolean,
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
fun setNotificationsConfig(notificationsConfig: NotificationsConfig.Channels) {
|
|
30
|
-
this.notificationsConfig = notificationsConfig
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
fun createNotificationChannels() {
|
|
34
|
-
notificationsConfig?.let {
|
|
35
|
-
val incomingChannel = createNotificationChannel(it.incomingChannel)
|
|
36
|
-
val ongoingChannel = createNotificationChannel(it.ongoingChannel)
|
|
37
|
-
|
|
38
|
-
notificationManager.createNotificationChannelsCompat(
|
|
39
|
-
listOf(
|
|
40
|
-
incomingChannel,
|
|
41
|
-
ongoingChannel,
|
|
42
|
-
),
|
|
43
|
-
)
|
|
44
|
-
debugLog(TAG, "createNotificationChannels: Notification channels registered")
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
fun getNotificationStatus(): NotificationStatus {
|
|
49
|
-
val areNotificationsEnabled = areNotificationsEnabled()
|
|
50
|
-
val hasPermissions = hasNotificationPermissions()
|
|
51
|
-
val isIncomingChannelEnabled = isChannelEnabled(notificationsConfig?.incomingChannel?.id)
|
|
52
|
-
val isOngoingChannelEnabled = isChannelEnabled(notificationsConfig?.ongoingChannel?.id)
|
|
53
|
-
|
|
54
|
-
val canPost =
|
|
55
|
-
areNotificationsEnabled &&
|
|
56
|
-
hasPermissions &&
|
|
57
|
-
isIncomingChannelEnabled &&
|
|
58
|
-
isOngoingChannelEnabled
|
|
59
|
-
|
|
60
|
-
return NotificationStatus(
|
|
61
|
-
canPost,
|
|
62
|
-
hasPermissions,
|
|
63
|
-
areNotificationsEnabled,
|
|
64
|
-
isIncomingChannelEnabled,
|
|
65
|
-
isOngoingChannelEnabled
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
private fun createNotificationChannel(
|
|
70
|
-
config: NotificationsConfig.ChannelParams
|
|
71
|
-
): NotificationChannelCompat {
|
|
72
|
-
return NotificationChannelCompat.Builder(config.id, config.importance)
|
|
73
|
-
.apply {
|
|
74
|
-
setName(config.name)
|
|
75
|
-
setVibrationEnabled(config.vibration)
|
|
76
|
-
setSound(null, null)
|
|
77
|
-
}
|
|
78
|
-
.build()
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
private fun areNotificationsEnabled(): Boolean {
|
|
82
|
-
return notificationManager.areNotificationsEnabled()
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
private fun hasNotificationPermissions(): Boolean {
|
|
86
|
-
// CallStyle notifications are exempt from POST_NOTIFICATIONS on Android 13+
|
|
87
|
-
// when the app self-manages phone calls (MANAGE_OWN_CALLS + ConnectionService).
|
|
88
|
-
// This package uses that path, so we always allow posting call notifications.
|
|
89
|
-
return true
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
private fun isChannelEnabled(channelId: String?): Boolean {
|
|
93
|
-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
94
|
-
return true
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
if (channelId == null) {
|
|
98
|
-
return false
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
val channel = notificationManager.getNotificationChannel(channelId)
|
|
102
|
-
return channel != null && channel.importance != NotificationManagerCompat.IMPORTANCE_NONE
|
|
103
|
-
}
|
|
104
|
-
}
|
/package/android/src/main/java/io/getstream/rn/callingx/{ResourceUtils.kt → utils/ResourceUtils.kt}
RENAMED
|
File without changes
|
|
File without changes
|