@kaleyra/video-react-native-module 1.6.0 → 2.0.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 +17 -47
- package/android/build.gradle +24 -32
- package/android/gradle.properties +3 -3
- package/android/settings.gradle +0 -5
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/assets/kaleyra_video_wrapper_info.txt +1 -1
- package/android/src/main/java/com/kaleyra/video_react_native_module/VideoNativeModule.kt +0 -9
- package/index.ts +0 -2
- package/ios/PluginInfo/_KaleyraVideoHybridVersionInfo.swift +1 -1
- package/ios/VideoNativeModule.m +0 -6
- package/ios/VideoNativeModule.swift +1 -20
- package/lib/commonjs/src/KaleyraVideo.js +0 -34
- package/lib/module/src/KaleyraVideo.js +0 -34
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/native-bridge/TypeScript/types/UserDetails.d.ts +3 -15
- package/lib/typescript/src/KaleyraVideo.d.ts +1 -16
- package/native-bridge/TypeScript/types/UserDetails.ts +3 -18
- package/native-bridge/android/bridge.gradle +71 -0
- package/native-bridge/android/build.gradle +5 -61
- package/native-bridge/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/native-bridge/android/settings.gradle +8 -0
- package/native-bridge/android/src/main/AndroidManifest.xml +1 -1
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/DTOs.kt +6 -40
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/SDKAccessTokenProviderProxy.kt +9 -7
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoHybridBridge.kt +0 -2
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoSDKHybridBridge.kt +13 -23
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/configurator/VideoSDKConfigurator.kt +11 -5
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/connector/VideoSDKCachedUserConnector.kt +7 -5
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CallEventsReporter.kt +27 -35
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ChatEventsReporter.kt +34 -24
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CrossPlatformModuleStatus.kt +14 -15
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ModuleEventsReporter.kt +40 -18
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/SDKEventsReporter.kt +6 -6
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/CallDisplayExtension.kt +4 -3
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/CallTypeExtensions.kt +12 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ConfigurationExtension.kt +17 -23
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/EnvironmentExtension.kt +3 -3
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RecordingTypeExtension.kt +5 -7
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RegionExtension.kt +4 -4
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ScreenShareToolConfigurationExtension.kt +5 -6
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ToolsExtension.kt +49 -81
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/UserExtensions.kt +24 -17
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/notifications/KaleyraVideoNotificationService.kt +1 -2
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsDao.kt +1 -1
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsEntity.kt +2 -6
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/VideoHybridBridgeRepository.kt +1 -1
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/ui/SDKUserInterfacePresenter.kt +22 -20
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetails.kt +0 -3
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/SDKCachedUserDetails.kt +22 -30
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/project.pbxproj +84 -132
- package/native-bridge/iOS/Podfile +2 -2
- package/native-bridge/iOS/Podfile.lock +9 -9
- package/native-bridge/iOS/Source/Abstractions/CallWindowProtocol.swift +3 -6
- package/native-bridge/iOS/Source/Abstractions/KaleyraVideoSDKProtocol.swift +20 -0
- package/native-bridge/iOS/Source/AccessToken/AccessTokenRequester.swift +0 -1
- package/native-bridge/iOS/Source/AccessToken/TokenProvider.swift +1 -2
- package/native-bridge/iOS/Source/Broadcast/BroadcastConfigurationPlistReader.swift +0 -1
- package/native-bridge/iOS/Source/Concurrency/DispatchQueue+isMain.swift +0 -1
- package/native-bridge/iOS/Source/Concurrency/MainQueueDispatcher.swift +0 -1
- package/native-bridge/iOS/Source/Concurrency/MainQueueRelay.swift +0 -1
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Equatable.swift +0 -1
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+KaleyraVideoSDK.swift +13 -0
- package/native-bridge/iOS/Source/DTOs/{AudioCallType+Bandyer.swift → AudioCallType+KaleyraVideoSDK.swift} +2 -3
- package/native-bridge/iOS/Source/DTOs/CallOptions+Equatable.swift +0 -1
- package/native-bridge/iOS/Source/DTOs/CallOptions+KaleyraVideoSDK.swift +12 -0
- package/native-bridge/iOS/Source/DTOs/{CallType+Bandyer.swift → CallType+KaleyraVideoSDK.swift} +2 -3
- package/native-bridge/iOS/Source/DTOs/CreateCallOptions+KaleyraVideoSDK.swift +12 -0
- package/native-bridge/iOS/Source/DTOs/DTOs.swift +3 -25
- package/native-bridge/iOS/Source/DTOs/{Environment+Bandyer.swift → Environment+KaleyraVideoSDK.swift} +2 -3
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+KaleyraVideoSDK.swift +113 -0
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+UserInterfacePresenterConfiguration.swift +0 -1
- package/native-bridge/iOS/Source/DTOs/RecordingType+KaleyraVideoSDK.swift +19 -0
- package/native-bridge/iOS/Source/DTOs/{Region+Bandyer.swift → Region+KaleyraVideoSDK.swift} +2 -3
- package/native-bridge/iOS/Source/DTOs/UserDetails+Decodable.swift +4 -10
- package/native-bridge/iOS/Source/DTOs/UserDetails+KaleyraVideoSDK.swift +15 -0
- package/native-bridge/iOS/Source/Events/Reporters/CallClientEventsReporter.swift +41 -16
- package/native-bridge/iOS/Source/Events/Reporters/ChatClientEventsReporter.swift +22 -17
- package/native-bridge/iOS/Source/Events/Reporters/ClientState.swift +14 -42
- package/native-bridge/iOS/Source/Events/Reporters/EventsReporter.swift +17 -13
- package/native-bridge/iOS/Source/Extensions/URL+FromString.swift +0 -2
- package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridge.swift +14 -43
- package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridgeError.swift +0 -1
- package/native-bridge/iOS/Source/UI/KaleyraVideoSDKUserInterfacePresenter.swift +68 -100
- package/native-bridge/iOS/Source/UI/Presenters/PresentingViewControllerViewControllerPresenter.swift +0 -1
- package/native-bridge/iOS/Source/UI/Presenters/ViewControllerPresenter.swift +0 -1
- package/native-bridge/iOS/Source/UI/Presenters/WindowViewControllerPresenter.swift +0 -1
- package/native-bridge/iOS/Source/UI/UserInterfacePresenter+MainQueueRelay.swift +0 -1
- package/native-bridge/iOS/Source/UI/UserInterfacePresenter.swift +0 -1
- package/native-bridge/iOS/Source/User Details/Cache/UsersDetailsCache.swift +6 -7
- package/native-bridge/iOS/Source/User Details/Providers/UsersDetailsProvider.swift +6 -19
- package/package.json +9 -7
- package/src/KaleyraVideo.ts +0 -42
- package/video-react-native-module.podspec +4 -4
- package/lib/commonjs/native-bridge/TypeScript/UserDetailsFormatValidator.js +0 -32
- package/lib/commonjs/native-bridge/TypeScript/types/UserDetailsFormat.js +0 -4
- package/lib/module/native-bridge/TypeScript/UserDetailsFormatValidator.js +0 -28
- package/lib/module/native-bridge/TypeScript/types/UserDetailsFormat.js +0 -3
- package/lib/typescript/native-bridge/TypeScript/UserDetailsFormatValidator.d.ts +0 -4
- package/lib/typescript/native-bridge/TypeScript/types/UserDetailsFormat.d.ts +0 -19
- package/native-bridge/TypeScript/UserDetailsFormatValidator.ts +0 -35
- package/native-bridge/TypeScript/types/UserDetailsFormat.ts +0 -23
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetailsFormatter.kt +0 -59
- package/native-bridge/iOS/Source/Abstractions/BandyerSDKProtocol.swift +0 -25
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Bandyer.swift +0 -14
- package/native-bridge/iOS/Source/DTOs/CallOptions+Bandyer.swift +0 -14
- package/native-bridge/iOS/Source/DTOs/CreateCallOptions+Intent.swift +0 -17
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+Bandyer.swift +0 -158
- package/native-bridge/iOS/Source/DTOs/RecordingType+Bandyer.swift +0 -33
- package/native-bridge/iOS/Source/DTOs/UserDetails+Bandyer.swift +0 -18
- package/native-bridge/iOS/Source/DTOs/UserDetailsFormat+Decodable.swift +0 -19
- package/native-bridge/iOS/Source/Events/Reporters/PushTokenEventsReporter.swift +0 -34
- package/native-bridge/iOS/Source/User Details/Formatter/FormatterProxy.swift +0 -16
- package/native-bridge/iOS/Source/User Details/Formatter/UserDetailsFormatter.swift +0 -83
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
-
// See LICENSE for licensing information
|
|
3
|
-
|
|
4
|
-
import Foundation
|
|
5
|
-
import Bandyer
|
|
6
|
-
|
|
7
|
-
@available(iOS 12.0, *)
|
|
8
|
-
extension UserDetails {
|
|
9
|
-
|
|
10
|
-
var bandyerDetails: Bandyer.UserDetails {
|
|
11
|
-
.init(userID: userID,
|
|
12
|
-
firstname: firstName,
|
|
13
|
-
lastname: lastName,
|
|
14
|
-
email: email,
|
|
15
|
-
nickname: nickName,
|
|
16
|
-
imageURL: URL(string: profileImageURL ?? ""))
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
-
// See LICENSE for licensing information
|
|
3
|
-
|
|
4
|
-
import Foundation
|
|
5
|
-
|
|
6
|
-
extension UserDetailsFormat: Decodable {
|
|
7
|
-
|
|
8
|
-
private enum CodingKeys: String, CodingKey {
|
|
9
|
-
case `default`
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
init(from decoder: Decoder) throws {
|
|
13
|
-
let container = try decoder.container(keyedBy: CodingKeys.self)
|
|
14
|
-
self.userDetailsFormatDefault = try container.decode(String.self, forKey: .default)
|
|
15
|
-
self.androidNotification = nil
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
extension UserDetailsFormat: JSONDecodable {}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
-
// See LICENSE for licensing information
|
|
3
|
-
|
|
4
|
-
import Foundation
|
|
5
|
-
import PushKit
|
|
6
|
-
|
|
7
|
-
@available(iOS 12.0, *)
|
|
8
|
-
class PushTokenEventsReporter: NSObject, PKPushRegistryDelegate {
|
|
9
|
-
|
|
10
|
-
private let emitter: EventEmitter
|
|
11
|
-
private(set) var lastToken: String?
|
|
12
|
-
|
|
13
|
-
init(emitter: EventEmitter) {
|
|
14
|
-
self.emitter = emitter
|
|
15
|
-
super.init()
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// MARK: - Push registry delegate
|
|
19
|
-
|
|
20
|
-
func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, for type: PKPushType) {
|
|
21
|
-
let token = credentials.tokenAsString
|
|
22
|
-
|
|
23
|
-
guard !token.isEmpty else { return }
|
|
24
|
-
|
|
25
|
-
emitter.sendEvent(Events.iOSVoipPushTokenUpdated, args: token)
|
|
26
|
-
|
|
27
|
-
lastToken = token
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) {
|
|
31
|
-
emitter.sendEvent(Events.iOSVoipPushTokenInvalidated, args: nil)
|
|
32
|
-
lastToken = nil
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
-
// See LICENSE for licensing information
|
|
3
|
-
|
|
4
|
-
import Foundation
|
|
5
|
-
|
|
6
|
-
@available(iOS 12.0, *)
|
|
7
|
-
class FormatterProxy: Formatter {
|
|
8
|
-
|
|
9
|
-
@Atomic
|
|
10
|
-
var formatter: Formatter?
|
|
11
|
-
|
|
12
|
-
override func string(for obj: Any?) -> String? {
|
|
13
|
-
formatter?.string(for: obj)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
-
// See LICENSE for licensing information
|
|
3
|
-
|
|
4
|
-
import Foundation
|
|
5
|
-
import Bandyer
|
|
6
|
-
|
|
7
|
-
@available(iOS 12.0, *)
|
|
8
|
-
class UserDetailsFormatter: Formatter {
|
|
9
|
-
|
|
10
|
-
let format: NSString
|
|
11
|
-
private let tokensMap: [String : String]
|
|
12
|
-
|
|
13
|
-
init(format: String) {
|
|
14
|
-
self.format = format as NSString
|
|
15
|
-
self.tokensMap = [
|
|
16
|
-
"${useralias}" : "userID",
|
|
17
|
-
"${userid}" : "userID",
|
|
18
|
-
"${firstname}" : "firstname",
|
|
19
|
-
"${lastname}" : "lastname",
|
|
20
|
-
"${nickname}" : "nickname",
|
|
21
|
-
"${email}" : "email"
|
|
22
|
-
]
|
|
23
|
-
super.init()
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
required init?(coder: NSCoder) {
|
|
27
|
-
fatalError("init(coder:) has not been implemented")
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// MARK: - Formatting
|
|
31
|
-
|
|
32
|
-
override func string(for obj: Any?) -> String? {
|
|
33
|
-
if let items = obj as? [Bandyer.UserDetails] {
|
|
34
|
-
return stringForItem(items)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if let item = obj as? Bandyer.UserDetails {
|
|
38
|
-
return stringForItem(item)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return nil
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
private func stringForItem(_ items: [Bandyer.UserDetails]) -> String {
|
|
45
|
-
items.map(stringForItem(_:)).joined(separator: ", ")
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
private func stringForItem(_ item: Bandyer.UserDetails) -> String {
|
|
49
|
-
do {
|
|
50
|
-
let tokens = try matchingTokensInFormat()
|
|
51
|
-
let string = tokens.reduce(format) { result, token in
|
|
52
|
-
guard let propertyName = tokensMap[token.lowercased()] else { return result }
|
|
53
|
-
guard let propertyValue = item.value(forKey: propertyName) as? String else { return result.replacingOccurrences(of: token, with: "") as NSString }
|
|
54
|
-
return result.replacingOccurrences(of: token, with: propertyValue) as NSString
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
let trimmed = string.trimmingCharacters(in: .whitespaces)
|
|
58
|
-
guard !trimmed.isEmpty else { return item.userID }
|
|
59
|
-
return trimmed
|
|
60
|
-
} catch {
|
|
61
|
-
return item.userID
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
private func matchingTokensInFormat() throws -> [String] {
|
|
66
|
-
let pattern = "\\$\\{([\\w]+)\\}"
|
|
67
|
-
let regexp = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
|
68
|
-
let matches = regexp.matches(in: format as String, range: .init(location: 0, length: format.length))
|
|
69
|
-
|
|
70
|
-
return matches.compactMap { match in
|
|
71
|
-
guard match.range.location != NSNotFound else { return nil }
|
|
72
|
-
return format.substring(with: match.range)
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
private func tokenReplacements(tokens: [String], item: Bandyer.UserDetails) -> [(String, String)] {
|
|
77
|
-
tokens.map { token in
|
|
78
|
-
guard let propertyName = tokensMap[token] else { return (token, "") }
|
|
79
|
-
guard let propertyValue = item.value(forKey: propertyName) as? String else { return (token, "") }
|
|
80
|
-
return (token, propertyValue)
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|