diff --git a/app/src/main/java/dev/jdtech/jellyfin/PlayerActivity.kt b/app/src/main/java/dev/jdtech/jellyfin/PlayerActivity.kt index 7ff211ae..13aaccb1 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/PlayerActivity.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/PlayerActivity.kt @@ -2,11 +2,9 @@ package dev.jdtech.jellyfin import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.view.View import android.view.WindowManager import androidx.activity.viewModels -import androidx.core.view.WindowCompat -import androidx.core.view.WindowInsetsCompat -import androidx.core.view.WindowInsetsControllerCompat import androidx.navigation.navArgs import com.google.android.exoplayer2.ui.StyledPlayerView import dagger.hilt.android.AndroidEntryPoint @@ -45,23 +43,14 @@ class PlayerActivity : AppCompatActivity() { hideSystemUI() } - override fun onDestroy() { - super.onDestroy() - Timber.d("Destroying player activity") - showSystemUI() - } - + @Suppress("DEPRECATION") private fun hideSystemUI() { - WindowCompat.setDecorFitsSystemWindows(window, false) - WindowInsetsControllerCompat(window, playerView).let { controller -> - controller.hide(WindowInsetsCompat.Type.systemBars()) - controller.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE - } - } + // These methods are deprecated but we still use them because the new WindowInsetsControllerCompat has a bug which makes the action bar reappear + window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or + View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or + View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) - private fun showSystemUI() { - WindowCompat.setDecorFitsSystemWindows(window, true) - WindowInsetsControllerCompat(window, playerView).show(WindowInsetsCompat.Type.systemBars()) + window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) } }