From 5488e7d06adf9495b25ccb202dec99b3d2c7b9dc Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Fri, 11 Sep 2026 09:48:47 -0500 Subject: [PATCH 1/3] Settings default insets handling to 'native' --- .../src/main/java/com/getcapacitor/plugin/SystemBars.java | 8 ++++---- cli/src/declarations.ts | 2 +- core/system-bars.md | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/plugin/SystemBars.java b/android/capacitor/src/main/java/com/getcapacitor/plugin/SystemBars.java index 8b9de8849..763f8a845 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/plugin/SystemBars.java +++ b/android/capacitor/src/main/java/com/getcapacitor/plugin/SystemBars.java @@ -53,7 +53,7 @@ function capacitorSystemBarsCheckMetaViewport() { capacitorSystemBarsCheckMetaViewport(); """; - private String insetsHandling = INSETS_HANDLING_CSS; + private String insetsHandling = INSETS_HANDLING_NATIVE; private boolean hasViewportCover = false; private String currentStatusBarStyle = STYLE_DEFAULT; @@ -122,7 +122,7 @@ private void initSystemBars() { String style = getConfig().getString("style", STYLE_DEFAULT).toUpperCase(Locale.US); boolean hidden = getConfig().getBoolean("hidden", false); - String configuredInsetsHandling = getConfig().getString("insetsHandling", INSETS_HANDLING_CSS); + String configuredInsetsHandling = getConfig().getString("insetsHandling", INSETS_HANDLING_NATIVE); if ( INSETS_HANDLING_CSS.equals(configuredInsetsHandling) || INSETS_HANDLING_DISABLE.equals(configuredInsetsHandling) || @@ -132,9 +132,9 @@ private void initSystemBars() { } else { Logger.warn( "SystemBars", - "Unknown insetsHandling value '" + configuredInsetsHandling + "'. Falling back to '" + INSETS_HANDLING_CSS + "'." + "Unknown insetsHandling value '" + configuredInsetsHandling + "'. Falling back to '" + INSETS_HANDLING_NATIVE + "'." ); - insetsHandling = INSETS_HANDLING_CSS; + insetsHandling = INSETS_HANDLING_NATIVE; } warnAboutUnsupportedConfigurationValues(); diff --git a/cli/src/declarations.ts b/cli/src/declarations.ts index 27c71e8f0..180111ad4 100644 --- a/cli/src/declarations.ts +++ b/cli/src/declarations.ts @@ -835,7 +835,7 @@ export interface PluginsConfig { * This shifts the responsibility from Capacitor to your own code to handle the insets. * Be aware that this might result in a visually broken UI if your native app code and the content loaded into the webview do not correctly handle safe area insets. * - * @default "css" + * @default "native" */ insetsHandling?: 'native' | 'css' | 'disable'; diff --git a/core/system-bars.md b/core/system-bars.md index 921cc55f1..0d9339298 100644 --- a/core/system-bars.md +++ b/core/system-bars.md @@ -26,8 +26,6 @@ The status bar visibility defaults to visible and the style defaults to Due to a [bug](https://issues.chromium.org/issues/40699457) in some older versions of Android WebView (< 140), correct safe area values are not available via the `safe-area-inset-x` CSS `env` variables. This plugin has two ways to workaround this. To control this behavior, use the `insetsHandling` configuration setting. -You should also consider calling `EdgeToEdge.enable(this);` inside your application's `BridgeActivity.onCreate` if `insetsHandling` is not set to `disable`. Starting in Capacitor 9, `insetsHandling` will default to `native` and this will be called for you. - ## Example ```typescript From 9e25e42784b4f85968871bf29f5808dcf7a40d29 Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Fri, 11 Sep 2026 09:49:55 -0500 Subject: [PATCH 2/3] calling EdgeToEdge.enable in Android template --- .../java/com/getcapacitor/myapp/MainActivity.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java b/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java index f0139e82d..3d995474f 100644 --- a/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java +++ b/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java @@ -1,5 +1,15 @@ package com.getcapacitor.myapp; +import android.os.Bundle; + +import androidx.activity.EdgeToEdge; + import com.getcapacitor.BridgeActivity; -public class MainActivity extends BridgeActivity {} +public class MainActivity extends BridgeActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + } +} From fed411a1f7b2aa03a2a870d553c98781f69cdb54 Mon Sep 17 00:00:00 2001 From: Joseph Pender Date: Fri, 11 Sep 2026 10:32:39 -0500 Subject: [PATCH 3/3] fmt --- .../java/com/getcapacitor/myapp/MainActivity.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java b/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java index 3d995474f..d82ac08a7 100644 --- a/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java +++ b/android-template/app/src/main/java/com/getcapacitor/myapp/MainActivity.java @@ -1,15 +1,14 @@ package com.getcapacitor.myapp; import android.os.Bundle; - import androidx.activity.EdgeToEdge; - import com.getcapacitor.BridgeActivity; public class MainActivity extends BridgeActivity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - EdgeToEdge.enable(this); - } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + } }