From 48566d1cda2d109a94496c806286f47b8984166d Mon Sep 17 00:00:00 2001
From: huangcm <1263938474@qq.com>
Date: Fri, 11 Apr 2025 08:41:19 +0000
Subject: [PATCH] feat(UI): add status bar & navigation bar control

---
 android/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java               |   14 ++++++++++++--
 android/device/softwinner/ceres-c3/ceres_c3.mk                                                    |    4 ++++
 android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java |   16 ++++++++++++++--
 3 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/android/device/softwinner/ceres-c3/ceres_c3.mk b/android/device/softwinner/ceres-c3/ceres_c3.mk
index a84a8a4..97ac18c 100755
--- a/android/device/softwinner/ceres-c3/ceres_c3.mk
+++ b/android/device/softwinner/ceres-c3/ceres_c3.mk
@@ -274,6 +274,10 @@
     persist.sys.bootAppClass=null
 
 PRODUCT_PROPERTY_OVERRIDES += \
+	persist.sys.ban_nb=false \
+	persist.sys.ban_sb=false
+
+PRODUCT_PROPERTY_OVERRIDES += \
 	persist.sys.bootonDeviceTest=0
 
 #language pack
diff --git a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 857b5c2..0a39036 100644
--- a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -1259,6 +1259,11 @@
             mNaturalBarHeight =
                     res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height);
         }
+        boolean ban_sb = SystemProperties.getBoolean("persist.sys.ban_sb", false);
+        Log.i("HCM", "persist.sys.ban_sb = " + ban_sb);
+        if (ban_sb) {
+            mNaturalBarHeight = 0;
+        }
         return mNaturalBarHeight;
     }
 
@@ -2700,8 +2705,15 @@
         final Resources res = mContext.getResources();
 
         int oldBarHeight = mNaturalBarHeight;
-        mNaturalBarHeight = res.getDimensionPixelSize(
-                com.android.internal.R.dimen.status_bar_height);
+        boolean ban_sb = SystemProperties.getBoolean("persist.sys.ban_sb", false);
+        Log.i("HCM", "persist.sys.ban_sb = " + ban_sb);
+        if (ban_sb) {
+            mNaturalBarHeight = 0;
+        } else {
+            mNaturalBarHeight = res.getDimensionPixelSize(
+                    com.android.internal.R.dimen.status_bar_height);
+        }
+
         if (mStatusBarWindowController != null && mNaturalBarHeight != oldBarHeight) {
             mStatusBarWindowController.setBarHeight(mNaturalBarHeight);
         }
diff --git a/android/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java b/android/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
index eb79bae..f297773 100644
--- a/android/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/android/frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -733,11 +733,21 @@
     }
 
     public boolean hasNavigationBar() {
-        return mHasNavigationBar;
+        boolean ban_nb = SystemProperties.getBoolean("persist.sys.ban_nb", false);
+        if (ban_nb) {
+            return false;
+        } else {
+            return mHasNavigationBar;
+        }
     }
 
     public boolean hasStatusBar() {
-        return mHasStatusBar;
+        boolean ban_sb = SystemProperties.getBoolean("persist.sys.ban_sb", false);
+        if (ban_sb) {
+            return false;
+        } else {
+            return mHasStatusBar;
+        }
     }
 
     public boolean navigationBarCanMove() {

--
Gitblit v1.6.2