expo-video 2.2.1 → 2.2.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.
- package/CHANGELOG.md +6 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/video/FullscreenPlayerActivity.kt +6 -2
- package/android/src/main/java/expo/modules/video/VideoView.kt +35 -31
- package/android/src/main/java/expo/modules/video/player/PlayerEvent.kt +2 -1
- package/android/src/main/java/expo/modules/video/player/VideoPlayerListener.kt +3 -0
- package/android/src/main/java/expo/modules/video/utils/PictureInPictureUtils.kt +36 -3
- package/expo-module.config.json +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.2.1/expo.modules.video-2.2.1-sources.jar → 2.2.2/expo.modules.video-2.2.2-sources.jar} +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2-sources.jar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2-sources.jar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2-sources.jar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2-sources.jar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.2.1/expo.modules.video-2.2.1.module → 2.2.2/expo.modules.video-2.2.2.module} +22 -22
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.module.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.module.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.module.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.module.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/{2.2.1/expo.modules.video-2.2.1.pom → 2.2.2/expo.modules.video-2.2.2.pom} +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.pom.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.pom.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.pom.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.pom.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml +4 -4
- package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/maven-metadata.xml.sha512 +1 -1
- package/package.json +2 -2
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1-sources.jar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1-sources.jar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1-sources.jar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1-sources.jar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.module.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.module.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.module.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.module.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.pom.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.pom.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.pom.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 2.2.2 — 2025-06-18
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- [Android] Fix aspect ratio of the Picture in Picture window when auto-entering for sources with ratio different from 16:9. ([#37225](https://github.com/expo/expo/pull/37225) by [@behenate](https://github.com/behenate))
|
|
18
|
+
|
|
13
19
|
## 2.2.1 — 2025-06-10
|
|
14
20
|
|
|
15
21
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -12,8 +12,9 @@ import android.widget.ImageButton
|
|
|
12
12
|
import androidx.media3.ui.PlayerView
|
|
13
13
|
import expo.modules.kotlin.exception.CodedException
|
|
14
14
|
import expo.modules.video.player.VideoPlayer
|
|
15
|
-
import expo.modules.video.utils.
|
|
15
|
+
import expo.modules.video.utils.applyPiPParams
|
|
16
16
|
import expo.modules.video.utils.applyRectHint
|
|
17
|
+
import expo.modules.video.utils.calculatePiPAspectRatio
|
|
17
18
|
import expo.modules.video.utils.calculateRectHint
|
|
18
19
|
|
|
19
20
|
@androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class)
|
|
@@ -44,7 +45,10 @@ class FullscreenPlayerActivity : Activity() {
|
|
|
44
45
|
videoPlayer = videoView.videoPlayer
|
|
45
46
|
videoPlayer?.changePlayerView(playerView)
|
|
46
47
|
VideoManager.registerFullscreenPlayerActivity(hashCode().toString(), this)
|
|
47
|
-
|
|
48
|
+
playerView.player?.let {
|
|
49
|
+
val aspectRatio = calculatePiPAspectRatio(it.videoSize, playerView.width, playerView.height, videoView.contentFit)
|
|
50
|
+
applyPiPParams(this, videoView.autoEnterPiP, aspectRatio)
|
|
51
|
+
}
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
override fun onPostCreate(savedInstanceState: Bundle?) {
|
|
@@ -15,6 +15,7 @@ import android.widget.FrameLayout
|
|
|
15
15
|
import android.widget.ImageButton
|
|
16
16
|
import androidx.fragment.app.FragmentActivity
|
|
17
17
|
import androidx.media3.common.Tracks
|
|
18
|
+
import androidx.media3.common.VideoSize
|
|
18
19
|
import androidx.media3.ui.PlayerView
|
|
19
20
|
import com.facebook.react.bridge.ReactContext
|
|
20
21
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
@@ -27,8 +28,13 @@ import expo.modules.video.delegates.IgnoreSameSet
|
|
|
27
28
|
import expo.modules.video.enums.ContentFit
|
|
28
29
|
import expo.modules.video.player.VideoPlayer
|
|
29
30
|
import expo.modules.video.player.VideoPlayerListener
|
|
30
|
-
import expo.modules.video.
|
|
31
|
+
import expo.modules.video.records.AudioTrack
|
|
32
|
+
import expo.modules.video.records.SubtitleTrack
|
|
33
|
+
import expo.modules.video.records.VideoSource
|
|
34
|
+
import expo.modules.video.records.VideoTrack
|
|
35
|
+
import expo.modules.video.utils.applyPiPParams
|
|
31
36
|
import expo.modules.video.utils.applyRectHint
|
|
37
|
+
import expo.modules.video.utils.calculatePiPAspectRatio
|
|
32
38
|
import expo.modules.video.utils.calculateRectHint
|
|
33
39
|
import expo.modules.video.utils.dispatchMotionEvent
|
|
34
40
|
import java.util.UUID
|
|
@@ -82,7 +88,7 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
82
88
|
}
|
|
83
89
|
|
|
84
90
|
var autoEnterPiP: Boolean by IgnoreSameSet(false) { new, _ ->
|
|
85
|
-
|
|
91
|
+
applyPiPParams(currentActivity, new, calculateCurrentPipAspectRatio())
|
|
86
92
|
}
|
|
87
93
|
|
|
88
94
|
var contentFit: ContentFit = ContentFit.CONTAIN
|
|
@@ -178,7 +184,7 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
178
184
|
currentActivity.overridePendingTransition(0, 0)
|
|
179
185
|
}
|
|
180
186
|
onFullscreenEnter(Unit)
|
|
181
|
-
|
|
187
|
+
applyPiPParams(currentActivity, false, calculateCurrentPipAspectRatio())
|
|
182
188
|
}
|
|
183
189
|
|
|
184
190
|
fun attachPlayer() {
|
|
@@ -192,7 +198,7 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
192
198
|
attachPlayer()
|
|
193
199
|
onFullscreenExit(Unit)
|
|
194
200
|
isInFullscreen = false
|
|
195
|
-
|
|
201
|
+
applyPiPParams(currentActivity, autoEnterPiP, calculateCurrentPipAspectRatio())
|
|
196
202
|
}
|
|
197
203
|
|
|
198
204
|
fun enterPictureInPicture() {
|
|
@@ -203,32 +209,9 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
203
209
|
val player = playerView.player
|
|
204
210
|
?: throw PictureInPictureEnterException("No player attached to the VideoView")
|
|
205
211
|
playerView.useController = false
|
|
206
|
-
|
|
207
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
208
|
-
var aspectRatio = if (contentFit == ContentFit.CONTAIN) {
|
|
209
|
-
Rational(player.videoSize.width, player.videoSize.height)
|
|
210
|
-
} else {
|
|
211
|
-
Rational(width, height)
|
|
212
|
-
}
|
|
213
|
-
// AspectRatio for the activity in picture-in-picture, must be between 2.39:1 and 1:2.39 (inclusive).
|
|
214
|
-
// https://developer.android.com/reference/android/app/PictureInPictureParams.Builder#setAspectRatio(android.util.Rational)
|
|
215
|
-
val maximumRatio = Rational(239, 100)
|
|
216
|
-
val minimumRatio = Rational(100, 239)
|
|
217
|
-
if (aspectRatio.toFloat() > maximumRatio.toFloat()) {
|
|
218
|
-
aspectRatio = maximumRatio
|
|
219
|
-
} else if (aspectRatio.toFloat() < minimumRatio.toFloat()) {
|
|
220
|
-
aspectRatio = minimumRatio
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
currentActivity.setPictureInPictureParams(
|
|
224
|
-
PictureInPictureParams
|
|
225
|
-
.Builder()
|
|
226
|
-
.setAspectRatio(aspectRatio)
|
|
227
|
-
.build()
|
|
228
|
-
)
|
|
229
|
-
}
|
|
230
|
-
|
|
212
|
+
applyPiPParams(currentActivity, autoEnterPiP, calculateCurrentPipAspectRatio())
|
|
231
213
|
willEnterPiP = true
|
|
214
|
+
|
|
232
215
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
233
216
|
currentActivity.enterPictureInPictureMode(PictureInPictureParams.Builder().build())
|
|
234
217
|
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
|
@@ -237,6 +220,11 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
237
220
|
}
|
|
238
221
|
}
|
|
239
222
|
|
|
223
|
+
private fun calculateCurrentPipAspectRatio(): Rational? {
|
|
224
|
+
val player = videoPlayer?.player ?: return null
|
|
225
|
+
return calculatePiPAspectRatio(player.videoSize, this.width, this.height, contentFit)
|
|
226
|
+
}
|
|
227
|
+
|
|
240
228
|
/**
|
|
241
229
|
* For optimal picture in picture experience it's best to only have one view. This method
|
|
242
230
|
* hides all children of the root view and makes the player the only visible child of the rootView.
|
|
@@ -263,6 +251,22 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
263
251
|
this.addView(playerView)
|
|
264
252
|
}
|
|
265
253
|
|
|
254
|
+
override fun onVideoSourceLoaded(
|
|
255
|
+
player: VideoPlayer,
|
|
256
|
+
videoSource: VideoSource?,
|
|
257
|
+
duration: Double?,
|
|
258
|
+
availableVideoTracks: List<VideoTrack>,
|
|
259
|
+
availableSubtitleTracks: List<SubtitleTrack>,
|
|
260
|
+
availableAudioTracks: List<AudioTrack>
|
|
261
|
+
) {
|
|
262
|
+
availableVideoTracks.firstOrNull()?.let {
|
|
263
|
+
val videoSize = VideoSize(it.size.width, it.size.height)
|
|
264
|
+
val aspectRatio = calculatePiPAspectRatio(videoSize, this.width, this.height, contentFit)
|
|
265
|
+
applyPiPParams(currentActivity, autoEnterPiP, aspectRatio)
|
|
266
|
+
}
|
|
267
|
+
super.onVideoSourceLoaded(player, videoSource, duration, availableVideoTracks, availableSubtitleTracks, availableAudioTracks)
|
|
268
|
+
}
|
|
269
|
+
|
|
266
270
|
override fun onTracksChanged(player: VideoPlayer, tracks: Tracks) {
|
|
267
271
|
showsSubtitlesButton = player.subtitles.availableSubtitleTracks.isNotEmpty()
|
|
268
272
|
showsAudioTracksButton = player.audioTracks.availableAudioTracks.size > 1
|
|
@@ -302,7 +306,7 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
302
306
|
.add(fragment, fragment.id)
|
|
303
307
|
.commitAllowingStateLoss()
|
|
304
308
|
}
|
|
305
|
-
|
|
309
|
+
applyPiPParams(currentActivity, autoEnterPiP)
|
|
306
310
|
}
|
|
307
311
|
|
|
308
312
|
override fun onDetachedFromWindow() {
|
|
@@ -314,7 +318,7 @@ open class VideoView(context: Context, appContext: AppContext, useTextureView: B
|
|
|
314
318
|
.remove(fragment)
|
|
315
319
|
.commitAllowingStateLoss()
|
|
316
320
|
}
|
|
317
|
-
|
|
321
|
+
applyPiPParams(currentActivity, false)
|
|
318
322
|
}
|
|
319
323
|
|
|
320
324
|
// After adding the `PlayerView` to the hierarchy the touch events stop being emitted to the JS side.
|
|
@@ -156,7 +156,8 @@ sealed class PlayerEvent {
|
|
|
156
156
|
is AudioMixingModeChanged -> listeners.forEach { it.onAudioMixingModeChanged(player, audioMixingMode, oldAudioMixingMode) }
|
|
157
157
|
is VideoTrackChanged -> listeners.forEach { it.onVideoTrackChanged(player, videoTrack, oldVideoTrack) }
|
|
158
158
|
is RenderedFirstFrame -> listeners.forEach { it.onRenderedFirstFrame(player) }
|
|
159
|
-
|
|
159
|
+
is VideoSourceLoaded -> listeners.forEach { it.onVideoSourceLoaded(player, videoSource, duration, availableVideoTracks, availableSubtitleTracks, availableAudioTracks) }
|
|
160
|
+
// JS-only events - SubtitleTrackChanged - In the native events the TracksChanged can be used instead
|
|
160
161
|
else -> Unit
|
|
161
162
|
}
|
|
162
163
|
}
|
|
@@ -6,7 +6,9 @@ import androidx.media3.common.Tracks
|
|
|
6
6
|
import androidx.media3.common.util.UnstableApi
|
|
7
7
|
import expo.modules.video.enums.AudioMixingMode
|
|
8
8
|
import expo.modules.video.enums.PlayerStatus
|
|
9
|
+
import expo.modules.video.records.AudioTrack
|
|
9
10
|
import expo.modules.video.records.PlaybackError
|
|
11
|
+
import expo.modules.video.records.SubtitleTrack
|
|
10
12
|
import expo.modules.video.records.VideoSource
|
|
11
13
|
import expo.modules.video.records.TimeUpdate
|
|
12
14
|
import expo.modules.video.records.VideoTrack
|
|
@@ -25,5 +27,6 @@ interface VideoPlayerListener {
|
|
|
25
27
|
fun onPlayedToEnd(player: VideoPlayer) {}
|
|
26
28
|
fun onAudioMixingModeChanged(player: VideoPlayer, audioMixingMode: AudioMixingMode, oldAudioMixingMode: AudioMixingMode?) {}
|
|
27
29
|
fun onVideoTrackChanged(player: VideoPlayer, videoTrack: VideoTrack?, oldVideoTrack: VideoTrack?) {}
|
|
30
|
+
fun onVideoSourceLoaded(player: VideoPlayer, videoSource: VideoSource?, duration: Double?, availableVideoTracks: List<VideoTrack>, availableSubtitleTracks: List<SubtitleTrack>, availableAudioTracks: List<AudioTrack>) {}
|
|
28
31
|
fun onRenderedFirstFrame(player: VideoPlayer) {}
|
|
29
32
|
}
|
|
@@ -5,11 +5,14 @@ import android.app.PictureInPictureParams
|
|
|
5
5
|
import android.graphics.Rect
|
|
6
6
|
import android.os.Build
|
|
7
7
|
import android.util.Log
|
|
8
|
+
import android.util.Rational
|
|
8
9
|
import androidx.annotation.OptIn
|
|
10
|
+
import androidx.media3.common.VideoSize
|
|
9
11
|
import androidx.media3.common.util.UnstableApi
|
|
10
12
|
import androidx.media3.ui.PlayerView
|
|
11
13
|
import expo.modules.video.PictureInPictureConfigurationException
|
|
12
14
|
import expo.modules.video.VideoView.Companion.isPictureInPictureSupported
|
|
15
|
+
import expo.modules.video.enums.ContentFit
|
|
13
16
|
|
|
14
17
|
@OptIn(UnstableApi::class)
|
|
15
18
|
internal fun calculateRectHint(playerView: PlayerView): Rect {
|
|
@@ -34,6 +37,25 @@ internal fun calculateRectHint(playerView: PlayerView): Rect {
|
|
|
34
37
|
return hint
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
internal fun calculatePiPAspectRatio(videoSize: VideoSize, viewWidth: Int, viewHeight: Int, contentFit: ContentFit): Rational {
|
|
41
|
+
var aspectRatio = if (contentFit == ContentFit.CONTAIN) {
|
|
42
|
+
Rational(videoSize.width, videoSize.height)
|
|
43
|
+
} else {
|
|
44
|
+
Rational(viewWidth, viewHeight)
|
|
45
|
+
}
|
|
46
|
+
// AspectRatio for the activity in picture-in-picture, must be between 2.39:1 and 1:2.39 (inclusive).
|
|
47
|
+
// https://developer.android.com/reference/android/app/PictureInPictureParams.Builder#setAspectRatio(android.util.Rational)
|
|
48
|
+
val maximumRatio = Rational(239, 100)
|
|
49
|
+
val minimumRatio = Rational(100, 239)
|
|
50
|
+
|
|
51
|
+
if (aspectRatio.toFloat() > maximumRatio.toFloat()) {
|
|
52
|
+
aspectRatio = maximumRatio
|
|
53
|
+
} else if (aspectRatio.toFloat() < minimumRatio.toFloat()) {
|
|
54
|
+
aspectRatio = minimumRatio
|
|
55
|
+
}
|
|
56
|
+
return aspectRatio
|
|
57
|
+
}
|
|
58
|
+
|
|
37
59
|
internal fun applyRectHint(activity: Activity, rectHint: Rect) {
|
|
38
60
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isPictureInPictureSupported(activity)) {
|
|
39
61
|
runWithPiPMisconfigurationSoftHandling {
|
|
@@ -54,10 +76,21 @@ internal fun runWithPiPMisconfigurationSoftHandling(shouldThrow: Boolean = false
|
|
|
54
76
|
}
|
|
55
77
|
}
|
|
56
78
|
|
|
57
|
-
internal fun
|
|
58
|
-
|
|
79
|
+
internal fun applyPiPParams(activity: Activity, autoEnterPiP: Boolean, aspectRatio: Rational? = null) {
|
|
80
|
+
// If the aspect ratio exceeds the limits, the app will crash
|
|
81
|
+
val safeAspectRatio = aspectRatio?.takeIf { it.toFloat() in 0.41841..2.39 }
|
|
82
|
+
|
|
83
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isPictureInPictureSupported(activity)) {
|
|
84
|
+
val paramsBuilder = PictureInPictureParams.Builder()
|
|
85
|
+
|
|
86
|
+
safeAspectRatio?.let {
|
|
87
|
+
paramsBuilder.setAspectRatio(it)
|
|
88
|
+
}
|
|
89
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
90
|
+
paramsBuilder.setAutoEnterEnabled(autoEnterPiP)
|
|
91
|
+
}
|
|
59
92
|
runWithPiPMisconfigurationSoftHandling {
|
|
60
|
-
activity.setPictureInPictureParams(
|
|
93
|
+
activity.setPictureInPictureParams(paramsBuilder.build())
|
|
61
94
|
}
|
|
62
95
|
}
|
|
63
96
|
}
|
package/expo-module.config.json
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
43232c6b994aa62707fc93444f9c7d67
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a33b4081624352f22acb92aca557d517d8c71230
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c4f2762d81480d94819e4614974b2cc48cdb30dd642f5f41ef6f34cf4c8c62eb
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f975db42b36e2fa2257add07d2578e69d6ae2db1dbcb95ecc5acdc125478a875b8f415f36a864bee021a4876de7b7a5d96998334a8e7261b8a8d70eea3ea3505
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar
ADDED
|
Binary file
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.aar.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
db056851da411b8c57e1bf3c003b3998
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
94d97f10e11af0fac975db8b790292b45ba217ac
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
fc9e3b7f0743af34b778f40a90208e4826b241eb54c4c38e2f0727b2f68cf8a9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0777e51bc9f0d7b489e7a7b84cbf0e24209473fb829158755c276025179e3da1a6d3bdb6a659afe6672776df86142372dd3669759bc9b31fa2896c3f38b242f9
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "host.exp.exponent",
|
|
5
5
|
"module": "expo.modules.video",
|
|
6
|
-
"version": "2.2.
|
|
6
|
+
"version": "2.2.2",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.video-2.2.
|
|
28
|
-
"url": "expo.modules.video-2.2.
|
|
29
|
-
"size":
|
|
30
|
-
"sha512": "
|
|
31
|
-
"sha256": "
|
|
32
|
-
"sha1": "
|
|
33
|
-
"md5": "
|
|
27
|
+
"name": "expo.modules.video-2.2.2.aar",
|
|
28
|
+
"url": "expo.modules.video-2.2.2.aar",
|
|
29
|
+
"size": 447241,
|
|
30
|
+
"sha512": "0777e51bc9f0d7b489e7a7b84cbf0e24209473fb829158755c276025179e3da1a6d3bdb6a659afe6672776df86142372dd3669759bc9b31fa2896c3f38b242f9",
|
|
31
|
+
"sha256": "fc9e3b7f0743af34b778f40a90208e4826b241eb54c4c38e2f0727b2f68cf8a9",
|
|
32
|
+
"sha1": "94d97f10e11af0fac975db8b790292b45ba217ac",
|
|
33
|
+
"md5": "db056851da411b8c57e1bf3c003b3998"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
},
|
|
@@ -113,13 +113,13 @@
|
|
|
113
113
|
],
|
|
114
114
|
"files": [
|
|
115
115
|
{
|
|
116
|
-
"name": "expo.modules.video-2.2.
|
|
117
|
-
"url": "expo.modules.video-2.2.
|
|
118
|
-
"size":
|
|
119
|
-
"sha512": "
|
|
120
|
-
"sha256": "
|
|
121
|
-
"sha1": "
|
|
122
|
-
"md5": "
|
|
116
|
+
"name": "expo.modules.video-2.2.2.aar",
|
|
117
|
+
"url": "expo.modules.video-2.2.2.aar",
|
|
118
|
+
"size": 447241,
|
|
119
|
+
"sha512": "0777e51bc9f0d7b489e7a7b84cbf0e24209473fb829158755c276025179e3da1a6d3bdb6a659afe6672776df86142372dd3669759bc9b31fa2896c3f38b242f9",
|
|
120
|
+
"sha256": "fc9e3b7f0743af34b778f40a90208e4826b241eb54c4c38e2f0727b2f68cf8a9",
|
|
121
|
+
"sha1": "94d97f10e11af0fac975db8b790292b45ba217ac",
|
|
122
|
+
"md5": "db056851da411b8c57e1bf3c003b3998"
|
|
123
123
|
}
|
|
124
124
|
]
|
|
125
125
|
},
|
|
@@ -133,13 +133,13 @@
|
|
|
133
133
|
},
|
|
134
134
|
"files": [
|
|
135
135
|
{
|
|
136
|
-
"name": "expo.modules.video-2.2.
|
|
137
|
-
"url": "expo.modules.video-2.2.
|
|
138
|
-
"size":
|
|
139
|
-
"sha512": "
|
|
140
|
-
"sha256": "
|
|
141
|
-
"sha1": "
|
|
142
|
-
"md5": "
|
|
136
|
+
"name": "expo.modules.video-2.2.2-sources.jar",
|
|
137
|
+
"url": "expo.modules.video-2.2.2-sources.jar",
|
|
138
|
+
"size": 53088,
|
|
139
|
+
"sha512": "f975db42b36e2fa2257add07d2578e69d6ae2db1dbcb95ecc5acdc125478a875b8f415f36a864bee021a4876de7b7a5d96998334a8e7261b8a8d70eea3ea3505",
|
|
140
|
+
"sha256": "c4f2762d81480d94819e4614974b2cc48cdb30dd642f5f41ef6f34cf4c8c62eb",
|
|
141
|
+
"sha1": "a33b4081624352f22acb92aca557d517d8c71230",
|
|
142
|
+
"md5": "43232c6b994aa62707fc93444f9c7d67"
|
|
143
143
|
}
|
|
144
144
|
]
|
|
145
145
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
84231c2e30587c39c9aa356d5d61ad5f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
22a2ccd5ec7569472cb1ffacf4ce48b388f113b9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
9417376d37c0968b5f7afcea49068ba156ac752fe1ef6b0e6608d6c83774ad7d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0aaeb765ff81d10522b0df7f4a1f5c11e02d69262cba0df0b4a7fb9592f2888f9dca31f1d320732d8ba4fbba248937d6326203a2c75540157b6d42acfb96c533
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>host.exp.exponent</groupId>
|
|
11
11
|
<artifactId>expo.modules.video</artifactId>
|
|
12
|
-
<version>2.2.
|
|
12
|
+
<version>2.2.2</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.video</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.2/expo.modules.video-2.2.2.pom.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
117d2dfccc5a53d84f187142206733a2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d84503d8120e53ed771a44573972ce64411a5721
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5fd3113c3aa0268a60a477b588d13c9811af98d5bcc586b5fc14c362a2339092
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8fbd1782ccfad3d3525982111eeb4b12e3422ac7bfcdfd65af22956bdce3f701ce8106fef0ccbb1a2662a15f34c5e53adac651f27af2c585821ce8be95569626
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>host.exp.exponent</groupId>
|
|
4
4
|
<artifactId>expo.modules.video</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>2.2.
|
|
7
|
-
<release>2.2.
|
|
6
|
+
<latest>2.2.2</latest>
|
|
7
|
+
<release>2.2.2</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>2.2.
|
|
9
|
+
<version>2.2.2</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20250618190640</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
0e0fc95abac512b09e257bd8d6c5dcdc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cc6831afd35541a75752566714965d906c92307f
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
9816759f48af1f8c7d137b94f0716e987c4996b317449711a43a9e968a18adec
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
f460c7210f64dab2879bbac8eaad1114c0ffc9ccad58aaea8968b3184639fbad547042e33377e797ae1126068821c2b6b49bd49aedcf850156d3ee507f725764
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-video",
|
|
3
3
|
"title": "Expo Video",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.2",
|
|
5
5
|
"description": "A cross-platform, performant video component for React Native and Expo with Web support",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"types": "build/index.d.ts",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"react": "*",
|
|
39
39
|
"react-native": "*"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "cc3b641cc2e4e7686dca75e7029cf76a07b3d647"
|
|
42
42
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6e1f79fc8674bec45f35f95a4f8933f3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f26b20423aa775f88468456856f576c24bc8149b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ff54e2221752092ebdece914b77e4504b2864fc94504c8a1887ea67a2afa5ea0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c7c374ab88183e831ed5a80a5e7a6f9ef2d29d4157c7b9496e30a9f87b14c4952b1e867b29f8feedbab21badccdf1b751f3a20367d1970a5e814311d96618f0e
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar
DELETED
|
Binary file
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.aar.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b87e04623a8bc68b39b0d628a278460d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
06203802abf1c39df7bef9bddb6cf7dda03e6300
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0022fab08b59c4346e67a4bf573af546f4f0e7eb322aee1115335e035318fa2c
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a1501f7e947680eba85a049cf0520518bca4feca64832fbdc41383cb2c483f6253ecf8d429ad936966fcce1b0494175035399894dbce9c50f4765bd099edebf1
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cb55d9d9221ca022327d2de165aedbee
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
be39ceedddcaaf953d676467b3927f50e7ed548b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
53814f15e51286b6229b601265835761f6c64266002c3216fb933fda817efbb2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0954a801c43e9242b4db377ad2b306f55d0f85dea74e8cb11aa206ed7ff680d00ea98ed496496987c4ed87af271f01f16bfff9909ed713aec68321b9abb4704e
|
package/local-maven-repo/host/exp/exponent/expo.modules.video/2.2.1/expo.modules.video-2.2.1.pom.md5
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
8a19fd97be9c8431c90093d64de9b613
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0e372e48b5871a6a0626cd97273f6c85e835f4a9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b3296cfce3d47bb8a61f69e5faea5ce137f18fece4687b2e24310c974d0d97b5
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
bbd813cc4afc824a0160cbc648f16b3261b5f223cc78cd29135188337d54c7928cd90c7ec13e87991b7de47c4a4fab6b96e8db1775bcc503ade8fbf3ac036570
|