From ea45dd8ab8a3436bc7a66346d3297a2fd3ab44d8 Mon Sep 17 00:00:00 2001 From: Hamza Israr Date: Fri, 2 Aug 2024 01:51:55 +0500 Subject: [PATCH 1/3] fix: Open in External Browser Pop-Up for Bachelor's Degrees --- .../openedx/discovery/presentation/info/CourseInfoFragment.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/discovery/src/main/java/org/openedx/discovery/presentation/info/CourseInfoFragment.kt b/discovery/src/main/java/org/openedx/discovery/presentation/info/CourseInfoFragment.kt index b3b3275eb..d34233f1b 100644 --- a/discovery/src/main/java/org/openedx/discovery/presentation/info/CourseInfoFragment.kt +++ b/discovery/src/main/java/org/openedx/discovery/presentation/info/CourseInfoFragment.kt @@ -347,9 +347,6 @@ private fun CourseInfoWebView( factory = { webView }, - update = { - webView.loadUrl(contentUrl) - } ) } From 6d4cb3a4e3c473e3724a58784ddeb4321c7e4bd3 Mon Sep 17 00:00:00 2001 From: Hamza Israr Date: Fri, 2 Aug 2024 01:54:50 +0500 Subject: [PATCH 2/3] fix: Multiple videos playing simultaneously --- .../course/presentation/unit/video/VideoUnitFragment.kt | 2 +- .../presentation/unit/video/YoutubeVideoUnitFragment.kt | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt b/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt index d92b3b067..2f0b12337 100644 --- a/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt +++ b/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt @@ -201,7 +201,7 @@ class VideoUnitFragment : Fragment(R.layout.fragment_video_unit) { if (!viewModel.isPlayerSetUp) { setPlayerMedia(mediaItem) viewModel.getActivePlayer()?.prepare() - viewModel.getActivePlayer()?.playWhenReady = viewModel.isPlaying + viewModel.getActivePlayer()?.playWhenReady = viewModel.isPlaying && isResumed viewModel.isPlayerSetUp = true } diff --git a/course/src/main/java/org/openedx/course/presentation/unit/video/YoutubeVideoUnitFragment.kt b/course/src/main/java/org/openedx/course/presentation/unit/video/YoutubeVideoUnitFragment.kt index 8ee99b970..e6b04687d 100644 --- a/course/src/main/java/org/openedx/course/presentation/unit/video/YoutubeVideoUnitFragment.kt +++ b/course/src/main/java/org/openedx/course/presentation/unit/video/YoutubeVideoUnitFragment.kt @@ -84,6 +84,13 @@ class YoutubeVideoUnitFragment : Fragment(R.layout.fragment_youtube_video_unit) return binding.root } + override fun onResume() { + super.onResume() + if (viewModel.isPlaying) { + _youTubePlayer?.play() + } + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -202,7 +209,7 @@ class YoutubeVideoUnitFragment : Fragment(R.layout.fragment_youtube_video_unit) } viewModel.videoUrl.split("watch?v=").getOrNull(1)?.let { videoId -> - if (viewModel.isPlaying) { + if (viewModel.isPlaying && isResumed) { youTubePlayer.loadVideo( videoId, viewModel.getCurrentVideoTime().toFloat() / 1000 ) From 4a7292a812475f094d09aa1200dc328b60f0e771 Mon Sep 17 00:00:00 2001 From: Hamza Israr Date: Fri, 2 Aug 2024 02:17:28 +0500 Subject: [PATCH 3/3] fix: Retain Video Seek Time when Exiting Fullscreen in Native Videos --- .../openedx/course/presentation/unit/video/VideoUnitFragment.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt b/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt index 2f0b12337..276f48574 100644 --- a/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt +++ b/course/src/main/java/org/openedx/course/presentation/unit/video/VideoUnitFragment.kt @@ -204,6 +204,7 @@ class VideoUnitFragment : Fragment(R.layout.fragment_video_unit) { viewModel.getActivePlayer()?.playWhenReady = viewModel.isPlaying && isResumed viewModel.isPlayerSetUp = true } + viewModel.getActivePlayer()?.seekTo(viewModel.getCurrentVideoTime()) viewModel.castPlayer?.setSessionAvailabilityListener( object : SessionAvailabilityListener {