From 1375cfc877336401c9f12e40f8004da93ba25459 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Wed, 24 Jul 2024 15:15:45 +0200 Subject: [PATCH] get same orientation fullscreen fixed --- .../net/newpipe/newplayer/VideoPlayerView.kt | 14 ++++++-- .../newpipe/newplayer/testapp/MainActivity.kt | 36 +++++++++---------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/new-player/src/main/java/net/newpipe/newplayer/VideoPlayerView.kt b/new-player/src/main/java/net/newpipe/newplayer/VideoPlayerView.kt index 3e739cd..df5e22b 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/VideoPlayerView.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/VideoPlayerView.kt @@ -35,6 +35,12 @@ import net.newpipe.newplayer.ui.theme.VideoPlayerTheme class VideoPlayerView : FrameLayout { var viewModel: VideoPlayerViewModel? = null + set(value) { + field = value + applyViewModel() + } + + val composeView:ComposeView @JvmOverloads constructor( @@ -43,8 +49,12 @@ class VideoPlayerView : FrameLayout { defStyleAttr: Int = 0 ) : super(context, attrs, defStyleAttr) { val view = LayoutInflater.from(context).inflate(R.layout.video_player_view, this) - val composeView = view.findViewById(R.id.video_player_compose_view) + composeView = view.findViewById(R.id.video_player_compose_view) + applyViewModel() + } + + private fun applyViewModel() { composeView.apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) setContent { @@ -53,6 +63,6 @@ class VideoPlayerView : FrameLayout { } } } - } + } \ No newline at end of file diff --git a/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt b/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt index ac4c417..df22b4f 100644 --- a/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt +++ b/test-app/src/main/java/net/newpipe/newplayer/testapp/MainActivity.kt @@ -22,7 +22,6 @@ package net.newpipe.newplayer.testapp import android.os.Bundle import android.view.View -import android.webkit.RenderProcessGoneDetail import android.widget.Button import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels @@ -52,15 +51,15 @@ class MainActivity : AppCompatActivity() { enableEdgeToEdge() setContentView(R.layout.activity_main) - val video_view = findViewById(R.id.new_player_video_view) - val start_stream_button = findViewById