expo-libvlc-player 2.0.1 → 2.0.2

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.
@@ -1,7 +1,7 @@
1
1
  apply plugin: "com.android.library"
2
2
 
3
3
  group = "expo.modules.libvlcplayer"
4
- version = "2.0.1"
4
+ version = "2.0.2"
5
5
 
6
6
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
7
7
  apply from: expoModulesCorePlugin
@@ -27,7 +27,7 @@ android {
27
27
  namespace "expo.modules.libvlcplayer"
28
28
  defaultConfig {
29
29
  versionCode 1
30
- versionName "2.0.1"
30
+ versionName "2.0.2"
31
31
  consumerProguardFiles("proguard-rules.pro")
32
32
  }
33
33
  lintOptions {
@@ -151,7 +151,7 @@ class AudioFocusManager(
151
151
  pausePlayerIfUnmuted(player)
152
152
  } else {
153
153
  val volume = player.getVolume() / 20
154
- view.userVolume = volume
154
+ view.oldVolume = volume
155
155
  player.setVolume(volume)
156
156
  }
157
157
  }
@@ -166,7 +166,7 @@ class AudioFocusManager(
166
166
  playerView.get()?.let { view ->
167
167
  view.mediaPlayer?.let { player ->
168
168
  if (player.getVolume() > MIN_PLAYER_VOLUME) {
169
- player.setVolume(view.userVolume)
169
+ player.setVolume(view.oldVolume)
170
170
  }
171
171
  }
172
172
  }
@@ -42,7 +42,7 @@ class LibVlcPlayerView(
42
42
  private var shouldCreate: Boolean = false
43
43
 
44
44
  internal var mediaLength: Long = 0L
45
- internal var userVolume: Int = MAX_PLAYER_VOLUME
45
+ internal var oldVolume: Int = MAX_PLAYER_VOLUME
46
46
  internal var firstPlay: Boolean = false
47
47
 
48
48
  internal val onBuffering by EventDispatcher()
@@ -276,7 +276,7 @@ class LibVlcPlayerView(
276
276
  }
277
277
  }
278
278
 
279
- var options: ArrayList<String> = ArrayList<String>()
279
+ var options: ArrayList<String> = ArrayList()
280
280
  set(value) {
281
281
  val old = field
282
282
  field = value
@@ -292,12 +292,13 @@ class LibVlcPlayerView(
292
292
  setPlayerTracks()
293
293
  }
294
294
 
295
- var slaves: ArrayList<Slave> = ArrayList<Slave>()
295
+ var slaves: ArrayList<Slave> = ArrayList()
296
296
  set(value) {
297
- val old = field
298
- field = value
297
+ val newSlaves = value.filter { it !in field }
298
+
299
+ field = field.apply { addAll(newSlaves) }
299
300
 
300
- if (value != old) {
301
+ if (!newSlaves.isEmpty()) {
301
302
  addPlayerSlaves()
302
303
  }
303
304
  }
@@ -332,7 +333,7 @@ class LibVlcPlayerView(
332
333
  }
333
334
 
334
335
  val newVolume = value.coerceIn(MIN_PLAYER_VOLUME, MAX_PLAYER_VOLUME)
335
- userVolume = newVolume
336
+ oldVolume = newVolume
336
337
 
337
338
  mediaPlayer?.let { player ->
338
339
  if (player.getVolume() > MIN_PLAYER_VOLUME) {
@@ -354,7 +355,7 @@ class LibVlcPlayerView(
354
355
  if (value) {
355
356
  MIN_PLAYER_VOLUME
356
357
  } else {
357
- userVolume
358
+ oldVolume
358
359
  }
359
360
 
360
361
  mediaPlayer?.setVolume(newVolume)
@@ -17,7 +17,7 @@ class LibVlcPlayerView: ExpoView {
17
17
  private var shouldCreate: Bool = false
18
18
 
19
19
  var mediaLength: Int32 = 0
20
- private var userVolume: Int = maxPlayerVolume
20
+ private var oldVolume: Int = maxPlayerVolume
21
21
  var firstPlay: Bool = false
22
22
 
23
23
  let onBuffering = EventDispatcher()
@@ -245,9 +245,16 @@ class LibVlcPlayerView: ExpoView {
245
245
  }
246
246
  }
247
247
 
248
- var slaves: [Slave] = .init() {
249
- didSet {
250
- if slaves != oldValue {
248
+ private var _slaves: [Slave] = .init()
249
+
250
+ var slaves: [Slave] {
251
+ get { _slaves }
252
+ set {
253
+ let newSlaves = newValue.filter { !_slaves.contains($0) }
254
+
255
+ _slaves += newSlaves
256
+
257
+ if !newSlaves.isEmpty {
251
258
  addPlayerSlaves()
252
259
  }
253
260
  }
@@ -288,7 +295,7 @@ class LibVlcPlayerView: ExpoView {
288
295
  }
289
296
 
290
297
  let newVolume = max(minPlayerVolume, min(maxPlayerVolume, volume))
291
- userVolume = newVolume
298
+ oldVolume = newVolume
292
299
 
293
300
  if let player = mediaPlayer, let audio = player.audio {
294
301
  if audio.volume > minPlayerVolume {
@@ -307,7 +314,7 @@ class LibVlcPlayerView: ExpoView {
307
314
 
308
315
  let newVolume = mute ?
309
316
  minPlayerVolume :
310
- userVolume
317
+ oldVolume
311
318
 
312
319
  mediaPlayer?.audio?.volume = Int32(newVolume)
313
320
  MediaPlayerManager.shared.setAppropriateAudioSession()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-libvlc-player",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "LibVLC Player for Expo",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",