You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by jc...@apache.org on 2022/09/01 22:49:52 UTC
[cordova-plugin-statusbar] branch default-fix updated: fix(android)!:styleDefault not working on new devices
This is an automated email from the ASF dual-hosted git repository.
jcesarmobile pushed a commit to branch default-fix
in repository https://gitbox.apache.org/repos/asf/cordova-plugin-statusbar.git
The following commit(s) were added to refs/heads/default-fix by this push:
new ad91c8b fix(android)!:styleDefault not working on new devices
ad91c8b is described below
commit ad91c8bbf9c02db21bf8b843ae031269b62d24b8
Author: jcesarmobile <jc...@gmail.com>
AuthorDate: Fri Sep 2 00:49:44 2022 +0200
fix(android)!:styleDefault not working on new devices
---
src/android/StatusBar.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/android/StatusBar.java b/src/android/StatusBar.java
index 2d28960..593e379 100644
--- a/src/android/StatusBar.java
+++ b/src/android/StatusBar.java
@@ -26,6 +26,9 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
+import androidx.core.view.WindowCompat;
+import androidx.core.view.WindowInsetsControllerCompat;
+
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaArgs;
import org.apache.cordova.CordovaInterface;
@@ -253,8 +256,9 @@ public class StatusBar extends CordovaPlugin {
private void setStatusBarStyle(final String style) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (style != null && !style.isEmpty()) {
- View decorView = cordova.getActivity().getWindow().getDecorView();
- int uiOptions = decorView.getSystemUiVisibility();
+ Window window = cordova.getActivity().getWindow();
+ View decorView = window.getDecorView();
+ WindowInsetsControllerCompat windowInsetsControllerCompat = WindowCompat.getInsetsController(window, decorView);
String[] darkContentStyles = {
"default",
@@ -267,12 +271,12 @@ public class StatusBar extends CordovaPlugin {
};
if (Arrays.asList(darkContentStyles).contains(style.toLowerCase())) {
- decorView.setSystemUiVisibility(uiOptions | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
+ windowInsetsControllerCompat.setAppearanceLightStatusBars(true);
return;
}
if (Arrays.asList(lightContentStyles).contains(style.toLowerCase())) {
- decorView.setSystemUiVisibility(uiOptions & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
+ windowInsetsControllerCompat.setAppearanceLightStatusBars(false);
return;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org