react-native-spalla-player 0.12.4 → 0.12.6

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.
@@ -79,6 +79,10 @@ android {
79
79
  }
80
80
  }
81
81
 
82
+ buildFeatures {
83
+ buildConfig = true
84
+ }
85
+
82
86
  lintOptions {
83
87
  disable "GradleCompatible"
84
88
  }
@@ -92,6 +96,7 @@ android {
92
96
  repositories {
93
97
  mavenCentral()
94
98
  google()
99
+ maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
95
100
  maven { url 'https://maven.theoplayer.com/releases' }
96
101
  }
97
102
 
@@ -104,7 +109,7 @@ dependencies {
104
109
  implementation "com.facebook.react:react-native:+"
105
110
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
106
111
  implementation "androidx.mediarouter:mediarouter:1.2.0"
107
- implementation "stream.spalla:spalla-android-sdk:1.9.3"
112
+ implementation "stream.spalla:spalla-android-sdk:1.9.4"
108
113
  implementation "com.google.android.gms:play-services-cast-framework:21.3.0"
109
114
  }
110
115
 
@@ -0,0 +1,36 @@
1
+ package com.spallaplayer
2
+
3
+ import android.content.Context
4
+ import android.widget.FrameLayout
5
+ import com.spalla.sdk.android.core.player.view.SpallaPlayerView
6
+ import android.view.ViewGroup;
7
+
8
+ class SpallaPlayerContainerView(context: Context) : ViewGroup(context) {
9
+ val spallaPlayerView: SpallaPlayerView = SpallaPlayerView(context)
10
+
11
+ init {
12
+ addView(spallaPlayerView) // Add SpallaPlayerView as a child of this container
13
+ // You might need to set layout params for spallaPlayerView here
14
+ }
15
+
16
+ override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
17
+ for (i in 0 until childCount) {
18
+ val child = getChildAt(i)
19
+ child.layout(0, 0, width, height)
20
+ }
21
+ }
22
+
23
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
24
+ val width = MeasureSpec.getSize(widthMeasureSpec)
25
+ val height = MeasureSpec.getSize(heightMeasureSpec)
26
+ for (i in 0 until childCount) {
27
+ val child = getChildAt(i)
28
+ child.measure(
29
+ MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
30
+ MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
31
+ )
32
+ }
33
+ setMeasuredDimension(width, height)
34
+ }
35
+
36
+ }
@@ -43,8 +43,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
43
43
  val uiManager = UIManagerHelper.getUIManager(_reactContext, UIManagerType.FABRIC)
44
44
  if (uiManager is UIManager) {
45
45
  uiManager.resolveView(tag)?.let { view ->
46
- if (view is SpallaPlayerView) {
47
- view.play()
46
+ if (view is SpallaPlayerContainerView) {
47
+ view.spallaPlayerView.play()
48
48
  } else {
49
49
  throw ClassCastException(
50
50
  "Cannot play: view with tag #$tag is not a SpallaPlayerView"
@@ -57,8 +57,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
57
57
  _reactContext.getNativeModule(UIManagerModule::class.java)
58
58
  uiManager?.prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
59
59
  val playerView = nativeViewHierarchyManager.resolveView(tag)
60
- if (playerView is SpallaPlayerView) {
61
- playerView.play()
60
+ if (playerView is SpallaPlayerContainerView) {
61
+ playerView.spallaPlayerView.play()
62
62
  } else {
63
63
  throw ClassCastException(
64
64
  String.format(
@@ -77,8 +77,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
77
77
  val uiManager = UIManagerHelper.getUIManager(_reactContext, UIManagerType.FABRIC)
78
78
  if (uiManager is UIManager) {
79
79
  uiManager.resolveView(tag)?.let { view ->
80
- if (view is SpallaPlayerView) {
81
- view.pause()
80
+ if (view is SpallaPlayerContainerView) {
81
+ view.spallaPlayerView.pause()
82
82
  } else {
83
83
  throw ClassCastException(
84
84
  "Cannot pause: view with tag #$tag is not a SpallaPlayerView"
@@ -91,8 +91,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
91
91
  _reactContext.getNativeModule(UIManagerModule::class.java)
92
92
  uiManager?.prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
93
93
  val playerView = nativeViewHierarchyManager.resolveView(tag)
94
- if (playerView is SpallaPlayerView) {
95
- playerView.pause()
94
+ if (playerView is SpallaPlayerContainerView) {
95
+ playerView.spallaPlayerView.pause()
96
96
  } else {
97
97
  throw ClassCastException(
98
98
  String.format(
@@ -112,8 +112,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
112
112
  _reactContext.getNativeModule(UIManagerModule::class.java)!!
113
113
  .prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
114
114
  val playerView = nativeViewHierarchyManager.resolveView(tag)
115
- if (playerView is SpallaPlayerView) {
116
- playerView.seekTo(time)
115
+ if (playerView is SpallaPlayerContainerView) {
116
+ playerView.spallaPlayerView.seekTo(time)
117
117
  } else {
118
118
  throw ClassCastException(
119
119
  String.format(
@@ -130,8 +130,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
130
130
  _reactContext.getNativeModule(UIManagerModule::class.java)!!
131
131
  .prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
132
132
  val playerView = nativeViewHierarchyManager.resolveView(tag)
133
- if (playerView is SpallaPlayerView) {
134
- playerView.selectSubtitle(subtitle)
133
+ if (playerView is SpallaPlayerContainerView) {
134
+ playerView.spallaPlayerView.selectSubtitle(subtitle)
135
135
  } else {
136
136
  throw ClassCastException(
137
137
  String.format(
@@ -148,8 +148,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
148
148
  _reactContext.getNativeModule(UIManagerModule::class.java)!!
149
149
  .prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
150
150
  val playerView = nativeViewHierarchyManager.resolveView(tag)
151
- if (playerView is SpallaPlayerView) {
152
- playerView.selectPlaybackRate(rate)
151
+ if (playerView is SpallaPlayerContainerView) {
152
+ playerView.spallaPlayerView.selectPlaybackRate(rate)
153
153
  } else {
154
154
  throw ClassCastException(
155
155
  String.format(
@@ -167,8 +167,8 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
167
167
  val uiManager = UIManagerHelper.getUIManager(_reactContext, UIManagerType.FABRIC)
168
168
  if (uiManager is UIManager) {
169
169
  uiManager.resolveView(tag)?.let { view ->
170
- if (view is SpallaPlayerView) {
171
- view.pause()
170
+ if (view is SpallaPlayerContainerView) {
171
+ view.spallaPlayerView.pause()
172
172
  }
173
173
  }
174
174
  }
@@ -177,9 +177,9 @@ class SpallaPlayerModule(reactContext: ReactApplicationContext) :
177
177
  _reactContext.getNativeModule(UIManagerModule::class.java)
178
178
  uiManager?.prependUIBlock { nativeViewHierarchyManager: NativeViewHierarchyManager ->
179
179
  val playerView = nativeViewHierarchyManager.resolveView(tag)
180
- if (playerView is SpallaPlayerView) {
181
- playerView.pause()
182
- }
180
+ if (playerView is SpallaPlayerContainerView) {
181
+ playerView.spallaPlayerView.pause()
182
+ }
183
183
  }
184
184
  }
185
185
  }
@@ -1,6 +1,7 @@
1
1
  package com.spallaplayer
2
2
 
3
3
  import android.util.Log
4
+ import android.view.View
4
5
  import com.facebook.react.bridge.Arguments
5
6
  import com.facebook.react.bridge.ReactContext
6
7
  import com.facebook.react.bridge.ReadableArray
@@ -8,20 +9,23 @@ import com.facebook.react.bridge.ReadableNativeArray
8
9
  import com.facebook.react.bridge.WritableArray
9
10
  import com.facebook.react.bridge.WritableMap
10
11
  import com.facebook.react.common.MapBuilder
11
- import com.facebook.react.uimanager.SimpleViewManager
12
+ import com.facebook.react.uimanager.ViewGroupManager
12
13
  import com.facebook.react.uimanager.ThemedReactContext
13
14
  import com.facebook.react.uimanager.annotations.ReactProp
14
15
  import com.facebook.react.uimanager.events.RCTEventEmitter
15
16
  import com.spalla.sdk.android.core.player.entities.SpallaPlayerEvent
16
17
  import com.spalla.sdk.android.core.player.entities.SpallaPlayerEvent.*
18
+ import com.spalla.sdk.android.core.player.listeners.SpallaPlayerFullScreenListener
17
19
  import com.spalla.sdk.android.core.player.listeners.SpallaPlayerListener
18
20
  import com.spalla.sdk.android.core.player.view.SpallaPlayerView
19
21
  import java.util.Timer
20
22
  import java.util.TimerTask
21
23
 
22
- class RNSpallaPlayerManager() : SimpleViewManager<SpallaPlayerView>(), SpallaPlayerListener {
24
+ class RNSpallaPlayerManager() : ViewGroupManager<SpallaPlayerContainerView>(),
25
+ SpallaPlayerListener, SpallaPlayerFullScreenListener {
23
26
  private var _playerView: SpallaPlayerView? = null
24
27
  private var _reactContext: ReactContext? = null
28
+ private var _container: SpallaPlayerContainerView? = null
25
29
 
26
30
  private var contentId: String? = null
27
31
  private var startTime: Double? = null
@@ -32,13 +36,15 @@ class RNSpallaPlayerManager() : SimpleViewManager<SpallaPlayerView>(), SpallaPla
32
36
 
33
37
  override fun getName() = "RNSpallaPlayer"
34
38
 
35
- override fun createViewInstance(context: ThemedReactContext): SpallaPlayerView {
39
+ override fun createViewInstance(context: ThemedReactContext): SpallaPlayerContainerView {
36
40
  _reactContext = context
37
- val player = SpallaPlayerView(context)
38
- _playerView = player
39
- player.registerPlayerListener(this)
41
+ val container = SpallaPlayerContainerView(context)
42
+ _playerView = container.spallaPlayerView
43
+ _playerView?.registerPlayerListener(this)
44
+ _playerView?.registerFullScreenListener(this)
45
+ this._container = container
40
46
 
41
- return player
47
+ return container
42
48
  }
43
49
 
44
50
  override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any> {
@@ -53,57 +59,73 @@ class RNSpallaPlayerManager() : SimpleViewManager<SpallaPlayerView>(), SpallaPla
53
59
  .build()
54
60
  }
55
61
 
56
- override fun onDropViewInstance(view: SpallaPlayerView) {
62
+ override fun onDropViewInstance(view: SpallaPlayerContainerView) {
57
63
  Log.v("RNSpallaPlayerManager", "onDropViewInstance")
58
64
 
59
65
  try {
60
- view.onDestroy()
66
+ view.spallaPlayerView.onDestroy()
61
67
  } catch (e: Exception) {
62
68
  e.printStackTrace()
63
69
  }
64
70
  super.onDropViewInstance(view)
65
71
  }
66
72
 
73
+ override fun addView(parent: SpallaPlayerContainerView, child: View, index: Int) {
74
+ parent.addView(child, index)
75
+ }
76
+
77
+ override fun removeViewAt(parent: SpallaPlayerContainerView, index: Int) {
78
+ parent.removeViewAt(index)
79
+ }
80
+
81
+ override fun getChildCount(parent: SpallaPlayerContainerView): Int {
82
+ return parent.childCount
83
+ }
84
+
85
+ override fun getChildAt(parent: SpallaPlayerContainerView, index: Int): View {
86
+ return parent.getChildAt(index)
87
+ }
88
+
67
89
  @ReactProp(name = "contentId")
68
- fun setContentId(view: SpallaPlayerView, contentId: String) {
69
- this.contentId = contentId
70
- checkAndLoadPlayer(view)
90
+ fun setContentId(view: SpallaPlayerContainerView, contentId: String) {
91
+ this.contentId = contentId
92
+ checkAndLoadPlayer(view)
71
93
  }
72
94
 
73
95
  @ReactProp(name = "muted")
74
- fun setMuted(view: SpallaPlayerView, muted: Boolean) {
96
+ fun setMuted(view: SpallaPlayerContainerView, muted: Boolean) {
75
97
  _playerView?.setMuted(muted)
76
98
  }
77
99
 
78
100
  @ReactProp(name = "startTime")
79
- fun setStartTime(view: SpallaPlayerView, startTime: Double) {
101
+ fun setStartTime(view: SpallaPlayerContainerView, startTime: Double) {
80
102
  this.startTime = startTime
81
103
  //checkAndLoadPlayer(view)
82
104
  }
83
105
 
84
106
  @ReactProp(name = "subtitle")
85
- fun setSubtitle(view: SpallaPlayerView, subtitle: String?) {
107
+ fun setSubtitle(view: SpallaPlayerContainerView, subtitle: String?) {
86
108
  this.subtitle = subtitle
87
109
  _playerView?.selectSubtitle(subtitle)
88
110
  }
89
111
 
90
112
  @ReactProp(name = "playbackRate")
91
- fun setPlaybackRate(view: SpallaPlayerView, playbackRate: Double) {
92
- if(playbackRate > 0) {
113
+ fun setPlaybackRate(view: SpallaPlayerContainerView, playbackRate: Double) {
114
+ if (playbackRate > 0) {
93
115
  this.playbackRate = playbackRate
94
116
  _playerView?.selectPlaybackRate(playbackRate)
95
117
  }
96
118
  }
97
119
 
98
120
  @ReactProp(name = "hideUI")
99
- fun setPlaybackRate(view: SpallaPlayerView, hideUI: Boolean) {
121
+ fun setPlaybackRate(view: SpallaPlayerContainerView, hideUI: Boolean) {
100
122
  this.hideUI = hideUI
101
123
  checkAndLoadPlayer(view)
102
124
  }
103
125
 
104
- private fun checkAndLoadPlayer(view: SpallaPlayerView) {
126
+ private fun checkAndLoadPlayer(view: SpallaPlayerContainerView) {
105
127
  if (contentId != null && startTime != null && hideUI != null) {
106
- view.load(contentId!!, true, startTime!!, subtitle, hideUI!!)
128
+ view.spallaPlayerView.load(contentId!!, true, startTime!!, subtitle, hideUI!!)
107
129
  }
108
130
  }
109
131
 
@@ -115,65 +137,97 @@ class RNSpallaPlayerManager() : SimpleViewManager<SpallaPlayerView>(), SpallaPla
115
137
  loadTimer = Timer()
116
138
  loadTimer?.schedule(object : TimerTask() {
117
139
  override fun run() {
118
- loadTimer?.cancel()
119
- loadTimer = null
120
- // Call view.load with the required properties
121
- view.load(contentId!!, true,startTime!!, subtitle = subtitle, hideUI!!)
140
+ loadTimer?.cancel()
141
+ loadTimer = null
142
+ // Call view.load with the required properties
143
+ view.load(contentId!!, true, startTime!!, subtitle = subtitle, hideUI!!)
122
144
  }
123
145
  }, 300) // Delay of 200ms to allow all properties to be set
124
146
  }
125
147
 
126
- override fun onEvent( spallaPlayerEvent: SpallaPlayerEvent) {
148
+ override fun onEvent(event: SpallaPlayerEvent) {
127
149
  val map: WritableMap = Arguments.createMap()
128
150
 
129
- when (spallaPlayerEvent) {
151
+ Log.v("RNSpallaPlayerManager", "onEvent: $event")
152
+ when (event) {
130
153
  is DurationUpdate -> {
131
154
  map.putString("event", "durationUpdate")
132
- map.putDouble("duration", spallaPlayerEvent.duration)
155
+ map.putDouble("duration", event.duration)
133
156
  }
157
+
134
158
  Ended -> map.putString("event", "ended")
135
159
  is Error -> {
136
160
  map.putString("event", "error")
137
- map.putString("message", spallaPlayerEvent.message)
161
+ map.putString("message", event.message)
138
162
  }
163
+
139
164
  Pause -> map.putString("event", "pause")
140
165
  Play -> map.putString("event", "play")
141
166
  Playing -> map.putString("event", "playing")
142
167
  is TimeUpdate -> {
143
168
  map.putString("event", "timeUpdate")
144
- map.putDouble("time", spallaPlayerEvent.currentTime)
169
+ map.putDouble("time", event.currentTime)
145
170
  }
171
+
146
172
  Waiting -> map.putString("event", "buffering")
147
173
  is SubtitlesAvailable -> {
148
174
  map.putString("event", "subtitlesAvailable")
149
175
 
150
176
  var subs = Arguments.createArray()
151
- spallaPlayerEvent.subtitles.forEach {
177
+ event.subtitles.forEach {
152
178
  subs.pushString(it)
153
179
  }
154
180
  map.putArray("subtitles", subs)
155
181
  }
182
+
156
183
  is SubtitleSelected -> {
157
184
  map.putString("event", "subtitleSelected")
158
- map.putString("subtitle", spallaPlayerEvent.subtitle)
185
+ map.putString("subtitle", event.subtitle)
159
186
  }
187
+
160
188
  is MetadataLoaded -> {
161
189
  map.putString("event", "metadataLoaded")
162
- map.putBoolean("isLive", spallaPlayerEvent.metadata.isLive)
163
- map.putDouble("duration", spallaPlayerEvent.metadata.duration)
190
+ map.putBoolean("isLive", event.metadata.isLive)
191
+ map.putDouble("duration", event.metadata.duration)
164
192
 
165
193
  // make sure current playback rate is applied if set initially
166
194
  _playerView?.selectPlaybackRate(playbackRate)
167
195
  }
196
+
168
197
  is PlaybackRateSelected -> {
169
198
  map.putString("event", "playbackRateSelected")
170
- map.putDouble("rate", spallaPlayerEvent.rate)
199
+ map.putDouble("rate", event.rate)
171
200
  }
172
201
 
173
202
  }
174
- _playerView?.let { player ->
203
+ _container?.let { container ->
204
+ _reactContext?.getJSModule(RCTEventEmitter::class.java)?.receiveEvent(
205
+ container.id,
206
+ "onPlayerEvent",
207
+ map
208
+ )
209
+ }
210
+ }
211
+
212
+ override fun onEnterFullScreen() {
213
+ Log.v("SpallaPlayerViewManager", "onEnterFullScreen")
214
+ val map: WritableMap = Arguments.createMap()
215
+ map.putString("event", "enterFullScreen")
216
+ _container?.let { container ->
217
+ _reactContext?.getJSModule(RCTEventEmitter::class.java)?.receiveEvent(
218
+ container.id,
219
+ "onPlayerEvent",
220
+ map
221
+ )
222
+ }
223
+ }
224
+
225
+ override fun onExitFullScreen() {
226
+ val map: WritableMap = Arguments.createMap()
227
+ map.putString("event", "exitFullScreen")
228
+ _container?.let { container ->
175
229
  _reactContext?.getJSModule(RCTEventEmitter::class.java)?.receiveEvent(
176
- player.id,
230
+ container.id,
177
231
  "onPlayerEvent",
178
232
  map
179
233
  )
@@ -173,6 +173,10 @@ extension SpallaPlayerWrapper: SpallaPlayerListener {
173
173
  onPlayerEvent(["event": "metadataLoaded", "isLive": metadata.isLive, "duration": metadata.duration])
174
174
  case .playbackRateChanged(let rate):
175
175
  onPlayerEvent(["event": "playbackRateSelected", "rate": rate])
176
+ case .enterFullScreen:
177
+ onPlayerEvent(["event": "enterFullscreen"])
178
+ case .exitFullScreen:
179
+ onPlayerEvent(["event": "exitFullscreen"])
176
180
  @unknown default:
177
181
  break
178
182
  }
@@ -43,7 +43,8 @@ class SpallaPlayer extends _react.default.Component {
43
43
  const {
44
44
  style,
45
45
  startTime,
46
- playbackRate
46
+ playbackRate,
47
+ hideUI
47
48
  } = this.props;
48
49
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(RNSpallaPlayer, {
49
50
  ...this.props,
@@ -51,6 +52,7 @@ class SpallaPlayer extends _react.default.Component {
51
52
  style: style,
52
53
  startTime: startTime ?? 0,
53
54
  playbackRate: playbackRate ?? 1.0,
55
+ hideUI: hideUI ?? false,
54
56
  children: this.props.children
55
57
  });
56
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","_CastButton","e","__esModule","default","RNSpallaPlayer","requireNativeComponent","RNSpallaPlayerModule","NativeModules","play","ref","handle","findNodeHandle","exports","pause","seekTo","time","SpallaPlayer","React","Component","_player","_setRef","render","style","startTime","playbackRate","props","jsx","children","componentWillUnmount","unmount","initialize","token","applicationId","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKsB,IAAAE,WAAA,GAAAF,OAAA;AA+ItB,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsE,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAlItE,MAAMG,cAAc,GAClB,IAAAC,mCAAsB,EAAsB,gBAAgB,CAAC;AAE/D,MAAMC,oBAAoB,GAAGC,0BAAa,CAACH,cAAc;AAkElD,MAAMI,IAAI,GAAIC,GAAQ,IAAK;EAChC,MAAMC,MAAM,GAAG,IAAAC,2BAAc,EAACF,GAAG,CAAC;EAClCH,oBAAoB,CAACE,IAAI,CAACE,MAAM,CAAC;AACnC,CAAC;AAACE,OAAA,CAAAJ,IAAA,GAAAA,IAAA;AAEK,MAAMK,KAAK,GAAIJ,GAAQ,IAAK;EACjC,MAAMC,MAAM,GAAG,IAAAC,2BAAc,EAACF,GAAG,CAAC;EAClCH,oBAAoB,CAACO,KAAK,CAACH,MAAM,CAAC;AACpC,CAAC;AAACE,OAAA,CAAAC,KAAA,GAAAA,KAAA;AAEK,MAAMC,MAAM,GAAGA,CAACL,GAAQ,EAAEM,IAAY,KAAK;EAChD,MAAML,MAAM,GAAG,IAAAC,2BAAc,EAACF,GAAG,CAAC;EAClCH,oBAAoB,CAACQ,MAAM,CAACJ,MAAM,EAAEK,IAAI,CAAC;AAC3C,CAAC;;AAED;AAAAH,OAAA,CAAAE,MAAA,GAAAA,MAAA;AAEA,MAAME,YAAY,SAASC,cAAK,CAACC,SAAS,CAAQ;EAChDC,OAAO,GAAG,IAAI;EAEdC,OAAO,GAAIX,GAAQ,IAAK;IACtB,IAAI,CAACU,OAAO,GAAGV,GAAG;EACpB,CAAC;EAEDY,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAa,CAAC,GAAG,IAAI,CAACC,KAAK;IAErD,oBACE,IAAA1B,WAAA,CAAA2B,GAAA,EAACtB,cAAc;MAAA,GACT,IAAI,CAACqB,KAAK;MACdhB,GAAG,EAAE,IAAI,CAACW,OAAQ;MAClBE,KAAK,EAAEA,KAAM;MACbC,SAAS,EAAEA,SAAS,IAAI,CAAE;MAC1BC,YAAY,EAAEA,YAAY,IAAI,GAAI;MAAAG,QAAA,EAEjC,IAAI,CAACF,KAAK,CAACE;IAAQ,CACN,CAAC;EAErB;EAEAnB,IAAI,GAAGA,CAAA,KAAM;IACX,MAAME,MAAM,GAAG,IAAAC,2BAAc,EAAC,IAAI,CAACQ,OAAO,CAAC;IAC3Cb,oBAAoB,CAACE,IAAI,CAACE,MAAM,CAAC;EACnC,CAAC;EAEDG,KAAK,GAAGA,CAAA,KAAM;IACZ,MAAMH,MAAM,GAAG,IAAAC,2BAAc,EAAC,IAAI,CAACQ,OAAO,CAAC;IAC3Cb,oBAAoB,CAACO,KAAK,CAACH,MAAM,CAAC;EACpC,CAAC;EAEDkB,oBAAoBA,CAAA,EAAG;IACrB,MAAMlB,MAAM,GAAG,IAAAC,2BAAc,EAAC,IAAI,CAACQ,OAAO,CAAC;IAC3Cb,oBAAoB,CAACuB,OAAO,CAACnB,MAAM,CAAC;EACtC;AACF;AAEO,MAAMoB,UAAU,GAAGA,CAACC,KAAa,EAAEC,aAA4B,KAAK;EACzE1B,oBAAoB,CAACwB,UAAU,CAACC,KAAK,EAAEC,aAAa,CAAC;AACvD,CAAC;AAACpB,OAAA,CAAAkB,UAAA,GAAAA,UAAA;AAAA,IAAAG,QAAA,GAAArB,OAAA,CAAAT,OAAA,GAEaa,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_jsxRuntime","_CastButton","e","__esModule","default","RNSpallaPlayer","requireNativeComponent","RNSpallaPlayerModule","NativeModules","play","ref","handle","findNodeHandle","exports","pause","seekTo","time","SpallaPlayer","React","Component","_player","_setRef","render","style","startTime","playbackRate","hideUI","props","jsx","children","componentWillUnmount","unmount","initialize","token","applicationId","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -29,7 +29,8 @@ class SpallaPlayer extends React.Component {
29
29
  const {
30
30
  style,
31
31
  startTime,
32
- playbackRate
32
+ playbackRate,
33
+ hideUI
33
34
  } = this.props;
34
35
  return /*#__PURE__*/_jsx(RNSpallaPlayer, {
35
36
  ...this.props,
@@ -37,6 +38,7 @@ class SpallaPlayer extends React.Component {
37
38
  style: style,
38
39
  startTime: startTime ?? 0,
39
40
  playbackRate: playbackRate ?? 1.0,
41
+ hideUI: hideUI ?? false,
40
42
  children: this.props.children
41
43
  });
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","requireNativeComponent","NativeModules","findNodeHandle","jsx","_jsx","RNSpallaPlayer","RNSpallaPlayerModule","play","ref","handle","pause","seekTo","time","SpallaPlayer","Component","_player","_setRef","render","style","startTime","playbackRate","props","children","componentWillUnmount","unmount","initialize","token","applicationId","default","SpallaCastButton"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,sBAAsB,EAEtBC,aAAa,EACbC,cAAc,QACT,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAatB,MAAMC,cAAc,GAClBL,sBAAsB,CAAsB,gBAAgB,CAAC;AAE/D,MAAMM,oBAAoB,GAAGL,aAAa,CAACI,cAAc;AAkEzD,OAAO,MAAME,IAAI,GAAIC,GAAQ,IAAK;EAChC,MAAMC,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACC,IAAI,CAACE,MAAM,CAAC;AACnC,CAAC;AAED,OAAO,MAAMC,KAAK,GAAIF,GAAQ,IAAK;EACjC,MAAMC,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACI,KAAK,CAACD,MAAM,CAAC;AACpC,CAAC;AAED,OAAO,MAAME,MAAM,GAAGA,CAACH,GAAQ,EAAEI,IAAY,KAAK;EAChD,MAAMH,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACK,MAAM,CAACF,MAAM,EAAEG,IAAI,CAAC;AAC3C,CAAC;;AAED;;AAEA,MAAMC,YAAY,SAASd,KAAK,CAACe,SAAS,CAAQ;EAChDC,OAAO,GAAG,IAAI;EAEdC,OAAO,GAAIR,GAAQ,IAAK;IACtB,IAAI,CAACO,OAAO,GAAGP,GAAG;EACpB,CAAC;EAEDS,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAa,CAAC,GAAG,IAAI,CAACC,KAAK;IAErD,oBACEjB,IAAA,CAACC,cAAc;MAAA,GACT,IAAI,CAACgB,KAAK;MACdb,GAAG,EAAE,IAAI,CAACQ,OAAQ;MAClBE,KAAK,EAAEA,KAAM;MACbC,SAAS,EAAEA,SAAS,IAAI,CAAE;MAC1BC,YAAY,EAAEA,YAAY,IAAI,GAAI;MAAAE,QAAA,EAEjC,IAAI,CAACD,KAAK,CAACC;IAAQ,CACN,CAAC;EAErB;EAEAf,IAAI,GAAGA,CAAA,KAAM;IACX,MAAME,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACC,IAAI,CAACE,MAAM,CAAC;EACnC,CAAC;EAEDC,KAAK,GAAGA,CAAA,KAAM;IACZ,MAAMD,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACI,KAAK,CAACD,MAAM,CAAC;EACpC,CAAC;EAEDc,oBAAoBA,CAAA,EAAG;IACrB,MAAMd,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACkB,OAAO,CAACf,MAAM,CAAC;EACtC;AACF;AAEA,OAAO,MAAMgB,UAAU,GAAGA,CAACC,KAAa,EAAEC,aAA4B,KAAK;EACzErB,oBAAoB,CAACmB,UAAU,CAACC,KAAK,EAAEC,aAAa,CAAC;AACvD,CAAC;AAED,eAAed,YAAY;AAC3B,SAASe,OAAO,IAAIC,gBAAgB,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["React","requireNativeComponent","NativeModules","findNodeHandle","jsx","_jsx","RNSpallaPlayer","RNSpallaPlayerModule","play","ref","handle","pause","seekTo","time","SpallaPlayer","Component","_player","_setRef","render","style","startTime","playbackRate","hideUI","props","children","componentWillUnmount","unmount","initialize","token","applicationId","default","SpallaCastButton"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,sBAAsB,EAEtBC,aAAa,EACbC,cAAc,QACT,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AActB,MAAMC,cAAc,GAClBL,sBAAsB,CAAsB,gBAAgB,CAAC;AAE/D,MAAMM,oBAAoB,GAAGL,aAAa,CAACI,cAAc;AAoEzD,OAAO,MAAME,IAAI,GAAIC,GAAQ,IAAK;EAChC,MAAMC,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACC,IAAI,CAACE,MAAM,CAAC;AACnC,CAAC;AAED,OAAO,MAAMC,KAAK,GAAIF,GAAQ,IAAK;EACjC,MAAMC,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACI,KAAK,CAACD,MAAM,CAAC;AACpC,CAAC;AAED,OAAO,MAAME,MAAM,GAAGA,CAACH,GAAQ,EAAEI,IAAY,KAAK;EAChD,MAAMH,MAAM,GAAGP,cAAc,CAACM,GAAG,CAAC;EAClCF,oBAAoB,CAACK,MAAM,CAACF,MAAM,EAAEG,IAAI,CAAC;AAC3C,CAAC;;AAED;;AAEA,MAAMC,YAAY,SAASd,KAAK,CAACe,SAAS,CAAQ;EAChDC,OAAO,GAAG,IAAI;EAEdC,OAAO,GAAIR,GAAQ,IAAK;IACtB,IAAI,CAACO,OAAO,GAAGP,GAAG;EACpB,CAAC;EAEDS,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAEC,YAAY;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACC,KAAK;IAE7D,oBACElB,IAAA,CAACC,cAAc;MAAA,GACT,IAAI,CAACiB,KAAK;MACdd,GAAG,EAAE,IAAI,CAACQ,OAAQ;MAClBE,KAAK,EAAEA,KAAM;MACbC,SAAS,EAAEA,SAAS,IAAI,CAAE;MAC1BC,YAAY,EAAEA,YAAY,IAAI,GAAI;MAClCC,MAAM,EAAEA,MAAM,IAAI,KAAM;MAAAE,QAAA,EAEvB,IAAI,CAACD,KAAK,CAACC;IAAQ,CACN,CAAC;EAErB;EAEAhB,IAAI,GAAGA,CAAA,KAAM;IACX,MAAME,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACC,IAAI,CAACE,MAAM,CAAC;EACnC,CAAC;EAEDC,KAAK,GAAGA,CAAA,KAAM;IACZ,MAAMD,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACI,KAAK,CAACD,MAAM,CAAC;EACpC,CAAC;EAEDe,oBAAoBA,CAAA,EAAG;IACrB,MAAMf,MAAM,GAAGP,cAAc,CAAC,IAAI,CAACa,OAAO,CAAC;IAC3CT,oBAAoB,CAACmB,OAAO,CAAChB,MAAM,CAAC;EACtC;AACF;AAEA,OAAO,MAAMiB,UAAU,GAAGA,CAACC,KAAa,EAAEC,aAA4B,KAAK;EACzEtB,oBAAoB,CAACoB,UAAU,CAACC,KAAK,EAAEC,aAAa,CAAC;AACvD,CAAC;AAED,eAAef,YAAY;AAC3B,SAASgB,OAAO,IAAIC,gBAAgB,QAAQ,4BAAyB","ignoreList":[]}
@@ -27,7 +27,7 @@ interface PlayerEventMedataLoaded {
27
27
  duration: number;
28
28
  }
29
29
  interface PlayerEvent {
30
- event: 'play' | 'pause' | 'ended' | 'muted' | 'unmuted' | 'buffering' | 'playing';
30
+ event: 'play' | 'pause' | 'ended' | 'muted' | 'unmuted' | 'buffering' | 'playing' | 'onEnterFullScreen' | 'onExitFullScreen';
31
31
  }
32
32
  interface Props {
33
33
  style?: ViewStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAgBhE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,6BAA6B;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,KAAK,EACD,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,WAAW,GACX,SAAS,CAAC;CACf;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,WAAW,EACP,qBAAqB,GACrB,WAAW,GACX,yBAAyB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,+BAA+B,GAC/B,uBAAuB,CAAC;KAC7B,KAAK,IAAI,CAAC;CACZ;AAED,eAAO,MAAM,IAAI,QAAS,GAAG,SAG5B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAS,GAAG,SAG7B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,GAAG,QAAQ,MAAM,SAG5C,CAAC;AAIF,cAAM,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC/C,OAAO,OAAQ;IAEf,OAAO,QAAS,GAAG,UAEjB;IAEF,MAAM;IAgBN,IAAI,aAGF;IAEF,KAAK,aAGH;IAEF,oBAAoB;CAIrB;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,iBAAiB,MAAM,GAAG,IAAI,SAErE,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAiBhE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,6BAA6B;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,KAAK,EACD,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,WAAW,GACX,SAAS,GACT,mBAAmB,GACnB,kBAAkB,CAAC;CACxB;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,WAAW,EACP,qBAAqB,GACrB,WAAW,GACX,yBAAyB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,+BAA+B,GAC/B,uBAAuB,CAAC;KAC7B,KAAK,IAAI,CAAC;CACZ;AAED,eAAO,MAAM,IAAI,QAAS,GAAG,SAG5B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAS,GAAG,SAG7B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,GAAG,QAAQ,MAAM,SAG5C,CAAC;AAIF,cAAM,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC/C,OAAO,OAAQ;IAEf,OAAO,QAAS,GAAG,UAEjB;IAEF,MAAM;IAiBN,IAAI,aAGF;IAEF,KAAK,aAGH;IAEF,oBAAoB;CAIrB;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,iBAAiB,MAAM,GAAG,IAAI,SAErE,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -27,7 +27,7 @@ interface PlayerEventMedataLoaded {
27
27
  duration: number;
28
28
  }
29
29
  interface PlayerEvent {
30
- event: 'play' | 'pause' | 'ended' | 'muted' | 'unmuted' | 'buffering' | 'playing';
30
+ event: 'play' | 'pause' | 'ended' | 'muted' | 'unmuted' | 'buffering' | 'playing' | 'onEnterFullScreen' | 'onExitFullScreen';
31
31
  }
32
32
  interface Props {
33
33
  style?: ViewStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAgBhE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,6BAA6B;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,KAAK,EACD,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,WAAW,GACX,SAAS,CAAC;CACf;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,WAAW,EACP,qBAAqB,GACrB,WAAW,GACX,yBAAyB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,+BAA+B,GAC/B,uBAAuB,CAAC;KAC7B,KAAK,IAAI,CAAC;CACZ;AAED,eAAO,MAAM,IAAI,QAAS,GAAG,SAG5B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAS,GAAG,SAG7B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,GAAG,QAAQ,MAAM,SAG5C,CAAC;AAIF,cAAM,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC/C,OAAO,OAAQ;IAEf,OAAO,QAAS,GAAG,UAEjB;IAEF,MAAM;IAgBN,IAAI,aAGF;IAEF,KAAK,aAGH;IAEF,oBAAoB;CAIrB;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,iBAAiB,MAAM,GAAG,IAAI,SAErE,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAEtB,KAAK,oBAAoB,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAiBhE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,6BAA6B;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,+BAA+B;IACvC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,KAAK,EACD,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,WAAW,GACX,SAAS,GACT,mBAAmB,GACnB,kBAAkB,CAAC;CACxB;AAED,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,WAAW,EACP,qBAAqB,GACrB,WAAW,GACX,yBAAyB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,+BAA+B,GAC/B,uBAAuB,CAAC;KAC7B,KAAK,IAAI,CAAC;CACZ;AAED,eAAO,MAAM,IAAI,QAAS,GAAG,SAG5B,CAAC;AAEF,eAAO,MAAM,KAAK,QAAS,GAAG,SAG7B,CAAC;AAEF,eAAO,MAAM,MAAM,QAAS,GAAG,QAAQ,MAAM,SAG5C,CAAC;AAIF,cAAM,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAC/C,OAAO,OAAQ;IAEf,OAAO,QAAS,GAAG,UAEjB;IAEF,MAAM;IAiBN,IAAI,aAGF;IAEF,KAAK,aAGH;IAEF,oBAAoB;CAIrB;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,iBAAiB,MAAM,GAAG,IAAI,SAErE,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spalla-player",
3
- "version": "0.12.4",
3
+ "version": "0.12.6",
4
4
  "description": "Spalla SDK for RN",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
- s.dependency "SpallaSDK", "~> 2.2.0"
19
+ s.dependency "SpallaSDK", "~> 2.2.1"
20
20
 
21
21
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
22
22
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
package/src/index.tsx CHANGED
@@ -14,6 +14,7 @@ interface RNSpallaPlayerProps {
14
14
  startTime: number;
15
15
  subtitle?: String | null;
16
16
  playbackRate?: allowedPlaybackRates;
17
+ hideUI?: boolean;
17
18
  ref?: (ref: any) => void;
18
19
  }
19
20
 
@@ -61,7 +62,9 @@ interface PlayerEvent {
61
62
  | 'muted'
62
63
  | 'unmuted'
63
64
  | 'buffering'
64
- | 'playing';
65
+ | 'playing'
66
+ | 'onEnterFullScreen'
67
+ | 'onExitFullScreen';
65
68
  }
66
69
 
67
70
  interface Props {
@@ -111,7 +114,7 @@ class SpallaPlayer extends React.Component<Props> {
111
114
  };
112
115
 
113
116
  render() {
114
- const { style, startTime, playbackRate } = this.props;
117
+ const { style, startTime, playbackRate, hideUI } = this.props;
115
118
 
116
119
  return (
117
120
  <RNSpallaPlayer
@@ -120,6 +123,7 @@ class SpallaPlayer extends React.Component<Props> {
120
123
  style={style}
121
124
  startTime={startTime ?? 0}
122
125
  playbackRate={playbackRate ?? 1.0}
126
+ hideUI={hideUI ?? false}
123
127
  >
124
128
  {this.props.children}
125
129
  </RNSpallaPlayer>