From 35375f47d54c7f454b7352e31f2c982a859ea07f Mon Sep 17 00:00:00 2001 From: Krzysztof Moch Date: Wed, 30 Apr 2025 16:04:17 +0200 Subject: [PATCH] fix(android): cannot disable native controls --- .../HybridVideoViewViewManager.kt | 6 +++++- .../android/src/main/java/com/video/view/VideoView.kt | 11 ++++++++++- packages/react-native-video/package.json | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/react-native-video/android/src/main/java/com/video/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt b/packages/react-native-video/android/src/main/java/com/video/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt index 235012c7..c1d50d58 100644 --- a/packages/react-native-video/android/src/main/java/com/video/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt +++ b/packages/react-native-video/android/src/main/java/com/video/hybrids/videoviewviewmanager/HybridVideoViewViewManager.kt @@ -62,7 +62,11 @@ class HybridVideoViewViewManager(nitroId: Int): HybridVideoViewViewManagerSpec() videoView.get()?.pictureInPictureEnabled = value } - override var controls: Boolean = false + override var controls: Boolean + get() = videoView.get()?.useController == true + set(value) { + videoView.get()?.useController = value + } override val memorySize: Long get() = 0 diff --git a/packages/react-native-video/android/src/main/java/com/video/view/VideoView.kt b/packages/react-native-video/android/src/main/java/com/video/view/VideoView.kt index 813375a4..4ac5ab42 100644 --- a/packages/react-native-video/android/src/main/java/com/video/view/VideoView.kt +++ b/packages/react-native-video/android/src/main/java/com/video/view/VideoView.kt @@ -25,6 +25,7 @@ import com.video.core.activities.FullscreenVideoViewActivity import com.video.core.fragments.PictureInPictureHelperFragment import com.video.core.utils.PictureInPictureUtils.canEnterPictureInPicture import com.video.core.utils.PictureInPictureUtils.createPictureInPictureParams +import com.video.core.utils.Threading.runOnMainThread @UnstableApi class VideoView @JvmOverloads constructor( @@ -68,13 +69,21 @@ class VideoView @JvmOverloads constructor( } } - var useController: Boolean = true + var useController: Boolean = false + set(value) { + field = value + runOnMainThread { + playerView.useController = value + } + } + var pictureInPictureEnabled: Boolean = false var onNitroIdChange: ((Int?) -> Unit)? = null var playerView = PlayerView(context).apply { layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) setShutterBackgroundColor(Color.TRANSPARENT) + useController = false } var isInFullscreen: Boolean = false var isInPictureInPicture: Boolean = false diff --git a/packages/react-native-video/package.json b/packages/react-native-video/package.json index a0d29f8f..454cb9df 100644 --- a/packages/react-native-video/package.json +++ b/packages/react-native-video/package.json @@ -1,6 +1,6 @@ { "name": "react-native-video", - "version": "7.0.0-dev.1", + "version": "7.0.0-dev.2", "description": "