diff --git a/packages/core/platforms/android/widgets-release.aar b/packages/core/platforms/android/widgets-release.aar index afb0d6db2a..1740e0d729 100644 Binary files a/packages/core/platforms/android/widgets-release.aar and b/packages/core/platforms/android/widgets-release.aar differ diff --git a/packages/ui-mobile-base/android/widgets/src/main/java/org/nativescript/widgets/Utils.java b/packages/ui-mobile-base/android/widgets/src/main/java/org/nativescript/widgets/Utils.java index 399dfb1796..eee8a2ba21 100644 --- a/packages/ui-mobile-base/android/widgets/src/main/java/org/nativescript/widgets/Utils.java +++ b/packages/ui-mobile-base/android/widgets/src/main/java/org/nativescript/widgets/Utils.java @@ -1,5 +1,6 @@ package org.nativescript.widgets; +import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; @@ -74,20 +75,40 @@ public int getValue() { // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/remote_color_resources_res/values/colors.xml;l=67 static final int DefaultDarkScrim = Color.argb(0x80, 0x1b, 0x1b, 0x1b); - public static void enableEdgeToEdge(ComponentActivity activity) { - androidx.activity.EdgeToEdge.enable(activity); + public static void enableEdgeToEdge(Activity activity) { + if (activity instanceof ComponentActivity) { + androidx.activity.EdgeToEdge.enable((ComponentActivity) activity); + } } - public static void enableEdgeToEdge(ComponentActivity activity, HandleDarkMode handleDarkMode) { - androidx.activity.EdgeToEdge.enable(activity, SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), SystemBarStyle.auto(DefaultLightScrim, DefaultDarkScrim, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources))); + public static void enableEdgeToEdge(Activity activity, HandleDarkMode handleDarkMode) { + if (activity instanceof ComponentActivity) { + ComponentActivity componentActivity = (ComponentActivity) activity; + androidx.activity.EdgeToEdge.enable(componentActivity, + SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), + SystemBarStyle.auto(DefaultLightScrim, DefaultDarkScrim, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources)) + ); + } } - public static void enableEdgeToEdge(ComponentActivity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark) { - androidx.activity.EdgeToEdge.enable(activity, SystemBarStyle.auto(statusBarLight, statusBarDark), SystemBarStyle.auto(navigationBarLight, navigationBarDark)); + public static void enableEdgeToEdge(Activity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark) { + if (activity instanceof ComponentActivity) { + ComponentActivity componentActivity = (ComponentActivity) activity; + androidx.activity.EdgeToEdge.enable(componentActivity, + SystemBarStyle.auto(statusBarLight, statusBarDark), + SystemBarStyle.auto(navigationBarLight, navigationBarDark) + ); + } } - public static void enableEdgeToEdge(ComponentActivity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark, HandleDarkMode handleDarkMode) { - androidx.activity.EdgeToEdge.enable(activity, SystemBarStyle.auto(statusBarLight, statusBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), SystemBarStyle.auto(navigationBarLight, navigationBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources))); + public static void enableEdgeToEdge(Activity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark, HandleDarkMode handleDarkMode) { + if (activity instanceof ComponentActivity) { + ComponentActivity componentActivity = (ComponentActivity) activity; + androidx.activity.EdgeToEdge.enable(componentActivity, + SystemBarStyle.auto(statusBarLight, statusBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), + SystemBarStyle.auto(navigationBarLight, navigationBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources)) + ); + } } public static Drawable getDrawable(String uri, Context context) {