|
1 | 1 | package org.nativescript.widgets; |
2 | 2 |
|
| 3 | +import android.app.Activity; |
3 | 4 | import android.content.ContentResolver; |
4 | 5 | import android.content.Context; |
5 | 6 | import android.content.res.Resources; |
@@ -74,20 +75,40 @@ public int getValue() { |
74 | 75 | // https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/remote_color_resources_res/values/colors.xml;l=67 |
75 | 76 | static final int DefaultDarkScrim = Color.argb(0x80, 0x1b, 0x1b, 0x1b); |
76 | 77 |
|
77 | | - public static void enableEdgeToEdge(ComponentActivity activity) { |
78 | | - androidx.activity.EdgeToEdge.enable(activity); |
| 78 | + public static void enableEdgeToEdge(Activity activity) { |
| 79 | + if (activity instanceof ComponentActivity) { |
| 80 | + androidx.activity.EdgeToEdge.enable((ComponentActivity) activity); |
| 81 | + } |
79 | 82 | } |
80 | 83 |
|
81 | | - public static void enableEdgeToEdge(ComponentActivity activity, HandleDarkMode handleDarkMode) { |
82 | | - 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))); |
| 84 | + public static void enableEdgeToEdge(Activity activity, HandleDarkMode handleDarkMode) { |
| 85 | + if (activity instanceof ComponentActivity) { |
| 86 | + ComponentActivity componentActivity = (ComponentActivity) activity; |
| 87 | + androidx.activity.EdgeToEdge.enable(componentActivity, |
| 88 | + SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), |
| 89 | + SystemBarStyle.auto(DefaultLightScrim, DefaultDarkScrim, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources)) |
| 90 | + ); |
| 91 | + } |
83 | 92 | } |
84 | 93 |
|
85 | | - public static void enableEdgeToEdge(ComponentActivity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark) { |
86 | | - androidx.activity.EdgeToEdge.enable(activity, SystemBarStyle.auto(statusBarLight, statusBarDark), SystemBarStyle.auto(navigationBarLight, navigationBarDark)); |
| 94 | + public static void enableEdgeToEdge(Activity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark) { |
| 95 | + if (activity instanceof ComponentActivity) { |
| 96 | + ComponentActivity componentActivity = (ComponentActivity) activity; |
| 97 | + androidx.activity.EdgeToEdge.enable(componentActivity, |
| 98 | + SystemBarStyle.auto(statusBarLight, statusBarDark), |
| 99 | + SystemBarStyle.auto(navigationBarLight, navigationBarDark) |
| 100 | + ); |
| 101 | + } |
87 | 102 | } |
88 | 103 |
|
89 | | - public static void enableEdgeToEdge(ComponentActivity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark, HandleDarkMode handleDarkMode) { |
90 | | - 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))); |
| 104 | + public static void enableEdgeToEdge(Activity activity, @ColorInt Integer statusBarLight, @ColorInt Integer statusBarDark, @ColorInt Integer navigationBarLight, @ColorInt Integer navigationBarDark, HandleDarkMode handleDarkMode) { |
| 105 | + if (activity instanceof ComponentActivity) { |
| 106 | + ComponentActivity componentActivity = (ComponentActivity) activity; |
| 107 | + androidx.activity.EdgeToEdge.enable(componentActivity, |
| 108 | + SystemBarStyle.auto(statusBarLight, statusBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.status.getValue(), resources)), |
| 109 | + SystemBarStyle.auto(navigationBarLight, navigationBarDark, resources -> handleDarkMode.onHandle(HandleDarkModeBar.navigation.getValue(), resources)) |
| 110 | + ); |
| 111 | + } |
91 | 112 | } |
92 | 113 |
|
93 | 114 | public static Drawable getDrawable(String uri, Context context) { |
|
0 commit comments