diff --git a/app/src/main/java/org/jellyfin/mobile/utils/extensions/Bundle.kt b/app/src/main/java/org/jellyfin/mobile/utils/extensions/Bundle.kt new file mode 100644 index 00000000..c7daed2d --- /dev/null +++ b/app/src/main/java/org/jellyfin/mobile/utils/extensions/Bundle.kt @@ -0,0 +1,9 @@ +package org.jellyfin.mobile.utils.extensions + +import android.os.Build +import android.os.Bundle + +inline fun Bundle.getParcelableCompat(key: String?): T? = when { + Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelable(key, T::class.java) + else -> @Suppress("DEPRECATION") getParcelable(key) +} diff --git a/app/src/main/java/org/jellyfin/mobile/webapp/WebViewFragment.kt b/app/src/main/java/org/jellyfin/mobile/webapp/WebViewFragment.kt index 22a373a1..4bec7ba3 100644 --- a/app/src/main/java/org/jellyfin/mobile/webapp/WebViewFragment.kt +++ b/app/src/main/java/org/jellyfin/mobile/webapp/WebViewFragment.kt @@ -54,6 +54,7 @@ import org.jellyfin.mobile.utils.applyDefault import org.jellyfin.mobile.utils.applyWindowInsetsAsMargins import org.jellyfin.mobile.utils.dip import org.jellyfin.mobile.utils.extensions.addFragment +import org.jellyfin.mobile.utils.extensions.getParcelableCompat import org.jellyfin.mobile.utils.extensions.replaceFragment import org.jellyfin.mobile.utils.fadeIn import org.jellyfin.mobile.utils.initLocale @@ -93,7 +94,9 @@ class WebViewFragment : Fragment(), NativePlayerHost { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - server = requireNotNull(requireArguments().getParcelable(FRAGMENT_WEB_VIEW_EXTRA_SERVER)) { "Server entity has not been supplied!" } + server = requireNotNull(requireArguments().getParcelableCompat(FRAGMENT_WEB_VIEW_EXTRA_SERVER)) { + "Server entity has not been supplied!" + } assetsPathHandler = AssetsPathHandler(requireContext()) externalPlayer = ExternalPlayer(requireContext(), this, requireActivity().activityResultRegistry)