@kaleyra/video-react-native-module 1.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/LICENSE +165 -0
- package/README.md +292 -0
- package/android/build.gradle +100 -0
- package/android/gradle.properties +9 -0
- package/android/settings.gradle +6 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/assets/kaleyra_video_wrapper_info.txt +1 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/ReactNativeAccessTokenProvider.kt +22 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/ReactNativeContextContainer.kt +9 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/ReactNativeVideoHybridBridge.kt +30 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/VideoNativeEmitter.kt +45 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/VideoNativeModule.kt +109 -0
- package/android/src/main/java/com/kaleyra/video_react_native_module/VideoReactPackage.kt +20 -0
- package/index.ts +47 -0
- package/ios/PluginInfo/_KaleyraVideoHybridVersionInfo.swift +31 -0
- package/ios/ReactEvents/ReactNativeEventEmitter.swift +31 -0
- package/ios/ReactEvents/VideoNativeEmitter.m +17 -0
- package/ios/ReactEvents/VideoNativeEmitter.swift +42 -0
- package/ios/ReactNativePlugin-Bridging-Header.h +5 -0
- package/ios/ReactNativePlugin.xcodeproj/project.pbxproj +301 -0
- package/ios/VideoNativeModule.m +45 -0
- package/ios/VideoNativeModule.swift +154 -0
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/native-bridge/TypeScript/Environments.js +41 -0
- package/lib/commonjs/native-bridge/TypeScript/Events.js +46 -0
- package/lib/commonjs/native-bridge/TypeScript/Regions.js +47 -0
- package/lib/commonjs/native-bridge/TypeScript/UserDetailsFormatValidator.js +32 -0
- package/lib/commonjs/native-bridge/TypeScript/errors/IllegalArgumentError.js +12 -0
- package/lib/commonjs/native-bridge/TypeScript/types/AccessTokenRequest.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/AccessTokenResponse.js +36 -0
- package/lib/commonjs/native-bridge/TypeScript/types/AudioCallOptions.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/AudioCallType.js +19 -0
- package/lib/commonjs/native-bridge/TypeScript/types/CallDisplayMode.js +23 -0
- package/lib/commonjs/native-bridge/TypeScript/types/CallKitConfiguration.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/CallOptions.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/CallType.js +23 -0
- package/lib/commonjs/native-bridge/TypeScript/types/ChatToolConfiguration.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/CreateCallOptions.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/Environment.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/IosConfiguration.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/KaleyraVideoConfiguration.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/RecordingType.js +23 -0
- package/lib/commonjs/native-bridge/TypeScript/types/Region.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/ScreenShareToolConfiguration.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/Session.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/Tools.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/UserDetails.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/UserDetailsFormat.js +4 -0
- package/lib/commonjs/native-bridge/TypeScript/types/VoipHandlingStrategy.js +19 -0
- package/lib/commonjs/src/KaleyraVideo.js +259 -0
- package/lib/commonjs/src/ReactNativeEventEmitter.js +40 -0
- package/lib/commonjs/src/events/Events.js +4 -0
- package/lib/module/index.js +2 -0
- package/lib/module/native-bridge/TypeScript/Environments.js +37 -0
- package/lib/module/native-bridge/TypeScript/Events.js +43 -0
- package/lib/module/native-bridge/TypeScript/Regions.js +43 -0
- package/lib/module/native-bridge/TypeScript/UserDetailsFormatValidator.js +28 -0
- package/lib/module/native-bridge/TypeScript/errors/IllegalArgumentError.js +8 -0
- package/lib/module/native-bridge/TypeScript/types/AccessTokenRequest.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/AccessTokenResponse.js +32 -0
- package/lib/module/native-bridge/TypeScript/types/AudioCallOptions.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/AudioCallType.js +16 -0
- package/lib/module/native-bridge/TypeScript/types/CallDisplayMode.js +20 -0
- package/lib/module/native-bridge/TypeScript/types/CallKitConfiguration.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/CallOptions.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/CallType.js +20 -0
- package/lib/module/native-bridge/TypeScript/types/ChatToolConfiguration.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/CreateCallOptions.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/Environment.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/IosConfiguration.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/KaleyraVideoConfiguration.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/RecordingType.js +20 -0
- package/lib/module/native-bridge/TypeScript/types/Region.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/ScreenShareToolConfiguration.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/Session.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/Tools.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/UserDetails.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/UserDetailsFormat.js +3 -0
- package/lib/module/native-bridge/TypeScript/types/VoipHandlingStrategy.js +16 -0
- package/lib/module/src/KaleyraVideo.js +249 -0
- package/lib/module/src/ReactNativeEventEmitter.js +36 -0
- package/lib/module/src/events/Events.js +3 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/native-bridge/TypeScript/Environments.d.ts +28 -0
- package/lib/typescript/native-bridge/TypeScript/Events.d.ts +40 -0
- package/lib/typescript/native-bridge/TypeScript/Regions.d.ts +32 -0
- package/lib/typescript/native-bridge/TypeScript/UserDetailsFormatValidator.d.ts +4 -0
- package/lib/typescript/native-bridge/TypeScript/errors/IllegalArgumentError.d.ts +6 -0
- package/lib/typescript/native-bridge/TypeScript/types/AccessTokenRequest.d.ts +4 -0
- package/lib/typescript/native-bridge/TypeScript/types/AccessTokenResponse.d.ts +12 -0
- package/lib/typescript/native-bridge/TypeScript/types/AudioCallOptions.d.ts +11 -0
- package/lib/typescript/native-bridge/TypeScript/types/AudioCallType.d.ts +13 -0
- package/lib/typescript/native-bridge/TypeScript/types/CallDisplayMode.d.ts +17 -0
- package/lib/typescript/native-bridge/TypeScript/types/CallKitConfiguration.d.ts +26 -0
- package/lib/typescript/native-bridge/TypeScript/types/CallOptions.d.ts +13 -0
- package/lib/typescript/native-bridge/TypeScript/types/CallType.d.ts +17 -0
- package/lib/typescript/native-bridge/TypeScript/types/ChatToolConfiguration.d.ts +15 -0
- package/lib/typescript/native-bridge/TypeScript/types/CreateCallOptions.d.ts +15 -0
- package/lib/typescript/native-bridge/TypeScript/types/Environment.d.ts +9 -0
- package/lib/typescript/native-bridge/TypeScript/types/IosConfiguration.d.ts +23 -0
- package/lib/typescript/native-bridge/TypeScript/types/KaleyraVideoConfiguration.d.ts +33 -0
- package/lib/typescript/native-bridge/TypeScript/types/RecordingType.d.ts +17 -0
- package/lib/typescript/native-bridge/TypeScript/types/Region.d.ts +9 -0
- package/lib/typescript/native-bridge/TypeScript/types/ScreenShareToolConfiguration.d.ts +19 -0
- package/lib/typescript/native-bridge/TypeScript/types/Session.d.ts +16 -0
- package/lib/typescript/native-bridge/TypeScript/types/Tools.d.ts +42 -0
- package/lib/typescript/native-bridge/TypeScript/types/UserDetails.d.ts +29 -0
- package/lib/typescript/native-bridge/TypeScript/types/UserDetailsFormat.d.ts +19 -0
- package/lib/typescript/native-bridge/TypeScript/types/VoipHandlingStrategy.d.ts +13 -0
- package/lib/typescript/src/KaleyraVideo.d.ts +125 -0
- package/lib/typescript/src/ReactNativeEventEmitter.d.ts +15 -0
- package/lib/typescript/src/events/Events.d.ts +37 -0
- package/native-bridge/LICENSE +165 -0
- package/native-bridge/TypeScript/Environments.ts +44 -0
- package/native-bridge/TypeScript/Events.ts +43 -0
- package/native-bridge/TypeScript/Regions.ts +51 -0
- package/native-bridge/TypeScript/UserDetailsFormatValidator.ts +35 -0
- package/native-bridge/TypeScript/errors/IllegalArgumentError.ts +9 -0
- package/native-bridge/TypeScript/types/AccessTokenRequest.ts +7 -0
- package/native-bridge/TypeScript/types/AccessTokenResponse.ts +41 -0
- package/native-bridge/TypeScript/types/AudioCallOptions.ts +15 -0
- package/native-bridge/TypeScript/types/AudioCallType.ts +17 -0
- package/native-bridge/TypeScript/types/CallDisplayMode.ts +22 -0
- package/native-bridge/TypeScript/types/CallKitConfiguration.ts +32 -0
- package/native-bridge/TypeScript/types/CallOptions.ts +18 -0
- package/native-bridge/TypeScript/types/CallType.ts +22 -0
- package/native-bridge/TypeScript/types/ChatToolConfiguration.ts +21 -0
- package/native-bridge/TypeScript/types/CreateCallOptions.ts +20 -0
- package/native-bridge/TypeScript/types/Environment.ts +12 -0
- package/native-bridge/TypeScript/types/IosConfiguration.ts +29 -0
- package/native-bridge/TypeScript/types/KaleyraVideoConfiguration.ts +42 -0
- package/native-bridge/TypeScript/types/RecordingType.ts +22 -0
- package/native-bridge/TypeScript/types/Region.ts +12 -0
- package/native-bridge/TypeScript/types/ScreenShareToolConfiguration.ts +24 -0
- package/native-bridge/TypeScript/types/Session.ts +20 -0
- package/native-bridge/TypeScript/types/Tools.ts +50 -0
- package/native-bridge/TypeScript/types/UserDetails.ts +37 -0
- package/native-bridge/TypeScript/types/UserDetailsFormat.ts +23 -0
- package/native-bridge/TypeScript/types/VoipHandlingStrategy.ts +17 -0
- package/native-bridge/android/build.gradle +72 -0
- package/native-bridge/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/native-bridge/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/native-bridge/android/gradle.properties +22 -0
- package/native-bridge/android/gradlew +234 -0
- package/native-bridge/android/gradlew.bat +89 -0
- package/native-bridge/android/settings.gradle +1 -0
- package/native-bridge/android/src/main/AndroidManifest.xml +1 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/AccessTokenProvider.kt +8 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/CallOptionsProxy.kt +9 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/ContextContainer.kt +10 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/DTOs.kt +407 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/SDKAccessTokenProviderProxy.kt +16 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoHybridBridge.kt +21 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/VideoSDKHybridBridge.kt +64 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/configurator/CachedSDKConfigurator.kt +15 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/configurator/VideoSDKConfigurator.kt +46 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/connector/CachedUserConnector.kt +15 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/connector/VideoSDKCachedUserConnector.kt +60 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/Events.kt +29 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/EventsEmitter.kt +8 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/EventsReporter.kt +9 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CallEventsReporter.kt +54 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ChatEventsReporter.kt +43 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/CrossPlatformModuleStatus.kt +29 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/ModuleEventsReporter.kt +34 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/events/reporter/SDKEventsReporter.kt +63 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/CallDisplayExtension.kt +15 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ConfigurationExtension.kt +39 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/EnvironmentExtension.kt +12 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RecordingTypeExtension.kt +15 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/RegionExtension.kt +13 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ScreenShareToolConfigurationExtension.kt +15 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/ToolsExtension.kt +95 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/extensions/UserExtensions.kt +35 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/notifications/KaleyraVideoNotificationReceiver.kt +139 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/notifications/KaleyraVideoNotificationService.kt +85 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/ConfigurationEntity.kt +27 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/ConnectedUserEntity.kt +30 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/Converters.kt +25 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsDao.kt +21 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/UserDetailsEntity.kt +22 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/repository/VideoHybridBridgeRepository.kt +39 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/ui/SDKUserInterfacePresenter.kt +49 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/ui/UserInterfacePresenter.kt +14 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetails.kt +18 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/CachedUserDetailsFormatter.kt +59 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/user_details/SDKCachedUserDetails.kt +74 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/utils/CaseInsensitiveEnumTypeAdapterFactory.kt +48 -0
- package/native-bridge/android/src/main/java/com/kaleyra/video_hybrid_native_bridge/utils/TLSSocketFactoryCompat.kt +76 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/project.pbxproj +1399 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/xcshareddata/IDETemplateMacros.plist +9 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcodeproj/xcshareddata/xcschemes/KaleyraVideoHybridNativeBridge.xcscheme +79 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcworkspace/contents.xcworkspacedata +10 -0
- package/native-bridge/iOS/KaleyraVideoHybridNativeBridge.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/native-bridge/iOS/Podfile +28 -0
- package/native-bridge/iOS/Podfile.lock +20 -0
- package/native-bridge/iOS/Source/Abstractions/BandyerSDKProtocol.swift +24 -0
- package/native-bridge/iOS/Source/Abstractions/CallWindowProtocol.swift +18 -0
- package/native-bridge/iOS/Source/AccessToken/AccessTokenRequester.swift +9 -0
- package/native-bridge/iOS/Source/AccessToken/TokenProvider.swift +78 -0
- package/native-bridge/iOS/Source/Broadcast/BroadcastConfigurationPlistReader.swift +49 -0
- package/native-bridge/iOS/Source/Concurrency/DispatchQueue+isMain.swift +19 -0
- package/native-bridge/iOS/Source/Concurrency/Lock.swift +21 -0
- package/native-bridge/iOS/Source/Concurrency/MainQueueDispatcher.swift +23 -0
- package/native-bridge/iOS/Source/Concurrency/MainQueueRelay.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/AccessTokenRequest+Encodable.swift +27 -0
- package/native-bridge/iOS/Source/DTOs/AccessTokenResponse+Decodable.swift +24 -0
- package/native-bridge/iOS/Source/DTOs/Array+JSON.swift +6 -0
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Bandyer.swift +14 -0
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Decodable.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/AudioCallOptions+Equatable.swift +12 -0
- package/native-bridge/iOS/Source/DTOs/AudioCallType+Bandyer.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/AudioCallType+Decodable.swift +25 -0
- package/native-bridge/iOS/Source/DTOs/CallKitConfiguration+Decodable.swift +20 -0
- package/native-bridge/iOS/Source/DTOs/CallOptions+Bandyer.swift +14 -0
- package/native-bridge/iOS/Source/DTOs/CallOptions+Decodable.swift +16 -0
- package/native-bridge/iOS/Source/DTOs/CallOptions+Equatable.swift +12 -0
- package/native-bridge/iOS/Source/DTOs/CallType+Bandyer.swift +20 -0
- package/native-bridge/iOS/Source/DTOs/CallType+Decodable.swift +27 -0
- package/native-bridge/iOS/Source/DTOs/ChatToolConfiguration+Decodable.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/CreateCallOptions+Decodable.swift +22 -0
- package/native-bridge/iOS/Source/DTOs/CreateCallOptions+Equatable.swift +13 -0
- package/native-bridge/iOS/Source/DTOs/CreateCallOptions+Intent.swift +17 -0
- package/native-bridge/iOS/Source/DTOs/DTOs.swift +314 -0
- package/native-bridge/iOS/Source/DTOs/Environment+Bandyer.swift +20 -0
- package/native-bridge/iOS/Source/DTOs/Environment+Decodable.swift +16 -0
- package/native-bridge/iOS/Source/DTOs/IosConfiguration+Decodable.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/JSONDecodable.swift +27 -0
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+Bandyer.swift +158 -0
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+Decodable.swift +28 -0
- package/native-bridge/iOS/Source/DTOs/KaleyraVideoConfiguration+UserInterfacePresenterConfiguration.swift +29 -0
- package/native-bridge/iOS/Source/DTOs/RecordingType+Bandyer.swift +33 -0
- package/native-bridge/iOS/Source/DTOs/RecordingType+Decodable.swift +27 -0
- package/native-bridge/iOS/Source/DTOs/Region+Bandyer.swift +22 -0
- package/native-bridge/iOS/Source/DTOs/Region+Decodable.swift +16 -0
- package/native-bridge/iOS/Source/DTOs/ScreenShareToolConfiguration+Decodable.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/Tools+Decodable.swift +24 -0
- package/native-bridge/iOS/Source/DTOs/UserDetails+Bandyer.swift +18 -0
- package/native-bridge/iOS/Source/DTOs/UserDetails+Decodable.swift +28 -0
- package/native-bridge/iOS/Source/DTOs/UserDetailsFormat+Decodable.swift +19 -0
- package/native-bridge/iOS/Source/DTOs/VoipHandlingStrategy+Decodable.swift +25 -0
- package/native-bridge/iOS/Source/Events/Emitter/EventEmitter.swift +8 -0
- package/native-bridge/iOS/Source/Events/Events+CaseIterable.swift +18 -0
- package/native-bridge/iOS/Source/Events/Events+Description.swift +28 -0
- package/native-bridge/iOS/Source/Events/Events.swift +21 -0
- package/native-bridge/iOS/Source/Events/Reporters/CallClientEventsReporter.swift +46 -0
- package/native-bridge/iOS/Source/Events/Reporters/ChatClientEventsReporter.swift +46 -0
- package/native-bridge/iOS/Source/Events/Reporters/ClientState.swift +61 -0
- package/native-bridge/iOS/Source/Events/Reporters/EventsReporter.swift +69 -0
- package/native-bridge/iOS/Source/Events/Reporters/PushTokenEventsReporter.swift +34 -0
- package/native-bridge/iOS/Source/Extensions/URL+FromString.swift +26 -0
- package/native-bridge/iOS/Source/KaleyraVideoHybridNativeBridge.h +14 -0
- package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridge.swift +173 -0
- package/native-bridge/iOS/Source/NativeHybridBridge/VideoHybridNativeBridgeError.swift +33 -0
- package/native-bridge/iOS/Source/UI/KaleyraVideoSDKUserInterfacePresenter.swift +249 -0
- package/native-bridge/iOS/Source/UI/Presenters/PresentingViewControllerViewControllerPresenter.swift +44 -0
- package/native-bridge/iOS/Source/UI/Presenters/ViewControllerPresenter.swift +17 -0
- package/native-bridge/iOS/Source/UI/Presenters/WindowViewControllerPresenter.swift +111 -0
- package/native-bridge/iOS/Source/UI/UserInterfacePresenter+MainQueueRelay.swift +30 -0
- package/native-bridge/iOS/Source/UI/UserInterfacePresenter.swift +14 -0
- package/native-bridge/iOS/Source/User Details/Cache/UsersDetailsCache.swift +36 -0
- package/native-bridge/iOS/Source/User Details/Formatter/FormatterProxy.swift +47 -0
- package/native-bridge/iOS/Source/User Details/Formatter/UserDetailsFormatter.swift +83 -0
- package/native-bridge/iOS/Source/User Details/Providers/UsersDetailsProvider.swift +39 -0
- package/package.json +147 -0
- package/src/KaleyraVideo.ts +343 -0
- package/src/ReactNativeEventEmitter.ts +51 -0
- package/src/events/Events.ts +46 -0
- package/video-react-native-module.podspec +36 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This error will be thrown when arguments given to a function are not of the expected type
|
|
6
|
+
*/
|
|
7
|
+
export class IllegalArgumentError extends Error {
|
|
8
|
+
name = 'IllegalArgumentError';
|
|
9
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
export class AccessTokenResponse {
|
|
8
|
+
constructor(
|
|
9
|
+
requestID: string,
|
|
10
|
+
success: boolean,
|
|
11
|
+
data: string,
|
|
12
|
+
error: string
|
|
13
|
+
) {
|
|
14
|
+
this.requestID = requestID;
|
|
15
|
+
this.success = success;
|
|
16
|
+
this.data = data;
|
|
17
|
+
this.error = error;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static failed(requestID: string, reason?: string): AccessTokenResponse {
|
|
21
|
+
return {
|
|
22
|
+
requestID,
|
|
23
|
+
success: false,
|
|
24
|
+
data: '',
|
|
25
|
+
error: reason,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static success(requestID: string, token: string): AccessTokenResponse {
|
|
30
|
+
return {
|
|
31
|
+
requestID,
|
|
32
|
+
success: true,
|
|
33
|
+
data: token,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
requestID: string;
|
|
38
|
+
success: boolean;
|
|
39
|
+
data: string;
|
|
40
|
+
error?: string;
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import {CallOptions} from "./CallOptions";
|
|
5
|
+
import {AudioCallType} from "./AudioCallType";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Audio call options used for chat
|
|
9
|
+
*/
|
|
10
|
+
export interface AudioCallOptions extends CallOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Type of audioCall to launch when an option of the chat is tapped.
|
|
13
|
+
*/
|
|
14
|
+
type: AudioCallType;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This class defines the types of audio calls supported.
|
|
6
|
+
*/
|
|
7
|
+
export enum AudioCallType {
|
|
8
|
+
/**
|
|
9
|
+
* Audio only is a call that will only use the microphone
|
|
10
|
+
*/
|
|
11
|
+
AUDIO = 'audio',
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Audio Upgradable is a call a type of call that starts in audio only and may be upgraded to audio&video type
|
|
15
|
+
*/
|
|
16
|
+
AUDIO_UPGRADABLE = 'audioUpgradable',
|
|
17
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This class defines the display modes supported per call.
|
|
6
|
+
*/
|
|
7
|
+
export enum CallDisplayMode {
|
|
8
|
+
/**
|
|
9
|
+
* The call UI fits completely the available window.
|
|
10
|
+
*/
|
|
11
|
+
FOREGROUND = 'FOREGROUND',
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* If the device has picture in picture feature the call UI is floating on the screen's device.
|
|
15
|
+
*/
|
|
16
|
+
FOREGROUND_PICTURE_IN_PICTURE = 'FOREGROUND_PICTURE_IN_PICTURE',
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* The call UI is not visible to the user.
|
|
20
|
+
*/
|
|
21
|
+
BACKGROUND = 'BACKGROUND',
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for callkit
|
|
6
|
+
*/
|
|
7
|
+
export interface CallKitConfiguration {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Set to false to disable
|
|
11
|
+
* <br/>
|
|
12
|
+
* <br/>
|
|
13
|
+
* <b><font color="blue">default</font>: true</b>
|
|
14
|
+
*/
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The icon resource name to be used in the callkit UI to represent the app
|
|
19
|
+
* <br/>
|
|
20
|
+
* <br/>
|
|
21
|
+
* <b><font color="blue">default</font>: null</b>
|
|
22
|
+
*/
|
|
23
|
+
appIconName?: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The ringtone resource name to be used when callkit is launched
|
|
27
|
+
* <br/>
|
|
28
|
+
* <br/>
|
|
29
|
+
* <b><font color="blue">default</font>: system</b>
|
|
30
|
+
*/
|
|
31
|
+
ringtoneSoundName?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import {RecordingType} from "./RecordingType";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options available for a call
|
|
8
|
+
*/
|
|
9
|
+
export interface CallOptions {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* May have three different values, NONE, AUTOMATIC, MANUAL
|
|
13
|
+
* <br/>
|
|
14
|
+
* <br/>
|
|
15
|
+
* <b><font color="blue">default</font>: none</b>
|
|
16
|
+
*/
|
|
17
|
+
recordingType?: RecordingType;
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This class defines the types of calls supported.
|
|
6
|
+
*/
|
|
7
|
+
export enum CallType {
|
|
8
|
+
/**
|
|
9
|
+
* Audio only is a call that will only use the microphone
|
|
10
|
+
*/
|
|
11
|
+
AUDIO = 'audio',
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Audio Upgradable is a call a type of call that starts in audio only and may be upgraded to audio&video type
|
|
15
|
+
*/
|
|
16
|
+
AUDIO_UPGRADABLE = 'audioUpgradable',
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Audio Video is a call that will use both the camera and the microphone
|
|
20
|
+
*/
|
|
21
|
+
AUDIO_VIDEO = 'audioVideo',
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import {CallOptions} from "./CallOptions";
|
|
5
|
+
import {AudioCallOptions} from "./AudioCallOptions";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Chat tool configuration
|
|
9
|
+
*/
|
|
10
|
+
export interface ChatToolConfiguration {
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Defining this object will enable an option to start an audio call from chat UI
|
|
14
|
+
*/
|
|
15
|
+
audioCallOption?: AudioCallOptions;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Defining this object will enable an option to start an audio&video call from chat UI
|
|
19
|
+
*/
|
|
20
|
+
videoCallOption?: CallOptions;
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import { CallType } from './CallType';
|
|
5
|
+
import { CallOptions } from './CallOptions';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Options to be used when creating a call
|
|
9
|
+
*/
|
|
10
|
+
export interface CreateCallOptions extends CallOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Array of callees identifiers to call.
|
|
13
|
+
*/
|
|
14
|
+
callees: string[];
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Type of call to create
|
|
18
|
+
*/
|
|
19
|
+
callType: CallType;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An environment where your integration will run
|
|
6
|
+
*/
|
|
7
|
+
export interface Environment {
|
|
8
|
+
/**
|
|
9
|
+
* name of the environment
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import {CallKitConfiguration} from "./CallKitConfiguration";
|
|
5
|
+
import {VoipHandlingStrategy} from "./VoipHandlingStrategy";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for iOS platform
|
|
9
|
+
*/
|
|
10
|
+
export interface IosConfiguration {
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Specify the callkit configuration to enable the usage and it's behaviour
|
|
14
|
+
* <br/>
|
|
15
|
+
* <br/>
|
|
16
|
+
* <b><font color="blue">default</font>: enabled</b>
|
|
17
|
+
*/
|
|
18
|
+
callkit?: CallKitConfiguration;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Specify the voip handling strategy.
|
|
22
|
+
* <br/>
|
|
23
|
+
* This allows you to disable or leave the plugin behaviour for handling the voip notifications.
|
|
24
|
+
* <br/>
|
|
25
|
+
* <br/>
|
|
26
|
+
* <b><font color="blue">default</font>: VoipHandlingStrategy.AUTOMATIC </b>
|
|
27
|
+
*/
|
|
28
|
+
voipHandlingStrategy?: VoipHandlingStrategy;
|
|
29
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import { IosConfiguration } from "./IosConfiguration";
|
|
5
|
+
import { Tools } from "./Tools";
|
|
6
|
+
import { Environment } from "./Environment";
|
|
7
|
+
import { Region } from "./Region";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Generic configuration used for setup
|
|
11
|
+
*/
|
|
12
|
+
export interface KaleyraVideoConfiguration {
|
|
13
|
+
/**
|
|
14
|
+
* This key will be provided to you by us.
|
|
15
|
+
*/
|
|
16
|
+
appID: string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* This variable defines the environment where you will be sandbox or production.
|
|
20
|
+
*/
|
|
21
|
+
environment: Environment;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* This variable defines the region where you will be europe, india or us.
|
|
25
|
+
*/
|
|
26
|
+
region: Region;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Set to true to enable log, default value is false
|
|
30
|
+
*/
|
|
31
|
+
logEnabled?: boolean;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Define the tools to use
|
|
35
|
+
*/
|
|
36
|
+
tools?: Tools;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Define to customize the iOS configuration
|
|
40
|
+
*/
|
|
41
|
+
iosConfig?: IosConfiguration;
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Recording type of the call
|
|
6
|
+
*/
|
|
7
|
+
export enum RecordingType {
|
|
8
|
+
/**
|
|
9
|
+
* The call will be recorded on demand
|
|
10
|
+
*/
|
|
11
|
+
MANUAL = 'manual',
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The call will be recorded as soon it starts
|
|
15
|
+
*/
|
|
16
|
+
AUTOMATIC = 'automatic',
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* The call will not be recorded
|
|
20
|
+
*/
|
|
21
|
+
NONE = 'none',
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Screen Share tool configuration
|
|
6
|
+
*/
|
|
7
|
+
export interface ScreenShareToolConfiguration {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Set to true to enable the in app screen share
|
|
11
|
+
* <br/>
|
|
12
|
+
* <br/>
|
|
13
|
+
* <b><font color="blue">default</font>: false</b>
|
|
14
|
+
*/
|
|
15
|
+
inApp?: boolean;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Set to true to enable the whole device screen share
|
|
19
|
+
* <br/>
|
|
20
|
+
* <br/>
|
|
21
|
+
* <b><font color="blue">default</font>: false</b>
|
|
22
|
+
*/
|
|
23
|
+
wholeDevice?: boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Session
|
|
6
|
+
*/
|
|
7
|
+
export interface Session {
|
|
8
|
+
/**
|
|
9
|
+
* The user id you want to connect
|
|
10
|
+
*/
|
|
11
|
+
userID: string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The Kaleyra Video SDK adopts a strong authentication mechanism based on JWT access tokens.
|
|
15
|
+
* Whenever the SDK needs an access token for a particular user, this component will be asked to provide an access token for a particular user.
|
|
16
|
+
* @param userId the user which requires a token refresh
|
|
17
|
+
* @returns a promise containing the access token if completed successfully.
|
|
18
|
+
*/
|
|
19
|
+
accessTokenProvider(userId: string): Promise<string>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
import {ScreenShareToolConfiguration} from "./ScreenShareToolConfiguration";
|
|
5
|
+
import {ChatToolConfiguration} from "./ChatToolConfiguration";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Video Module Tools
|
|
9
|
+
*/
|
|
10
|
+
export interface Tools {
|
|
11
|
+
/**
|
|
12
|
+
* Set to true to enable the file sharing feature
|
|
13
|
+
* <br/>
|
|
14
|
+
* <br/>
|
|
15
|
+
* <b><font color="blue">default</font>: false</b>
|
|
16
|
+
*/
|
|
17
|
+
fileShare?: boolean;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Set to enable the screen sharing feature
|
|
21
|
+
* <br/>
|
|
22
|
+
* <br/>
|
|
23
|
+
* <b><font color="blue">default</font>: no screen share</b>
|
|
24
|
+
*/
|
|
25
|
+
screenShare?: ScreenShareToolConfiguration;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Set to enable the chat feature
|
|
29
|
+
* <br/>
|
|
30
|
+
* <br/>
|
|
31
|
+
* <b><font color="blue">default</font>: no chat</b>
|
|
32
|
+
*/
|
|
33
|
+
chat?: ChatToolConfiguration;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Set to true to enable the whiteboard feature
|
|
37
|
+
* <br/>
|
|
38
|
+
* <br/>
|
|
39
|
+
* <b><font color="blue">default</font>: false</b>
|
|
40
|
+
*/
|
|
41
|
+
whiteboard?: boolean;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Set to true to enable the feedback request after a call ends.
|
|
45
|
+
* <br/>
|
|
46
|
+
* <br/>
|
|
47
|
+
* <b><font color="blue">default</font>: false</b>
|
|
48
|
+
*/
|
|
49
|
+
feedback?: boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This is used to define the user details in the call/chat UI
|
|
6
|
+
*/
|
|
7
|
+
export interface UserDetails {
|
|
8
|
+
/**
|
|
9
|
+
* User identifier
|
|
10
|
+
*/
|
|
11
|
+
userID: string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Nickname for the user
|
|
15
|
+
*/
|
|
16
|
+
nickName?: string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* First name of the user
|
|
20
|
+
*/
|
|
21
|
+
firstName?: string;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Last name of the user
|
|
25
|
+
*/
|
|
26
|
+
lastName?: string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Email of the user
|
|
30
|
+
*/
|
|
31
|
+
email?: string;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Image url to use as placeholder for the user.
|
|
35
|
+
*/
|
|
36
|
+
profileImageUrl?: string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This is used to display the user details in the call/chat UI
|
|
6
|
+
*/
|
|
7
|
+
export interface UserDetailsFormat {
|
|
8
|
+
/**
|
|
9
|
+
* Format to be used to display a user details on the call/chat UI
|
|
10
|
+
* <br/>
|
|
11
|
+
* <br/>
|
|
12
|
+
* <b><font color="blue">default</font>: ${userAlias}</b>
|
|
13
|
+
*/
|
|
14
|
+
default: string;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Format to be used when displaying an android notification
|
|
18
|
+
* <br/>
|
|
19
|
+
* <br/>
|
|
20
|
+
* <b><font color="blue">default</font>: equals to UserDetailsFormatter.default</b>
|
|
21
|
+
*/
|
|
22
|
+
androidNotification?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
// See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This class defines the voip notification strategy per call.
|
|
6
|
+
*/
|
|
7
|
+
export enum VoipHandlingStrategy {
|
|
8
|
+
/**
|
|
9
|
+
* The voip notifications will not be handled
|
|
10
|
+
*/
|
|
11
|
+
DISABLED = 'disabled',
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The voip notifications will be handled automatically from the plugin
|
|
15
|
+
*/
|
|
16
|
+
AUTOMATIC = 'automatic',
|
|
17
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
buildscript {
|
|
2
|
+
ext.kotlin_version = '1.6.10'
|
|
3
|
+
repositories {
|
|
4
|
+
google()
|
|
5
|
+
mavenLocal()
|
|
6
|
+
mavenCentral()
|
|
7
|
+
maven { url 'https://maven.bandyer.com/releases' }
|
|
8
|
+
maven { url 'https://jitpack.io' }
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
dependencies {
|
|
12
|
+
classpath 'com.android.tools.build:gradle:7.1.2'
|
|
13
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
allprojects {
|
|
18
|
+
repositories {
|
|
19
|
+
google()
|
|
20
|
+
mavenLocal()
|
|
21
|
+
mavenCentral()
|
|
22
|
+
maven { url 'https://maven.bandyer.com/releases' }
|
|
23
|
+
maven { url 'https://jitpack.io' }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
apply plugin: 'kotlin-android'
|
|
28
|
+
apply plugin: 'kotlin-kapt'
|
|
29
|
+
|
|
30
|
+
android {
|
|
31
|
+
compileSdkVersion 31
|
|
32
|
+
|
|
33
|
+
defaultConfig {
|
|
34
|
+
minSdkVersion 21
|
|
35
|
+
testInstrumentationRunner "com.kaleyra.video_hybrid_native_bridge.utils.RandomRunner"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
compileOptions {
|
|
39
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
40
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
kotlinOptions {
|
|
44
|
+
jvmTarget = '1.8'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
sourceSets {
|
|
48
|
+
main.java.srcDirs += 'src/main/kotlin'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
testOptions {
|
|
52
|
+
unitTests.returnDefaultValues = true
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
dependencies {
|
|
58
|
+
implementation 'com.google.code.gson:gson:2.9.1'
|
|
59
|
+
implementation "com.kaleyra:collaboration-suite-utils:3.0.3"
|
|
60
|
+
implementation "com.bandyer:bandyer-android-sdk:3.6.1"
|
|
61
|
+
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
62
|
+
compileOnly "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.1"
|
|
63
|
+
implementation "androidx.room:room-runtime:2.4.2"
|
|
64
|
+
kapt "androidx.room:room-compiler:2.4.2"
|
|
65
|
+
|
|
66
|
+
/*** Testing ***/
|
|
67
|
+
testImplementation 'junit:junit:4.13.2'
|
|
68
|
+
testImplementation 'io.mockk:mockk:1.13.2'
|
|
69
|
+
testImplementation "org.json:json:20180813"
|
|
70
|
+
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
|
|
71
|
+
testImplementation "com.github.ologe:flow-test-observer:1.5.1"
|
|
72
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright © 2018-2023 Kaleyra S.p.a. All Rights Reserved.
|
|
2
|
+
# See LICENSE for licensing information
|
|
3
|
+
|
|
4
|
+
# Project-wide Gradle settings.
|
|
5
|
+
|
|
6
|
+
# IDE (e.g. Android Studio) users:
|
|
7
|
+
# Gradle settings configured through the IDE *will override*
|
|
8
|
+
# any settings specified in this file.
|
|
9
|
+
|
|
10
|
+
# For more details on how to configure your build environment visit
|
|
11
|
+
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
12
|
+
|
|
13
|
+
# Specifies the JVM arguments used for the daemon process.
|
|
14
|
+
# The setting is particularly useful for tweaking memory settings.
|
|
15
|
+
android.enableJetifier=true
|
|
16
|
+
android.useAndroidX=true
|
|
17
|
+
org.gradle.jvmargs=-Xmx1536m
|
|
18
|
+
|
|
19
|
+
# When configured, Gradle will run in incubating parallel mode.
|
|
20
|
+
# This option should only be used with decoupled projects. More details, visit
|
|
21
|
+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
|
22
|
+
# org.gradle.parallel=true
|