@fishjam-cloud/react-native-client 0.1.0 → 0.2.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.
Files changed (110) hide show
  1. package/README.md +403 -0
  2. package/android/build.gradle +6 -6
  3. package/app.plugin.js +1 -1
  4. package/build/RNFishjamClientModule.d.ts +7 -5
  5. package/build/RNFishjamClientModule.d.ts.map +1 -1
  6. package/build/RNFishjamClientModule.js.map +1 -1
  7. package/build/common/client.d.ts +8 -1
  8. package/build/common/client.d.ts.map +1 -1
  9. package/build/common/client.js +9 -2
  10. package/build/common/client.js.map +1 -1
  11. package/build/components/VideoPreviewView.d.ts +3 -3
  12. package/build/components/VideoPreviewView.d.ts.map +1 -1
  13. package/build/components/VideoPreviewView.js +1 -1
  14. package/build/components/VideoPreviewView.js.map +1 -1
  15. package/build/hooks/useAudioSettings.d.ts.map +1 -1
  16. package/build/hooks/useAudioSettings.js +4 -5
  17. package/build/hooks/useAudioSettings.js.map +1 -1
  18. package/build/hooks/useBandwidthEstimation.d.ts +0 -3
  19. package/build/hooks/useBandwidthEstimation.d.ts.map +1 -1
  20. package/build/hooks/useBandwidthEstimation.js +3 -6
  21. package/build/hooks/useBandwidthEstimation.js.map +1 -1
  22. package/build/hooks/useCamera.d.ts +12 -21
  23. package/build/hooks/useCamera.d.ts.map +1 -1
  24. package/build/hooks/useCamera.js +52 -52
  25. package/build/hooks/useCamera.js.map +1 -1
  26. package/build/{common/eventEmitter.d.ts → hooks/useFishjamEvent.d.ts} +2 -3
  27. package/build/hooks/useFishjamEvent.d.ts.map +1 -0
  28. package/build/{common/eventEmitter.js → hooks/useFishjamEvent.js} +11 -2
  29. package/build/hooks/useFishjamEvent.js.map +1 -0
  30. package/build/hooks/useMicrophone.d.ts.map +1 -1
  31. package/build/hooks/useMicrophone.js +3 -7
  32. package/build/hooks/useMicrophone.js.map +1 -1
  33. package/build/hooks/useParticipants.d.ts +0 -3
  34. package/build/hooks/useParticipants.d.ts.map +1 -1
  35. package/build/hooks/useParticipants.js +6 -6
  36. package/build/hooks/useParticipants.js.map +1 -1
  37. package/build/hooks/useReconnection.d.ts.map +1 -1
  38. package/build/hooks/useReconnection.js +8 -18
  39. package/build/hooks/useReconnection.js.map +1 -1
  40. package/build/hooks/useScreencast.d.ts.map +1 -1
  41. package/build/hooks/useScreencast.js +3 -7
  42. package/build/hooks/useScreencast.js.map +1 -1
  43. package/build/index.d.ts +4 -3
  44. package/build/index.d.ts.map +1 -1
  45. package/build/index.js +3 -1
  46. package/build/index.js.map +1 -1
  47. package/build/types.d.ts +25 -0
  48. package/build/types.d.ts.map +1 -1
  49. package/build/types.js +10 -1
  50. package/build/types.js.map +1 -1
  51. package/build/utils/foregroundService.d.ts +30 -0
  52. package/build/utils/foregroundService.d.ts.map +1 -0
  53. package/build/utils/foregroundService.js +41 -0
  54. package/build/utils/foregroundService.js.map +1 -0
  55. package/ios/RNFishjamClient.swift +37 -30
  56. package/ios/RNFishjamClientModule.swift +11 -7
  57. package/package.json +19 -19
  58. package/.eslintignore +0 -7
  59. package/.eslintrc +0 -6
  60. package/.prettierrc +0 -9
  61. package/.watchmanconfig +0 -1
  62. package/android/.editorconfig +0 -9
  63. package/android/src/main/AndroidManifest.xml +0 -2
  64. package/android/src/main/java/org/membraneframework/reactnative/AudioDeviceKind.kt +0 -34
  65. package/android/src/main/java/org/membraneframework/reactnative/AudioSwitchManager.kt +0 -61
  66. package/android/src/main/java/org/membraneframework/reactnative/EmitableEvents.kt +0 -14
  67. package/android/src/main/java/org/membraneframework/reactnative/Errors.kt +0 -31
  68. package/android/src/main/java/org/membraneframework/reactnative/RNFishjamClient.kt +0 -866
  69. package/android/src/main/java/org/membraneframework/reactnative/RNFishjamClientModule.kt +0 -294
  70. package/android/src/main/java/org/membraneframework/reactnative/Utils.kt +0 -11
  71. package/android/src/main/java/org/membraneframework/reactnative/VideoPreviewView.kt +0 -40
  72. package/android/src/main/java/org/membraneframework/reactnative/VideoPreviewViewModule.kt +0 -17
  73. package/android/src/main/java/org/membraneframework/reactnative/VideoRendererView.kt +0 -58
  74. package/android/src/main/java/org/membraneframework/reactnative/VideoRendererViewModule.kt +0 -25
  75. package/android/src/main/java/org/membraneframework/reactnative/VideoView.kt +0 -77
  76. package/babel.config.js +0 -2
  77. package/build/common/eventEmitter.d.ts.map +0 -1
  78. package/build/common/eventEmitter.js.map +0 -1
  79. package/expo-module.config.json +0 -17
  80. package/ios/RNFishjamClient.podspec +0 -30
  81. package/ios/swift-format-config.json +0 -56
  82. package/plugin/broadcastExtensionFiles/Info.plist +0 -27
  83. package/plugin/broadcastExtensionFiles/MembraneBroadcastSampleHandler.swift +0 -50
  84. package/plugin/broadcastExtensionFiles/MembraneScreenBroadcastExtension.entitlements +0 -10
  85. package/plugin/src/withMembrane.ts +0 -310
  86. package/plugin/tsconfig.json +0 -9
  87. package/scripts/lint.sh +0 -18
  88. package/scripts/lint_check.sh +0 -14
  89. package/src/RNFishjamClientModule.ts +0 -73
  90. package/src/__tests__/index.test.tsx +0 -199
  91. package/src/common/client.ts +0 -33
  92. package/src/common/eventEmitter.ts +0 -21
  93. package/src/common/metadata.ts +0 -12
  94. package/src/common/webRTC.ts +0 -31
  95. package/src/components/VideoPreviewView.tsx +0 -33
  96. package/src/components/VideoRendererView.tsx +0 -31
  97. package/src/hooks/useAudioSettings.ts +0 -115
  98. package/src/hooks/useBandwidthEstimation.ts +0 -24
  99. package/src/hooks/useCamera.ts +0 -270
  100. package/src/hooks/useMicrophone.ts +0 -38
  101. package/src/hooks/useParticipants.ts +0 -118
  102. package/src/hooks/useReconnection.ts +0 -41
  103. package/src/hooks/useScreencast.ts +0 -146
  104. package/src/index.tsx +0 -63
  105. package/src/protos/fishjam/peer_notifications.ts +0 -299
  106. package/src/stats/types.ts +0 -56
  107. package/src/stats/useRTCStatistics.ts +0 -97
  108. package/src/types.ts +0 -49
  109. package/tsconfig.json +0 -9
  110. package/typedoc.json +0 -5
@@ -1,34 +0,0 @@
1
- package org.membraneframework.reactnative
2
-
3
- import com.twilio.audioswitch.AudioDevice
4
-
5
- enum class AudioDeviceKind(
6
- val typeName: String,
7
- val audioDeviceClass: Class<out AudioDevice>
8
- ) {
9
- BLUETOOTH("bluetooth", AudioDevice.BluetoothHeadset::class.java),
10
- WIRED_HEADSET("headset", AudioDevice.WiredHeadset::class.java),
11
- SPEAKER("speaker", AudioDevice.Speakerphone::class.java),
12
- EARPIECE("earpiece", AudioDevice.Earpiece::class.java)
13
- ;
14
-
15
- companion object {
16
- fun fromAudioDevice(audioDevice: AudioDevice): AudioDeviceKind? {
17
- for (kind in values()) {
18
- if (kind.audioDeviceClass == audioDevice.javaClass) {
19
- return kind
20
- }
21
- }
22
- return null
23
- }
24
-
25
- fun fromTypeName(typeName: String): AudioDeviceKind? {
26
- for (kind in values()) {
27
- if (kind.typeName == typeName) {
28
- return kind
29
- }
30
- }
31
- return null
32
- }
33
- }
34
- }
@@ -1,61 +0,0 @@
1
- package org.membraneframework.reactnative
2
-
3
- import android.content.Context
4
- import android.os.Handler
5
- import android.os.Looper
6
- import com.twilio.audioswitch.AudioDevice
7
- import com.twilio.audioswitch.AudioDeviceChangeListener
8
- import com.twilio.audioswitch.AudioSwitch
9
-
10
- class AudioSwitchManager(
11
- private val context: Context
12
- ) {
13
- private var preferredDeviceList =
14
- listOf(
15
- AudioDevice.BluetoothHeadset::class.java,
16
- AudioDevice.WiredHeadset::class.java,
17
- AudioDevice.Speakerphone::class.java,
18
- AudioDevice.Earpiece::class.java
19
- )
20
-
21
- // AudioSwitch is not threadsafe, so all calls should be done on the main thread.
22
- private val handler: Handler = Handler(Looper.getMainLooper())
23
-
24
- private var audioSwitch: AudioSwitch =
25
- AudioSwitch(context, loggingEnabled = true, preferredDeviceList = preferredDeviceList)
26
-
27
- fun start(listener: AudioDeviceChangeListener) {
28
- handler.removeCallbacksAndMessages(null)
29
- handler.postAtFrontOfQueue {
30
- audioSwitch.start(listener)
31
- audioSwitch.activate()
32
- }
33
- }
34
-
35
- fun stop() {
36
- handler.removeCallbacksAndMessages(null)
37
- handler.postAtFrontOfQueue {
38
- audioSwitch.stop()
39
- }
40
- }
41
-
42
- fun selectedAudioDevice(): AudioDevice? = audioSwitch.selectedAudioDevice
43
-
44
- fun availableAudioDevices(): List<AudioDevice> = audioSwitch.availableAudioDevices
45
-
46
- fun selectAudioOutput(audioDeviceClass: Class<out AudioDevice?>) {
47
- handler.post {
48
- availableAudioDevices()
49
- .find { it.javaClass == audioDeviceClass }
50
- ?.let {
51
- audioSwitch.selectDevice(it)
52
- }
53
- }
54
- }
55
-
56
- fun selectAudioOutput(kind: AudioDeviceKind?) {
57
- if (kind != null) {
58
- selectAudioOutput(kind.audioDeviceClass)
59
- }
60
- }
61
- }
@@ -1,14 +0,0 @@
1
- package org.membraneframework.reactnative
2
-
3
- object EmitableEvents {
4
- const val IsCameraOn = "IsCameraOn"
5
- const val IsMicrophoneOn = "IsMicrophoneOn"
6
- const val IsScreencastOn = "IsScreencastOn"
7
- const val SimulcastConfigUpdate = "SimulcastConfigUpdate"
8
- const val PeersUpdate = "PeersUpdate"
9
- const val AudioDeviceUpdate = "AudioDeviceUpdate"
10
- const val BandwidthEstimation = "BandwidthEstimation"
11
- const val ReconnectionRetriesLimitReached = "ReconnectionRetriesLimitReached"
12
- const val ReconnectionStarted = "ReconnectionStarted"
13
- const val Reconnected = "Reconnected"
14
- }
@@ -1,31 +0,0 @@
1
- package org.membraneframework.reactnative
2
-
3
- import com.fishjamcloud.client.models.AuthError
4
- import expo.modules.kotlin.exception.CodedException
5
-
6
- class JoinError(
7
- metadata: Any
8
- ) : CodedException(message = "Join error: $metadata")
9
-
10
- class ConnectionError(
11
- reason: AuthError
12
- ) : CodedException(message = "Connection error: ${reason.error}")
13
-
14
- class MissingScreencastPermission : CodedException(message = "No permission to start screencast, call handleScreencastPermission first.")
15
-
16
- class ClientNotConnectedError : CodedException(message = "Client not connected to server yet. Make sure to call connect() first!")
17
-
18
- class NoLocalVideoTrackError : CodedException(message = "No local video track. Make sure to call connect() first!")
19
-
20
- class NoLocalAudioTrackError : CodedException(message = "No local audio track. Make sure to call connect() first!")
21
-
22
- class NoScreencastTrackError : CodedException(message = "No local screencast track. Make sure to toggle screencast on first!")
23
-
24
- class SocketClosedError(
25
- code: Int,
26
- reason: String
27
- ) : CodedException(message = "Socket was closed with code = $code and reason = $reason")
28
-
29
- class SocketError(
30
- message: String
31
- ) : CodedException(message = "Socket error: $message")