simplify
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt b/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
diff --git a/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt b/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
||||||
index d4f83cc..a7b1d16 100644
|
index d4f83cc..b5f8461 100644
|
||||||
--- a/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
--- a/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
||||||
+++ b/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
+++ b/node_modules/@haileyok/bluesky-video/android/src/main/java/expo/modules/blueskyvideo/FullscreenActivity.kt
|
||||||
@@ -1,8 +1,12 @@
|
@@ -1,10 +1,15 @@
|
||||||
package expo.modules.blueskyvideo
|
package expo.modules.blueskyvideo
|
||||||
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
@@ -11,11 +11,14 @@ index d4f83cc..a7b1d16 100644
|
|||||||
+import android.view.View
|
+import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
+import android.view.WindowInsets
|
+import android.view.WindowInsets
|
||||||
+import android.view.WindowInsetsController
|
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
+import androidx.core.view.ViewCompat
|
||||||
|
+import androidx.core.view.WindowCompat
|
||||||
import androidx.media3.common.util.UnstableApi
|
import androidx.media3.common.util.UnstableApi
|
||||||
@@ -25,37 +29,54 @@ class FullscreenActivity : AppCompatActivity() {
|
import androidx.media3.ui.PlayerView
|
||||||
|
import java.lang.ref.WeakReference
|
||||||
|
@@ -25,40 +30,49 @@ class FullscreenActivity : AppCompatActivity() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,26 +26,31 @@ index d4f83cc..a7b1d16 100644
|
|||||||
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
- )
|
- )
|
||||||
-
|
+ // Enable edge-to-edge mode but keep navigation bar persistent
|
||||||
- val keepDisplayOn = this.getIntent().getBooleanExtra("keepDisplayOn", false)
|
+ WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
+ // Enable full-screen mode for older Android versions while avoiding double insets
|
|
||||||
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
|
|
||||||
+ @Suppress("DEPRECATION")
|
|
||||||
+ window.decorView.systemUiVisibility = (
|
|
||||||
+ View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
||||||
+ or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
||||||
+ or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
||||||
+ )
|
|
||||||
+ } else {
|
|
||||||
+ window.setDecorFitsSystemWindows(false)
|
|
||||||
+ }
|
|
||||||
|
|
||||||
+ // Keep screen on if requested
|
- val keepDisplayOn = this.getIntent().getBooleanExtra("keepDisplayOn", false)
|
||||||
+ val keepDisplayOn = this.intent.getBooleanExtra("keepDisplayOn", false)
|
-
|
||||||
if (keepDisplayOn) {
|
- if (keepDisplayOn) {
|
||||||
- this.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
- this.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
+ window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
+ val playerView = PlayerView(this).apply {
|
||||||
|
+ setBackgroundColor(Color.BLACK)
|
||||||
|
+ setShowSubtitleButton(true)
|
||||||
|
+ setShowNextButton(false)
|
||||||
|
+ setShowPreviousButton(false)
|
||||||
|
+ setFullscreenButtonClickListener {
|
||||||
|
+ finish()
|
||||||
|
+ }
|
||||||
|
+ layoutParams = ViewGroup.LayoutParams(
|
||||||
|
+ ViewGroup.LayoutParams.MATCH_PARENT,
|
||||||
|
+ ViewGroup.LayoutParams.MATCH_PARENT
|
||||||
|
+ )
|
||||||
|
+ useController = true
|
||||||
|
+ controllerAutoShow = false
|
||||||
|
+ controllerHideOnTouch = true
|
||||||
}
|
}
|
||||||
|
+ playerView.player = player
|
||||||
|
+ setContentView(playerView)
|
||||||
|
|
||||||
- // Update the player viewz
|
- // Update the player viewz
|
||||||
- val playerView =
|
- val playerView =
|
||||||
@@ -54,23 +62,12 @@ index d4f83cc..a7b1d16 100644
|
|||||||
- setFullscreenButtonClickListener {
|
- setFullscreenButtonClickListener {
|
||||||
- finish()
|
- finish()
|
||||||
- }
|
- }
|
||||||
+ // Update the player view with conditional insets
|
+ // Adjust layout for system insets to accommodate persistent nav bar
|
||||||
+ val playerView = PlayerView(this).apply {
|
+ ViewCompat.setOnApplyWindowInsetsListener(playerView) { view, insets ->
|
||||||
+ setBackgroundColor(Color.BLACK)
|
+ val systemBarsInsets = insets.getInsets(WindowInsets.Type.systemBars())
|
||||||
+ setShowSubtitleButton(true)
|
+ view.setPadding(0, systemBarsInsets.top, 0, systemBarsInsets.bottom)
|
||||||
+ setShowNextButton(false)
|
+ insets
|
||||||
+ setShowPreviousButton(false)
|
+ }
|
||||||
+ setFullscreenButtonClickListener {
|
|
||||||
+ finish()
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ layoutParams = ViewGroup.LayoutParams(
|
|
||||||
+ ViewGroup.LayoutParams.MATCH_PARENT,
|
|
||||||
+ ViewGroup.LayoutParams.MATCH_PARENT
|
|
||||||
+ )
|
|
||||||
+ useController = true
|
|
||||||
+ controllerAutoShow = false
|
|
||||||
+ controllerHideOnTouch = true
|
|
||||||
|
|
||||||
- layoutParams =
|
- layoutParams =
|
||||||
- ViewGroup.LayoutParams(
|
- ViewGroup.LayoutParams(
|
||||||
@@ -80,34 +77,22 @@ index d4f83cc..a7b1d16 100644
|
|||||||
- useController = true
|
- useController = true
|
||||||
- controllerAutoShow = false
|
- controllerAutoShow = false
|
||||||
- controllerHideOnTouch = true
|
- controllerHideOnTouch = true
|
||||||
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
+ // Prevent hiding of the navigation bar
|
||||||
+ // Apply padding dynamically for modern Android
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
+ setOnApplyWindowInsetsListener { _, insets ->
|
+ window.insetsController?.let {
|
||||||
+ val systemInsets = insets.getInsets(android.view.WindowInsets.Type.systemBars())
|
+ it.systemBarsBehavior = android.view.WindowInsetsController.BEHAVIOR_DEFAULT
|
||||||
+ setPadding(0, systemInsets.top, 0, systemInsets.bottom)
|
|
||||||
+ insets
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ // Apply fixed padding for older Android versions
|
|
||||||
+ setPadding(0, getStatusBarHeight(), 0, getNavigationBarHeight())
|
|
||||||
}
|
}
|
||||||
|
- playerView.player = player
|
||||||
|
+ } else {
|
||||||
|
+ @Suppress("DEPRECATION")
|
||||||
|
+ window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||||
+ }
|
+ }
|
||||||
playerView.player = player
|
|
||||||
|
|
||||||
setContentView(playerView)
|
- setContentView(playerView)
|
||||||
@@ -67,4 +88,15 @@ class FullscreenActivity : AppCompatActivity() {
|
+ val keepDisplayOn = this.intent.getBooleanExtra("keepDisplayOn", false)
|
||||||
}
|
+ if (keepDisplayOn) {
|
||||||
super.onDestroy()
|
+ this.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
+ }
|
||||||
}
|
}
|
||||||
+
|
|
||||||
+ // Helper methods to calculate insets for status bar and navigation bar
|
override fun onDestroy() {
|
||||||
+ private fun getStatusBarHeight(): Int {
|
|
||||||
+ val resourceId = resources.getIdentifier("status_bar_height", "dimen", "android")
|
|
||||||
+ return if (resourceId > 0) resources.getDimensionPixelSize(resourceId) else 0
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private fun getNavigationBarHeight(): Int {
|
|
||||||
+ val resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android")
|
|
||||||
+ return if (resourceId > 0) resources.getDimensionPixelSize(resourceId) else 0
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user