From d9e83897770875cf779bbeb255758db4d0dba254 Mon Sep 17 00:00:00 2001 From: Dasemu Date: Thu, 22 Jan 2026 09:13:33 +0100 Subject: [PATCH] feat: enable edge-to-edge mode and make status bar transparent in MainActivity --- .../dariosevilla/impostor/MainActivity.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/es/dariosevilla/impostor/MainActivity.java b/android/app/src/main/java/es/dariosevilla/impostor/MainActivity.java index 73f394b..1ce3819 100644 --- a/android/app/src/main/java/es/dariosevilla/impostor/MainActivity.java +++ b/android/app/src/main/java/es/dariosevilla/impostor/MainActivity.java @@ -1,15 +1,35 @@ package es.dariosevilla.impostor; +import android.graphics.Color; import android.os.Bundle; import android.view.View; +import android.view.Window; +import android.view.WindowManager; import androidx.core.view.WindowCompat; +import androidx.core.view.WindowInsetsControllerCompat; import com.getcapacitor.BridgeActivity; public class MainActivity extends BridgeActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Disable edge-to-edge to prevent status bar overlap - WindowCompat.setDecorFitsSystemWindows(getWindow(), true); + + Window window = getWindow(); + + // Enable edge-to-edge mode so CSS safe-area-inset-* values work correctly + WindowCompat.setDecorFitsSystemWindows(window, false); + + // Make status bar transparent so content can draw underneath + window.setStatusBarColor(Color.TRANSPARENT); + window.setNavigationBarColor(Color.TRANSPARENT); + + // Set status bar icons to light (for dark backgrounds) or dark (for light backgrounds) + WindowInsetsControllerCompat insetsController = WindowCompat.getInsetsController(window, window.getDecorView()); + if (insetsController != null) { + // Use dark icons (false = dark icons for light status bar background) + // The CSS handles the actual content offset via safe-area-inset-top + insetsController.setAppearanceLightStatusBars(false); + insetsController.setAppearanceLightNavigationBars(false); + } } }