From 8982ea2289cafc6811a3125024fdd2c701c07273 Mon Sep 17 00:00:00 2001 From: Koen J Date: Mon, 16 Mar 2026 15:52:31 +0100 Subject: [PATCH] Fix for Furilabs phone (thanks @Aleks K) --- .../mainactivity/main/VideoDetailFragment.kt | 20 ++++++++++++++++--- .../mainactivity/main/VideoDetailView.kt | 9 ++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt index 4c693230..0ef8bad1 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt @@ -459,7 +459,14 @@ class VideoDetailFragment() : MainFragment() { val params = _viewDetail?.getPictureInPictureParams(); if(params != null) { Logger.i(TAG, "enterPictureInPictureMode") - activity?.enterPictureInPictureMode(params); + + try { + activity?.enterPictureInPictureMode(params); + } catch(e: IllegalStateException) { + if(e.message?.contains("Device doesn't support picture-in-picture") != true) { + throw e + } + } } } @@ -470,8 +477,15 @@ class VideoDetailFragment() : MainFragment() { fun forcePictureInPicture() { val params = _viewDetail?.getPictureInPictureParams(); - if(params != null) - activity?.enterPictureInPictureMode(params); + if(params != null) { + try { + activity?.enterPictureInPictureMode(params); + } catch(e: IllegalStateException) { + if(e.message?.contains("Device doesn't support picture-in-picture") != true) { + throw e + } + } + } } fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean, isStop: Boolean, newConfig: Configuration) { try { diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 79d306bb..5bfd0a55 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -694,7 +694,14 @@ class VideoDetailView : ConstraintLayout { onShouldEnterPictureInPictureChanged.subscribe { val params = getPictureInPictureParams() - fragment.activity?.setPictureInPictureParams(params) + + try { + fragment.activity?.setPictureInPictureParams(params) + } catch(e: IllegalStateException) { + if(e.message?.contains("Device doesn't support picture-in-picture") != true) { + throw e + } + } } if (!isInEditMode) {