Merge changes from topic "notch-city" into q10

* changes:
  vendor: notch-city: Reduce QS header offset on immersive & hide mode [2a/2]
  vendor: notch-city: update 3 mode display cutout handler
diff --git a/config/bliss_packages.mk b/config/bliss_packages.mk
index 59f6e27..a2a8971 100644
--- a/config/bliss_packages.mk
+++ b/config/bliss_packages.mk
@@ -73,7 +73,9 @@
 # Cutout control overlays
 PRODUCT_PACKAGES += \
     HideCutout \
-    StatusBarStock
+    StatusBarStock \
+    StatusBarStockSysUI \
+    ImmersiveMode
 
 # Snap Camera
 PRODUCT_PACKAGES += \
diff --git a/packages/overlays/ImmersiveMode/Android.mk b/packages/overlays/ImmersiveMode/Android.mk
new file mode 100644
index 0000000..5841a02
--- /dev/null
+++ b/packages/overlays/ImmersiveMode/Android.mk
@@ -0,0 +1,13 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_PACKAGE_NAME := ImmersiveMode
+LOCAL_RRO_THEME := ImmersiveMode
+LOCAL_SDK_VERSION := current
+LOCAL_CERTIFICATE := platform
+LOCAL_PRODUCT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := false
+
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/ImmersiveMode/AndroidManifest.xml b/packages/overlays/ImmersiveMode/AndroidManifest.xml
new file mode 100644
index 0000000..767bc98
--- /dev/null
+++ b/packages/overlays/ImmersiveMode/AndroidManifest.xml
@@ -0,0 +1,8 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.overlay.immersive"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <overlay android:targetPackage="android" android:priority="1" />
+
+    <application android:label="@string/label" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/ImmersiveMode/res/values-port/config.xml b/packages/overlays/ImmersiveMode/res/values-port/config.xml
new file mode 100644
index 0000000..cb8c26e
--- /dev/null
+++ b/packages/overlays/ImmersiveMode/res/values-port/config.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <dimen name="quick_qs_offset_height">@*android:dimen/status_bar_height_portrait</dimen>
+</resources>
diff --git a/packages/overlays/ImmersiveMode/res/values-port/strings.xml b/packages/overlays/ImmersiveMode/res/values-port/strings.xml
new file mode 100644
index 0000000..62e08db
--- /dev/null
+++ b/packages/overlays/ImmersiveMode/res/values-port/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="label">Immersive mode</string>
+</resources>
diff --git a/packages/overlays/StatusBarStock/res/values/config.xml b/packages/overlays/StatusBarStock/res/values/config.xml
index c87dfcf..ff9c260 100644
--- a/packages/overlays/StatusBarStock/res/values/config.xml
+++ b/packages/overlays/StatusBarStock/res/values/config.xml
@@ -1,6 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- Height of the status bar -->
-    <dimen name="status_bar_height_portrait">28dp</dimen>
-    <dimen name="status_bar_height_landscape">28dp</dimen>
+    <!-- the padding on the start of the statusbar -->
+    <dimen name="status_bar_padding_start">8dp</dimen>
+
+    <!-- the padding on the end of the statusbar -->
+    <dimen name="status_bar_padding_end">8dp</dimen>
+
+    <!-- the padding on the top of the statusbar (usually 0) -->
+    <dimen name="status_bar_padding_top">0dp</dimen>
+
+    <!-- Padding on the start of the quick statusbar (not top-most statusbar) -->
+    <dimen name="qs_header_start_padding">8dp</dimen>
+
+    <!-- Padding on the end of the quick statusbar (not top-most statusbar) -->
+    <dimen name="qs_header_end_padding">8dp</dimen>
 </resources>
diff --git a/packages/overlays/StatusBarStockSysUI/Android.mk b/packages/overlays/StatusBarStockSysUI/Android.mk
new file mode 100644
index 0000000..190220b
--- /dev/null
+++ b/packages/overlays/StatusBarStockSysUI/Android.mk
@@ -0,0 +1,13 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_PACKAGE_NAME := StatusBarStockSysUI
+LOCAL_RRO_THEME := StatusBarStockSysUI
+LOCAL_SDK_VERSION := current
+LOCAL_CERTIFICATE := platform
+LOCAL_PRODUCT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := false
+
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/StatusBarStockSysUI/AndroidManifest.xml b/packages/overlays/StatusBarStockSysUI/AndroidManifest.xml
new file mode 100644
index 0000000..1174c5a
--- /dev/null
+++ b/packages/overlays/StatusBarStockSysUI/AndroidManifest.xml
@@ -0,0 +1,8 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.overlay.statusbarstocksysui"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <overlay android:targetPackage="com.android.systemui" android:priority="1" />
+
+    <application android:label="@string/label" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/StatusBarStockSysUI/res/values-port/config.xml b/packages/overlays/StatusBarStockSysUI/res/values-port/config.xml
new file mode 100644
index 0000000..ff9c260
--- /dev/null
+++ b/packages/overlays/StatusBarStockSysUI/res/values-port/config.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- the padding on the start of the statusbar -->
+    <dimen name="status_bar_padding_start">8dp</dimen>
+
+    <!-- the padding on the end of the statusbar -->
+    <dimen name="status_bar_padding_end">8dp</dimen>
+
+    <!-- the padding on the top of the statusbar (usually 0) -->
+    <dimen name="status_bar_padding_top">0dp</dimen>
+
+    <!-- Padding on the start of the quick statusbar (not top-most statusbar) -->
+    <dimen name="qs_header_start_padding">8dp</dimen>
+
+    <!-- Padding on the end of the quick statusbar (not top-most statusbar) -->
+    <dimen name="qs_header_end_padding">8dp</dimen>
+</resources>
diff --git a/packages/overlays/StatusBarStockSysUI/res/values-port/strings.xml b/packages/overlays/StatusBarStockSysUI/res/values-port/strings.xml
new file mode 100644
index 0000000..f30cfd6
--- /dev/null
+++ b/packages/overlays/StatusBarStockSysUI/res/values-port/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="label">Default StatusBar</string>
+</resources>