diff --git a/android/src/main/java/com/brentvatne/exoplayer/PictureInPictureUtil.kt b/android/src/main/java/com/brentvatne/exoplayer/PictureInPictureUtil.kt index 3e3088a2..5e36ef25 100644 --- a/android/src/main/java/com/brentvatne/exoplayer/PictureInPictureUtil.kt +++ b/android/src/main/java/com/brentvatne/exoplayer/PictureInPictureUtil.kt @@ -180,10 +180,14 @@ object PictureInPictureUtil { private fun checkIsSystemSupportPIP(context: ThemedReactContext): Boolean { val activity = context.findActivity() ?: return false - val activityInfo = activity.packageManager.getActivityInfo(activity.componentName, PackageManager.GET_META_DATA) - // detect current activity's android:supportsPictureInPicture value defined within AndroidManifest.xml - // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/content/pm/ActivityInfo.java;l=1090-1093;drc=7651f0a4c059a98f32b0ba30cd64500bf135385f - val isActivitySupportPip = activityInfo.flags and FLAG_SUPPORTS_PICTURE_IN_PICTURE != 0 + val isActivitySupportPip = try { + val activityInfo = activity.packageManager.getActivityInfo(activity.componentName, PackageManager.GET_META_DATA) + // detect current activity's android:supportsPictureInPicture value defined within AndroidManifest.xml + // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/content/pm/ActivityInfo.java;l=1090-1093;drc=7651f0a4c059a98f32b0ba30cd64500bf135385f + activityInfo.flags and FLAG_SUPPORTS_PICTURE_IN_PICTURE != 0 + } catch (e: kotlin.Exception) { + false + } // PIP might be disabled on devices that have low RAM. val isPipAvailable = activity.packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)