@kaleyra/video-react-native-module 1.6.0 → 2.0.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.
Files changed (113) hide show
  1. package/README.md +17 -47
  2. package/android/build.gradle +24 -32
  3. package/android/gradle.properties +3 -3
  4. package/android/settings.gradle +0 -5
  5. package/android/src/main/AndroidManifest.xml +1 -1
  6. package/android/src/main/assets/kaleyra_video_wrapper_info.txt +1 -1
  7. package/android/src/main/java/com/kaleyra/video_react_native_module/VideoNativeModule.kt +0 -9
  8. package/index.ts +0 -2
  9. package/ios/PluginInfo/_KaleyraVideoHybridVersionInfo.swift +1 -1
  10. package/ios/VideoNativeModule.m +0 -6
  11. package/ios/VideoNativeModule.swift +1 -20
  12. package/lib/commonjs/src/KaleyraVideo.js +0 -34
  13. package/lib/module/src/KaleyraVideo.js +0 -34
  14. package/lib/typescript/index.d.ts +2 -2
  15. package/lib/typescript/native-bridge/TypeScript/types/UserDetails.d.ts +3 -15
  16. package/lib/typescript/src/KaleyraVideo.d.ts +1 -16
  17. package/native-bridge/TypeScript/types/UserDetails.ts +3 -18
  18. package/native-bridge/android/bridge.gradle +71 -0
  19. package/native-bridge/android/build.gradle +5 -61
  20. package/native-bridge/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  21. package/native-bridge/android/settings.gradle +8 -0
  22. package/native-bridge/android/src/main/AndroidManifest.xml +1 -1
  23. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/DTOs.kt +6 -40
  24. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/SDKAccessTokenProviderProxy.kt +9 -7
  25. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoHybridBridge.kt +0 -2
  26. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoSDKHybridBridge.kt +13 -23
  27. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/configurator/VideoSDKConfigurator.kt +32 -24
  28. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/connector/VideoSDKCachedUserConnector.kt +7 -5
  29. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CallEventsReporter.kt +27 -35
  30. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ChatEventsReporter.kt +34 -24
  31. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CrossPlatformModuleStatus.kt +14 -15
  32. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ModuleEventsReporter.kt +40 -18
  33. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/SDKEventsReporter.kt +6 -6
  34. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/CallDisplayExtension.kt +4 -3
  35. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/CallTypeExtensions.kt +12 -0
  36. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ConfigurationExtension.kt +17 -23
  37. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/EnvironmentExtension.kt +3 -3
  38. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RecordingTypeExtension.kt +5 -7
  39. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RegionExtension.kt +4 -4
  40. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ScreenShareToolConfigurationExtension.kt +5 -6
  41. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ToolsExtension.kt +49 -81
  42. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/UserExtensions.kt +24 -17
  43. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/notifications/KaleyraVideoNotificationService.kt +1 -2
  44. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsDao.kt +1 -1
  45. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsEntity.kt +2 -6
  46. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/VideoHybridBridgeRepository.kt +1 -1
  47. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/ui/SDKUserInterfacePresenter.kt +22 -20
  48. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetails.kt +0 -3
  49. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/SDKCachedUserDetails.kt +22 -30
  50. package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/project.pbxproj +84 -132
  51. package/native-bridge/iOS/Podfile +2 -2
  52. package/native-bridge/iOS/Podfile.lock +9 -9
  53. package/native-bridge/iOS/Source/Abstractions/CallWindowProtocol.swift +3 -6
  54. package/native-bridge/iOS/Source/Abstractions/KaleyraVideoSDKProtocol.swift +20 -0
  55. package/native-bridge/iOS/Source/AccessToken/AccessTokenRequester.swift +0 -1
  56. package/native-bridge/iOS/Source/AccessToken/TokenProvider.swift +1 -2
  57. package/native-bridge/iOS/Source/Broadcast/BroadcastConfigurationPlistReader.swift +0 -1
  58. package/native-bridge/iOS/Source/Concurrency/DispatchQueue+isMain.swift +0 -1
  59. package/native-bridge/iOS/Source/Concurrency/MainQueueDispatcher.swift +0 -1
  60. package/native-bridge/iOS/Source/Concurrency/MainQueueRelay.swift +0 -1
  61. package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Equatable.swift +0 -1
  62. package/native-bridge/iOS/Source/DTOs/AudioCallOptions+KaleyraVideoSDK.swift +13 -0
  63. package/native-bridge/iOS/Source/DTOs/{AudioCallType+Bandyer.swift → AudioCallType+KaleyraVideoSDK.swift} +2 -3
  64. package/native-bridge/iOS/Source/DTOs/CallOptions+Equatable.swift +0 -1
  65. package/native-bridge/iOS/Source/DTOs/CallOptions+KaleyraVideoSDK.swift +12 -0
  66. package/native-bridge/iOS/Source/DTOs/{CallType+Bandyer.swift → CallType+KaleyraVideoSDK.swift} +2 -3
  67. package/native-bridge/iOS/Source/DTOs/CreateCallOptions+KaleyraVideoSDK.swift +12 -0
  68. package/native-bridge/iOS/Source/DTOs/DTOs.swift +3 -25
  69. package/native-bridge/iOS/Source/DTOs/{Environment+Bandyer.swift → Environment+KaleyraVideoSDK.swift} +2 -3
  70. package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+KaleyraVideoSDK.swift +113 -0
  71. package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+UserInterfacePresenterConfiguration.swift +0 -1
  72. package/native-bridge/iOS/Source/DTOs/RecordingType+KaleyraVideoSDK.swift +19 -0
  73. package/native-bridge/iOS/Source/DTOs/{Region+Bandyer.swift → Region+KaleyraVideoSDK.swift} +2 -3
  74. package/native-bridge/iOS/Source/DTOs/UserDetails+Decodable.swift +4 -10
  75. package/native-bridge/iOS/Source/DTOs/UserDetails+KaleyraVideoSDK.swift +15 -0
  76. package/native-bridge/iOS/Source/Events/Reporters/CallClientEventsReporter.swift +41 -16
  77. package/native-bridge/iOS/Source/Events/Reporters/ChatClientEventsReporter.swift +22 -17
  78. package/native-bridge/iOS/Source/Events/Reporters/ClientState.swift +14 -42
  79. package/native-bridge/iOS/Source/Events/Reporters/EventsReporter.swift +17 -13
  80. package/native-bridge/iOS/Source/Extensions/URL+FromString.swift +0 -2
  81. package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridge.swift +14 -43
  82. package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridgeError.swift +0 -1
  83. package/native-bridge/iOS/Source/UI/KaleyraVideoSDKUserInterfacePresenter.swift +68 -100
  84. package/native-bridge/iOS/Source/UI/Presenters/PresentingViewControllerViewControllerPresenter.swift +0 -1
  85. package/native-bridge/iOS/Source/UI/Presenters/ViewControllerPresenter.swift +0 -1
  86. package/native-bridge/iOS/Source/UI/Presenters/WindowViewControllerPresenter.swift +0 -1
  87. package/native-bridge/iOS/Source/UI/UserInterfacePresenter+MainQueueRelay.swift +0 -1
  88. package/native-bridge/iOS/Source/UI/UserInterfacePresenter.swift +0 -1
  89. package/native-bridge/iOS/Source/User Details/Cache/UsersDetailsCache.swift +6 -7
  90. package/native-bridge/iOS/Source/User Details/Providers/UsersDetailsProvider.swift +6 -19
  91. package/package.json +12 -11
  92. package/src/KaleyraVideo.ts +0 -42
  93. package/video-react-native-module.podspec +4 -4
  94. package/lib/commonjs/native-bridge/TypeScript/UserDetailsFormatValidator.js +0 -32
  95. package/lib/commonjs/native-bridge/TypeScript/types/UserDetailsFormat.js +0 -4
  96. package/lib/module/native-bridge/TypeScript/UserDetailsFormatValidator.js +0 -28
  97. package/lib/module/native-bridge/TypeScript/types/UserDetailsFormat.js +0 -3
  98. package/lib/typescript/native-bridge/TypeScript/UserDetailsFormatValidator.d.ts +0 -4
  99. package/lib/typescript/native-bridge/TypeScript/types/UserDetailsFormat.d.ts +0 -19
  100. package/native-bridge/TypeScript/UserDetailsFormatValidator.ts +0 -35
  101. package/native-bridge/TypeScript/types/UserDetailsFormat.ts +0 -23
  102. package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetailsFormatter.kt +0 -59
  103. package/native-bridge/iOS/Source/Abstractions/BandyerSDKProtocol.swift +0 -25
  104. package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Bandyer.swift +0 -14
  105. package/native-bridge/iOS/Source/DTOs/CallOptions+Bandyer.swift +0 -14
  106. package/native-bridge/iOS/Source/DTOs/CreateCallOptions+Intent.swift +0 -17
  107. package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+Bandyer.swift +0 -158
  108. package/native-bridge/iOS/Source/DTOs/RecordingType+Bandyer.swift +0 -33
  109. package/native-bridge/iOS/Source/DTOs/UserDetails+Bandyer.swift +0 -18
  110. package/native-bridge/iOS/Source/DTOs/UserDetailsFormat+Decodable.swift +0 -19
  111. package/native-bridge/iOS/Source/Events/Reporters/PushTokenEventsReporter.swift +0 -34
  112. package/native-bridge/iOS/Source/User Details/Formatter/FormatterProxy.swift +0 -16
  113. package/native-bridge/iOS/Source/User Details/Formatter/UserDetailsFormatter.swift +0 -83
@@ -1,33 +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 RecordingType {
9
-
10
- var callRecordingType: Bandyer.CallRecordingType {
11
- switch self {
12
- case .automatic:
13
- return .automatic
14
- case .manual:
15
- return .manual
16
- case .none:
17
- return .none
18
- }
19
- }
20
- }
21
-
22
- @available(iOS 12.0, *)
23
- extension Optional where Wrapped == RecordingType {
24
-
25
- var callRecordingType: Bandyer.CallRecordingType {
26
- switch self {
27
- case nil:
28
- return .none
29
- case .some(let wrapped):
30
- return wrapped.callRecordingType
31
- }
32
- }
33
- }
@@ -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
- }