Compare commits

...

No commits in common. "lineage-21-light" and "lineage-20-light" have entirely different histories.

145 changed files with 2972 additions and 6668 deletions

View File

@ -1,4 +1,4 @@
From 89f1eee05a62af665555ff9dc6852e320140fbf1 Mon Sep 17 00:00:00 2001 From 90eaa68455703e85c5f97d0b13945bd04351e24c Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 14 Oct 2021 12:20:52 +0000 Date: Thu, 14 Oct 2021 12:20:52 +0000
Subject: [PATCH] build: Remove llkd Subject: [PATCH] build: Remove llkd
@ -11,17 +11,17 @@ Change-Id: I29384a820a0c07b29d3f11d7039bed40eeaee926
1 file changed, 1 deletion(-) 1 file changed, 1 deletion(-)
diff --git a/target/product/base_system.mk b/target/product/base_system.mk diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index ba239a2a4a..b201f15177 100644 index b5b41f3be..c18a6dc03 100644
--- a/target/product/base_system.mk --- a/target/product/base_system.mk
+++ b/target/product/base_system.mk +++ b/target/product/base_system.mk
@@ -208,7 +208,6 @@ PRODUCT_PACKAGES += \ @@ -195,7 +195,6 @@ PRODUCT_PACKAGES += \
libvulkan \
libwilhelm \ libwilhelm \
linker \ linker \
linkerconfig \
- llkd \ - llkd \
lmkd \ lmkd \
LocalTransport \ LocalTransport \
locksettings \ locksettings \
-- --
2.34.1 2.25.1

View File

@ -1,7 +1,7 @@
From e535be2c76e6969ca8a58023b203bf66cfe0d3ae Mon Sep 17 00:00:00 2001 From fdfbffda2815c0ac2270eae0efd0c31eb19e2dda Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com> From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Fri, 22 Mar 2019 00:41:20 +0800 Date: Fri, 22 Mar 2019 00:41:20 +0800
Subject: [PATCH 01/43] Disable FP lockouts optionally Subject: [PATCH 01/22] Disable FP lockouts optionally
Both timed and permanent lockouts - GET THE FUCK OUT Both timed and permanent lockouts - GET THE FUCK OUT
Now targeting LockoutFramework, introduced in Android 12 Now targeting LockoutFramework, introduced in Android 12
@ -13,18 +13,18 @@ Change-Id: I2d4b091f3546d4d7903bfb4d5585629212dc9915
1 file changed, 17 insertions(+), 11 deletions(-) 1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java
index 0e05a7923db4..34268e2f8a5a 100644 index a0befea8e085..48c4ded9f5ca 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/LockoutFrameworkImpl.java
@@ -29,6 +29,7 @@ import android.content.IntentFilter; @@ -25,6 +25,7 @@ import android.content.Context;
import android.os.Handler; import android.content.Intent;
import android.os.Looper; import android.content.IntentFilter;
import android.os.SystemClock; import android.os.SystemClock;
+import android.os.SystemProperties; +import android.os.SystemProperties;
import android.util.Slog; import android.util.Slog;
import android.util.SparseBooleanArray; import android.util.SparseBooleanArray;
import android.util.SparseIntArray; import android.util.SparseIntArray;
@@ -51,6 +52,7 @@ public class LockoutFrameworkImpl implements LockoutTracker { @@ -44,6 +45,7 @@ public class LockoutFrameworkImpl implements LockoutTracker {
private static final int MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT = 20; private static final int MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT = 20;
private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30 * 1000; private static final long FAIL_LOCKOUT_TIMEOUT_MS = 30 * 1000;
private static final String KEY_LOCKOUT_RESET_USER = "lockout_reset_user"; private static final String KEY_LOCKOUT_RESET_USER = "lockout_reset_user";
@ -32,10 +32,10 @@ index 0e05a7923db4..34268e2f8a5a 100644
private final class LockoutReceiver extends BroadcastReceiver { private final class LockoutReceiver extends BroadcastReceiver {
@Override @Override
@@ -133,24 +135,28 @@ public class LockoutFrameworkImpl implements LockoutTracker { @@ -101,23 +103,27 @@ public class LockoutFrameworkImpl implements LockoutTracker {
}
@Override void addFailedAttemptForUser(int userId) {
public void addFailedAttemptForUser(int userId) {
- mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1); - mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1);
- mTimedLockoutCleared.put(userId, false); - mTimedLockoutCleared.put(userId, false);
+ if (!SystemProperties.getBoolean(DISABLE_FP_LOCKOUTS_PROPERTY, false)) { + if (!SystemProperties.getBoolean(DISABLE_FP_LOCKOUTS_PROPERTY, false)) {
@ -51,8 +51,7 @@ index 0e05a7923db4..34268e2f8a5a 100644
} }
@Override @Override
@LockoutMode public @LockoutMode int getLockoutModeForUser(int userId) {
public int getLockoutModeForUser(int userId) {
- final int failedAttempts = mFailedAttempts.get(userId, 0); - final int failedAttempts = mFailedAttempts.get(userId, 0);
- if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) { - if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) {
- return LOCKOUT_PERMANENT; - return LOCKOUT_PERMANENT;

View File

@ -1,21 +1,22 @@
From 8595258b7aac74763f6f8b7edbe37b91f0a4c1a5 Mon Sep 17 00:00:00 2001 From f48a8e1bb482cde1c1e0a628aea218796586130a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 5 Apr 2018 10:01:19 +0800 Date: Thu, 5 Apr 2018 10:01:19 +0800
Subject: [PATCH 02/43] Disable vendor mismatch warning Subject: [PATCH 02/22] Disable vendor mismatch warning
Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
--- ---
.../server/wm/ActivityTaskManagerService.java | 14 +------------- .../server/wm/ActivityTaskManagerService.java | 16 ++--------------
1 file changed, 1 insertion(+), 13 deletions(-) 1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index b26cddaccc04..cdc661598f33 100644 index ca45e087b60c..1d1da07f2942 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -6312,19 +6312,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { @@ -5875,20 +5875,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
if (!isBuildConsistent) { if (!Build.isBuildConsistent()) {
Slog.e(TAG, "Build fingerprint is not consistent, warning user"); - Slog.e(TAG, "Build fingerprint is not consistent, warning user");
- mUiHandler.post(() -> { - mUiHandler.post(() -> {
- if (mShowDialogs) { - if (mShowDialogs) {
- AlertDialog d = new BaseErrorDialog(mUiContext); - AlertDialog d = new BaseErrorDialog(mUiContext);
@ -29,10 +30,11 @@ index b26cddaccc04..cdc661598f33 100644
- d.show(); - d.show();
- } - }
- }); - });
+ Slog.e(TAG, "Build fingerprint is not consistent");
+ // Do not emit warning about vendor mismatch + // Do not emit warning about vendor mismatch
} }
} }
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); }
-- --
2.34.1 2.34.1

View File

@ -1,33 +0,0 @@
From 51ff3c370b9a75bb98f949506afe2dd1aafc6ca7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 21 Jan 2024 22:03:47 +0800
Subject: [PATCH 03/43] Keyguard: Allow locking to any rotation mode
Change-Id: I0f12c433f3547e9bfcdbc2cf50e2a4f3ec8ca311
---
.../shade/NotificationShadeWindowControllerImpl.java | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java
index 1aa42d1554fe..a2787a0bebe0 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java
@@ -443,12 +443,9 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
}
private void adjustScreenOrientation(NotificationShadeWindowState state) {
- if (state.bouncerShowing || state.isKeyguardShowingAndNotOccluded() || state.dozing) {
- if (shouldEnableKeyguardScreenRotation()) {
- mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_USER;
- } else {
- mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;
- }
+ if ((state.bouncerShowing || state.isKeyguardShowingAndNotOccluded() || state.dozing)
+ && shouldEnableKeyguardScreenRotation()) {
+ mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_USER;
} else {
mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
}
--
2.34.1

View File

@ -1,7 +1,7 @@
From b2c40aa3a127825dfacf3006d18639557dd4064d Mon Sep 17 00:00:00 2001 From d8dea7b3e03976fa4ab292f3d6fdcae84e039196 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 17 Jan 2023 17:19:19 +0000 Date: Tue, 17 Jan 2023 17:19:19 +0000
Subject: [PATCH 04/43] Keyguard: Fix colors of slices not updating on doze Subject: [PATCH 03/22] Keyguard: Fix colors of slices not updating on doze
Slices were invisible (black) in doze when using light wallpapers Slices were invisible (black) in doze when using light wallpapers
Introduced in https://github.com/LineageOS/android_frameworks_base/commit/a19e59d717ec6d573c11c7e8277bba3c4de189c2 Introduced in https://github.com/LineageOS/android_frameworks_base/commit/a19e59d717ec6d573c11c7e8277bba3c4de189c2
@ -13,10 +13,10 @@ Change-Id: I06abd8bf2e28655cc9e6d81366fd82a13454ec5a
2 files changed, 8 insertions(+) 2 files changed, 8 insertions(+)
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
index c0ae4a1f4036..7b25a37a1632 100644 index f4c581552bc4..c0f983551877 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
@@ -282,6 +282,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV @@ -97,6 +97,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
mKeyguardSliceViewController.refresh(); mKeyguardSliceViewController.refresh();
} }
@ -31,10 +31,10 @@ index c0ae4a1f4036..7b25a37a1632 100644
* Set which clock should be displayed on the keyguard. The other one will be automatically * Set which clock should be displayed on the keyguard. The other one will be automatically
* hidden. * hidden.
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index cfc0658da0f4..bbce9228f379 100644 index 1394c68ceeb7..6cb1da129b60 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -4574,6 +4574,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump @@ -4422,6 +4422,7 @@ public final class NotificationPanelViewController implements Dumpable {
public void onDozeAmountChanged(float linearAmount, float amount) { public void onDozeAmountChanged(float linearAmount, float amount) {
mInterpolatedDarkAmount = amount; mInterpolatedDarkAmount = amount;
mLinearDarkAmount = linearAmount; mLinearDarkAmount = linearAmount;

View File

@ -1,7 +1,7 @@
From cf2228c2c69638c3acf728e6eefda51e2e33cbd7 Mon Sep 17 00:00:00 2001 From b92f1ca708133033601f8f0e70a872c5a30052df Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 16 Oct 2021 02:23:48 +0000 Date: Sat, 16 Oct 2021 02:23:48 +0000
Subject: [PATCH 05/43] UI: Adjust default navbar layouts Subject: [PATCH 04/22] UI: Adjust default navbar layouts
- Slightly tighten nodpi layout - Slightly tighten nodpi layout
- Remove sw372dp layout - looks terrible, probably meant for legacy phablets, but most modern phones qualify - Remove sw372dp layout - looks terrible, probably meant for legacy phablets, but most modern phones qualify
@ -45,10 +45,10 @@ index 07b797a32428..000000000000
- <string name="config_navBarLayout" translatable="false">left[.25W],back[.5WC];home;recent[.5WC],right[.25W]</string> - <string name="config_navBarLayout" translatable="false">left[.25W],back[.5WC];home;recent[.5WC],right[.25W]</string>
-</resources> -</resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 2124ad9edca9..0286cc65c8e2 100644 index 99f21ed21d15..4c386f78a27a 100644
--- a/packages/SystemUI/res/values/config.xml --- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml
@@ -325,7 +325,7 @@ @@ -301,7 +301,7 @@
</string-array> </string-array>
<!-- Nav bar button default ordering/layout --> <!-- Nav bar button default ordering/layout -->

View File

@ -1,7 +1,7 @@
From 6cdab07dbf6a812c1c2daf80c292fa9088143572 Mon Sep 17 00:00:00 2001 From 09662a87b7db9b520aa5f996c5b837717fadfdec Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 10 Jan 2021 11:44:29 +0000 Date: Sun, 10 Jan 2021 11:44:29 +0000
Subject: [PATCH 07/43] UI: Disable wallpaper zoom Subject: [PATCH 05/22] UI: Disable wallpaper zoom
It does little more than inducing motion sickness It does little more than inducing motion sickness
@ -11,10 +11,10 @@ Change-Id: I78cc5484930b27f172cd8d8a5bd9042dce3478d0
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 0a4fc6515368..129c7160fe63 100644 index f015b485dfa6..77045ea11775 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -5858,7 +5858,7 @@ @@ -5206,7 +5206,7 @@
<item name="config_wallpaperMinScale" format="float" type="dimen">1</item> <item name="config_wallpaperMinScale" format="float" type="dimen">1</item>
<!-- The max scale for the wallpaper when it's zoomed in --> <!-- The max scale for the wallpaper when it's zoomed in -->

View File

@ -1,197 +0,0 @@
From 2ff1e12e1ff9952fe489c9023eb76d342af1ddbf Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 19 Mar 2022 09:22:24 +0000
Subject: [PATCH 06/43] UI: Adjust split-screen divider
- Kill rounded corners - where two rectangles collide should be perfectly straight
- Make it black (pre-Sv2) for phones
- Follow taskbar theme for tablets
Change-Id: I240b627793b615c82bd07ebd77638cde180ef80f
---
.../color-night-v31/taskbar_background.xml | 20 +++++++++++++++++
.../taskbar_nav_icon_color.xml | 18 +++++++++++++++
.../res/color-v31/taskbar_background.xml | 18 +++++++++++++++
.../res/color-v31/taskbar_nav_icon_color.xml | 18 +++++++++++++++
.../Shell/res/values-sw600dp/colors.xml | 22 +++++++++++++++++++
.../WindowManager/Shell/res/values/colors.xml | 2 +-
.../wm/shell/common/split/SplitLayout.java | 19 ++--------------
7 files changed, 99 insertions(+), 18 deletions(-)
create mode 100644 libs/WindowManager/Shell/res/color-night-v31/taskbar_background.xml
create mode 100644 libs/WindowManager/Shell/res/color-night-v31/taskbar_nav_icon_color.xml
create mode 100644 libs/WindowManager/Shell/res/color-v31/taskbar_background.xml
create mode 100644 libs/WindowManager/Shell/res/color-v31/taskbar_nav_icon_color.xml
create mode 100644 libs/WindowManager/Shell/res/values-sw600dp/colors.xml
diff --git a/libs/WindowManager/Shell/res/color-night-v31/taskbar_background.xml b/libs/WindowManager/Shell/res/color-night-v31/taskbar_background.xml
new file mode 100644
index 000000000000..ec7a6823d34d
--- /dev/null
+++ b/libs/WindowManager/Shell/res/color-night-v31/taskbar_background.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- Make sure to align any changes to
+ frameworks/base/libs/WindowManager/Shell/res/color/taskbar_background_dark.xml -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/system_neutral1_500" android:lStar="6" />
+</selector>
diff --git a/libs/WindowManager/Shell/res/color-night-v31/taskbar_nav_icon_color.xml b/libs/WindowManager/Shell/res/color-night-v31/taskbar_nav_icon_color.xml
new file mode 100644
index 000000000000..cc8e3b30b1b5
--- /dev/null
+++ b/libs/WindowManager/Shell/res/color-night-v31/taskbar_nav_icon_color.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/system_neutral2_200"/>
+</selector>
diff --git a/libs/WindowManager/Shell/res/color-v31/taskbar_background.xml b/libs/WindowManager/Shell/res/color-v31/taskbar_background.xml
new file mode 100644
index 000000000000..5c53e4a0c9c6
--- /dev/null
+++ b/libs/WindowManager/Shell/res/color-v31/taskbar_background.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/system_neutral1_500" android:lStar="98" />
+</selector>
diff --git a/libs/WindowManager/Shell/res/color-v31/taskbar_nav_icon_color.xml b/libs/WindowManager/Shell/res/color-v31/taskbar_nav_icon_color.xml
new file mode 100644
index 000000000000..7951e123afc4
--- /dev/null
+++ b/libs/WindowManager/Shell/res/color-v31/taskbar_nav_icon_color.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/system_neutral2_700"/>
+</selector>
diff --git a/libs/WindowManager/Shell/res/values-sw600dp/colors.xml b/libs/WindowManager/Shell/res/values-sw600dp/colors.xml
new file mode 100644
index 000000000000..8a1907da76e5
--- /dev/null
+++ b/libs/WindowManager/Shell/res/values-sw600dp/colors.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright 2020, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<resources>
+ <color name="docked_divider_handle">@color/taskbar_nav_icon_color</color>
+ <color name="split_divider_background">@color/taskbar_background</color>
+</resources>
diff --git a/libs/WindowManager/Shell/res/values/colors.xml b/libs/WindowManager/Shell/res/values/colors.xml
index 758dbfd5f3c5..e82f6ff9a4db 100644
--- a/libs/WindowManager/Shell/res/values/colors.xml
+++ b/libs/WindowManager/Shell/res/values/colors.xml
@@ -18,7 +18,7 @@
-->
<resources>
<color name="docked_divider_handle">#ffffff</color>
- <color name="split_divider_background">@color/taskbar_background_dark</color>
+ <color name="split_divider_background">@android:color/black</color>
<drawable name="forced_resizable_background">#59000000</drawable>
<color name="minimize_dock_shadow_start">#60000000</color>
<color name="minimize_dock_shadow_end">#00000000</color>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
index 6b2d544c192a..7c4db20d8cd8 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
@@ -168,23 +168,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
}
private void updateDividerConfig(Context context) {
- final Resources resources = context.getResources();
- final Display display = context.getDisplay();
- final int dividerInset = resources.getDimensionPixelSize(
- com.android.internal.R.dimen.docked_stack_divider_insets);
- int radius = 0;
- RoundedCorner corner = display.getRoundedCorner(RoundedCorner.POSITION_TOP_LEFT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_TOP_RIGHT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_RIGHT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_LEFT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
-
- mDividerInsets = Math.max(dividerInset, radius);
- mDividerSize = resources.getDimensionPixelSize(R.dimen.split_divider_bar_width);
- mDividerWindowWidth = mDividerSize + 2 * mDividerInsets;
+ mDividerWindowWidth = context.getResources().getDimensionPixelSize(
+ R.dimen.split_divider_bar_width);
}
/** Gets bounds of the primary split with screen based coordinate. */
--
2.34.1

View File

@ -1,7 +1,7 @@
From bfc38ff3a5a13606880951948d8e09b430405e25 Mon Sep 17 00:00:00 2001 From 6662339ff0a5507899d0f8bca883dbef8f748f1b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 25 Sep 2022 02:20:52 +0000 Date: Sun, 25 Sep 2022 02:20:52 +0000
Subject: [PATCH 08/43] UI: Follow Monet and light/dark theme in user 1 icon Subject: [PATCH 06/22] UI: Follow Monet and light/dark theme in user 1 icon
Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8 Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8
--- ---
@ -10,7 +10,7 @@ Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8
2 files changed, 2 insertions(+), 1 deletion(-) 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/res/res/values-night/colors.xml b/core/res/res/values-night/colors.xml diff --git a/core/res/res/values-night/colors.xml b/core/res/res/values-night/colors.xml
index d3f998fb70cf..4f7b9e093bb7 100644 index ffaccd3ddc57..e2a955b89c77 100644
--- a/core/res/res/values-night/colors.xml --- a/core/res/res/values-night/colors.xml
+++ b/core/res/res/values-night/colors.xml +++ b/core/res/res/values-night/colors.xml
@@ -33,6 +33,7 @@ @@ -33,6 +33,7 @@
@ -22,10 +22,10 @@ index d3f998fb70cf..4f7b9e093bb7 100644
<color name="user_icon_6">#ff4ecde6</color><!-- cyan --> <color name="user_icon_6">#ff4ecde6</color><!-- cyan -->
<color name="user_icon_7">#fffbbc04</color><!-- yellow --> <color name="user_icon_7">#fffbbc04</color><!-- yellow -->
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index b879c9794f39..d8191c0c3597 100644 index b83d3b4ea298..7586684ea936 100644
--- a/core/res/res/values/colors.xml --- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml +++ b/core/res/res/values/colors.xml
@@ -177,7 +177,7 @@ @@ -176,7 +176,7 @@
<color name="system_notification_accent_color">#00000000</color> <color name="system_notification_accent_color">#00000000</color>
<!-- Default user icon colors --> <!-- Default user icon colors -->

View File

@ -1,7 +1,7 @@
From d53bbfe5b348426411d7c5739ec9910c2fcd3009 Mon Sep 17 00:00:00 2001 From 2249465d16cea6251df69dd13d331ed2fae270f0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 3 Jun 2020 01:31:34 +0000 Date: Wed, 3 Jun 2020 01:31:34 +0000
Subject: [PATCH 09/43] UI: Increase default status bar height Subject: [PATCH 07/22] UI: Increase default status bar height
Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07 Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
--- ---
@ -9,7 +9,7 @@ Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 291a5936330a..5aed5c540a75 100644 index 2542268a153a..099a6badc034 100644
--- a/core/res/res/values/dimens.xml --- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml
@@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@

View File

@ -0,0 +1,25 @@
From 380d8dff252dcde3b490cc3080bd56d2e3d21ec4 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 25 Sep 2022 02:20:20 +0000
Subject: [PATCH 08/22] UI: Remove QS footer background
Change-Id: I68e82e0c5e3eddb2d3f767fe792b1436eae506ef
---
packages/SystemUI/res-keyguard/layout/footer_actions.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/packages/SystemUI/res-keyguard/layout/footer_actions.xml b/packages/SystemUI/res-keyguard/layout/footer_actions.xml
index 544d0299060d..d45744961f59 100644
--- a/packages/SystemUI/res-keyguard/layout/footer_actions.xml
+++ b/packages/SystemUI/res-keyguard/layout/footer_actions.xml
@@ -23,7 +23,6 @@
android:elevation="@dimen/qs_panel_elevation"
android:paddingTop="@dimen/qs_footer_actions_top_padding"
android:paddingBottom="@dimen/qs_footer_actions_bottom_padding"
- android:background="@drawable/qs_footer_actions_background"
android:gravity="center_vertical|end"
android:layout_gravity="bottom"
/>
--
2.34.1

View File

@ -0,0 +1,89 @@
From 9f047b03021034b2cb21e7b8c2845eb8dfd577d1 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 19 Mar 2022 09:22:24 +0000
Subject: [PATCH 09/22] UI: Restore split-screen divider to pre-Sv2 looks
- Kill rounded corners - where two rectangles collide should be perfectly straight
- Make it black again - taskbar should mind its own business
Change-Id: I240b627793b615c82bd07ebd77638cde180ef80f
---
.../Shell/res/values-sw600dp/colors.xml | 21 +++++++++++++++++++
.../WindowManager/Shell/res/values/colors.xml | 2 +-
.../wm/shell/common/split/SplitLayout.java | 19 ++---------------
3 files changed, 24 insertions(+), 18 deletions(-)
create mode 100644 libs/WindowManager/Shell/res/values-sw600dp/colors.xml
diff --git a/libs/WindowManager/Shell/res/values-sw600dp/colors.xml b/libs/WindowManager/Shell/res/values-sw600dp/colors.xml
new file mode 100644
index 000000000000..79db59cad3c2
--- /dev/null
+++ b/libs/WindowManager/Shell/res/values-sw600dp/colors.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright 2020, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<resources>
+ <color name="split_divider_background">@color/taskbar_background</color>
+</resources>
diff --git a/libs/WindowManager/Shell/res/values/colors.xml b/libs/WindowManager/Shell/res/values/colors.xml
index 6fb70006e67f..906dc71d623a 100644
--- a/libs/WindowManager/Shell/res/values/colors.xml
+++ b/libs/WindowManager/Shell/res/values/colors.xml
@@ -18,7 +18,7 @@
-->
<resources>
<color name="docked_divider_handle">#000000</color>
- <color name="split_divider_background">@color/taskbar_background</color>
+ <color name="split_divider_background">@android:color/black</color>
<drawable name="forced_resizable_background">#59000000</drawable>
<color name="minimize_dock_shadow_start">#60000000</color>
<color name="minimize_dock_shadow_end">#00000000</color>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
index ffc56b6f6106..fa7d70e34dd1 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java
@@ -154,23 +154,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
}
private void updateDividerConfig(Context context) {
- final Resources resources = context.getResources();
- final Display display = context.getDisplay();
- final int dividerInset = resources.getDimensionPixelSize(
- com.android.internal.R.dimen.docked_stack_divider_insets);
- int radius = 0;
- RoundedCorner corner = display.getRoundedCorner(RoundedCorner.POSITION_TOP_LEFT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_TOP_RIGHT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_RIGHT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
- corner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_LEFT);
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
-
- mDividerInsets = Math.max(dividerInset, radius);
- mDividerSize = resources.getDimensionPixelSize(R.dimen.split_divider_bar_width);
- mDividerWindowWidth = mDividerSize + 2 * mDividerInsets;
+ mDividerWindowWidth = context.getResources().getDimensionPixelSize(
+ R.dimen.split_divider_bar_width);
}
/** Gets bounds of the primary split with screen based coordinate. */
--
2.34.1

View File

@ -1,58 +1,57 @@
From 6e308897ce7844197aa8cbc7bf43b2cdaa54a3df Mon Sep 17 00:00:00 2001 From 31f4647fa3e8662e372a3dacb08a64765f29915f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 6 Oct 2020 01:41:16 +0000 Date: Tue, 6 Oct 2020 01:41:16 +0000
Subject: [PATCH 10/43] UI: Revive navbar layout tuning via sysui_nav_bar Subject: [PATCH 10/22] UI: Revive navbar layout tuning via sysui_nav_bar
tunable tunable
Google keeps fixing what ain't broken. Google keeps fixing what ain't broken.
Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352 Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352
--- ---
.../NavigationBarInflaterView.java | 21 +++++++++++++++++++ .../navigationbar/NavigationBarInflaterView.java | 15 +++++++++++++++
1 file changed, 21 insertions(+) 1 file changed, 15 insertions(+)
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
index 73ca35557133..bbb312c4e56b 100644 index 51feed875337..5f0f9a220c31 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java --- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
@@ -135,6 +135,7 @@ public class NavigationBarInflaterView extends FrameLayout { @@ -118,6 +118,7 @@ public class NavigationBarInflaterView extends FrameLayout
private boolean mInverseLayout; private boolean mInverseLayout;
private boolean mIsHintEnabled; private boolean mIsHintEnabled;
+ private boolean mUsingCustomLayout; + private boolean mUsingCustomLayout;
private final ContentObserver mContentObserver; public NavigationBarInflaterView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -159,6 +160,9 @@ public class NavigationBarInflaterView extends FrameLayout { @@ -177,6 +178,7 @@ public class NavigationBarInflaterView extends FrameLayout
mContext.getMainExecutor().execute(() -> { super.onAttachedToWindow();
onLikelyDefaultLayoutChange(); Dependency.get(TunerService.class).addTunable(this, NAV_BAR_INVERSE);
}); Dependency.get(TunerService.class).addTunable(this, KEY_NAVIGATION_HINT);
+ } else if (Settings.Secure.getUriFor(NAV_BAR_VIEWS).equals(uri)) { + Dependency.get(TunerService.class).addTunable(this, NAV_BAR_VIEWS);
+ setNavigationBarLayout(Settings.Secure.getString(mContext.getContentResolver(),
+ NAV_BAR_VIEWS));
}
}
};
@@ -215,12 +219,16 @@ public class NavigationBarInflaterView extends FrameLayout {
Uri navBarInverse = Settings.Secure.getUriFor(NAV_BAR_INVERSE);
Uri navigationBarHint = LineageSettings.System.getUriFor(
LineageSettings.System.NAVIGATION_BAR_HINT);
+ Uri navBarViews = Settings.Secure.getUriFor(NAV_BAR_VIEWS);
mContext.getContentResolver().registerContentObserver(navBarInverse, false,
mContentObserver);
mContext.getContentResolver().registerContentObserver(navigationBarHint, false,
mContentObserver);
+ mContext.getContentResolver().registerContentObserver(navBarViews, false,
+ mContentObserver);
mContentObserver.onChange(true, navBarInverse);
mContentObserver.onChange(true, navigationBarHint);
+ mContentObserver.onChange(true, navBarViews);
} }
@Override @Override
@@ -237,6 +245,9 @@ public class NavigationBarInflaterView extends FrameLayout { @@ -195,6 +197,8 @@ public class NavigationBarInflaterView extends FrameLayout
mIsHintEnabled = TunerService.parseIntegerSwitch(newValue, true);
updateHint();
onLikelyDefaultLayoutChange();
+ } else if (NAV_BAR_VIEWS.equals(key)) {
+ setNavigationBarLayout(newValue);
}
} }
@@ -204,7 +208,18 @@ public class NavigationBarInflaterView extends FrameLayout
updateLayoutInversion();
}
+ public void setNavigationBarLayout(String layoutValue) {
+ if (!Objects.equals(mCurrentLayout, layoutValue)) {
+ mUsingCustomLayout = layoutValue != null;
+ clearViews();
+ inflateLayout(layoutValue);
+ }
+ }
+
public void onLikelyDefaultLayoutChange() { public void onLikelyDefaultLayoutChange() {
+ // Don't override custom layouts + // Don't override custom layouts
+ if (mUsingCustomLayout) return; + if (mUsingCustomLayout) return;
@ -60,23 +59,6 @@ index 73ca35557133..bbb312c4e56b 100644
// Reevaluate new layout // Reevaluate new layout
final String newValue = getDefaultLayout(); final String newValue = getDefaultLayout();
if (!Objects.equals(mCurrentLayout, newValue)) { if (!Objects.equals(mCurrentLayout, newValue)) {
@@ -245,6 +256,16 @@ public class NavigationBarInflaterView extends FrameLayout {
}
}
+ public void setNavigationBarLayout(String layoutValue) {
+ mContext.getMainExecutor().execute(() -> {
+ if (!Objects.equals(mCurrentLayout, layoutValue)) {
+ mUsingCustomLayout = layoutValue != null;
+ clearViews();
+ inflateLayout(layoutValue);
+ }
+ });
+ }
+
public void setButtonDispatchers(SparseArray<ButtonDispatcher> buttonDispatchers) {
mButtonDispatchers = buttonDispatchers;
clearDispatcherViews();
-- --
2.34.1 2.34.1

View File

@ -1,7 +1,7 @@
From 7d5902f123cc883437cf198fcc1d40c6773129a9 Mon Sep 17 00:00:00 2001 From d81745ad081c1e8bbabd346deb3fa5cb3b3a1017 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 26 Apr 2020 08:56:13 +0000 Date: Sun, 26 Apr 2020 08:56:13 +0000
Subject: [PATCH 11/43] UI: Use SNAP_FIXED_RATIO for multi-window globally Subject: [PATCH 11/22] UI: Use SNAP_FIXED_RATIO for multi-window globally
Enables multiple snap targets under landscape for phone UI Enables multiple snap targets under landscape for phone UI
@ -78,10 +78,10 @@ index 34b6a54be493..3921c9edfeac 100644
Only applies if the device display is not square. --> Only applies if the device display is not square. -->
<bool name="config_navBarCanMove">false</bool> <bool name="config_navBarCanMove">false</bool>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 129c7160fe63..2302cd3911d9 100644 index 77045ea11775..5c9cad656654 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -4273,7 +4273,7 @@ @@ -3885,7 +3885,7 @@
1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio) 1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio)
2 - 1 snap target: 1:1 2 - 1 snap target: 1:1
--> -->

View File

@ -1,7 +1,7 @@
From 2717db2bc74bbebcde07904bdf52afae2da35cfa Mon Sep 17 00:00:00 2001 From a1b87f1cc52bd1d906554b94657634976b9fb776 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 3 Nov 2020 22:43:12 -0800 Date: Tue, 3 Nov 2020 22:43:12 -0800
Subject: [PATCH 12/43] core: Remove old app target SDK dialog Subject: [PATCH 12/22] core: Remove old app target SDK dialog
If an app is old, users should already know that, and there's usually no If an app is old, users should already know that, and there's usually no
point in warning them about it because they would already be using a point in warning them about it because they would already be using a
@ -15,17 +15,17 @@ Change-Id: I1a3021f0f9bec1ab6ff7641776391e1bd4c3cc49
1 file changed, 1 deletion(-) 1 file changed, 1 deletion(-)
diff --git a/services/core/java/com/android/server/wm/AppWarnings.java b/services/core/java/com/android/server/wm/AppWarnings.java diff --git a/services/core/java/com/android/server/wm/AppWarnings.java b/services/core/java/com/android/server/wm/AppWarnings.java
index ad5f4427fbc4..94ccee7b4771 100644 index 994f07959f3b..6749ae78c09c 100644
--- a/services/core/java/com/android/server/wm/AppWarnings.java --- a/services/core/java/com/android/server/wm/AppWarnings.java
+++ b/services/core/java/com/android/server/wm/AppWarnings.java +++ b/services/core/java/com/android/server/wm/AppWarnings.java
@@ -210,7 +210,6 @@ class AppWarnings { @@ -168,7 +168,6 @@ class AppWarnings {
public void onStartActivity(ActivityRecord r) { public void onStartActivity(ActivityRecord r) {
showUnsupportedCompileSdkDialogIfNeeded(r); showUnsupportedCompileSdkDialogIfNeeded(r);
showUnsupportedDisplaySizeDialogIfNeeded(r); showUnsupportedDisplaySizeDialogIfNeeded(r);
- showDeprecatedTargetDialogIfNeeded(r); - showDeprecatedTargetDialogIfNeeded(r);
showDeprecatedAbiDialogIfNeeded(r);
} }
/**
-- --
2.34.1 2.34.1

View File

@ -1,7 +1,7 @@
From 38fbb12c2b6ce42d78e05248410c1de666d46700 Mon Sep 17 00:00:00 2001 From 8b17b1dc3b1f373a0ae8a44d16a8adec599915b3 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 5 Oct 2021 21:01:50 -0700 Date: Tue, 5 Oct 2021 21:01:50 -0700
Subject: [PATCH 13/43] Paint: Enable subpixel text positioning by default Subject: [PATCH 13/22] Paint: Enable subpixel text positioning by default
On desktop Linux, subpixel text positioning is necessary to avoid On desktop Linux, subpixel text positioning is necessary to avoid
kerning issues, and Android is no different. Even though most phone kerning issues, and Android is no different. Even though most phone
@ -24,10 +24,10 @@ Change-Id: I8d71e5848a745c5a2d457a28c68458920928ee09
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index df95a91d72d7..6cbae8b67815 100644 index f438a03b1434..6621d1f23166 100644
--- a/graphics/java/android/graphics/Paint.java --- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java
@@ -329,7 +329,7 @@ public class Paint { @@ -260,7 +260,7 @@ public class Paint {
// These flags are always set on a new/reset paint, even if flags 0 is passed. // These flags are always set on a new/reset paint, even if flags 0 is passed.
static final int HIDDEN_DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG static final int HIDDEN_DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG

View File

@ -0,0 +1,163 @@
From 482d15491c36aeb11a0e8b5c9a5205d389507034 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Sat, 16 Oct 2021 05:27:57 -0700
Subject: [PATCH 14/22] Add support for app signature spoofing
This is needed by microG GmsCore to pretend to be the official Google
Play Services package, because client apps check the package signature
to make sure it matches Google's official certificate.
This was forward-ported from the Android 10 patch by gudenau:
https://github.com/microg/android_packages_apps_GmsCore/pull/957
Changes made for Android 11:
- Updated PackageInfo calls
- Added new permission to public API surface, needed for
PermissionController which is now an updatable APEX on 11
- Added a dummy permission group to allow users to manage the
permission through the PermissionController UI
(by Vachounet <vachounet@live.fr>)
- Updated location provider comment for conciseness
Changes made for Android 12:
- Moved mayFakeSignature into lock-free Computer subclass
- Always get permissions for packages that request signature spoofing
(otherwise permissions are usually ommitted and thus the permission
check doesn't work properly)
- Optimize mayFakeSignature check order to improve performance
Changes made for Android 13:
- Computer subclass is now an independent class.
Change-Id: Ied7d6ce0b83a2d2345c3abba0429998d86494a88
---
core/api/current.txt | 2 ++
core/res/AndroidManifest.xml | 15 ++++++++++
core/res/res/values/strings.xml | 12 ++++++++
.../com/android/server/pm/ComputerEngine.java | 30 +++++++++++++++++--
4 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/core/api/current.txt b/core/api/current.txt
index 487e57d114c9..04e69741b9fd 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -87,6 +87,7 @@ package android {
field public static final String DUMP = "android.permission.DUMP";
field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST";
+ field public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE";
field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE";
field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
@@ -222,6 +223,7 @@ package android {
field public static final String CALL_LOG = "android.permission-group.CALL_LOG";
field public static final String CAMERA = "android.permission-group.CAMERA";
field public static final String CONTACTS = "android.permission-group.CONTACTS";
+ field public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE";
field public static final String LOCATION = "android.permission-group.LOCATION";
field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index bbc3a7369423..af04d9d18fbd 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -3577,6 +3577,21 @@
android:description="@string/permdesc_getPackageSize"
android:protectionLevel="normal" />
+ <!-- Dummy user-facing group for faking package signature -->
+ <permission-group android:name="android.permission-group.FAKE_PACKAGE"
+ android:label="@string/permgrouplab_fake_package_signature"
+ android:description="@string/permgroupdesc_fake_package_signature"
+ android:request="@string/permgrouprequest_fake_package_signature"
+ android:priority="100" />
+
+ <!-- Allows an application to change the package signature as
+ seen by applications -->
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
+ android:permissionGroup="android.permission-group.UNDEFINED"
+ android:protectionLevel="signature|privileged"
+ android:label="@string/permlab_fakePackageSignature"
+ android:description="@string/permdesc_fakePackageSignature" />
+
<!-- @deprecated No longer useful, see
{@link android.content.pm.PackageManager#addPackageToPreferred}
for details. -->
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 2091c0502b6f..6888edcf7d3c 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -982,6 +982,18 @@
<!-- Permissions -->
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permdesc_fakePackageSignature">Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Legitimate uses include an emulator pretending to be what it emulates. Grant this permission with caution only!</string>
+ <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgrouplab_fake_package_signature">Spoof package signature</string>
+ <!-- Description of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
+ <string name="permgroupdesc_fake_package_signature">allow to spoof package signature</string>
+ <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] -->
+ <string name="permgrouprequest_fake_package_signature">Allow
+ &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to spoof package signature?</string>
+
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
<string name="permlab_statusBar">disable or modify status bar</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
index 46b7460dff1b..40549962436f 100644
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
@@ -1603,6 +1603,29 @@ public class ComputerEngine implements Computer {
return result;
}
+ private boolean requestsFakeSignature(AndroidPackage p) {
+ return p.getMetaData() != null &&
+ p.getMetaData().getString("fake-signature") != null;
+ }
+
+ private PackageInfo mayFakeSignature(AndroidPackage p, PackageInfo pi,
+ Set<String> permissions) {
+ try {
+ if (p.getMetaData() != null &&
+ p.getTargetSdkVersion() > Build.VERSION_CODES.LOLLIPOP_MR1) {
+ String sig = p.getMetaData().getString("fake-signature");
+ if (sig != null &&
+ permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE")) {
+ pi.signatures = new Signature[] {new Signature(sig)};
+ }
+ }
+ } catch (Throwable t) {
+ // We should never die because of any failures, this is system code!
+ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t);
+ }
+ return pi;
+ }
+
public final PackageInfo generatePackageInfo(PackageStateInternal ps,
@PackageManager.PackageInfoFlagsBits long flags, int userId) {
if (!mUserManager.exists(userId)) return null;
@@ -1632,13 +1655,14 @@ public class ComputerEngine implements Computer {
final int[] gids = (flags & PackageManager.GET_GIDS) == 0 ? EMPTY_INT_ARRAY
: mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.getAppId()));
// Compute granted permissions only if package has requested permissions
- final Set<String> permissions = ((flags & PackageManager.GET_PERMISSIONS) == 0
+ final Set<String> permissions = (((flags & PackageManager.GET_PERMISSIONS) == 0
+ && !requestsFakeSignature(p))
|| ArrayUtils.isEmpty(p.getRequestedPermissions())) ? Collections.emptySet()
: mPermissionManager.getGrantedPermissions(ps.getPackageName(), userId);
- PackageInfo packageInfo = PackageInfoUtils.generate(p, gids, flags,
+ PackageInfo packageInfo = mayFakeSignature(p, PackageInfoUtils.generate(p, gids, flags,
state.getFirstInstallTime(), ps.getLastUpdateTime(), permissions, state, userId,
- ps);
+ ps), permissions);
if (packageInfo == null) {
return null;
--
2.34.1

View File

@ -1,28 +0,0 @@
From 76893bd08d5c89685320342db2a3bcec2bc981f5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 17 Mar 2024 17:10:38 +0800
Subject: [PATCH 14/43] Remove debuggable requirement for signature spoofing
Change-Id: I8d637ddbbd117a9c5b1d9c5e462b0f4b30d98333
---
services/core/java/com/android/server/pm/ComputerEngine.java | 4 ----
1 file changed, 4 deletions(-)
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
index 7d00436857a5..10a221eb8b9f 100644
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
@@ -1474,10 +1474,6 @@ public class ComputerEngine implements Computer {
private static native boolean isDebuggable();
public static boolean isMicrogSigned(AndroidPackage p) {
- if (!isDebuggable()) {
- return false;
- }
-
// Allowlist the following apps:
// * com.android.vending - microG Companion
// * com.google.android.gms - microG Services
--
2.34.1

View File

@ -0,0 +1,113 @@
From db27d27f48658841c6a74e55f543f417ddb16e76 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:59:51 -0700
Subject: [PATCH 15/22] Spoof product name for Google Play Services
NB: This code is under the gmscompat package, but it does not depend on
any code from gmscompat.
Change-Id: Ic018c0d7abe4573143c3b92301a2625b91e6673a
---
core/java/android/app/Instrumentation.java | 4 ++
.../internal/gmscompat/AttestationHooks.java | 60 +++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 core/java/com/android/internal/gmscompat/AttestationHooks.java
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index 556058b567f9..44449588bbab 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -57,6 +57,8 @@ import android.view.WindowManagerGlobal;
import com.android.internal.content.ReferrerIntent;
+import com.android.internal.gmscompat.AttestationHooks;
+
import java.io.File;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -1242,6 +1244,7 @@ public class Instrumentation {
Application app = getFactory(context.getPackageName())
.instantiateApplication(cl, className);
app.attach(context);
+ AttestationHooks.initApplicationBeforeOnCreate(app);
return app;
}
@@ -1259,6 +1262,7 @@ public class Instrumentation {
ClassNotFoundException {
Application app = (Application)clazz.newInstance();
app.attach(context);
+ AttestationHooks.initApplicationBeforeOnCreate(app);
return app;
}
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
new file mode 100644
index 000000000000..55db97dc28a1
--- /dev/null
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.gmscompat;
+
+import android.app.Application;
+import android.os.Build;
+import android.os.SystemProperties;
+import android.util.Log;
+
+import java.lang.reflect.Field;
+
+/** @hide */
+public final class AttestationHooks {
+ private static final String TAG = "GmsCompat/Attestation";
+
+ private static final String PACKAGE_GMS = "com.google.android.gms";
+
+ private AttestationHooks() { }
+
+ private static void setBuildField(String key, String value) {
+ try {
+ // Unlock
+ Field field = Build.class.getDeclaredField(key);
+ field.setAccessible(true);
+
+ // Edit
+ field.set(null, value);
+
+ // Lock
+ field.setAccessible(false);
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ Log.e(TAG, "Failed to spoof Build." + key, e);
+ }
+ }
+
+ private static void spoofBuildGms() {
+ // Alter model name to avoid hardware attestation enforcement
+ setBuildField("MODEL", "Pixel 5a");
+ }
+
+ public static void initApplicationBeforeOnCreate(Application app) {
+ if (PACKAGE_GMS.equals(app.getPackageName())) {
+ spoofBuildGms();
+ }
+ }
+}
--
2.34.1

View File

@ -1,54 +0,0 @@
From 2f0cb797274c27772f923c7a07ef830c12ddbfd4 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 30 Jun 2024 16:49:47 +0800
Subject: [PATCH 16/43] Revert "Change color of track"
This reverts commit 9ba91db9836625e5f45367b38b76cf08615cce00.
---
.../res/color/brightness_slider_track.xml | 19 -------------------
.../drawable/brightness_progress_drawable.xml | 2 +-
2 files changed, 1 insertion(+), 20 deletions(-)
delete mode 100644 packages/SystemUI/res/color/brightness_slider_track.xml
diff --git a/packages/SystemUI/res/color/brightness_slider_track.xml b/packages/SystemUI/res/color/brightness_slider_track.xml
deleted file mode 100644
index 6028769f3789..000000000000
--- a/packages/SystemUI/res/color/brightness_slider_track.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!--
- ~ Copyright (C) 2024 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="@android:color/system_neutral2_500" android:lStar="40" />
-</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/brightness_progress_drawable.xml b/packages/SystemUI/res/drawable/brightness_progress_drawable.xml
index cae9d6b0513e..95c7778c0e76 100644
--- a/packages/SystemUI/res/drawable/brightness_progress_drawable.xml
+++ b/packages/SystemUI/res/drawable/brightness_progress_drawable.xml
@@ -24,7 +24,7 @@
<shape>
<size android:height="@dimen/rounded_slider_track_width" />
<corners android:radius="@dimen/rounded_slider_track_corner_radius" />
- <solid android:color="@color/brightness_slider_track" />
+ <solid android:color="?attr/shadeInactive" />
</shape>
</inset>
</item>
--
2.34.1

View File

@ -0,0 +1,93 @@
From dc4bd0f140c6946e01e0a3c31bfc71c884138981 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 20:00:44 -0700
Subject: [PATCH 16/22] keystore: Block key attestation for SafetyNet
SafetyNet (part of Google Play Services) opportunistically uses
hardware-backed key attestation via KeyStore as a strong integrity
check. This causes SafetyNet to fail on custom ROMs because the verified
boot key and bootloader unlock state can be detected from attestation
certificates.
As a workaround, we can take advantage of the fact that SafetyNet's
usage of key attestation is opportunistic (i.e. falls back to basic
integrity checks if it fails) and prevent it from getting the
attestation certificate chain from KeyStore. This is done by checking
the stack for DroidGuard, which is the codename for SafetyNet, and
pretending that the device doesn't support key attestation.
Key attestation has only been blocked for SafetyNet specifically, as
Google Play Services and other apps have many valid reasons to use it.
For example, it appears to be involved in Google's mobile security key
ferature.
Change-Id: I5146439d47f42dc6231cb45c4dab9f61540056f6
---
.../internal/gmscompat/AttestationHooks.java | 15 +++++++++++++++
.../security/keystore2/AndroidKeyStoreSpi.java | 3 +++
2 files changed, 18 insertions(+)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 55db97dc28a1..f2c85c82821f 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -22,12 +22,14 @@ import android.os.SystemProperties;
import android.util.Log;
import java.lang.reflect.Field;
+import java.util.Arrays;
/** @hide */
public final class AttestationHooks {
private static final String TAG = "GmsCompat/Attestation";
private static final String PACKAGE_GMS = "com.google.android.gms";
+ private static volatile boolean sIsGms = false;
private AttestationHooks() { }
@@ -54,7 +56,20 @@ public final class AttestationHooks {
public static void initApplicationBeforeOnCreate(Application app) {
if (PACKAGE_GMS.equals(app.getPackageName())) {
+ sIsGms = true;
spoofBuildGms();
}
}
+
+ private static boolean isCallerSafetyNet() {
+ return Arrays.stream(Thread.currentThread().getStackTrace())
+ .anyMatch(elem -> elem.getClassName().contains("DroidGuard"));
+ }
+
+ public static void onEngineGetCertificateChain() {
+ // Check stack for SafetyNet
+ if (sIsGms && isCallerSafetyNet()) {
+ throw new UnsupportedOperationException();
+ }
+ }
}
diff --git a/keystore/java/android/security/keystore2/AndroidKeyStoreSpi.java b/keystore/java/android/security/keystore2/AndroidKeyStoreSpi.java
index 33411e1ec5b9..133a4094d434 100644
--- a/keystore/java/android/security/keystore2/AndroidKeyStoreSpi.java
+++ b/keystore/java/android/security/keystore2/AndroidKeyStoreSpi.java
@@ -42,6 +42,7 @@ import android.system.keystore2.ResponseCode;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.gmscompat.AttestationHooks;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -164,6 +165,8 @@ public class AndroidKeyStoreSpi extends KeyStoreSpi {
@Override
public Certificate[] engineGetCertificateChain(String alias) {
+ AttestationHooks.onEngineGetCertificateChain();
+
KeyEntryResponse response = getKeyMetadata(alias);
if (response == null || response.metadata.certificate == null) {
--
2.34.1

View File

@ -0,0 +1,42 @@
From 05bc5fa10b4e2ebc539c32db04abbc995906ff05 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 1 Nov 2021 20:06:48 -0700
Subject: [PATCH 17/22] Limit SafetyNet workarounds to unstable GMS process
The unstable process is where SafetyNet attestation actually runs, so
we only need to spoof the model in that process. Leaving other processes
fixes various issues caused by model detection and flag provisioning,
including screen-off Voice Match in Google Assistant, broken At a Glance
weather and settings on Android 12, and more.
Change-Id: Idcf663907a6c3d0408dbd45b1ac53c9eb4200df8
---
.../com/android/internal/gmscompat/AttestationHooks.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index f2c85c82821f..37ce8c946de6 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -29,6 +29,8 @@ public final class AttestationHooks {
private static final String TAG = "GmsCompat/Attestation";
private static final String PACKAGE_GMS = "com.google.android.gms";
+ private static final String PROCESS_UNSTABLE = "com.google.android.gms.unstable";
+
private static volatile boolean sIsGms = false;
private AttestationHooks() { }
@@ -55,7 +57,8 @@ public final class AttestationHooks {
}
public static void initApplicationBeforeOnCreate(Application app) {
- if (PACKAGE_GMS.equals(app.getPackageName())) {
+ if (PACKAGE_GMS.equals(app.getPackageName()) &&
+ PROCESS_UNSTABLE.equals(Application.getProcessName())) {
sIsGms = true;
spoofBuildGms();
}
--
2.34.1

View File

@ -1,27 +0,0 @@
From 587d8c7b04046a1a52c6dba36dbafaf95911b30e Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 30 Jun 2024 16:13:51 +0800
Subject: [PATCH 17/43] Revert "Fix the text color used on the notification
unread indicator."
This reverts commit aee60c49308a81125587ea0c53f40c9d5d60707e.
---
core/java/android/app/Notification.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 1129f9dbdfeb..baecf785a8af 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5721,7 +5721,7 @@ public class Notification implements Parcelable
pillColor = Colors.flattenAlpha(
getColors(p).getTertiaryFixedDimAccentColor(), bgColor);
textColor = Colors.flattenAlpha(
- getColors(p).getOnTertiaryFixedAccentTextColor(), pillColor);
+ getColors(p).getOnTertiaryAccentTextColor(), pillColor);
}
contentView.setInt(R.id.expand_button, "setHighlightTextColor", textColor);
contentView.setInt(R.id.expand_button, "setHighlightPillColor", pillColor);
--
2.34.1

View File

@ -1,882 +0,0 @@
From 912eb2ce819f09cf4e4592833547ea94b8ee3d80 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 4 Apr 2024 18:26:02 +0800
Subject: [PATCH 18/43] Revert "Update SystemUI to new notification color spec"
This reverts commit db2c5554ac653567d1433d3ff99328c5d855c233.
Change-Id: Iddbe46f4d01d05d6579c1e8b9dab266dd605e199
---
...ication_guts_priority_button_bg_stroke.xml | 5 ++--
.../notification_guts_priority_contents.xml | 5 ++--
.../SystemUI/res/color/remote_input_hint.xml | 5 ++--
.../SystemUI/res/color/remote_input_send.xml | 7 ++---
.../SystemUI/res/color/remote_input_text.xml | 7 ++---
.../drawable/notif_footer_btn_background.xml | 2 +-
.../res/drawable/notification_guts_bg.xml | 2 +-
.../res/drawable/notification_material_bg.xml | 2 +-
.../drawable/remote_input_view_text_bg.xml | 5 ++--
..._notification_section_header_clear_btn.xml | 3 +-
.../SystemUI/res/layout/notif_half_shelf.xml | 3 +-
.../res/layout/notif_half_shelf_row.xml | 5 ++--
.../layout/notification_children_divider.xml | 3 +-
.../layout/notification_conversation_info.xml | 3 +-
.../SystemUI/res/layout/notification_info.xml | 5 ++--
.../res/layout/notification_snooze.xml | 4 +--
.../res/layout/notification_snooze_option.xml | 3 +-
.../layout/status_bar_notification_footer.xml | 6 ++--
...status_bar_notification_section_header.xml | 2 +-
packages/SystemUI/res/values-night/colors.xml | 2 +-
packages/SystemUI/res/values/colors.xml | 2 +-
packages/SystemUI/res/values/styles.xml | 30 ++++---------------
.../systemui/statusbar/EmptyShadeView.java | 8 ++---
.../footer/ui/view/FooterView.java | 29 +++++++++---------
.../row/ActivatableNotificationView.java | 2 +-
.../row/HybridNotificationView.java | 5 ++--
.../row/NotificationConversationInfo.java | 9 +++---
.../row/wrapper/NotificationViewWrapper.java | 3 +-
.../stack/NotificationChildrenContainer.java | 2 +-
.../stack/NotificationSectionsManager.kt | 8 ++---
.../stack/NotificationStackScrollLayout.java | 23 +++++++-------
.../notification/stack/SectionHeaderView.java | 6 ++--
.../statusbar/phone/ScrimController.java | 5 ++--
.../statusbar/phone/TapAgainView.java | 7 ++---
.../statusbar/policy/RemoteInputView.java | 15 +++++-----
.../row/ActivatableNotificationViewTest.kt | 5 ++--
36 files changed, 101 insertions(+), 137 deletions(-)
diff --git a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml
index d1b8a064724d..015e9f99212d 100644
--- a/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml
+++ b/packages/SystemUI/res/color/notification_guts_priority_button_bg_stroke.xml
@@ -14,9 +14,8 @@
~ limitations under the License
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
- android:color="?androidprv:attr/materialColorOnSurfaceVariant" />
+ android:color="?android:attr/colorAccent" />
<item android:color="@color/notification_guts_priority_button_bg_stroke_color" />
</selector>
diff --git a/packages/SystemUI/res/color/notification_guts_priority_contents.xml b/packages/SystemUI/res/color/notification_guts_priority_contents.xml
index cc8c25a2d1ec..42f01896d7a1 100644
--- a/packages/SystemUI/res/color/notification_guts_priority_contents.xml
+++ b/packages/SystemUI/res/color/notification_guts_priority_contents.xml
@@ -14,9 +14,8 @@
~ limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
- android:color="?androidprv:attr/materialColorOnSurfaceVariant" />
+ android:color="?android:attr/colorAccent" />
<item android:color="@color/notification_guts_priority_button_content_color" />
</selector>
diff --git a/packages/SystemUI/res/color/remote_input_hint.xml b/packages/SystemUI/res/color/remote_input_hint.xml
index 0d90ee6b47c6..7fe58dbcf822 100644
--- a/packages/SystemUI/res/color/remote_input_hint.xml
+++ b/packages/SystemUI/res/color/remote_input_hint.xml
@@ -14,7 +14,6 @@
~ limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
- <item android:color="?androidprv:attr/materialColorOnSurfaceVariant" android:alpha=".6" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="?android:attr/textColorPrimary" android:alpha=".6" />
</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/remote_input_send.xml b/packages/SystemUI/res/color/remote_input_send.xml
index 0acc66b9050f..4dcd3dd229fb 100644
--- a/packages/SystemUI/res/color/remote_input_send.xml
+++ b/packages/SystemUI/res/color/remote_input_send.xml
@@ -15,8 +15,7 @@
~ limitations under the License
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
- <item android:state_enabled="false" android:color="?androidprv:attr/materialColorPrimary" android:alpha=".3" />
- <item android:color="?androidprv:attr/materialColorPrimary" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false" android:color="?android:attr/colorAccent" android:alpha=".3" />
+ <item android:color="?android:attr/colorAccent" />
</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/remote_input_text.xml b/packages/SystemUI/res/color/remote_input_text.xml
index bf2c198fe540..13bb1d7cbe7d 100644
--- a/packages/SystemUI/res/color/remote_input_text.xml
+++ b/packages/SystemUI/res/color/remote_input_text.xml
@@ -15,8 +15,7 @@
~ limitations under the License
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
- <item android:state_enabled="false" android:color="?androidprv:attr/materialColorOnSurfaceVariant" android:alpha=".6" />
- <item android:color="?androidprv:attr/materialColorOnSurfaceVariant" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false" android:color="?android:attr/textColorPrimary" android:alpha=".6" />
+ <item android:color="?android:attr/textColorPrimary" />
</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml
index b9597375c3df..e6266754c0af 100644
--- a/packages/SystemUI/res/drawable/notif_footer_btn_background.xml
+++ b/packages/SystemUI/res/drawable/notif_footer_btn_background.xml
@@ -26,7 +26,7 @@
<padding
android:left="20dp"
android:right="20dp" />
- <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" />
+ <solid android:color="?androidprv:attr/colorSurface" />
</shape>
</inset>
</item>
diff --git a/packages/SystemUI/res/drawable/notification_guts_bg.xml b/packages/SystemUI/res/drawable/notification_guts_bg.xml
index 84e2231738d4..bd9394bf9f8a 100644
--- a/packages/SystemUI/res/drawable/notification_guts_bg.xml
+++ b/packages/SystemUI/res/drawable/notification_guts_bg.xml
@@ -17,7 +17,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
- <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" />
+ <solid android:color="?androidprv:attr/colorSurface" />
<!--The radius is 1dp smaller than the notification one, to avoid aliasing bugs on the corners -->
<corners android:radius="1dp" />
</shape>
diff --git a/packages/SystemUI/res/drawable/notification_material_bg.xml b/packages/SystemUI/res/drawable/notification_material_bg.xml
index 3f903aece0b5..40b9238b5e87 100644
--- a/packages/SystemUI/res/drawable/notification_material_bg.xml
+++ b/packages/SystemUI/res/drawable/notification_material_bg.xml
@@ -20,7 +20,7 @@
android:color="?android:attr/colorControlHighlight">
<item>
<shape>
- <solid android:color="?androidprv:attr/materialColorSurfaceContainerHigh" />
+ <solid android:color="?androidprv:attr/colorSurface" />
</shape>
</item>
<item>
diff --git a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml
index 45d1a530cd20..535b35497b5c 100644
--- a/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml
+++ b/packages/SystemUI/res/drawable/remote_input_view_text_bg.xml
@@ -14,13 +14,12 @@
~ limitations under the License.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:shape="rectangle">
- <solid android:color="?androidprv:attr/materialColorSurfaceDim" />
+ <solid android:color="?android:attr/colorBackgroundFloating" />
<stroke
android:width="@dimen/remote_input_view_text_stroke"
- android:color="?androidprv:attr/materialColorPrimary"/>
+ android:color="?android:attr/colorAccent"/>
<padding
android:bottom="0dp"
android:left="12dp"
diff --git a/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml b/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml
index 06bed001ae1a..8b3408048848 100644
--- a/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml
+++ b/packages/SystemUI/res/drawable/status_bar_notification_section_header_clear_btn.xml
@@ -15,12 +15,11 @@
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:width="40dp"
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
<path
- android:fillColor="?androidprv:attr/materialColorOnSurfaceVariant"
+ android:fillColor="@color/notification_section_clear_all_btn_color"
android:pathData="M24.6667 16.2733L23.7267 15.3333L20 19.06L16.2734 15.3333L15.3334 16.2733L19.06 20L15.3334 23.7267L16.2734 24.6667L20 20.94L23.7267 24.6667L24.6667 23.7267L20.94 20L24.6667 16.2733Z"/>
</vector>
diff --git a/packages/SystemUI/res/layout/notif_half_shelf.xml b/packages/SystemUI/res/layout/notif_half_shelf.xml
index 68c8dd96d188..c70f8e2b1c07 100644
--- a/packages/SystemUI/res/layout/notif_half_shelf.xml
+++ b/packages/SystemUI/res/layout/notif_half_shelf.xml
@@ -16,7 +16,6 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:id="@+id/half_shelf_dialog"
android:orientation="vertical"
android:layout_width="wrap_content"
@@ -66,7 +65,7 @@
android:gravity="center_vertical|start"
android:ellipsize="end"
android:maxLines="2"
- android:textColor="?androidprv:attr/materialColorOnSurface"
+ android:textColor="?android:attr/textColorPrimary"
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:textSize="16sp"
/>
diff --git a/packages/SystemUI/res/layout/notif_half_shelf_row.xml b/packages/SystemUI/res/layout/notif_half_shelf_row.xml
index 9ef342ce5220..190f9994b1dc 100644
--- a/packages/SystemUI/res/layout/notif_half_shelf_row.xml
+++ b/packages/SystemUI/res/layout/notif_half_shelf_row.xml
@@ -16,7 +16,6 @@
<com.android.systemui.statusbar.notification.row.ChannelRow
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:id="@+id/half_shelf_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -60,7 +59,7 @@
android:ellipsize="end"
android:maxLines="1"
android:fontFamily="@*android:string/config_headlineFontFamily"
- android:textColor="?androidprv:attr/materialColorOnSurface"
+ android:textColor="?android:attr/textColorPrimary"
android:textSize="16sp"
/>
@@ -75,7 +74,7 @@
android:maxLines="1"
android:layout_below="@id/channel_name"
android:fontFamily="@*android:string/config_bodyFontFamily"
- android:textColor="?androidprv:attr/materialColorOnSurfaceVariant"
+ android:textColor="?android:attr/textColorSecondary"
android:textSize="14sp"
/>
</RelativeLayout>
diff --git a/packages/SystemUI/res/layout/notification_children_divider.xml b/packages/SystemUI/res/layout/notification_children_divider.xml
index 13e24a9ea277..eb743067933d 100644
--- a/packages/SystemUI/res/layout/notification_children_divider.xml
+++ b/packages/SystemUI/res/layout/notification_children_divider.xml
@@ -17,8 +17,7 @@
<com.android.systemui.statusbar.AlphaOptimizedView
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:id="@+id/notification_more_divider"
android:layout_width="match_parent"
android:layout_height="@dimen/notification_divider_height"
- android:background="?androidprv:attr/materialColorOnSurfaceVariant" />
+ android:background="@color/notification_divider_color" />
diff --git a/packages/SystemUI/res/layout/notification_conversation_info.xml b/packages/SystemUI/res/layout/notification_conversation_info.xml
index 3a752c81b95a..4f6e88c2266f 100644
--- a/packages/SystemUI/res/layout/notification_conversation_info.xml
+++ b/packages/SystemUI/res/layout/notification_conversation_info.xml
@@ -17,7 +17,6 @@
<com.android.systemui.statusbar.notification.row.NotificationConversationInfo
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:id="@+id/notification_guts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -174,7 +173,7 @@
android:contentDescription="@string/notification_more_settings"
android:background="@drawable/ripple_drawable_20dp"
android:src="@drawable/ic_settings"
- android:tint="?androidprv:attr/materialColorPrimary"
+ android:tint="?android:attr/colorAccent"
android:layout_alignParentEnd="true" />
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/notification_info.xml b/packages/SystemUI/res/layout/notification_info.xml
index 19a3f2fd521c..852db1b8fb91 100644
--- a/packages/SystemUI/res/layout/notification_info.xml
+++ b/packages/SystemUI/res/layout/notification_info.xml
@@ -17,7 +17,6 @@
<com.android.systemui.statusbar.notification.row.NotificationInfo
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:id="@+id/notification_guts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -103,7 +102,7 @@ asked for it -->
android:contentDescription="@string/notification_app_settings"
android:src="@drawable/ic_info"
android:layout_toStartOf="@id/info"
- android:tint="?androidprv:attr/materialColorPrimary"/>
+ android:tint="@color/notification_guts_link_icon_tint"/>
<ImageButton
android:id="@+id/info"
android:layout_width="@dimen/notification_importance_toggle_size"
@@ -112,7 +111,7 @@ asked for it -->
android:contentDescription="@string/notification_more_settings"
android:background="@drawable/ripple_drawable_20dp"
android:src="@drawable/ic_settings"
- android:tint="?androidprv:attr/materialColorPrimary"
+ android:tint="?android:attr/colorAccent"
android:layout_alignParentEnd="true" />
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/notification_snooze.xml b/packages/SystemUI/res/layout/notification_snooze.xml
index ce09385eaf45..6608d8620f86 100644
--- a/packages/SystemUI/res/layout/notification_snooze.xml
+++ b/packages/SystemUI/res/layout/notification_snooze.xml
@@ -23,7 +23,7 @@
android:orientation="vertical"
android:paddingTop="2dp"
android:paddingBottom="2dp"
- android:background="?androidprv:attr/materialColorSurfaceContainerHigh"
+ android:background="?androidprv:attr/colorSurface"
android:theme="@style/Theme.SystemUI">
<RelativeLayout
@@ -38,7 +38,7 @@
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:paddingStart="@*android:dimen/notification_content_margin_end"
- android:textColor="?androidprv:attr/materialColorOnSurface"
+ android:textColor="?android:attr/textColorPrimary"
android:paddingEnd="4dp"/>
<ImageView
diff --git a/packages/SystemUI/res/layout/notification_snooze_option.xml b/packages/SystemUI/res/layout/notification_snooze_option.xml
index fa6f965198d4..d42cc0212fd8 100644
--- a/packages/SystemUI/res/layout/notification_snooze_option.xml
+++ b/packages/SystemUI/res/layout/notification_snooze_option.xml
@@ -16,11 +16,10 @@
-->
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:layout_width="match_parent"
android:layout_height="@*android:dimen/notification_headerless_min_height"
android:layout_marginStart="@*android:dimen/notification_content_margin_end"
android:layout_marginEnd="@*android:dimen/notification_content_margin_end"
android:gravity="center_vertical"
android:textSize="14sp"
- android:textColor="?androidprv:attr/materialColorOnSurfaceVariant"/>
\ No newline at end of file
+ android:textColor="?android:attr/textColorSecondary"/>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/status_bar_notification_footer.xml b/packages/SystemUI/res/layout/status_bar_notification_footer.xml
index 72424a13d0f1..c1bac3151049 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_footer.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_footer.xml
@@ -41,7 +41,7 @@
android:layout_height="wrap_content"
>
<com.android.systemui.statusbar.notification.row.FooterViewButton
- style="@style/TextAppearance.NotificationFooterButton"
+ style="@style/TextAppearance.NotificationSectionHeaderButton"
android:id="@+id/manage_text"
android:layout_width="wrap_content"
android:layout_height="48dp"
@@ -54,11 +54,12 @@
app:layout_constraintEnd_toStartOf="@id/dismiss_text"
android:background="@drawable/notif_footer_btn_background"
android:focusable="true"
+ android:textColor="@color/notif_pill_text"
android:contentDescription="@string/manage_notifications_history_text"
android:text="@string/manage_notifications_history_text"
/>
<com.android.systemui.statusbar.notification.row.FooterViewButton
- style="@style/TextAppearance.NotificationFooterButton"
+ style="@style/TextAppearance.NotificationSectionHeaderButton"
android:id="@+id/dismiss_text"
android:layout_width="wrap_content"
android:layout_height="48dp"
@@ -69,6 +70,7 @@
app:layout_constraintStart_toEndOf="@id/manage_text"
android:background="@drawable/notif_footer_btn_background"
android:focusable="true"
+ android:textColor="@color/notif_pill_text"
android:contentDescription="@string/accessibility_clear_all"
android:text="@string/clear_all_notifications_text"
/>
diff --git a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml
index 53abe87e7c12..c4d8d55f74e2 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_section_header.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_section_header.xml
@@ -40,7 +40,7 @@
android:layout_weight="1">
<TextView
- style="@style/TextAppearance.NotificationSectionHeaderLabel"
+ style="@style/TextAppearance.NotificationSectionHeaderButton"
android:id="@+id/header_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml
index 61a323d44dfc..ddf188e3f1d3 100644
--- a/packages/SystemUI/res/values-night/colors.xml
+++ b/packages/SystemUI/res/values-night/colors.xml
@@ -33,7 +33,7 @@
<!-- The color of the text inside a notification -->
<color name="notification_primary_text_color">@*android:color/notification_primary_text_color_dark</color>
- <color name="notif_pill_text">@android:color/system_on_surface_dark</color>
+ <color name="notif_pill_text">@color/material_dynamic_neutral95</color>
<color name="notification_guts_link_icon_tint">@color/GM2_grey_500</color>
<color name="notification_guts_sub_text_color">@color/GM2_grey_300</color>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 46364820c5d5..846fd5736590 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -121,7 +121,7 @@
<!-- Chosen so fill over background matches single tone -->
<color name="dark_mode_qs_icon_color_dual_tone_fill">#99000000</color>
- <color name="notif_pill_text">@android:color/system_on_surface_light</color>
+ <color name="notif_pill_text">@color/material_dynamic_neutral10</color>
<!-- Keyboard shortcuts colors -->
<color name="ksh_application_group_color">#fff44336</color>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index ce08ca3e43af..ae354d634f67 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -625,34 +625,34 @@
<style name="TextAppearance.NotificationImportanceChannel">
<item name="android:textSize">@dimen/notification_importance_channel_text</item>
<item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
+ <item name="android:textColor">@color/notification_guts_header_text_color</item>
<item name="android:textSize">@dimen/notification_importance_channel_text</item>
</style>
<style name="TextAppearance.NotificationImportanceChannelGroup">
<item name="android:textSize">@dimen/notification_importance_channel_group_text</item>
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
+ <item name="android:textColor">@color/notification_guts_header_text_color</item>
<item name="android:textSize">@dimen/notification_importance_channel_group_text</item>
</style>
<style name="TextAppearance.NotificationImportanceApp">
<item name="android:textSize">@dimen/notification_importance_channel_group_text</item>
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
- <item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item>
+ <item name="android:textColor">@color/notification_guts_sub_text_color</item>
<item name="android:textSize">@dimen/notification_importance_channel_group_text</item>
</style>
<style name="TextAppearance.NotificationImportanceHeader">
<item name="android:textSize">@dimen/notification_importance_header_text</item>
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
+ <item name="android:textColor">@color/notification_guts_header_text_color</item>
</style>
<style name="TextAppearance.NotificationImportanceDetail">
<item name="android:textSize">@dimen/notification_importance_description_text</item>
<item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
- <item name="android:textColor">?androidprv:attr/materialColorOnSurfaceVariant</item>
+ <item name="android:textColor">@color/notification_guts_sub_text_color</item>
<item name="android:gravity">center</item>
</style>
@@ -663,28 +663,10 @@
<item name="android:gravity">center</item>
</style>
- <style
- name="TextAppearance.NotificationSectionHeaderLabel"
- parent="@android:style/Widget.DeviceDefault.Button.Borderless">
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
- <item name="android:textAllCaps">false</item>
- <item name="android:textSize">14sp</item>
- <item name="android:minWidth">0dp</item>
- </style>
-
<style
name="TextAppearance.NotificationSectionHeaderButton"
parent="@android:style/Widget.DeviceDefault.Button.Borderless">
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
- <item name="android:textAllCaps">false</item>
- <item name="android:textSize">14sp</item>
- <item name="android:minWidth">0dp</item>
- </style>
-
- <style
- name="TextAppearance.NotificationFooterButton"
- parent="@android:style/Widget.DeviceDefault.Button.Borderless">
- <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">14sp</item>
<item name="android:minWidth">0dp</item>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
index 2338be28d32c..c9758471a30e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/EmptyShadeView.java
@@ -72,10 +72,10 @@ public class EmptyShadeView extends StackScrollerDecorView {
return findViewById(R.id.no_notifications_footer);
}
- public void setTextColors(@ColorInt int onSurface, @ColorInt int onSurfaceVariant) {
- mEmptyText.setTextColor(onSurfaceVariant);
- mEmptyFooterText.setTextColor(onSurface);
- mEmptyFooterText.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface));
+ public void setTextColor(@ColorInt int color) {
+ mEmptyText.setTextColor(color);
+ mEmptyFooterText.setTextColor(color);
+ mEmptyFooterText.setCompoundDrawableTintList(ColorStateList.valueOf(color));
}
public void setText(@StringRes int text) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
index 16f18a3c3fb6..17dc2a6ad815 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
@@ -361,25 +361,26 @@ public class FooterView extends StackScrollerDecorView {
*/
public void updateColors() {
Resources.Theme theme = mContext.getTheme();
- final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(mContext,
- com.android.internal.R.attr.materialColorOnSurface);
+ final @ColorInt int textColor = getResources().getColor(R.color.notif_pill_text, theme);
final Drawable clearAllBg = theme.getDrawable(R.drawable.notif_footer_btn_background);
final Drawable manageBg = theme.getDrawable(R.drawable.notif_footer_btn_background);
- if (!notificationBackgroundTintOptimization()) {
- final @ColorInt int scHigh = Utils.getColorAttrDefaultColor(mContext,
- com.android.internal.R.attr.materialColorSurfaceContainerHigh);
- if (scHigh != 0) {
- final ColorFilter bgColorFilter = new PorterDuffColorFilter(scHigh, SRC_ATOP);
- clearAllBg.setColorFilter(bgColorFilter);
- manageBg.setColorFilter(bgColorFilter);
- }
+ // TODO(b/282173943): Remove redundant tinting once Resources are thread-safe
+ final @ColorInt int buttonBgColor =
+ Utils.getColorAttrDefaultColor(mContext, com.android.internal.R.attr.colorSurface);
+ final ColorFilter bgColorFilter = new PorterDuffColorFilter(buttonBgColor, SRC_ATOP);
+ if (buttonBgColor != 0) {
+ clearAllBg.setColorFilter(bgColorFilter);
+ manageBg.setColorFilter(bgColorFilter);
}
mClearAllButton.setBackground(clearAllBg);
- mClearAllButton.setTextColor(onSurface);
+ mClearAllButton.setTextColor(textColor);
mManageOrHistoryButton.setBackground(manageBg);
- mManageOrHistoryButton.setTextColor(onSurface);
- mSeenNotifsFooterTextView.setTextColor(onSurface);
- mSeenNotifsFooterTextView.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface));
+ mManageOrHistoryButton.setTextColor(textColor);
+ final @ColorInt int labelTextColor =
+ Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorPrimary);
+ mSeenNotifsFooterTextView.setTextColor(labelTextColor);
+ mSeenNotifsFooterTextView.setCompoundDrawableTintList(
+ ColorStateList.valueOf(labelTextColor));
}
private void updateResources() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
index 83c50f52af6f..455a286346e6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
@@ -122,7 +122,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
private void updateColors() {
mNormalColor = Utils.getColorAttrDefaultColor(mContext,
- com.android.internal.R.attr.materialColorSurfaceContainerHigh);
+ com.android.internal.R.attr.colorSurface);
mTintedRippleColor = mContext.getColor(
R.color.notification_ripple_tinted_color);
mNormalRippleColor = mContext.getColor(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java
index da8c4dc08bf0..892a63505a71 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridNotificationView.java
@@ -28,6 +28,7 @@ import android.widget.TextView;
import androidx.annotation.ColorInt;
+import com.android.internal.util.ContrastColorUtil;
import com.android.keyguard.AlphaOptimizedLinearLayout;
import com.android.systemui.res.R;
import com.android.systemui.statusbar.CrossFadeHelper;
@@ -97,8 +98,8 @@ public class HybridNotificationView extends AlphaOptimizedLinearLayout
private void resolveThemeTextColors() {
try (TypedArray ta = mContext.getTheme().obtainStyledAttributes(
android.R.style.Theme_DeviceDefault_DayNight, new int[]{
- com.android.internal.R.attr.materialColorOnSurface,
- com.android.internal.R.attr.materialColorOnSurfaceVariant
+ android.R.attr.textColorPrimary,
+ android.R.attr.textColorSecondary
})) {
if (ta != null) {
mPrimaryTextColor = ta.getColor(0, mPrimaryTextColor);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
index 14593cb1b381..62b268b90cf3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
@@ -65,10 +65,10 @@ import android.widget.TextView;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.notification.ConversationIconFactory;
+import com.android.systemui.res.R;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.people.widget.PeopleSpaceWidgetManager;
-import com.android.systemui.res.R;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.statusbar.notification.NotificationChannelHelper;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -336,11 +336,10 @@ public class NotificationConversationInfo extends LinearLayout implements
Drawable person = mIconFactory.getBaseIconDrawable(mShortcutInfo);
if (person == null) {
person = mContext.getDrawable(R.drawable.ic_person).mutate();
- TypedArray ta = mContext.obtainStyledAttributes(
- new int[]{com.android.internal.R.attr.materialColorPrimary});
- int colorPrimary = ta.getColor(0, 0);
+ TypedArray ta = mContext.obtainStyledAttributes(new int[]{android.R.attr.colorAccent});
+ int colorAccent = ta.getColor(0, 0);
ta.recycle();
- person.setTint(colorPrimary);
+ person.setTint(colorAccent);
}
ImageView image = findViewById(R.id.conversation_icon);
image.setImageDrawable(person);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
index 50f3e7896442..6f602ff437eb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
@@ -337,8 +337,7 @@ public abstract class NotificationViewWrapper implements TransformableView {
if (customBackgroundColor != 0) {
return customBackgroundColor;
}
- return Utils.getColorAttr(mView.getContext(),
- com.android.internal.R.attr.materialColorSurfaceContainerHigh)
+ return Utils.getColorAttr(mView.getContext(), android.R.attr.colorBackground)
.getDefaultColor();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
index fa973001cec7..3ac14fc39065 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
@@ -1504,7 +1504,7 @@ public class NotificationChildrenContainer extends ViewGroup
Resources.Theme theme = new ContextThemeWrapper(mContext,
com.android.internal.R.style.Theme_DeviceDefault_DayNight).getTheme();
try (TypedArray ta = theme.obtainStyledAttributes(
- new int[]{com.android.internal.R.attr.materialColorPrimary})) {
+ new int[]{com.android.internal.R.attr.colorAccent})) {
color = ta.getColor(0, color);
}
mHybridGroupManager.setOverflowNumberColor(mOverflowNumber, color);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
index d269eda6795a..5cd0c0d08d3b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
@@ -244,10 +244,10 @@ class NotificationSectionsManager @Inject internal constructor(
}
}
- fun setHeaderForegroundColors(@ColorInt onSurface: Int, @ColorInt onSurfaceVariant: Int) {
- peopleHeaderView?.setForegroundColors(onSurface, onSurfaceVariant)
- silentHeaderView?.setForegroundColors(onSurface, onSurfaceVariant)
- alertingHeaderView?.setForegroundColors(onSurface, onSurfaceVariant)
+ fun setHeaderForegroundColor(@ColorInt color: Int) {
+ peopleHeaderView?.setForegroundColor(color)
+ silentHeaderView?.setForegroundColor(color)
+ alertingHeaderView?.setForegroundColor(color)
}
companion object {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index fb8bc7a34a9c..d8363fa54427 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -351,7 +351,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
private boolean mAnimateNextBackgroundTop;
private boolean mAnimateNextBackgroundBottom;
private boolean mAnimateNextSectionBoundsChange;
- private @ColorInt int mBgColor;
+ private int mBgColor;
private float mDimAmount;
private ValueAnimator mDimAnimator;
private final ArrayList<ExpandableView> mTmpSortedChildren = new ArrayList<>();
@@ -665,8 +665,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
mSections = mSectionsManager.createSectionsForBuckets();
mAmbientState = Dependency.get(AmbientState.class);
- mBgColor = Utils.getColorAttr(mContext,
- com.android.internal.R.attr.materialColorSurfaceContainerHigh).getDefaultColor();
+ mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
+ .getDefaultColor();
int minHeight = res.getDimensionPixelSize(R.dimen.notification_min_height);
int maxHeight = res.getDimensionPixelSize(R.dimen.notification_max_height);
mSplitShadeMinContentHeight = res.getDimensionPixelSize(
@@ -810,8 +810,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
}
void updateBgColor() {
- mBgColor = Utils.getColorAttr(mContext,
- com.android.internal.R.attr.materialColorSurfaceContainerHigh).getDefaultColor();
+ mBgColor = Utils.getColorAttr(mContext, android.R.attr.colorBackgroundFloating)
+ .getDefaultColor();
updateBackgroundDimming();
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
@@ -4622,22 +4622,19 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
}
/**
- * Update colors of section headers, shade footer, and empty shade views.
+ * Update colors of "dismiss" and "empty shade" views.
*/
void updateDecorViews() {
- final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(
- mContext, com.android.internal.R.attr.materialColorOnSurface);
- final @ColorInt int onSurfaceVariant = Utils.getColorAttrDefaultColor(
- mContext, com.android.internal.R.attr.materialColorOnSurfaceVariant);
-
- mSectionsManager.setHeaderForegroundColors(onSurface, onSurfaceVariant);
+ final @ColorInt int textColor =
+ Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorPrimary);
+ mSectionsManager.setHeaderForegroundColor(textColor);
if (mFooterView != null) {
mFooterView.updateColors();
}
if (mEmptyShadeView != null) {
- mEmptyShadeView.setTextColors(onSurface, onSurfaceVariant);
+ mEmptyShadeView.setTextColor(textColor);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java
index 580431a13d1b..59e1af5eb6f1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/SectionHeaderView.java
@@ -132,8 +132,8 @@ public class SectionHeaderView extends StackScrollerDecorView {
mLabelView.setText(resId);
}
- void setForegroundColors(@ColorInt int onSurface, @ColorInt int onSurfaceVariant) {
- mLabelView.setTextColor(onSurface);
- mClearAllButton.setImageTintList(ColorStateList.valueOf(onSurfaceVariant));
+ void setForegroundColor(@ColorInt int color) {
+ mLabelView.setTextColor(color);
+ mClearAllButton.setImageTintList(ColorStateList.valueOf(color));
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index d2e36b88fd9d..3404d5bbcc53 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -1555,9 +1555,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private void updateThemeColors() {
if (mScrimBehind == null) return;
int background = Utils.getColorAttr(mScrimBehind.getContext(),
- com.android.internal.R.attr.materialColorSurfaceDim).getDefaultColor();
- int accent = Utils.getColorAttr(mScrimBehind.getContext(),
- com.android.internal.R.attr.materialColorPrimary).getDefaultColor();
+ android.R.attr.colorBackgroundFloating).getDefaultColor();
+ int accent = Utils.getColorAccent(mScrimBehind.getContext()).getDefaultColor();
mColors.setMainColor(background);
mColors.setSecondaryColor(accent);
final boolean isBackgroundLight = !ContrastColorUtil.isColorDark(background);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java
index 66ac17eee545..a033e1d55333 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/TapAgainView.java
@@ -20,7 +20,6 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
-import android.annotation.ColorInt;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
@@ -29,7 +28,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import com.android.settingslib.Utils;
import com.android.systemui.res.R;
import com.android.wm.shell.animation.Interpolators;
@@ -51,9 +49,8 @@ public class TapAgainView extends TextView {
}
void updateColor() {
- final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(mContext,
- com.android.internal.R.attr.materialColorOnSurface);
- setTextColor(onSurface);
+ int textColor = getResources().getColor(R.color.notif_pill_text, mContext.getTheme());
+ setTextColor(textColor);
setBackground(getResources().getDrawable(R.drawable.rounded_bg_full, mContext.getTheme()));
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index 2a48807ace2f..e02881951dd4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -130,7 +130,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
private ImageView mDelete;
private ImageView mDeleteBg;
private boolean mColorized;
- private int mLastBackgroundColor;
+ private int mTint;
private boolean mResetting;
@Nullable
private RevealParams mRevealParams;
@@ -181,9 +181,10 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mEditorActionHandler = new EditorActionHandler();
mUiEventLogger = Dependency.get(UiEventLogger.class);
TypedArray ta = getContext().getTheme().obtainStyledAttributes(new int[]{
- com.android.internal.R.attr.materialColorSurfaceDim,
+ com.android.internal.R.attr.colorAccent,
+ com.android.internal.R.attr.colorSurface,
});
- mLastBackgroundColor = ta.getColor(0, 0);
+ mTint = ta.getColor(0, 0);
ta.recycle();
}
@@ -209,9 +210,9 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
* @param backgroundColor colorized notification color
*/
public void setBackgroundTintColor(final int backgroundColor, boolean colorized) {
- if (colorized == mColorized && backgroundColor == mLastBackgroundColor) return;
+ if (colorized == mColorized && backgroundColor == mTint) return;
mColorized = colorized;
- mLastBackgroundColor = backgroundColor;
+ mTint = backgroundColor;
final int editBgColor;
final int deleteBgColor;
final int deleteFgColor;
@@ -236,8 +237,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
hintColor = mContext.getColor(R.color.remote_input_hint);
deleteFgColor = textColor.getDefaultColor();
try (TypedArray ta = getContext().getTheme().obtainStyledAttributes(new int[]{
- com.android.internal.R.attr.materialColorSurfaceDim,
- com.android.internal.R.attr.materialColorSurfaceVariant
+ com.android.internal.R.attr.colorSurfaceHighlight,
+ com.android.internal.R.attr.colorSurfaceVariant
})) {
editBgColor = ta.getColor(0, backgroundColor);
deleteBgColor = ta.getColor(1, Color.GRAY);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt
index 9b9cb8213c91..ccef1d56c6a0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationViewTest.kt
@@ -61,9 +61,8 @@ class ActivatableNotificationViewTest : SysuiTestCase() {
else -> null
} as T?
}
-
- mNormalColor = Utils.getColorAttrDefaultColor(mContext,
- com.android.internal.R.attr.materialColorSurfaceContainerHigh)
+ mNormalColor =
+ Utils.getColorAttrDefaultColor(mContext, com.android.internal.R.attr.colorSurface)
}
@Test
--
2.34.1

View File

@ -0,0 +1,59 @@
From ace6036332743c6f1a5614b2fd573464ddbffef7 Mon Sep 17 00:00:00 2001
From: Dyneteve <dyneteve@hentaios.com>
Date: Tue, 23 Aug 2022 18:57:05 +0200
Subject: [PATCH 18/22] gmscompat: Apply the SafetyNet workaround to Play Store
aswell
Play Store is used for the new Play Integrity API, extend the hack
to it aswell
Test: Device Integrity and Basic Integrity passes.
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
Change-Id: Id607cdff0b902f285a6c1b769c0a4ee4202842b1
---
.../android/internal/gmscompat/AttestationHooks.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 37ce8c946de6..65469239a0c6 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -29,9 +29,11 @@ public final class AttestationHooks {
private static final String TAG = "GmsCompat/Attestation";
private static final String PACKAGE_GMS = "com.google.android.gms";
+ private static final String PACKAGE_FINSKY = "com.android.vending";
private static final String PROCESS_UNSTABLE = "com.google.android.gms.unstable";
private static volatile boolean sIsGms = false;
+ private static volatile boolean sIsFinsky = false;
private AttestationHooks() { }
@@ -62,6 +64,11 @@ public final class AttestationHooks {
sIsGms = true;
spoofBuildGms();
}
+
+ if (PACKAGE_FINSKY.equals(app.getPackageName())) {
+ sIsFinsky = true;
+ spoofBuildGms();
+ }
}
private static boolean isCallerSafetyNet() {
@@ -74,5 +81,10 @@ public final class AttestationHooks {
if (sIsGms && isCallerSafetyNet()) {
throw new UnsupportedOperationException();
}
+
+ // Check stack for PlayIntegrity
+ if (sIsFinsky) {
+ throw new UnsupportedOperationException();
+ }
}
}
--
2.34.1

View File

@ -1,181 +0,0 @@
From ddefb3aa749044a6b4838687f669c390512c6711 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 4 Apr 2024 18:26:08 +0800
Subject: [PATCH 19/43] Revert "Update framework to new notification color
spec"
This reverts commit 6063e254e0cc84243e3a3fb85fe1bff71b302a87.
---
core/java/android/app/Notification.java | 50 ++++---------------
core/res/res/values/colors.xml | 9 ++--
.../src/android/app/NotificationTest.java | 9 ----
3 files changed, 15 insertions(+), 53 deletions(-)
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index baecf785a8af..671b8d4153c5 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5718,8 +5718,7 @@ public class Notification implements Parcelable
contentView.setInt(R.id.expand_button, "setDefaultPillColor", pillColor);
// Use different highlighted colors for conversations' unread count
if (p.mHighlightExpander) {
- pillColor = Colors.flattenAlpha(
- getColors(p).getTertiaryFixedDimAccentColor(), bgColor);
+ pillColor = Colors.flattenAlpha(getColors(p).getTertiaryAccentColor(), bgColor);
textColor = Colors.flattenAlpha(
getColors(p).getOnTertiaryAccentTextColor(), pillColor);
}
@@ -12944,9 +12943,6 @@ public class Notification implements Parcelable
private int mSecondaryAccentColor = COLOR_INVALID;
private int mTertiaryAccentColor = COLOR_INVALID;
private int mOnTertiaryAccentTextColor = COLOR_INVALID;
- private int mTertiaryFixedDimAccentColor = COLOR_INVALID;
- private int mOnTertiaryFixedAccentTextColor = COLOR_INVALID;
-
private int mErrorColor = COLOR_INVALID;
private int mContrastColor = COLOR_INVALID;
private int mRippleAlpha = 0x33;
@@ -13004,7 +13000,7 @@ public class Notification implements Parcelable
if (isColorized) {
if (rawColor == COLOR_DEFAULT) {
- int[] attrs = {R.attr.materialColorSecondary};
+ int[] attrs = {R.attr.colorAccentSecondary};
try (TypedArray ta = obtainDayNightAttributes(ctx, attrs)) {
mBackgroundColor = getColor(ta, 0, Color.WHITE);
}
@@ -13022,21 +13018,17 @@ public class Notification implements Parcelable
mSecondaryAccentColor = mSecondaryTextColor;
mTertiaryAccentColor = flattenAlpha(mPrimaryTextColor, mBackgroundColor);
mOnTertiaryAccentTextColor = mBackgroundColor;
- mTertiaryFixedDimAccentColor = mTertiaryAccentColor;
- mOnTertiaryFixedAccentTextColor = mOnTertiaryAccentTextColor;
mErrorColor = mPrimaryTextColor;
mRippleAlpha = 0x33;
} else {
int[] attrs = {
- R.attr.materialColorSurfaceContainerHigh,
- R.attr.materialColorOnSurface,
- R.attr.materialColorOnSurfaceVariant,
- R.attr.materialColorPrimary,
- R.attr.materialColorSecondary,
- R.attr.materialColorTertiary,
- R.attr.materialColorOnTertiary,
- R.attr.materialColorTertiaryFixedDim,
- R.attr.materialColorOnTertiaryFixed,
+ R.attr.colorSurface,
+ R.attr.textColorPrimary,
+ R.attr.textColorSecondary,
+ R.attr.colorAccent,
+ R.attr.colorAccentSecondary,
+ R.attr.colorAccentTertiary,
+ R.attr.textColorOnAccent,
R.attr.colorError,
R.attr.colorControlHighlight
};
@@ -13048,10 +13040,8 @@ public class Notification implements Parcelable
mSecondaryAccentColor = getColor(ta, 4, COLOR_INVALID);
mTertiaryAccentColor = getColor(ta, 5, COLOR_INVALID);
mOnTertiaryAccentTextColor = getColor(ta, 6, COLOR_INVALID);
- mTertiaryFixedDimAccentColor = getColor(ta, 7, COLOR_INVALID);
- mOnTertiaryFixedAccentTextColor = getColor(ta, 8, COLOR_INVALID);
- mErrorColor = getColor(ta, 9, COLOR_INVALID);
- mRippleAlpha = Color.alpha(getColor(ta, 10, 0x33ffffff));
+ mErrorColor = getColor(ta, 7, COLOR_INVALID);
+ mRippleAlpha = Color.alpha(getColor(ta, 8, 0x33ffffff));
}
mContrastColor = calculateContrastColor(ctx, rawColor, mPrimaryAccentColor,
mBackgroundColor, nightMode);
@@ -13079,14 +13069,6 @@ public class Notification implements Parcelable
ContrastColorUtil.resolvePrimaryColor(
ctx, mTertiaryAccentColor, nightMode), 0xFF);
}
- if (mTertiaryFixedDimAccentColor == COLOR_INVALID) {
- mTertiaryFixedDimAccentColor = mContrastColor;
- }
- if (mOnTertiaryFixedAccentTextColor == COLOR_INVALID) {
- mOnTertiaryFixedAccentTextColor = ColorUtils.setAlphaComponent(
- ContrastColorUtil.resolvePrimaryColor(
- ctx, mTertiaryFixedDimAccentColor, nightMode), 0xFF);
- }
if (mErrorColor == COLOR_INVALID) {
mErrorColor = mPrimaryTextColor;
}
@@ -13160,16 +13142,6 @@ public class Notification implements Parcelable
return mOnTertiaryAccentTextColor;
}
- /** @return the theme's tertiary fixed dim accent color for colored UI elements. */
- public @ColorInt int getTertiaryFixedDimAccentColor() {
- return mTertiaryFixedDimAccentColor;
- }
-
- /** @return the theme's text color to be used on the tertiary fixed accent color. */
- public @ColorInt int getOnTertiaryFixedAccentTextColor() {
- return mOnTertiaryFixedAccentTextColor;
- }
-
/**
* @return the contrast-adjusted version of the color provided by the app, or the
* primary text color when colorized.
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index d8191c0c3597..b4139f343fa5 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -135,12 +135,11 @@
<drawable name="notification_template_icon_low_bg">#0cffffff</drawable>
<drawable name="notification_template_divider">#29000000</drawable>
<drawable name="notification_template_divider_media">#29ffffff</drawable>
- <color name="notification_primary_text_color_light">@color/system_on_surface_light</color>
- <color name="notification_primary_text_color_dark">@color/system_on_surface_dark</color>
- <!-- Note that the primary and secondary notification text colors are, in fact, the same. -->
- <color name="notification_secondary_text_color_light">@color/system_on_surface_light</color>
- <color name="notification_secondary_text_color_dark">@color/system_on_surface_dark</color>
+ <color name="notification_primary_text_color_light">@color/primary_text_default_material_light</color>
+ <color name="notification_primary_text_color_dark">@color/primary_text_default_material_dark</color>
+ <color name="notification_secondary_text_color_light">@color/primary_text_default_material_light</color>
<item name="notification_secondary_text_disabled_alpha" format="float" type="dimen">0.38</item>
+ <color name="notification_secondary_text_color_dark">@color/primary_text_default_material_dark</color>
<color name="notification_default_color_dark">#ddffffff</color>
<color name="notification_default_color_light">#a3202124</color>
diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java
index 5b0502da1bdf..297f8254ded1 100644
--- a/core/tests/coretests/src/android/app/NotificationTest.java
+++ b/core/tests/coretests/src/android/app/NotificationTest.java
@@ -859,10 +859,6 @@ public class NotificationTest {
assertEquals(cDay.getTertiaryAccentColor(), cNight.getTertiaryAccentColor());
assertEquals(cDay.getOnTertiaryAccentTextColor(),
cNight.getOnTertiaryAccentTextColor());
- assertEquals(cDay.getTertiaryFixedDimAccentColor(),
- cNight.getTertiaryFixedDimAccentColor());
- assertEquals(cDay.getOnTertiaryFixedAccentTextColor(),
- cNight.getOnTertiaryFixedAccentTextColor());
assertEquals(cDay.getProtectionColor(), cNight.getProtectionColor());
assertEquals(cDay.getContrastColor(), cNight.getContrastColor());
assertEquals(cDay.getRippleAlpha(), cNight.getRippleAlpha());
@@ -1844,8 +1840,6 @@ public class NotificationTest {
assertThat(c.getSecondaryAccentColor()).isNotEqualTo(Notification.COLOR_INVALID);
assertThat(c.getTertiaryAccentColor()).isNotEqualTo(Notification.COLOR_INVALID);
assertThat(c.getOnTertiaryAccentTextColor()).isNotEqualTo(Notification.COLOR_INVALID);
- assertThat(c.getTertiaryFixedDimAccentColor()).isNotEqualTo(Notification.COLOR_INVALID);
- assertThat(c.getOnTertiaryFixedAccentTextColor()).isNotEqualTo(Notification.COLOR_INVALID);
assertThat(c.getErrorColor()).isNotEqualTo(Notification.COLOR_INVALID);
assertThat(c.getContrastColor()).isNotEqualTo(Notification.COLOR_INVALID);
assertThat(c.getRippleAlpha()).isAtLeast(0x00);
@@ -1861,12 +1855,9 @@ public class NotificationTest {
// These colors are only used for emphasized buttons; they do not need contrast
assertContrastIsAtLeast(c.getSecondaryAccentColor(), c.getBackgroundColor(), 1);
assertContrastIsAtLeast(c.getTertiaryAccentColor(), c.getBackgroundColor(), 1);
- assertContrastIsAtLeast(c.getTertiaryFixedDimAccentColor(), c.getBackgroundColor(), 1);
// The text that is used within the accent color DOES need to have contrast
assertContrastIsAtLeast(c.getOnTertiaryAccentTextColor(), c.getTertiaryAccentColor(), 4.5);
- assertContrastIsAtLeast(c.getOnTertiaryFixedAccentTextColor(),
- c.getTertiaryFixedDimAccentColor(), 4.5);
}
private void resolveColorsInNightMode(boolean nightMode, Notification.Colors c, int rawColor,
--
2.34.1

View File

@ -0,0 +1,46 @@
From d67897a23c6e182294d6a6d137d7ccc430a1abe0 Mon Sep 17 00:00:00 2001
From: Dyneteve <dyneteve@hentaios.com>
Date: Thu, 8 Sep 2022 14:39:52 +0200
Subject: [PATCH 19/22] gmscompat: Use Nexus 6P fingerprint for CTS/Integrity
Google seems to have patched the KM block to Play Store in record time,
but is still not enforced for anything under android N.
Since we moved to angler FP we don't need to spoof model to Play Store
anymore, however the KM block is still needed.
Test: Run Play Intregrity Attestation
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
Change-Id: Ic2401a6e40ddfc4318a1d0faa87e42eb118ac3d1
---
.../com/android/internal/gmscompat/AttestationHooks.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 65469239a0c6..328d9777b2a2 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -54,8 +54,9 @@ public final class AttestationHooks {
}
private static void spoofBuildGms() {
- // Alter model name to avoid hardware attestation enforcement
- setBuildField("MODEL", "Pixel 5a");
+ // Alter model name and fingerprint to avoid hardware attestation enforcement
+ setBuildField("FINGERPRINT", "google/angler/angler:6.0/MDB08L/2343525:user/release-keys");
+ setBuildField("MODEL", "Nexus 6P");
}
public static void initApplicationBeforeOnCreate(Application app) {
@@ -67,7 +68,6 @@ public final class AttestationHooks {
if (PACKAGE_FINSKY.equals(app.getPackageName())) {
sIsFinsky = true;
- spoofBuildGms();
}
}
--
2.34.1

View File

@ -1,31 +0,0 @@
From 8a7d67d51befd145133c5ef14ba28988e26d991f Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Wed, 6 Oct 2021 18:40:30 -0700
Subject: [PATCH 20/43] Revert "Make QS always use dark theme colors"
This reverts commit d62f7249f9e3222da95ecf6816601c408aac6be5.
This is a prerequisite for making the QS panel follow the light system
theme setting.
Change-Id: Iac4c96ccb3845812ca3df820bf27dc533816f72e
---
packages/SystemUI/res/values/styles.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index ae354d634f67..7422d5a14221 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -412,7 +412,7 @@
<item name="containerStyle">@style/AuthCredentialPinPasswordContainerStyle</item>
</style>
- <style name="Theme.SystemUI.QuickSettings" parent="@*android:style/Theme.DeviceDefault">
+ <style name="Theme.SystemUI.QuickSettings" parent="@*android:style/Theme.DeviceDefault.SystemUI">
<item name="isQsTheme">true</item>
<item name="lightIconTheme">@style/QSIconTheme</item>
<item name="darkIconTheme">@style/QSIconTheme</item>
--
2.34.1

View File

@ -0,0 +1,27 @@
From 7893f246007a1989420583ab8728a5ced89e944d Mon Sep 17 00:00:00 2001
From: Dyneteve <dyneteve@hentaios.com>
Date: Tue, 6 Dec 2022 15:59:08 +0100
Subject: [PATCH 20/22] gmscompat: Use actual device model name
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
Change-Id: I454654d87b3ea6286e12e9a9f5ed120f06cb2aa6
---
core/java/com/android/internal/gmscompat/AttestationHooks.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 328d9777b2a2..7649bb6533da 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -56,7 +56,7 @@ public final class AttestationHooks {
private static void spoofBuildGms() {
// Alter model name and fingerprint to avoid hardware attestation enforcement
setBuildField("FINGERPRINT", "google/angler/angler:6.0/MDB08L/2343525:user/release-keys");
- setBuildField("MODEL", "Nexus 6P");
+ setBuildField("MODEL", Build.MODEL + "\u200b");
}
public static void initApplicationBeforeOnCreate(Application app) {
--
2.34.1

View File

@ -1,33 +0,0 @@
From 5235e78b8933c01f407adf7d19f30ccd19d0ad16 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Wed, 6 Oct 2021 18:41:11 -0700
Subject: [PATCH 21/43] Revert "Do not re-inflate QS and SB when
CONFIG_UI_MODE"
This reverts commit 8a40ff855b86bc86e23367017002289920855a4e.
This is a prerequisite for making the QS panel follow the light system
mode setting.
Change-Id: Ibad399ece587505559cc73febdda2f2d8558e94d
---
.../com/android/systemui/fragments/FragmentHostManager.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
index 81a520661cfe..5e0b34db0965 100644
--- a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
+++ b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
@@ -59,7 +59,8 @@ public class FragmentHostManager {
private final LeakDetector mLeakDetector;
private final InterestingConfigChanges mConfigChanges = new InterestingConfigChanges(
ActivityInfo.CONFIG_FONT_SCALE | ActivityInfo.CONFIG_LOCALE
- | ActivityInfo.CONFIG_ASSETS_PATHS);
+ | ActivityInfo.CONFIG_ASSETS_PATHS
+ | ActivityInfo.CONFIG_UI_MODE);
private final FragmentService mManager;
private final ExtensionFragmentManager mPlugins = new ExtensionFragmentManager();
--
2.34.1

View File

@ -0,0 +1,57 @@
From dd5e4484df6868958941773ac310396b281e5ceb Mon Sep 17 00:00:00 2001
From: Anirudh Gupta <anirudhgupta109@aosip.dev>
Date: Wed, 4 Jan 2023 18:20:56 +0000
Subject: [PATCH 21/22] gmscompat: Set shipping level to 32 for devices >=33
If ro.product.first_api_level is 33, its forced to use HW attestation even though the safteynet checker app shows BASIC
setting it to 32 allows for software attestation and passing CTS
Change-Id: Ie7326eaac48424cdea3d9633ebe13c65053ef6c1
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
---
.../internal/gmscompat/AttestationHooks.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index 7649bb6533da..d2b1d2879c9c 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -18,6 +18,7 @@ package com.android.internal.gmscompat;
import android.app.Application;
import android.os.Build;
+import android.os.Build.VERSION;
import android.os.SystemProperties;
import android.util.Log;
@@ -53,10 +54,27 @@ public final class AttestationHooks {
}
}
+ private static void setVersionField(String key, Integer value) {
+ try {
+ // Unlock
+ Field field = Build.VERSION.class.getDeclaredField(key);
+ field.setAccessible(true);
+
+ // Edit
+ field.set(null, value);
+
+ // Lock
+ field.setAccessible(false);
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ Log.e(TAG, "Failed to spoof Build." + key, e);
+ }
+ }
+
private static void spoofBuildGms() {
// Alter model name and fingerprint to avoid hardware attestation enforcement
setBuildField("FINGERPRINT", "google/angler/angler:6.0/MDB08L/2343525:user/release-keys");
setBuildField("MODEL", Build.MODEL + "\u200b");
+ setVersionField("DEVICE_INITIAL_SDK_INT", Build.VERSION_CODES.S);
}
public static void initApplicationBeforeOnCreate(Application app) {
--
2.34.1

View File

@ -1,212 +0,0 @@
From 4325ec74e21420a222860e473e9062c874046f9d Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:24:58 -0700
Subject: [PATCH 22/43] SystemUI: Follow light/dark theme in quick settings
Android 12's dual-tone style where the quick settings panel is always
dark makes the light theme look like a second-class citizen. Pure black
also looks out-of-place next to QS tiles and the notification panel
because dynamic themes don't affect it at all.
Revert to the ~Beta 1 style where quick settings used the same theme as
the notification shade.
- colorAccentPrimary has been replaced with colorAccent for contrast in
light mode, because colorAccentPrimary is system_accent1_100 (dark
accent color)
- Footer chips have been converted to surfaces (similar to QS tiles and
notifications), which makes more sense with the new style
- The QS background is now the same as the notification shade background
in both light and dark modes
Demo screenshots (with dual-tone commit):
https://twitter.com/kdrag0n/status/1445922541218922496
[kdrag0n: ported to 12L]
[neobuddy89: adapted for 14QPR1]
TODO: Fix QS customizer background in light theme
Change-Id: I3d45b72f0f119e100505409d178ab8f698993881
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values-night/styles.xml | 31 ++++++++++++++++++-
packages/SystemUI/res/values/styles.xml | 20 ++++++------
.../statusbar/phone/ScrimController.java | 2 +-
.../systemui/statusbar/phone/ScrimState.java | 20 ++++++------
4 files changed, 51 insertions(+), 22 deletions(-)
diff --git a/packages/SystemUI/res/values-night/styles.xml b/packages/SystemUI/res/values-night/styles.xml
index b6971d3c1fa4..8972df2b7490 100644
--- a/packages/SystemUI/res/values-night/styles.xml
+++ b/packages/SystemUI/res/values-night/styles.xml
@@ -14,7 +14,8 @@
limitations under the License.
-->
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
<style name="Theme.SystemUI.DayNightDialog" parent="@android:style/Theme.DeviceDefault.Dialog"/>
@@ -24,6 +25,34 @@
<item name="android:windowIsFloating">true</item>
</style>
+ <style name="Theme.SystemUI.QuickSettings" parent="@*android:style/Theme.DeviceDefault.SystemUI">
+ <item name="isQsTheme">true</item>
+ <item name="lightIconTheme">@style/QSIconTheme</item>
+ <item name="darkIconTheme">@style/QSIconTheme</item>
+ <item name="android:colorError">@*android:color/error_color_material_dark</item>
+ <item name="android:windowIsFloating">true</item>
+ <item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
+
+ <item name="surfaceBright">?androidprv:attr/materialColorSurfaceBright</item>
+ <item name="android:colorBackground">?attr/surfaceBright</item>
+ <item name="scHigh">?androidprv:attr/materialColorSurfaceContainerHigh</item>
+ <item name="primary">?androidprv:attr/materialColorPrimary</item>
+ <item name="tertiary">?androidprv:attr/materialColorTertiary</item>
+ <item name="onSurface">?androidprv:attr/materialColorOnSurface</item>
+ <item name="onSurfaceVariant">?androidprv:attr/materialColorOnSurfaceVariant</item>
+ <item name="outline">?androidprv:attr/materialColorOutline</item>
+
+ <item name="shadeActive">?android:attr/colorAccent</item>
+ <item name="onShadeActive">?android:attr/textColorPrimaryInverse</item>
+ <item name="onShadeActiveVariant">?android:attr/textColorSecondaryInverse</item>
+ <item name="shadeInactive">@android:color/system_neutral1_800</item>
+ <item name="onShadeInactive">?android:attr/textColorPrimary</item>
+ <item name="onShadeInactiveVariant">?android:attr/textColorSecondary</item>
+ <item name="shadeDisabled">@color/shade_disabled</item>
+ <item name="underSurface">@android:color/system_neutral1_900</item>
+ <item name="android:itemTextAppearance">@style/Control.MenuItem</item>
+ </style>
+
<!-- Screenshots -->
<style name="LongScreenshotActivity" parent="@android:style/Theme.DeviceDefault.DayNight">
<item name="android:windowNoTitle">true</item>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 7422d5a14221..0ac7e82fa42b 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -416,7 +416,7 @@
<item name="isQsTheme">true</item>
<item name="lightIconTheme">@style/QSIconTheme</item>
<item name="darkIconTheme">@style/QSIconTheme</item>
- <item name="android:colorError">@*android:color/error_color_material_dark</item>
+ <item name="android:colorError">@*android:color/error_color_material_light</item>
<item name="android:windowIsFloating">true</item>
<item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
@@ -429,14 +429,14 @@
<item name="onSurfaceVariant">?androidprv:attr/materialColorOnSurfaceVariant</item>
<item name="outline">?androidprv:attr/materialColorOutline</item>
- <item name="shadeActive">@color/material_dynamic_primary90</item>
- <item name="onShadeActive">@color/material_dynamic_primary10</item>
- <item name="onShadeActiveVariant">@color/material_dynamic_primary30</item>
- <item name="shadeInactive">@color/material_dynamic_neutral20</item>
- <item name="onShadeInactive">@color/material_dynamic_neutral90</item>
- <item name="onShadeInactiveVariant">@color/material_dynamic_neutral_variant80</item>
- <item name="shadeDisabled">@color/shade_disabled</item>
- <item name="underSurface">@color/material_dynamic_neutral0</item>
+ <item name="shadeActive">?android:attr/colorAccent</item>
+ <item name="onShadeActive">?android:attr/textColorPrimaryInverse</item>
+ <item name="onShadeActiveVariant">?android:attr/textColorSecondaryInverse</item>
+ <item name="shadeInactive">@*android:color/surface_light</item>
+ <item name="onShadeInactive">?android:attr/textColorPrimary</item>
+ <item name="onShadeInactiveVariant">?android:attr/textColorSecondary</item>
+ <item name="shadeDisabled">@*android:color/surface_light</item>
+ <item name="underSurface">@android:color/system_neutral1_100</item>
<item name="android:itemTextAppearance">@style/Control.MenuItem</item>
</style>
@@ -686,7 +686,7 @@
<style name="QSCustomizeToolbar" parent="@*android:style/Widget.DeviceDefault.Toolbar">
<item name="android:textColor">?attr/onSurface</item>
- <item name="android:elevation">10dp</item>
+ <item name="android:elevation">0dp</item>
</style>
<!-- Media controls always have light background -->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 3404d5bbcc53..04c2e5005d34 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -997,7 +997,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
mNotificationsAlpha = behindAlpha;
mNotificationsTint = behindTint;
mBehindAlpha = 1;
- mBehindTint = Color.BLACK;
+ mBehindTint = Color.TRANSPARENT;
} else {
mBehindAlpha = behindAlpha;
if (mState == ScrimState.KEYGUARD && mTransitionToFullShadeProgress > 0.0f) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
index f2a649ba2e32..394d6ba5f696 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
@@ -83,7 +83,7 @@ public enum ScrimState {
mBehindAlpha = mClipQsScrim ? 1 : mScrimBehindAlphaKeyguard;
mNotifAlpha = mClipQsScrim ? mScrimBehindAlphaKeyguard : 0;
if (mClipQsScrim) {
- updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT);
}
}
},
@@ -123,7 +123,7 @@ public enum ScrimState {
@Override
public void prepare(ScrimState previousState) {
mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
- mBehindTint = mClipQsScrim ? mBackgroundColor : mSurfaceColor;
+ mBehindTint = mSurfaceColor;
mNotifAlpha = mClipQsScrim ? mDefaultScrimAlpha : 0;
mNotifTint = Color.TRANSPARENT;
mFrontAlpha = 0f;
@@ -155,10 +155,10 @@ public enum ScrimState {
mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
mNotifAlpha = 1f;
mFrontAlpha = 0f;
- mBehindTint = mClipQsScrim ? Color.TRANSPARENT : mBackgroundColor;
+ mBehindTint = Color.TRANSPARENT;
if (mClipQsScrim) {
- updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT);
}
}
},
@@ -259,22 +259,22 @@ public enum ScrimState {
&& !fromAod;
mFrontTint = Color.TRANSPARENT;
- mBehindTint = mBackgroundColor;
+ mBehindTint = Color.TRANSPARENT;
mBlankScreen = false;
if (mDisplayRequiresBlanking && previousState == ScrimState.AOD) {
// Set all scrims black, before they fade transparent.
- updateScrimColor(mScrimInFront, 1f /* alpha */, mBackgroundColor /* tint */);
- updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor /* tint */);
+ updateScrimColor(mScrimInFront, 1f /* alpha */, Color.BLACK /* tint */);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT /* tint */);
// Scrims should still be black at the end of the transition.
- mFrontTint = mBackgroundColor;
- mBehindTint = mBackgroundColor;
+ mFrontTint = Color.BLACK;
+ mBehindTint = Color.TRANSPARENT;
mBlankScreen = true;
}
if (mClipQsScrim) {
- updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT);
}
}
},
--
2.34.1

View File

@ -0,0 +1,65 @@
From 4ffed064b21d9662631ee70d20dfd8441fcec574 Mon Sep 17 00:00:00 2001
From: Dyneteve <dyneteve@hentaios.com>
Date: Wed, 8 Feb 2023 15:21:01 +0000
Subject: [PATCH 22/22] gmscompat: Make CTS/Play Integrity pass again
The logic behind CTS and Play Integrity has been updated today it now
checks the product and model names against the fingerprint and if
they do not match the CTS profile will fail.
Also while we are at it use a newer FP from Pixel XL and add logging
for key attestation blocking for debugging.
Test: Boot, check for CTS and Play Integrity
Change-Id: I089d5ef935bba40338e10c795ea7d181103ffd15
Signed-off-by: Dyneteve <dyneteve@hentaios.com>
---
.../internal/gmscompat/AttestationHooks.java | 20 +++++++++----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/core/java/com/android/internal/gmscompat/AttestationHooks.java b/core/java/com/android/internal/gmscompat/AttestationHooks.java
index d2b1d2879c9c..ef7a308a25bc 100644
--- a/core/java/com/android/internal/gmscompat/AttestationHooks.java
+++ b/core/java/com/android/internal/gmscompat/AttestationHooks.java
@@ -72,9 +72,11 @@ public final class AttestationHooks {
private static void spoofBuildGms() {
// Alter model name and fingerprint to avoid hardware attestation enforcement
- setBuildField("FINGERPRINT", "google/angler/angler:6.0/MDB08L/2343525:user/release-keys");
- setBuildField("MODEL", Build.MODEL + "\u200b");
- setVersionField("DEVICE_INITIAL_SDK_INT", Build.VERSION_CODES.S);
+ setBuildField("FINGERPRINT", "google/marlin/marlin:7.1.2/NJH47F/4146041:user/release-keys");
+ setBuildField("PRODUCT", "marlin");
+ setBuildField("DEVICE", "marlin");
+ setBuildField("MODEL", "Pixel XL");
+ setVersionField("DEVICE_INITIAL_SDK_INT", Build.VERSION_CODES.N_MR1);
}
public static void initApplicationBeforeOnCreate(Application app) {
@@ -90,18 +92,14 @@ public final class AttestationHooks {
}
private static boolean isCallerSafetyNet() {
- return Arrays.stream(Thread.currentThread().getStackTrace())
+ return sIsGms && Arrays.stream(Thread.currentThread().getStackTrace())
.anyMatch(elem -> elem.getClassName().contains("DroidGuard"));
}
public static void onEngineGetCertificateChain() {
- // Check stack for SafetyNet
- if (sIsGms && isCallerSafetyNet()) {
- throw new UnsupportedOperationException();
- }
-
- // Check stack for PlayIntegrity
- if (sIsFinsky) {
+ // Check stack for SafetyNet or Play Integrity
+ if (isCallerSafetyNet() || sIsFinsky) {
+ Log.i(TAG, "Blocked key attestation sIsGms=" + sIsGms + " sIsFinsky=" + sIsFinsky);
throw new UnsupportedOperationException();
}
}
--
2.34.1

View File

@ -1,61 +0,0 @@
From eb8f957832c7c8e26dc0f006eda85e169ff9a020 Mon Sep 17 00:00:00 2001
From: Pranav Vashi <neobuddy89@gmail.com>
Date: Wed, 13 Dec 2023 23:24:29 +0530
Subject: [PATCH 23/43] SystemUI: Use themewrapper for QSCustomizer and tune
colorUnavailable
* Restores behvavior from A13 for colorUnavailable, shadeDisabled is now unused.
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../com/android/systemui/qs/customize/QSCustomizer.java | 9 ++++++---
.../com/android/systemui/qs/tileimpl/QSTileViewImpl.kt | 2 +-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
index f8d408054d25..941e5e3699cf 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java
@@ -23,6 +23,7 @@ import android.content.res.Configuration;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.LayoutInflater;
+import android.view.ContextThemeWrapper;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -70,13 +71,15 @@ public class QSCustomizer extends LinearLayout {
public QSCustomizer(Context context, AttributeSet attrs) {
super(context, attrs);
- LayoutInflater.from(getContext()).inflate(R.layout.qs_customize_panel_content, this);
+ Context themedContext =
+ new ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings);
+ LayoutInflater.from(themedContext).inflate(R.layout.qs_customize_panel_content, this);
mClipper = new QSDetailClipper(findViewById(R.id.customize_container));
mToolbar = findViewById(com.android.internal.R.id.action_bar);
TypedValue value = new TypedValue();
- mContext.getTheme().resolveAttribute(android.R.attr.homeAsUpIndicator, value, true);
+ themedContext.getTheme().resolveAttribute(android.R.attr.homeAsUpIndicator, value, true);
mToolbar.setNavigationIcon(
- getResources().getDrawable(value.resourceId, mContext.getTheme()));
+ getResources().getDrawable(value.resourceId, themedContext.getTheme()));
mToolbar.getMenu().add(Menu.NONE, MENU_RESET, 0, com.android.internal.R.string.reset)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
index 9fefcbd86e51..0dd244eca2cb 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
@@ -100,7 +100,7 @@ open class QSTileViewImpl @JvmOverloads constructor(
private val colorActive = Utils.getColorAttrDefaultColor(context, R.attr.shadeActive)
private val colorInactive = Utils.getColorAttrDefaultColor(context, R.attr.shadeInactive)
- private val colorUnavailable = Utils.getColorAttrDefaultColor(context, R.attr.shadeDisabled)
+ private val colorUnavailable = Utils.applyAlpha(UNAVAILABLE_ALPHA, colorInactive)
private val overlayColorActive = Utils.applyAlpha(
/* alpha= */ 0.11f,
--
2.34.1

View File

@ -1,34 +0,0 @@
From 09b4775be2cb7bf94ba4815025164c41de1a1baf Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:25:02 -0700
Subject: [PATCH 24/43] SystemUI: Initialize QS tiles in inactive state
Now that the QS fragment is recreated when changing the UI mode (so that
it follows light/dark themes), all tiles flash with active color briefly
because the new views become visible before states are refreshed.
Initializing tiles in the inactive state is much less disruptive, and
the effect is very hard to see as compared to the active color because
the background color is much less prominent.
Change-Id: I048171d503f5533e91bab486b8805ac15c329f31
---
.../plugin/src/com/android/systemui/plugins/qs/QSTile.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
index c9e298934acc..83fd07d1359d 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
@@ -154,7 +154,7 @@ public interface QSTile {
@ProvidesInterface(version = State.VERSION)
public static class State {
public static final int VERSION = 1;
- public static final int DEFAULT_STATE = Tile.STATE_ACTIVE;
+ public static final int DEFAULT_STATE = Tile.STATE_INACTIVE;
public Icon icon;
public Supplier<Icon> iconSupplier;
--
2.34.1

View File

@ -1,136 +0,0 @@
From 575e6dd46703bc9f89f5263c1256f822758e91be Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:25:08 -0700
Subject: [PATCH 25/43] SystemUI: Add dual-tone light and dark themes for QS
Google's dual-tone QS design where the notification panel has a
semantically higher elevation adds depth to the notification+QS shade,
and we don't necessarily have to give it up just because our QS has
light and dark themes.
To preserve the dual-tone effect, use a darker background color for the
QS section:
Light:
Notifications: neutral1 20 (surface_light)
Notification panel: neutral1 50 (light BG)
QS background: neutral1 100 (darker light BG / surface_header_light)
Inactive QS tiles: neutral1 20 (surface_light)
Dark:
Notifications: neutral1 800 (surface_dark)
Notification panel: neutral1 900 (dark BG)
QS background: neutral1 950 (surface_header_dark_sysui modulated to L* 5)
Inactive QS tiles: neutral1 800 (surface_dark)
The dark QS background could be neutral1 0 (black) like it was before,
but I don't think it looks as good because it can't be tinted based on
the active wallpaper and thus stands out from other colors.
Unfortunately, Google's current CAM16-based modulation causes hue shifts
in extreme light and dark shades (e.g. L* = 98 / 5), but we'll fix this
by generating and overlaying modulated surface colors in our
ThemeOverlayController implementation.
Demo screenshots: https://twitter.com/kdrag0n/status/1445922541218922496
Change-Id: Icdc4957ecb4e0201377351f1a3e1c6928d6b3955
Signed-off-by: PainKiller3 <ninadpatil100@gmail.com>
---
.../res/color/surface_header_dark_sysui.xml | 18 ++++++++++++++++++
core/res/res/values-night/values.xml | 1 +
.../statusbar/phone/ScrimController.java | 12 +++++++++++-
3 files changed, 30 insertions(+), 1 deletion(-)
create mode 100644 core/res/res/color/surface_header_dark_sysui.xml
diff --git a/core/res/res/color/surface_header_dark_sysui.xml b/core/res/res/color/surface_header_dark_sysui.xml
new file mode 100644
index 000000000000..ec070c96f91a
--- /dev/null
+++ b/core/res/res/color/surface_header_dark_sysui.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@color/system_neutral1_500" android:lStar="5" />
+</selector>
diff --git a/core/res/res/values-night/values.xml b/core/res/res/values-night/values.xml
index 1571fab66a5b..0683c20a4a4c 100644
--- a/core/res/res/values-night/values.xml
+++ b/core/res/res/values-night/values.xml
@@ -22,6 +22,7 @@
<item name="colorSecondary">@color/secondary_device_default_settings</item>
<item name="colorAccent">@color/accent_device_default_dark</item>
<item name="colorError">@color/error_color_device_default_dark</item>
+ <item name="colorSurfaceHeader">@color/surface_header_dark_sysui</item>
<item name="colorControlNormal">?attr/textColorPrimary</item>
<item name="alertDialogTheme">@style/Theme.DeviceDefault.Dialog.Alert</item>
<item name="forceDarkAllowed">false</item>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 04c2e5005d34..aff0a571b0bf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -224,6 +224,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private final KeyguardInteractor mKeyguardInteractor;
private GradientColors mColors;
+ private GradientColors mBehindColors;
private boolean mNeedsDrawableColorUpdate;
private float mAdditionalScrimBehindAlphaKeyguard = 0f;
@@ -390,6 +391,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
mKeyguardInteractor = keyguardInteractor;
mWallpaperRepository = wallpaperRepository;
mMainDispatcher = mainDispatcher;
+ mBehindColors = new GradientColors();
}
@Override
@@ -1191,7 +1193,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
&& !mBlankScreen;
mScrimInFront.setColors(mColors, animateScrimInFront);
- mScrimBehind.setColors(mColors, animateBehindScrim);
+ mScrimBehind.setColors(mBehindColors, animateBehindScrim);
mNotificationsScrim.setColors(mColors, animateScrimNotifications);
dispatchBackScrimState(mScrimBehind.getViewAlpha());
@@ -1556,7 +1558,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
if (mScrimBehind == null) return;
int background = Utils.getColorAttr(mScrimBehind.getContext(),
android.R.attr.colorBackgroundFloating).getDefaultColor();
+ int surfaceBackground = Utils.getColorAttr(mScrimBehind.getContext(),
+ com.android.internal.R.attr.colorSurfaceHeader).getDefaultColor();
int accent = Utils.getColorAccent(mScrimBehind.getContext()).getDefaultColor();
+
mColors.setMainColor(background);
mColors.setSecondaryColor(accent);
final boolean isBackgroundLight = !ContrastColorUtil.isColorDark(background);
@@ -1568,6 +1573,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
state.setSurfaceColor(surface);
}
+ mBehindColors.setMainColor(surfaceBackground);
+ mBehindColors.setSecondaryColor(accent);
+ mBehindColors.setSupportsDarkText(
+ ColorUtils.calculateContrast(mBehindColors.getMainColor(), Color.WHITE) > 4.5);
+
mNeedsDrawableColorUpdate = true;
}
--
2.34.1

View File

@ -1,29 +0,0 @@
From 34d21f61d76203231ff42497168e91b9f04521ef Mon Sep 17 00:00:00 2001
From: althafvly <althafvly@gmail.com>
Date: Tue, 4 Oct 2022 18:34:08 +0530
Subject: [PATCH 26/43] SystemUI: Re-inflate QS and SB when
CONFIG_SCREEN_LAYOUT
- It was removed in a13, needed for light theme change in landscape.
Change-Id: I1872f5d90e6f6b8debecbc69eb80c3a11d8984e2
---
.../src/com/android/systemui/fragments/FragmentHostManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
index 5e0b34db0965..5aa7ceb7b5f5 100644
--- a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
+++ b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java
@@ -59,7 +59,7 @@ public class FragmentHostManager {
private final LeakDetector mLeakDetector;
private final InterestingConfigChanges mConfigChanges = new InterestingConfigChanges(
ActivityInfo.CONFIG_FONT_SCALE | ActivityInfo.CONFIG_LOCALE
- | ActivityInfo.CONFIG_ASSETS_PATHS
+ | ActivityInfo.CONFIG_SCREEN_LAYOUT | ActivityInfo.CONFIG_ASSETS_PATHS
| ActivityInfo.CONFIG_UI_MODE);
private final FragmentService mManager;
private final ExtensionFragmentManager mPlugins = new ExtensionFragmentManager();
--
2.34.1

View File

@ -1,220 +0,0 @@
From 7d6f38a5a465aae5e1912b689ba42960580e1ca0 Mon Sep 17 00:00:00 2001
From: ReallySnow <reallysnow233@gmail.com>
Date: Thu, 15 Sep 2022 13:38:48 +0800
Subject: [PATCH 27/43] SystemUI: Follow light/dark theme in SplitShade Header
* Google's default implementation is dark, which means
it doesn't need to follow the light/dark color change,
but we broke it, so add it to complete the SplitShade
Header color change
neobuddy89: Rewrite with some fixes.
Change-Id: I5464039885197eeb43bd31b822bfcba7a1b08776
Co-authored-by: Col_or <col_or@qq.com>
Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values/styles.xml | 6 ++--
.../systemui/shade/ShadeHeaderController.kt | 28 +++++++++++++++++++
.../systemui/shade/carrier/ShadeCarrier.java | 12 ++++++++
.../shade/carrier/ShadeCarrierGroup.java | 14 ++++++++++
.../mobile/ui/binder/ShadeCarrierBinder.kt | 3 ++
.../shade/ShadeHeaderControllerTest.kt | 1 +
6 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 0ac7e82fa42b..a8447df43d0c 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -154,10 +154,12 @@
<item name="android:textColor">?attr/onSurface</item>
</style>
- <style name="TextAppearance.QS.Status.Carriers" />
+ <style name="TextAppearance.QS.Status.Carriers">
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ </style>
<style name="TextAppearance.QS.Status.Carriers.NoCarrierText">
- <item name="android:textColor">?attr/onSurfaceVariant</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.QS.Status.Build">
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
index f3efa031a2a6..d26ef5e73152 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
@@ -21,8 +21,11 @@ import android.animation.AnimatorListenerAdapter
import android.annotation.IdRes
import android.app.PendingIntent
import android.app.StatusBarManager
+import android.content.Context
import android.content.Intent
+import android.content.res.ColorStateList
import android.content.res.Configuration
+import android.graphics.Color
import android.graphics.Insets
import android.os.Bundle
import android.os.Trace
@@ -92,6 +95,7 @@ constructor(
private val privacyIconsController: HeaderPrivacyIconsController,
private val insetsProvider: StatusBarContentInsetsProvider,
private val configurationController: ConfigurationController,
+ private val context: Context,
private val variableDateViewControllerFactory: VariableDateViewController.Factory,
@Named(SHADE_HEADER) private val batteryMeterViewController: BatteryMeterViewController,
private val dumpManager: DumpManager,
@@ -143,6 +147,7 @@ constructor(
private var cutout: DisplayCutout? = null
private var lastInsets: WindowInsets? = null
private var nextAlarmIntent: PendingIntent? = null
+ private var textColorPrimary = Color.TRANSPARENT
private var qsDisabled = false
private var visible = false
@@ -290,6 +295,10 @@ constructor(
clock.onDensityOrFontScaleChanged()
}
+ override fun onUiModeChanged() {
+ updateResources()
+ }
+
override fun onThemeChanged() {
clock.setTextAppearance(R.style.TextAppearance_QS_Status)
date.setTextAppearance(R.style.TextAppearance_QS_Status)
@@ -348,6 +357,7 @@ constructor(
demoModeController.addCallback(demoModeReceiver)
statusBarIconController.addIconGroup(iconManager)
nextAlarmController.addCallback(nextAlarmCallback)
+ updateResources()
systemIconsHoverContainer.setOnHoverListener(
statusOverlayHoverListenerFactory.createListener(systemIconsHoverContainer)
)
@@ -554,6 +564,24 @@ constructor(
header.setPadding(padding, header.paddingTop, padding, header.paddingBottom)
updateQQSPaddings()
qsBatteryModeController.updateResources()
+
+ val textColor = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimary)
+ val colorStateList = Utils.getColorAttr(context, android.R.attr.textColorPrimary)
+ if (textColor != textColorPrimary) {
+ val textColorSecondary = Utils.getColorAttrDefaultColor(context,
+ android.R.attr.textColorSecondary)
+ textColorPrimary = textColor
+ if (iconManager != null) {
+ iconManager.setTint(
+ textColorPrimary,
+ Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse),
+ )
+ }
+ clock.setTextColor(textColorPrimary)
+ date.setTextColor(textColorPrimary)
+ mShadeCarrierGroup.updateColors(textColorPrimary, colorStateList)
+ batteryIcon.updateColors(textColorPrimary, textColorSecondary, textColorPrimary)
+ }
}
private fun updateQQSPaddings() {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
index 9544d0f83bac..e1aac1771a30 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
@@ -151,6 +151,14 @@ public class ShadeCarrier extends LinearLayout {
com.android.settingslib.R.string.not_default_data_content_description));
}
+ public void updateColors(ColorStateList colorStateList) {
+ final boolean visible = !mIsSingleCarrier;
+ if (visible) {
+ mMobileRoaming.setImageTintList(colorStateList);
+ mMobileSignal.setImageTintList(colorStateList);
+ }
+ }
+
@VisibleForTesting
View getRSSIView() {
return mMobileGroup;
@@ -160,6 +168,10 @@ public class ShadeCarrier extends LinearLayout {
mCarrierText.setText(text);
}
+ public void setCarrierTextColor(int color) {
+ mCarrierText.setTextColor(color);
+ }
+
public void updateTextAppearance(@StyleRes int resId) {
mCarrierText.setTextAppearance(resId);
if (mModernMobileView != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroup.java b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroup.java
index 863858b4cee2..1b7d1047221c 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroup.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrierGroup.java
@@ -18,8 +18,11 @@ package com.android.systemui.shade.carrier;
import android.annotation.StyleRes;
import android.content.Context;
+import android.content.res.ColorStateList;
+import android.graphics.PorterDuff;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -57,6 +60,17 @@ public class ShadeCarrierGroup extends LinearLayout {
return findViewById(R.id.shade_carrier_divider2);
}
+ public void updateColors(int color, ColorStateList colorStateList) {
+ getNoSimTextView().setTextColor(color);
+ ShadeCarrier[] shadeCarriers = { getCarrier1View(), getCarrier2View(), getCarrier3View() };
+ for (ShadeCarrier shadeCarrier : shadeCarriers) {
+ for (int i = 0; i < shadeCarrier.getChildCount(); i++) {
+ shadeCarrier.updateColors(colorStateList);
+ shadeCarrier.setCarrierTextColor(color);
+ }
+ }
+ }
+
public void updateTextAppearance(@StyleRes int resId) {
getNoSimTextView().setTextAppearance(resId);
getCarrier1View().updateTextAppearance(resId);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinder.kt
index 081e1015e26e..a3fb0c67dcba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/binder/ShadeCarrierBinder.kt
@@ -24,6 +24,8 @@ import com.android.systemui.statusbar.pipeline.mobile.ui.viewmodel.ShadeCarrierG
import com.android.systemui.util.AutoMarqueeTextView
import kotlinx.coroutines.launch
+import com.android.systemui.res.R
+
object ShadeCarrierBinder {
/** Binds the view to the view-model, continuing to update the former based on the latter */
@JvmStatic
@@ -32,6 +34,7 @@ object ShadeCarrierBinder {
viewModel: ShadeCarrierGroupMobileIconViewModel,
) {
carrierTextView.isVisible = true
+ carrierTextView.setTextAppearance(R.style.TextAppearance_QS_Status_Carriers)
carrierTextView.repeatWhenAttached {
repeatOnLifecycle(Lifecycle.State.STARTED) {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt
index 9fa173ab040a..de321ba62105 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt
@@ -189,6 +189,7 @@ class ShadeHeaderControllerTest : SysuiTestCase() {
privacyIconsController,
insetsProvider,
configurationController,
+ mockedContext,
variableDateViewControllerFactory,
batteryMeterViewController,
dumpManager,
--
2.34.1

View File

@ -1,49 +0,0 @@
From 8b2d57bd39bb54c8706329a856e52fd0ecc6f3db Mon Sep 17 00:00:00 2001
From: Pranav Vashi <neobuddy89@gmail.com>
Date: Wed, 17 Apr 2024 17:35:11 +0530
Subject: [PATCH 28/43] SystemUI: Use transparent background for QS footer
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../android/systemui/qs/footer/ui/compose/FooterActions.kt | 4 ++--
.../SystemUI/res/drawable/qs_footer_actions_background.xml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
index eb71490f049a..d252ef7ffa06 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt
@@ -119,7 +119,7 @@ fun FooterActions(
}
}
- val backgroundColor = colorAttr(R.attr.underSurface)
+ val backgroundColor = Color.Transparent
val contentColor = LocalAndroidColorScheme.current.onSurface
val backgroundTopRadius = dimensionResource(R.dimen.qs_corner_radius)
val backgroundModifier =
@@ -319,7 +319,7 @@ private fun TextButton(
) {
Expandable(
shape = CircleShape,
- color = colorAttr(R.attr.underSurface),
+ color = Color.Transparent,
contentColor = LocalAndroidColorScheme.current.onSurfaceVariant,
borderStroke = BorderStroke(1.dp, colorAttr(R.attr.shadeInactive)),
modifier = modifier.padding(horizontal = 4.dp),
diff --git a/packages/SystemUI/res/drawable/qs_footer_actions_background.xml b/packages/SystemUI/res/drawable/qs_footer_actions_background.xml
index a7e8762a2593..6bfa8f75de03 100644
--- a/packages/SystemUI/res/drawable/qs_footer_actions_background.xml
+++ b/packages/SystemUI/res/drawable/qs_footer_actions_background.xml
@@ -15,7 +15,7 @@
-->
<inset xmlns:android="http://schemas.android.com/apk/res/android">
<shape>
- <solid android:color="?attr/underSurface"/>
+ <solid android:color="@android:color/transparent"/>
<corners android:topLeftRadius="@dimen/qs_corner_radius"
android:topRightRadius="@dimen/qs_corner_radius"/>
</shape>
--
2.34.1

View File

@ -1,65 +0,0 @@
From 79f9b7b31a650bc9586a20ef032bed6f89f83810 Mon Sep 17 00:00:00 2001
From: Pranav Vashi <neobuddy89@gmail.com>
Date: Tue, 16 Apr 2024 21:32:43 +0530
Subject: [PATCH 29/43] SystemUI: monet: Remove unused colorSchemeIsApplied
Usage for this was removed in
https://github.com/crdroidandroid/android_frameworks_base/commit/e09dc531860bbe4e9c21e57a7eb59351078e1e4f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../theme/ThemeOverlayController.java | 38 -------------------
1 file changed, 38 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
index 3fe5fe4ef8c7..321429e43573 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
@@ -754,44 +754,6 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
});
}
- /**
- * Checks if the color scheme in mColorScheme matches the current system palettes.
- * @param managedProfiles List of managed profiles for this user.
- */
- private boolean colorSchemeIsApplied(Set<UserHandle> managedProfiles) {
- final ArraySet<UserHandle> allProfiles = new ArraySet<>(managedProfiles);
- allProfiles.add(UserHandle.SYSTEM);
- for (UserHandle userHandle : allProfiles) {
- Resources res = userHandle.isSystem()
- ? mResources : mContext.createContextAsUser(userHandle, 0).getResources();
- Resources.Theme theme = mContext.getTheme();
- MaterialDynamicColors dynamicColors = new MaterialDynamicColors(mIsFidelityEnabled);
- if (!(res.getColor(android.R.color.system_accent1_500, theme)
- == mColorScheme.getAccent1().getS500()
- && res.getColor(android.R.color.system_accent2_500, theme)
- == mColorScheme.getAccent2().getS500()
- && res.getColor(android.R.color.system_accent3_500, theme)
- == mColorScheme.getAccent3().getS500()
- && res.getColor(android.R.color.system_neutral1_500, theme)
- == mColorScheme.getNeutral1().getS500()
- && res.getColor(android.R.color.system_neutral2_500, theme)
- == mColorScheme.getNeutral2().getS500()
- && res.getColor(android.R.color.system_outline_variant_dark, theme)
- == dynamicColors.outlineVariant().getArgb(mDynamicSchemeDark)
- && res.getColor(android.R.color.system_outline_variant_light, theme)
- == dynamicColors.outlineVariant().getArgb(mDynamicSchemeLight)
- && res.getColor(android.R.color.system_primary_container_dark, theme)
- == dynamicColors.primaryContainer().getArgb(mDynamicSchemeDark)
- && res.getColor(android.R.color.system_primary_container_light, theme)
- == dynamicColors.primaryContainer().getArgb(mDynamicSchemeLight)
- && res.getColor(android.R.color.system_primary_fixed, theme)
- == dynamicColors.primaryFixed().getArgb(mDynamicSchemeLight))) {
- return false;
- }
- }
- return true;
- }
-
private void updateThemeOverlays() {
final int currentUser = mUserTracker.getUserId();
final String overlayPackageJson = mSecureSettings.getStringForUser(
--
2.34.1

View File

@ -1,48 +0,0 @@
From be6c596038f9a1168a174e20f68ff7dfe6e8a409 Mon Sep 17 00:00:00 2001
From: Pulkit077 <pulkitagarwal2k1@gmail.com>
Date: Fri, 16 Sep 2022 14:46:37 +0530
Subject: [PATCH 30/43] SystemUI: Follow Dark/Light theme for Safe Mode dialog
Change-Id: Ia9864a45551e969abaccd351e8b6d65e21d99165
Signed-off-by: Pulkit077 <pulkitagarwal2k1@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../java/com/android/server/power/ShutdownThread.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/services/core/java/com/android/server/power/ShutdownThread.java b/services/core/java/com/android/server/power/ShutdownThread.java
index 4d88510bdde8..431953408b49 100644
--- a/services/core/java/com/android/server/power/ShutdownThread.java
+++ b/services/core/java/com/android/server/power/ShutdownThread.java
@@ -31,6 +31,7 @@ import android.content.IIntentReceiver;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManagerInternal;
+import android.content.res.Configuration;
import android.os.Bundle;
import android.os.FileUtils;
import android.os.Handler;
@@ -194,6 +195,11 @@ public final class ShutdownThread extends Thread {
? com.android.internal.R.string.shutdown_confirm_question
: com.android.internal.R.string.shutdown_confirm);
+ boolean isNightMode = (context.getResources().getConfiguration().uiMode
+ & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
+ int themeResId = isNightMode ? android.R.style.Theme_DeviceDefault_Dialog_Alert :
+ android.R.style.Theme_DeviceDefault_Light_Dialog_Alert;
+
if (DEBUG) {
Log.d(TAG, "Notifying thread to start shutdown longPressBehavior=" + longPressBehavior);
}
@@ -203,7 +209,7 @@ public final class ShutdownThread extends Thread {
if (sConfirmDialog != null) {
sConfirmDialog.dismiss();
}
- sConfirmDialog = new AlertDialog.Builder(context)
+ sConfirmDialog = new AlertDialog.Builder(context, themeResId)
.setTitle(mRebootSafeMode
? com.android.internal.R.string.reboot_safemode_title
: com.android.internal.R.string.power_off)
--
2.34.1

View File

@ -1,86 +0,0 @@
From e8cea9d915c82a481987aea72f33be9a8cdca6f1 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 8 Mar 2022 20:37:33 -0800
Subject: [PATCH 31/43] SystemUI: Follow light/dark theme in power menu
Now that we've modified the power menu to refresh on UI mode changes,
make it follow the system light/dark theme for better integration in
light mode.
SystemUI: Always refresh power menu on UI mode change
This is necessary for reliably theming the global actions dialog with
dynamic colors and adapting it to light/dark themes.
Demo screenshots (with color overlays applied):
https://twitter.com/kdrag0n/status/1445960685427433473
[kdrag0n: ported to 12L]
Change-Id: If58fb4079a4cd11414ff928fad3576beecb14ff5
Signed-off-by: althafvly <althafvly@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values-night/colors.xml | 5 +++++
packages/SystemUI/res/values/colors.xml | 8 ++++----
.../systemui/globalactions/GlobalActionsDialogLite.java | 9 +++++++++
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml
index ddf188e3f1d3..3a403b69ff04 100644
--- a/packages/SystemUI/res/values-night/colors.xml
+++ b/packages/SystemUI/res/values-night/colors.xml
@@ -55,6 +55,11 @@
<!-- The color of the text in the Global Actions menu -->
<color name="global_actions_text">@color/GM2_grey_200</color>
+ <!-- Colors for Power Menu Lite -->
+ <color name="global_actions_lite_background">@*android:color/primary_device_default_dark</color>
+ <color name="global_actions_lite_button_background">@*android:color/surface_dark</color>
+ <color name="global_actions_lite_text">@*android:color/foreground_device_default_dark</color>
+
<!-- The color of the text in the Global Actions menu -->
<color name="global_actions_alert_text">@color/GM2_red_300</color>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 846fd5736590..402e44c3fb31 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -39,10 +39,10 @@
<color name="global_actions_grid_background">#F1F3F4</color>
<!-- Colors for Power Menu Lite -->
- <color name="global_actions_lite_background">#191C18</color>
- <color name="global_actions_lite_button_background">#303030</color>
- <color name="global_actions_lite_button_background_focused">#666666</color>
- <color name="global_actions_lite_text">#F0F0F0</color>
+ <color name="global_actions_lite_background">@*android:color/primary_device_default_light</color>
+ <color name="global_actions_lite_button_background">@*android:color/surface_light</color>
+ <color name="global_actions_lite_button_background_focused">#666666</color> <!-- LOS TV-specific, don't care -->
+ <color name="global_actions_lite_text">@*android:color/foreground_device_default_light</color>
<color name="global_actions_lite_emergency_background">#F85D4D</color>
<color name="global_actions_lite_emergency_icon">@color/GM2_grey_900</color>
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
index fa1b430a4ed5..0b2cc012f999 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
@@ -846,6 +846,15 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene
user.id) != 0;
}
+ @Override
+ public void onUiModeChanged() {
+ // Colors may change, depending on UI mode
+ mContext.getTheme().applyStyle(mContext.getThemeResId(), true);
+ if (mDialog != null && mDialog.isShowing()) {
+ mDialog.refreshDialog();
+ }
+ }
+
@Override
public void onConfigChanged(Configuration newConfig) {
if (mDialog != null && mDialog.isShowing()
--
2.34.1

View File

@ -1,74 +0,0 @@
From 3aa6aa1e16a385a3cef393fb58d4a319ca884632 Mon Sep 17 00:00:00 2001
From: althafvly <althafvly@gmail.com>
Date: Tue, 26 May 2020 21:17:59 +0800
Subject: [PATCH 32/43] SystemUI: Re-evaluate system theme on UI mode change
- Need for power menu to set accurate colors
Change-Id: I05d41eaf8ea19ce3b6ce659d01da33cf55de3b7e
---
.../systemui/theme/ThemeOverlayController.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
index 321429e43573..84e32a1dbaae 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
@@ -80,6 +80,8 @@ import com.android.systemui.monet.ColorScheme;
import com.android.systemui.monet.Style;
import com.android.systemui.monet.TonalPalette;
import com.android.systemui.settings.UserTracker;
+import com.android.systemui.statusbar.policy.ConfigurationController;
+import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.util.kotlin.JavaAdapter;
@@ -143,6 +145,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
private final boolean mIsMonetEnabled;
private final boolean mIsFidelityEnabled;
private final UserTracker mUserTracker;
+ private final ConfigurationController mConfigurationController;
private final DeviceProvisionedController mDeviceProvisionedController;
private final Resources mResources;
// Current wallpaper colors associated to a user.
@@ -184,6 +187,15 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
// Determines if we should ignore THEME_CUSTOMIZATION_OVERLAY_PACKAGES setting changes.
private boolean mSkipSettingChange;
+ private final ConfigurationListener mConfigurationListener =
+ new ConfigurationListener() {
+ @Override
+ public void onUiModeChanged() {
+ Log.i(TAG, "Re-applying theme on UI change");
+ reevaluateSystemTheme(true /* forceReload */);
+ }
+ };
+
private final DeviceProvisionedListener mDeviceProvisionedListener =
new DeviceProvisionedListener() {
@Override
@@ -425,10 +437,12 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
JavaAdapter javaAdapter,
KeyguardTransitionInteractor keyguardTransitionInteractor,
UiModeManager uiModeManager,
- ActivityManager activityManager) {
+ ActivityManager activityManager,
+ ConfigurationController configurationController) {
mContext = context;
mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET);
mIsFidelityEnabled = featureFlags.isEnabled(Flags.COLOR_FIDELITY);
+ mConfigurationController = configurationController;
mDeviceProvisionedController = deviceProvisionedController;
mBroadcastDispatcher = broadcastDispatcher;
mUserManager = userManager;
@@ -543,6 +557,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
mUserTracker.addCallback(mUserTrackerCallback, mMainExecutor);
+ mConfigurationController.addCallback(mConfigurationListener);
mDeviceProvisionedController.addCallback(mDeviceProvisionedListener);
// All wallpaper color and keyguard logic only applies when Monet is enabled.
--
2.34.1

View File

@ -1,53 +0,0 @@
From 1a69a297d72035abc82ec534448eb1dda2cc6042 Mon Sep 17 00:00:00 2001
From: Danny Baumann <dannybaumann@web.de>
Date: Wed, 20 Jul 2022 15:53:13 +0200
Subject: [PATCH 33/43] SystemUI: Fix QS header clock color
Now that we're flipping QS colors by theme (dark/light), we can no longer
rely on wallpaper colors for QS clock. Instead, we now can rely on clock color
being updated correctly on QS re-inflation (via
QuickStatusBarHeader.updateResources).
Change-Id: Icdf2484793cb63b7c0ab6ab87e94185e6bdc9ca4
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../src/com/android/systemui/statusbar/policy/Clock.java | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
index cc7a82d49fab..94f65f2a9833 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
@@ -43,7 +43,6 @@ import android.text.style.CharacterStyle;
import android.text.style.RelativeSizeSpan;
import android.util.AttributeSet;
import android.util.TypedValue;
-import android.view.ContextThemeWrapper;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
@@ -51,7 +50,6 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
-import com.android.settingslib.Utils;
import com.android.systemui.Dependency;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.res.R;
@@ -433,13 +431,6 @@ public class Clock extends TextView implements
setTextColor(mNonAdaptedColor);
}
- // Update text color based when shade scrim changes color.
- public void onColorsChanged(boolean lightTheme) {
- final Context context = new ContextThemeWrapper(mContext,
- lightTheme ? R.style.Theme_SystemUI_LightWallpaper : R.style.Theme_SystemUI);
- setTextColor(Utils.getColorAttrDefaultColor(context, R.attr.wallpaperTextColor));
- }
-
@Override
public void onDensityOrFontScaleChanged() {
reloadDimens();
--
2.34.1

View File

@ -1,45 +0,0 @@
From 25940ffbfecb8b9eed4d9d461b11ea4af3b96e41 Mon Sep 17 00:00:00 2001
From: Adithya R <gh0strider.2k18.reborn@gmail.com>
Date: Mon, 30 May 2022 00:13:02 +0530
Subject: [PATCH 34/43] SystemUI: Calculate paged QS tiles height properly
When QS is re-inflated during UI mode change and we're on the
3rd or higher QS page, the first QS page is misaligned and
hence height returns 0, resulting in footer and media panel
position overlapping the QS panel. Return the maximum height
among all present QS pages to fix this issue.
Change-Id: I539babdb75c114cc44b4213ff114d4272be22ef6
---
.../com/android/systemui/qs/PagedTileLayout.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index 43f3a2242da4..c7f74705a81e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -137,12 +137,16 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
@Override
public int getTilesHeight() {
- // Use the first page as that is the maximum height we need to show.
- TileLayout tileLayout = mPages.get(0);
- if (tileLayout == null) {
- return 0;
+ // Find the maximum height among all pages.
+ int height = 0;
+ for (int i = 0; i < mPages.size(); i++) {
+ TileLayout tileLayout = mPages.get(i);
+ if (tileLayout != null) {
+ height = Math.max(height, tileLayout.getTilesHeight());
+ }
}
- return tileLayout.getTilesHeight();
+ mLogger.d("getTilesHeight ret=", height);
+ return height;
}
@Override
--
2.34.1

View File

@ -1,41 +0,0 @@
From be8be7e3949c88489a4cf6af11326dcb5bac2d96 Mon Sep 17 00:00:00 2001
From: Adithya R <gh0strider.2k18.reborn@gmail.com>
Date: Thu, 19 Jan 2023 14:37:43 +0530
Subject: [PATCH 35/43] SystemUI: Remove visibility check in setting QSCarrier
color
This fixes a corner case where the signal icon color is incorrect:
Have dual sim -> switch to dark theme -> turn off one sim -> switch
to light theme -> turn the other sim back on. QS carrier signal
is colored white instead of black.
Ensure that the signal icon color is always up to date, by removing
visibility check, to avoid this issue.
Fixes: 816b8ddf ("Follow light/dark theme in SplitShade Header")
Change-Id: I092c06053fc4bc8d9ca51d1d31128da27ef6a823
---
.../com/android/systemui/shade/carrier/ShadeCarrier.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
index e1aac1771a30..b7ee9e4b4a38 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/carrier/ShadeCarrier.java
@@ -152,11 +152,8 @@ public class ShadeCarrier extends LinearLayout {
}
public void updateColors(ColorStateList colorStateList) {
- final boolean visible = !mIsSingleCarrier;
- if (visible) {
- mMobileRoaming.setImageTintList(colorStateList);
- mMobileSignal.setImageTintList(colorStateList);
- }
+ mMobileRoaming.setImageTintList(colorStateList);
+ mMobileSignal.setImageTintList(colorStateList);
}
@VisibleForTesting
--
2.34.1

View File

@ -1,27 +0,0 @@
From 0529a4ad0958c1a82739bcfbf7b19604c3cea4ed Mon Sep 17 00:00:00 2001
From: Pranav Vashi <neobuddy89@gmail.com>
Date: Mon, 4 Mar 2024 01:11:13 +0530
Subject: [PATCH 36/43] SystemUI: Fix QS tile dialog background color
Fixes: https://github.com/crdroidandroid/issue_tracker/issues/309
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values/styles.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index a8447df43d0c..e4f2cf70b0d3 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -479,7 +479,7 @@
<item name="android:buttonBarPositiveButtonStyle">@style/Widget.Dialog.Button</item>
<item name="android:buttonBarNegativeButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
<item name="android:buttonBarNeutralButtonStyle">@style/Widget.Dialog.Button.BorderButton</item>
- <item name="android:colorBackground">?androidprv:attr/materialColorSurfaceBright</item>
+ <item name="android:colorBackground">@color/notification_divider_color</item>
<item name="android:alertDialogStyle">@style/ScrollableAlertDialogStyle</item>
<item name="android:buttonBarStyle">@style/ButtonBarStyle</item>
<item name="android:buttonBarButtonStyle">@style/Widget.Dialog.Button.Large</item>
--
2.34.1

View File

@ -1,26 +0,0 @@
From 20bdd1f747da317d1e277f333f19d6a7a126f7fc Mon Sep 17 00:00:00 2001
From: elluzion <dyrex2004@gmail.com>
Date: Mon, 7 Dec 2020 20:39:40 +0100
Subject: [PATCH 37/43] SystemUI: Use proper Resolver background color
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
core/res/res/values-night/themes_device_defaults.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values-night/themes_device_defaults.xml b/core/res/res/values-night/themes_device_defaults.xml
index 7cfdba7a65be..970dba3d844c 100644
--- a/core/res/res/values-night/themes_device_defaults.xml
+++ b/core/res/res/values-night/themes_device_defaults.xml
@@ -87,7 +87,7 @@ easier.
<style name="Theme.DeviceDefault.Resolver" parent="Theme.DeviceDefault.ResolverCommon">
<item name="windowLightNavigationBar">false</item>
- <item name="colorBackgroundFloating">@android:color/GM2_grey_800</item>
+ <item name="colorBackgroundFloating">?android:attr/colorPrimary</item>
<item name="textColorSecondary">@android:color/resolver_text_color_secondary_dark</item>
</style>
--
2.34.1

View File

@ -1,42 +0,0 @@
From bdbd29ab6b1fb3db6084247eceabd95ec35993c6 Mon Sep 17 00:00:00 2001
From: minaripenguin <minaripenguin@users.noreply.github.com>
Date: Fri, 24 Mar 2023 13:04:06 +0800
Subject: [PATCH 38/43] SystemUI: Follow monet theme on privacy indicators
Change-Id: Ib713cb3283fcf3a49086c5da8360d2a1b6cd6704
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values/colors.xml | 2 +-
.../src/com/android/systemui/privacy/OngoingPrivacyChip.kt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 402e44c3fb31..50b962310ac9 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -224,7 +224,7 @@
<color name="screenrecord_status_color">#E94235</color>
<color name="screenrecord_icon_color">#D93025</color><!-- red 600 -->
- <color name="privacy_chip_background">#3ddc84</color>
+ <color name="privacy_chip_background">?android:attr/colorAccent</color>
<!-- Accessibility floating menu -->
<color name="accessibility_floating_menu_background">#CCFFFFFF</color> <!-- 80% -->
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
index 7a4be3fdc93b..19ac5fccac5f 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
@@ -125,7 +125,7 @@ class OngoingPrivacyChip @JvmOverloads constructor(
iconSize = context.resources
.getDimensionPixelSize(R.dimen.ongoing_appops_chip_icon_size)
iconColor =
- Utils.getColorAttrDefaultColor(context, com.android.internal.R.attr.colorPrimary)
+ Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse)
val height = context.resources
.getDimensionPixelSize(R.dimen.ongoing_appops_chip_height)
--
2.34.1

View File

@ -1,58 +0,0 @@
From 9b624db6528d95a77ea550b011af435ca4425571 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 10 Jan 2024 23:36:41 +0800
Subject: [PATCH 39/43] SystemUI: Follow monet theme on battery chip
Why does this chip even exist...
Change-Id: I178fdda5d8d310c4c7fa5f05f9911b3f94986cb9
---
packages/SystemUI/res/drawable/statusbar_chip_bg.xml | 8 +++-----
.../com/android/systemui/statusbar/BatteryStatusChip.kt | 6 ++++++
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/packages/SystemUI/res/drawable/statusbar_chip_bg.xml b/packages/SystemUI/res/drawable/statusbar_chip_bg.xml
index d7de16d7c5bb..dd1db04e77d7 100644
--- a/packages/SystemUI/res/drawable/statusbar_chip_bg.xml
+++ b/packages/SystemUI/res/drawable/statusbar_chip_bg.xml
@@ -15,9 +15,7 @@
limitations under the License.
-->
-<shape
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
- <solid android:color="?androidprv:attr/colorAccentPrimary" />
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/privacy_chip_background" />
<corners android:radius="@dimen/ongoing_appops_chip_bg_corner_radius" />
-</shape>
\ No newline at end of file
+</shape>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BatteryStatusChip.kt b/packages/SystemUI/src/com/android/systemui/statusbar/BatteryStatusChip.kt
index a58ce4162ddc..32c015f3230d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BatteryStatusChip.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BatteryStatusChip.kt
@@ -23,6 +23,7 @@ import android.view.View
import android.widget.FrameLayout
import android.widget.LinearLayout
import com.android.settingslib.flags.Flags.newStatusBarIcons
+import com.android.settingslib.Utils
import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.unified.BatteryColors
import com.android.systemui.res.R
@@ -71,6 +72,11 @@ class BatteryStatusChip @JvmOverloads constructor(context: Context, attrs: Attri
@SuppressLint("UseCompatLoadingForDrawables")
private fun updateResources() {
+ val primaryColor =
+ Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse)
+ val textColorSecondary =
+ Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorSecondaryInverse)
+ batteryMeterView.updateColors(primaryColor, textColorSecondary, primaryColor)
roundedContainer.background = mContext.getDrawable(R.drawable.statusbar_chip_bg)
}
}
--
2.34.1

View File

@ -1,29 +0,0 @@
From 2f4e9b7a4cc9c22ba9586fe855c31f99cc47abbf Mon Sep 17 00:00:00 2001
From: Pranav Vashi <neobuddy89@gmail.com>
Date: Sat, 17 Sep 2022 12:20:38 +0530
Subject: [PATCH 40/43] ThemeOverlayController: Remove repeated monet check
Change-Id: I6608df48c1a89a87eaf08d9f267e0a83e9bbd3d1
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
.../com/android/systemui/theme/ThemeOverlayController.java | 4 ----
1 file changed, 4 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
index 84e32a1dbaae..44b54080efc4 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
@@ -551,10 +551,6 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
},
UserHandle.USER_ALL);
- if (!mIsMonetEnabled) {
- return;
- }
-
mUserTracker.addCallback(mUserTrackerCallback, mMainExecutor);
mConfigurationController.addCallback(mConfigurationListener);
--
2.34.1

View File

@ -1,54 +0,0 @@
From a1462dcc2242256bde5e69c60306726c25e7281c Mon Sep 17 00:00:00 2001
From: Genkzsz11 <genkzsz11@gmail.com>
Date: Sat, 16 Apr 2022 00:18:51 +0700
Subject: [PATCH 41/43] SystemUI: Use color accent for charging animation
Change-Id: Ideade5e9375510a31496ad75c5b74f12444350c9
Signed-off-by: Omkar Chandorkar <gotenksIN@aosip.dev>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
packages/SystemUI/res/values/styles.xml | 11 +++--------
.../systemui/charging/WirelessChargingLayout.java | 4 ++--
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index e4f2cf70b0d3..fc5023697a32 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -817,14 +817,9 @@
<!-- Used to style charging animation AVD animation -->
<style name="ChargingAnim" />
- <style name="ChargingAnim.WallpaperBackground">
- <item name="chargingAnimColor">?attr/wallpaperTextColor</item>
- <item name="android:textColor">?attr/wallpaperTextColor</item>
- </style>
-
- <style name="ChargingAnim.DarkBackground">
- <item name="chargingAnimColor">@android:color/white</item>
- <item name="android:textColor">@android:color/white</item>
+ <style name="ChargingAnim.Background">
+ <item name="chargingAnimColor">?android:attr/colorAccent</item>
+ <item name="android:textColor">?android:attr/colorAccent</item>
</style>
<!-- Screen recording -->
diff --git a/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java b/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java
index 047d15daf6f8..a9a657730109 100644
--- a/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/charging/WirelessChargingLayout.java
@@ -78,9 +78,9 @@ final class WirelessChargingLayout extends FrameLayout {
(transmittingBatteryLevel != WirelessChargingAnimation.UNKNOWN_BATTERY_LEVEL);
// set style based on background
- int style = R.style.ChargingAnim_WallpaperBackground;
+ int style = R.style.ChargingAnim_Background;
if (isDozing) {
- style = R.style.ChargingAnim_DarkBackground;
+ style = R.style.ChargingAnim_Background;
}
inflate(new ContextThemeWrapper(context, style), R.layout.wireless_charging_layout, this);
--
2.34.1

View File

@ -1,33 +0,0 @@
From af3769a81e043d84bf044dd5cbbd7fbd49627b86 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Thu, 13 Oct 2022 15:07:22 +0800
Subject: [PATCH 42/43] colors_device_defaults: Add chroma to light surface
highlight color
With dynamic Monet themes, most of the UI has at least a small amount
of color (chroma), so pure white stands out as the sole outlier (e.g.
Settings search bar in light mode). Use the 99% lightness shade instead
to improve consistency.
Change-Id: I7dfe3e483fa207ce4d77349ac97872e0831ef3c8
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
core/res/res/values/colors_device_defaults.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/colors_device_defaults.xml b/core/res/res/values/colors_device_defaults.xml
index 4c5a008a3402..5d3d6a3155a9 100644
--- a/core/res/res/values/colors_device_defaults.xml
+++ b/core/res/res/values/colors_device_defaults.xml
@@ -59,7 +59,7 @@
<color name="surface_variant_dark">@color/system_neutral1_700</color>
<color name="surface_variant_light">@color/system_neutral2_100</color>
<color name="surface_dark">@color/system_neutral1_800</color>
- <color name="surface_highlight_light">@color/system_neutral1_0</color>
+ <color name="surface_highlight_light">@color/system_neutral1_10</color>
<!-- Please refer to text_color_[primary]_device_default_[light].xml for text colors-->
<color name="foreground_device_default_light">@color/text_color_primary_device_default_light</color>
--
2.34.1

View File

@ -1,30 +0,0 @@
From e3fcd9c40a3d0fa641bc1e90892bd5a54ecde7e6 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Thu, 13 Oct 2022 15:07:59 +0800
Subject: [PATCH 43/43] config_progress_background_tint: Use accent color for
progress bar background
This matches the stock Pixel style and makes progress bars look more
integrated, since the active (foreground) part is using the accent
color.
Change-Id: Ife7a79a390f6f9bdb2fd76722cd39adcfc182da1
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
---
core/res/res/color/config_progress_background_tint.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/color/config_progress_background_tint.xml b/core/res/res/color/config_progress_background_tint.xml
index b086e20bf161..dfc914e76c8d 100644
--- a/core/res/res/color/config_progress_background_tint.xml
+++ b/core/res/res/color/config_progress_background_tint.xml
@@ -15,5 +15,5 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?attr/colorControlNormal" />
+ <item android:color="?attr/colorControlActivated" />
</selector>
--
2.34.1

View File

@ -1,7 +1,7 @@
From b98a354d5dd11302672f2feed6eff815e8927342 Mon Sep 17 00:00:00 2001 From c93f729acb568f290085cea4014fbe384ec40289 Mon Sep 17 00:00:00 2001
From: Paul Keith <javelinanddart@gmail.com> From: Paul Keith <javelinanddart@gmail.com>
Date: Tue, 30 Oct 2018 15:46:18 +0100 Date: Tue, 30 Oct 2018 15:46:18 +0100
Subject: [PATCH 1/2] Messaging: Add "Mark as read" quick action for message Subject: [PATCH] Messaging: Add "Mark as read" quick action for message
notifications notifications
Change-Id: I7194dca022e5062926fa35709de282721ca64320 Change-Id: I7194dca022e5062926fa35709de282721ca64320
@ -34,26 +34,29 @@ index 0000000..9d017e6
+ android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z" /> + android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z" />
+</vector> +</vector>
diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml
index 074c13f..988d9f4 100644 index 3cfebff..f1ffeab 100644
--- a/res/values-zh-rCN/cm_strings.xml --- a/res/values-zh-rCN/cm_strings.xml
+++ b/res/values-zh-rCN/cm_strings.xml +++ b/res/values-zh-rCN/cm_strings.xml
@@ -18,4 +18,5 @@ @@ -19,5 +19,6 @@
<string name="swipe_to_delete_conversation_pref_title">滑动删除邮件</string>
<string name="swipe_to_delete_conversation_pref_summary">向右滑动以删除会话</string> <string name="swipe_to_delete_conversation_pref_summary">向右滑动以删除会话</string>
<string name="notification_channel_messages_title">短信</string> <string name="show_emoticons_pref_title">访问表情符号</string>
<string name="show_emoticons_pref_summary">在键盘上显示表情符号键</string>
+ <string name="notification_mark_as_read">标记为已读</string> + <string name="notification_mark_as_read">标记为已读</string>
<string name="notification_channel_messages_title">短信</string>
</resources> </resources>
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 9f2382c..743cb8b 100644 index f285555..858f093 100644
--- a/res/values/cm_strings.xml --- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml
@@ -21,4 +21,7 @@ @@ -23,6 +23,9 @@
<string name="show_emoticons_pref_title">Emoticons access</string>
<string name="show_emoticons_pref_summary">Show the emoticons key on the keyboard</string>
<!-- Notification channel -->
<string name="notification_channel_messages_title">Messages</string>
+
+ <!-- Mark message as read --> + <!-- Mark message as read -->
+ <string name="notification_mark_as_read">Mark as read</string> + <string name="notification_mark_as_read">Mark as read</string>
+
<!-- Notification channel -->
<string name="notification_channel_messages_title">Messages</string>
</resources> </resources>
diff --git a/src/com/android/messaging/datamodel/BugleNotifications.java b/src/com/android/messaging/datamodel/BugleNotifications.java diff --git a/src/com/android/messaging/datamodel/BugleNotifications.java b/src/com/android/messaging/datamodel/BugleNotifications.java
index 6df9e88..dbe86ff 100644 index 6df9e88..dbe86ff 100644
@ -88,10 +91,10 @@ index 6df9e88..dbe86ff 100644
final WearableExtender wearableExtender, final NotificationState notificationState) { final WearableExtender wearableExtender, final NotificationState notificationState) {
if (!(notificationState instanceof MultiMessageNotificationState)) { if (!(notificationState instanceof MultiMessageNotificationState)) {
diff --git a/src/com/android/messaging/datamodel/MessageNotificationState.java b/src/com/android/messaging/datamodel/MessageNotificationState.java diff --git a/src/com/android/messaging/datamodel/MessageNotificationState.java b/src/com/android/messaging/datamodel/MessageNotificationState.java
index fd82f74..b49774f 100644 index 4a4bfd5..7555d97 100644
--- a/src/com/android/messaging/datamodel/MessageNotificationState.java --- a/src/com/android/messaging/datamodel/MessageNotificationState.java
+++ b/src/com/android/messaging/datamodel/MessageNotificationState.java +++ b/src/com/android/messaging/datamodel/MessageNotificationState.java
@@ -335,6 +335,14 @@ public abstract class MessageNotificationState extends NotificationState { @@ -334,6 +334,14 @@ public abstract class MessageNotificationState extends NotificationState {
getClearIntentRequestCode()); getClearIntentRequestCode());
} }

View File

@ -1,143 +0,0 @@
From a544ce840f27fbf140b43652e76f6cc6c8b5b00e Mon Sep 17 00:00:00 2001
From: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Sat, 28 Mar 2020 15:10:57 +0100
Subject: [PATCH 2/2] Properly set conversation as read
* We were currently set the whole conversation set as read
-> Get only the matching notification instead
Test: m, manual
Change-Id: I468e0d50f82129a029fb1f27bb9fa4fec45f2945
---
.../messaging/datamodel/BugleNotifications.java | 16 +++++++++++++++-
.../datamodel/MessageNotificationState.java | 8 --------
.../messaging/datamodel/NotificationState.java | 5 -----
.../messaging/receiver/NotificationReceiver.java | 11 ++++-------
src/com/android/messaging/ui/UIIntents.java | 2 +-
src/com/android/messaging/ui/UIIntentsImpl.java | 7 +++----
6 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/src/com/android/messaging/datamodel/BugleNotifications.java b/src/com/android/messaging/datamodel/BugleNotifications.java
index dbe86ff..c9c6fca 100644
--- a/src/com/android/messaging/datamodel/BugleNotifications.java
+++ b/src/com/android/messaging/datamodel/BugleNotifications.java
@@ -879,11 +879,25 @@ public class BugleNotifications {
private static void addReadAction(final NotificationCompat.Builder notifBuilder,
final WearableExtender wearableExtender, final NotificationState notificationState) {
+ if (!(notificationState instanceof MultiMessageNotificationState)) {
+ return;
+ }
+ final MultiMessageNotificationState multiMessageNotificationState =
+ (MultiMessageNotificationState) notificationState;
final Context context = Factory.get().getApplicationContext();
- final PendingIntent readPendingIntent = notificationState.getReadIntent();
+
+ final String conversationId = notificationState.mConversationIds.first();
+
+ final int requestCode = multiMessageNotificationState.getReadIntentRequestCode();
+ final PendingIntent readPendingIntent = UIIntents.get().getPendingIntentForMarkingAsRead(
+ Factory.get().getApplicationContext(),
+ conversationId,
+ requestCode);
+
final NotificationCompat.Action.Builder readActionBuilder =
new NotificationCompat.Action.Builder(R.drawable.ic_wear_read,
context.getString(R.string.notification_mark_as_read), readPendingIntent);
+
notifBuilder.addAction(readActionBuilder.build());
// Support the action on a wearable device as well
diff --git a/src/com/android/messaging/datamodel/MessageNotificationState.java b/src/com/android/messaging/datamodel/MessageNotificationState.java
index b49774f..fd82f74 100644
--- a/src/com/android/messaging/datamodel/MessageNotificationState.java
+++ b/src/com/android/messaging/datamodel/MessageNotificationState.java
@@ -335,14 +335,6 @@ public abstract class MessageNotificationState extends NotificationState {
getClearIntentRequestCode());
}
- @Override
- public PendingIntent getReadIntent() {
- return UIIntents.get().getPendingIntentForMarkingAsRead(
- Factory.get().getApplicationContext(),
- mConversationIds,
- getReadIntentRequestCode());
- }
-
/**
* Notification for multiple messages in at least 2 different conversations.
*/
diff --git a/src/com/android/messaging/datamodel/NotificationState.java b/src/com/android/messaging/datamodel/NotificationState.java
index 4c11537..780cb8e 100644
--- a/src/com/android/messaging/datamodel/NotificationState.java
+++ b/src/com/android/messaging/datamodel/NotificationState.java
@@ -79,11 +79,6 @@ public abstract class NotificationState {
*/
public abstract PendingIntent getClearIntent();
- /**
- * The intent to be triggered when mark as read is pressed.
- */
- public abstract PendingIntent getReadIntent();
-
protected Uri getAttachmentUri() {
return null;
}
diff --git a/src/com/android/messaging/receiver/NotificationReceiver.java b/src/com/android/messaging/receiver/NotificationReceiver.java
index f87779c..ae30f03 100644
--- a/src/com/android/messaging/receiver/NotificationReceiver.java
+++ b/src/com/android/messaging/receiver/NotificationReceiver.java
@@ -54,13 +54,10 @@ public class NotificationReceiver extends BroadcastReceiver {
}
}
} else if (intent.getAction().equals(UIIntents.ACTION_MARK_AS_READ)) {
- final String conversationIdSetString =
- intent.getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID_SET);
- if (conversationIdSetString != null) {
- for (final String conversationId :
- ConversationIdSet.createSet(conversationIdSetString)) {
- MarkAsReadAction.markAsRead(conversationId);
- }
+ final String conversationId =
+ intent.getStringExtra(UIIntents.UI_INTENT_EXTRA_CONVERSATION_ID);
+ if (conversationId != null) {
+ MarkAsReadAction.markAsRead(conversationId);
}
}
}
diff --git a/src/com/android/messaging/ui/UIIntents.java b/src/com/android/messaging/ui/UIIntents.java
index 144e831..ab81cab 100644
--- a/src/com/android/messaging/ui/UIIntents.java
+++ b/src/com/android/messaging/ui/UIIntents.java
@@ -332,7 +332,7 @@ public abstract class UIIntents {
* <p>This is intended to be used by notifications.
*/
public abstract PendingIntent getPendingIntentForMarkingAsRead(final Context context,
- final ConversationIdSet conversationIdSet, final int requestCode);
+ final String conversationId, final int requestCode);
/**
* Get a PendingIntent for showing low storage notifications.
diff --git a/src/com/android/messaging/ui/UIIntentsImpl.java b/src/com/android/messaging/ui/UIIntentsImpl.java
index 9281899..858072d 100644
--- a/src/com/android/messaging/ui/UIIntentsImpl.java
+++ b/src/com/android/messaging/ui/UIIntentsImpl.java
@@ -432,12 +432,11 @@ public class UIIntentsImpl extends UIIntents {
@Override
public PendingIntent getPendingIntentForMarkingAsRead(final Context context,
- final ConversationIdSet conversationIdSet, final int requestCode) {
+ final String conversationId, final int requestCode) {
final Intent intent = new Intent(context, NotificationReceiver.class);
intent.setAction(ACTION_MARK_AS_READ);
- if (conversationIdSet != null) {
- intent.putExtra(UI_INTENT_EXTRA_CONVERSATION_ID_SET,
- conversationIdSet.getDelimitedString());
+ if (conversationId != null) {
+ intent.putExtra(UI_INTENT_EXTRA_CONVERSATION_ID, conversationId);
}
return PendingIntent.getBroadcast(context,
requestCode, intent,
--
2.34.1

View File

@ -1,65 +0,0 @@
From fb1a8efb48bd9aa11b1dfdab6ca7701a130e9bca Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 26 Feb 2024 08:41:08 +0800
Subject: [PATCH] SetupWizard: Remove step for changing theme
This partially reverts commit 554f63530a257db3194bd7c492e1c954eb11374d.
Change-Id: Id83207c766d6b0b23cd240b35936289c44026db5
---
res/raw/lineage_wizard_script.xml | 6 ------
res/raw/lineage_wizard_script_user.xml | 6 ------
res/raw/wizard_script.xml | 3 ---
3 files changed, 15 deletions(-)
diff --git a/res/raw/lineage_wizard_script.xml b/res/raw/lineage_wizard_script.xml
index 7c87abd..af3df01 100644
--- a/res/raw/lineage_wizard_script.xml
+++ b/res/raw/lineage_wizard_script.xml
@@ -83,12 +83,6 @@
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCKSCREEN_SETTINGS;end"
id="lockscreen_settings">
- <result wizard:action="theme_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.THEME_SETTINGS;end"
- id="theme_settings">
<result wizard:action="navigation_settings" />
</WizardAction>
diff --git a/res/raw/lineage_wizard_script_user.xml b/res/raw/lineage_wizard_script_user.xml
index 15325c6..1522eda 100644
--- a/res/raw/lineage_wizard_script_user.xml
+++ b/res/raw/lineage_wizard_script_user.xml
@@ -35,12 +35,6 @@
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCKSCREEN_SETTINGS;end"
id="lockscreen_settings">
- <result wizard:action="theme_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.THEME_SETTINGS;end"
- id="theme_settings">
<result wizard:action="navigation_settings" />
</WizardAction>
diff --git a/res/raw/wizard_script.xml b/res/raw/wizard_script.xml
index 38ec267..ba93494 100644
--- a/res/raw/wizard_script.xml
+++ b/res/raw/wizard_script.xml
@@ -112,9 +112,6 @@
<result wizard:action="lineage_settings" />
</WizardAction>
<WizardAction wizard:uri="intent:#Intent;package=org.lineageos.setupwizard;action=org.lineageos.setupwizard.LINEAGE_SETTINGS;end" id="lineage_settings">
- <result wizard:action="theme_settings" />
- </WizardAction>
- <WizardAction wizard:uri="intent:#Intent;package=org.lineageos.setupwizard;action=org.lineageos.setupwizard.THEME_SETTINGS;end" id="theme_settings">
<result wizard:action="navigation_settings" />
</WizardAction>
<WizardAction wizard:uri="intent:#Intent;package=org.lineageos.setupwizard;action=org.lineageos.setupwizard.NAVIGATION_SETTINGS;end" id="navigation_settings">
--
2.34.1

View File

@ -0,0 +1,142 @@
From 316e6779dde5db01258fcf5139e1d4a33933b114 Mon Sep 17 00:00:00 2001
From: Vachounet <vachounet@live.fr>
Date: Mon, 26 Oct 2020 17:05:18 +0100
Subject: [PATCH] Trebuchet: Move clear all button to actions view
@AndyCGYan: Instead of removing the original, hide it in a simple way
Change-Id: I7a0b2729c163169f7606ad4644870d07d5165e8e
---
.../res/drawable/ic_recents_clear_all.xml | 18 ++++++++++++++++++
.../res/layout/overview_actions_container.xml | 17 ++++++++++++++++-
.../quickstep/fallback/RecentsState.java | 2 +-
.../quickstep/views/LauncherRecentsView.java | 3 +--
.../android/quickstep/views/RecentsView.java | 6 +++++-
5 files changed, 41 insertions(+), 5 deletions(-)
create mode 100644 quickstep/res/drawable/ic_recents_clear_all.xml
diff --git a/quickstep/res/drawable/ic_recents_clear_all.xml b/quickstep/res/drawable/ic_recents_clear_all.xml
new file mode 100644
index 0000000000..2ad0bb824d
--- /dev/null
+++ b/quickstep/res/drawable/ic_recents_clear_all.xml
@@ -0,0 +1,18 @@
+<!-- Copyright (C) 2020 The Android Open Source Project
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path android:fillColor="#FF000000" android:pathData="M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7" />
+</vector>
diff --git a/quickstep/res/layout/overview_actions_container.xml b/quickstep/res/layout/overview_actions_container.xml
index 0fda0bf8d4..9a6f5ae062 100644
--- a/quickstep/res/layout/overview_actions_container.xml
+++ b/quickstep/res/layout/overview_actions_container.xml
@@ -40,6 +40,21 @@
android:text="@string/action_screenshot"
android:theme="@style/ThemeControlHighlightWorkspaceColor" />
+ <Space
+ android:id="@+id/action_clear_all_space"
+ android:layout_width="@dimen/overview_actions_button_spacing"
+ android:layout_height="1dp" />
+
+ <Button
+ android:id="@+id/action_clear_all"
+ style="@style/OverviewActionButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:drawableStart="@drawable/ic_recents_clear_all"
+ android:text="@string/recents_clear_all"
+ android:theme="@style/ThemeControlHighlightWorkspaceColor"
+ />
+
<Space
android:id="@+id/action_split_space"
android:layout_width="@dimen/overview_actions_button_spacing"
@@ -68,4 +83,4 @@
android:visibility="gone" />
</LinearLayout>
-</com.android.quickstep.views.OverviewActionsView>
\ No newline at end of file
+</com.android.quickstep.views.OverviewActionsView>
diff --git a/quickstep/src/com/android/quickstep/fallback/RecentsState.java b/quickstep/src/com/android/quickstep/fallback/RecentsState.java
index 8b5f091e11..601021b5bf 100644
--- a/quickstep/src/com/android/quickstep/fallback/RecentsState.java
+++ b/quickstep/src/com/android/quickstep/fallback/RecentsState.java
@@ -106,7 +106,7 @@ public class RecentsState implements BaseState<RecentsState> {
* For this state, whether clear all button should be shown.
*/
public boolean hasClearAllButton() {
- return hasFlag(FLAG_CLEAR_ALL_BUTTON);
+ return false;
}
/**
diff --git a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
index 6c27587058..dbaf180e68 100644
--- a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
@@ -143,8 +143,7 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher
super.setOverviewStateEnabled(enabled);
if (enabled) {
LauncherState state = mActivity.getStateManager().getState();
- boolean hasClearAllButton = (state.getVisibleElements(mActivity)
- & CLEAR_ALL_BUTTON) != 0;
+ boolean hasClearAllButton = false;
setDisallowScrollToClearAll(!hasClearAllButton);
}
if (mActivity.getDesktopVisibilityController() != null) {
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 5e645ea917..0dc0b3b62e 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -117,6 +117,7 @@ import android.view.ViewTreeObserver.OnScrollChangedListener;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.Interpolator;
+import android.widget.Button;
import android.widget.ListView;
import android.widget.OverScroller;
import android.widget.Toast;
@@ -472,6 +473,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
private final RecentsModel mModel;
private final int mSplitPlaceholderSize;
private final int mSplitPlaceholderInset;
+ private Button mActionClearAllButton;
private final ClearAllButton mClearAllButton;
private final Rect mClearAllButtonDeadZoneRect = new Rect();
private final Rect mTaskViewDeadZoneRect = new Rect();
@@ -976,6 +978,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
mActionsView = actionsView;
mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, getTaskViewCount() == 0);
mSplitSelectStateController = splitController;
+ mActionClearAllButton = (Button) mActionsView.findViewById(R.id.action_clear_all);
+ mActionClearAllButton.setOnClickListener(this::dismissAllTasks);
}
public SplitSelectStateController getSplitSelectController() {
@@ -1342,7 +1346,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
* button fully visible, center page is Clear All button.
*/
public boolean isClearAllHidden() {
- return mClearAllButton.getAlpha() != 1f;
+ return true;
}
@Override
--
2.34.1

View File

@ -1,23 +1,23 @@
From 3b91dda8987fcc5f4ccb33cff692f58d39b2f06d Mon Sep 17 00:00:00 2001 From 45ce666776f48f82151a4fc3c8a3219f3e4c210f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 20 Jun 2021 09:08:43 +0000 Date: Sun, 20 Jun 2021 09:08:43 +0000
Subject: [PATCH 1/2] build: Integrate prop modifications (1/2) Subject: [PATCH 1/2] build: Integrate prop modifications (1/2)
Change-Id: I24f54937e3e542b7c29ea86d24e3f523583a0c61 Change-Id: I24f54937e3e542b7c29ea86d24e3f523583a0c61
--- ---
tools/buildinfo.sh | 7 +++++-- tools/buildinfo.sh | 9 +++++++--
1 file changed, 5 insertions(+), 2 deletions(-) 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh
index e68162a6fe..a7d9f5bdcd 100755 index c00e1e98b..490d15215 100755
--- a/tools/buildinfo.sh --- a/tools/buildinfo.sh
+++ b/tools/buildinfo.sh +++ b/tools/buildinfo.sh
@@ -9,7 +9,7 @@ if [ "$BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT" = "true" ] ; then @@ -9,7 +9,7 @@ if [ "$BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT" = "true" ] ; then
else else
echo "ro.build.id?=$BUILD_ID" echo "ro.build.id=$BUILD_ID"
fi fi
-echo "ro.build.display.id?=$BUILD_DISPLAY_ID" -echo "ro.build.display.id=$BUILD_DISPLAY_ID"
+echo "ro.build.display.id?=$BUILD_ID" +echo "ro.build.display.id=$BUILD_ID"
echo "ro.build.version.incremental=$BUILD_NUMBER" echo "ro.build.version.incremental=$BUILD_NUMBER"
echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION" echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION"
echo "ro.build.version.preview_sdk=$PLATFORM_PREVIEW_SDK_VERSION" echo "ro.build.version.preview_sdk=$PLATFORM_PREVIEW_SDK_VERSION"
@ -30,15 +30,17 @@ index e68162a6fe..a7d9f5bdcd 100755
echo "ro.build.date.utc=`$DATE +%s`" echo "ro.build.date.utc=`$DATE +%s`"
echo "ro.build.type=$TARGET_BUILD_TYPE" echo "ro.build.type=$TARGET_BUILD_TYPE"
echo "ro.build.user=$BUILD_USERNAME" echo "ro.build.user=$BUILD_USERNAME"
@@ -57,5 +57,8 @@ if [ -n "$BUILD_THUMBPRINT" ] ; then @@ -58,5 +58,10 @@ if [ -n "$BUILD_THUMBPRINT" ] ; then
fi fi
echo "ro.lineage.device=$LINEAGE_DEVICE" echo "ro.lineage.device=$LINEAGE_DEVICE"
+echo "ro.lineage.version=LineageOS 21 Self-built CGMod" +echo "ro.lineage.version=LineageOS 20 Self-built CGMod"
+echo "ro.lineage.display.version=LineageOS 21 Self-built CGMod" +echo "ro.lineage.display.version=LineageOS 20 Self-built CGMod"
+echo "ro.modversion=LineageOS 21 Self-built CGMod" +echo "ro.modversion=LineageOS 20 Self-built CGMod"
+
+echo "lockscreen.rot_override=true"
echo "# end build properties" echo "# end build properties"
-- --
2.34.1 2.25.1

View File

@ -1,4 +1,4 @@
From 45dd8686e204f58063348a9ba5caeb2249ae85a5 Mon Sep 17 00:00:00 2001 From 1c0c37fd29fb20537eca319cd5c3874127414d8a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 16 Oct 2021 00:39:15 +0000 Date: Sat, 16 Oct 2021 00:39:15 +0000
Subject: [PATCH 2/2] build: Remove Stk (1/2) Subject: [PATCH 2/2] build: Remove Stk (1/2)
@ -9,17 +9,17 @@ Change-Id: I24ef17c74c3137a11b463cde96c74d0edc853edd
1 file changed, 1 deletion(-) 1 file changed, 1 deletion(-)
diff --git a/target/product/generic_system.mk b/target/product/generic_system.mk diff --git a/target/product/generic_system.mk b/target/product/generic_system.mk
index 7aff62c39f..b5bf7b3a57 100644 index 1a639ef71..49a080076 100644
--- a/target/product/generic_system.mk --- a/target/product/generic_system.mk
+++ b/target/product/generic_system.mk +++ b/target/product/generic_system.mk
@@ -33,7 +33,6 @@ PRODUCT_PACKAGES += \ @@ -32,7 +32,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
LiveWallpapersPicker \ LiveWallpapersPicker \
PartnerBookmarksProvider \ PartnerBookmarksProvider \
preinstalled-packages-platform-generic-system.xml \
- Stk \ - Stk \
Tag \ Tag \
ifeq ($(RELEASE_AVATAR_PICKER_APP),true) # OTA support
-- --
2.34.1 2.25.1

View File

@ -1,159 +0,0 @@
From ed95d24fc0033ae71a55d5177699ffdf51e9ee29 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 22 Apr 2024 23:34:04 +0800
Subject: [PATCH 01/22] Add MotoHelloUINavbarOverlay (1/2)
Redrawn after extracted SVGs, resized and adjusted stroke width
Change-Id: Idd8deb529ab39444737676d7bdba1c52555d6661
---
packages/overlays/Android.bp | 1 +
.../MotoHelloUINavbarOverlay/Android.bp | 28 +++++++++++++++++++
.../AndroidManifest.xml | 22 +++++++++++++++
.../res/drawable/ic_sysbar_back.xml | 12 ++++++++
.../res/drawable/ic_sysbar_home.xml | 11 ++++++++
.../res/drawable/ic_sysbar_recent.xml | 19 +++++++++++++
6 files changed, 93 insertions(+)
create mode 100644 packages/overlays/MotoHelloUINavbarOverlay/Android.bp
create mode 100644 packages/overlays/MotoHelloUINavbarOverlay/AndroidManifest.xml
create mode 100644 packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_back.xml
create mode 100644 packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_home.xml
create mode 100644 packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_recent.xml
diff --git a/packages/overlays/Android.bp b/packages/overlays/Android.bp
index 5e001fba6aa1..8913b58807e6 100644
--- a/packages/overlays/Android.bp
+++ b/packages/overlays/Android.bp
@@ -28,6 +28,7 @@ phony {
"DisplayCutoutEmulationTallOverlay",
"DisplayCutoutEmulationWaterfallOverlay",
"FontNotoSerifSourceOverlay",
+ "MotoHelloUINavbarOverlay",
"NavigationBarMode3ButtonOverlay",
"NavigationBarModeGesturalOverlay",
"NavigationBarModeGesturalOverlayNarrowBack",
diff --git a/packages/overlays/MotoHelloUINavbarOverlay/Android.bp b/packages/overlays/MotoHelloUINavbarOverlay/Android.bp
new file mode 100644
index 000000000000..06515997990a
--- /dev/null
+++ b/packages/overlays/MotoHelloUINavbarOverlay/Android.bp
@@ -0,0 +1,28 @@
+//
+// Copyright 2021, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+runtime_resource_overlay {
+ name: "MotoHelloUINavbarOverlay",
+ product_specific: true,
+}
diff --git a/packages/overlays/MotoHelloUINavbarOverlay/AndroidManifest.xml b/packages/overlays/MotoHelloUINavbarOverlay/AndroidManifest.xml
new file mode 100644
index 000000000000..25646b2c4603
--- /dev/null
+++ b/packages/overlays/MotoHelloUINavbarOverlay/AndroidManifest.xml
@@ -0,0 +1,22 @@
+<!--
+ ~ Copyright (C) 2021 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.systemui.navbar.motohelloui"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="com.android.systemui" android:priority="1337" android:isStatic="true"/>
+</manifest>
diff --git a/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_back.xml b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_back.xml
new file mode 100644
index 000000000000..2fe4ba43b89b
--- /dev/null
+++ b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_back.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:autoMirrored="true"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M 15.5 5.875 L 8.5 12 L 15.5 18.125"
+ android:strokeColor="#FFFFFFFF"
+ android:strokeWidth="1.75" />
+</vector>
diff --git a/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_home.xml b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_home.xml
new file mode 100644
index 000000000000..14110ab58bd7
--- /dev/null
+++ b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_home.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M 5.875 12 a 6.125 6.125 90 1 0 12.25 0 a 6.125 6.125 90 1 0 -12.25 0"
+ android:strokeColor="#FFFFFFFF"
+ android:strokeWidth="1.75" />
+</vector>
diff --git a/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_recent.xml b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_recent.xml
new file mode 100644
index 000000000000..7436752d5b0a
--- /dev/null
+++ b/packages/overlays/MotoHelloUINavbarOverlay/res/drawable/ic_sysbar_recent.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M 5.56 5.56 V 18.44"
+ android:strokeColor="#FFFFFFFF"
+ android:strokeWidth="1.53" />
+ <path
+ android:pathData="M 12 6.48 H 9.24 V 17.52 H 14.76 V 6.48 H 12"
+ android:strokeColor="#FFFFFFFF"
+ android:strokeWidth="1.53" />
+ <path
+ android:pathData="M 18.44 5.56 V 18.44"
+ android:strokeColor="#FFFFFFFF"
+ android:strokeWidth="1.53" />
+</vector>
--
2.34.1

View File

@ -0,0 +1,52 @@
From 64c0e12dc7a4eb6add7631a84dda17e2012f687c Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 18 Jun 2023 19:33:27 +0800
Subject: [PATCH 01/21] Add keylayout for Backbone One for Android, with AB/XY
keys swapped
Change-Id: Ia057c084099015b544c926cd57c37b4ac314867a
---
data/keyboards/Vendor_358a_Product_0201.kl | 31 ++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 data/keyboards/Vendor_358a_Product_0201.kl
diff --git a/data/keyboards/Vendor_358a_Product_0201.kl b/data/keyboards/Vendor_358a_Product_0201.kl
new file mode 100644
index 000000000000..e15907f9c6f2
--- /dev/null
+++ b/data/keyboards/Vendor_358a_Product_0201.kl
@@ -0,0 +1,31 @@
+#
+# Backbone One for Android
+#
+
+# AB/XY swapped
+key 305 BUTTON_A
+key 304 BUTTON_B
+key 308 BUTTON_X
+key 307 BUTTON_Y
+
+key 310 BUTTON_L1
+key 311 BUTTON_R1
+key 312 BUTTON_L2
+key 313 BUTTON_R2
+
+key 317 BUTTON_THUMBL
+key 318 BUTTON_THUMBR
+
+axis 0x00 X flat 4096
+axis 0x01 Y flat 4096
+axis 0x02 Z flat 4096
+axis 0x05 RZ flat 4096
+
+axis 0x0a LTRIGGER
+axis 0x09 RTRIGGER
+
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+key 315 BUTTON_START
+key 314 BUTTON_SELECT
--
2.34.1

View File

@ -0,0 +1,389 @@
From 2e9df83d63b2c316a6cec6fcbc253ef0919cf5d3 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 20 Jun 2021 03:39:32 +0000
Subject: [PATCH 02/21] Add MiuiNavbarOverlay
Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
---
packages/overlays/Android.mk | 1 +
.../overlays/MiuiNavbarOverlay/Android.bp | 28 ++++++++++++++++++
.../MiuiNavbarOverlay/AndroidManifest.xml | 22 ++++++++++++++
.../res/drawable-440dpi-v4/ic_sysbar_back.png | Bin 0 -> 2756 bytes
.../ic_sysbar_back_darkmode.png | Bin 0 -> 2547 bytes
.../drawable-440dpi-v4/ic_sysbar_docked.png | Bin 0 -> 3642 bytes
.../ic_sysbar_docked_darkmode.png | Bin 0 -> 2810 bytes
.../res/drawable-440dpi-v4/ic_sysbar_home.png | Bin 0 -> 1362 bytes
.../ic_sysbar_home_darkmode.png | Bin 0 -> 980 bytes
.../drawable-440dpi-v4/ic_sysbar_recent.png | Bin 0 -> 278 bytes
.../ic_sysbar_recent_darkmode.png | Bin 0 -> 205 bytes
11 files changed, 51 insertions(+)
create mode 100644 packages/overlays/MiuiNavbarOverlay/Android.bp
create mode 100644 packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index 69641e69a9f2..1efc296d9689 100644
--- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk
@@ -26,6 +26,7 @@ LOCAL_REQUIRED_MODULES := \
DisplayCutoutEmulationTallOverlay \
DisplayCutoutEmulationWaterfallOverlay \
FontNotoSerifSourceOverlay \
+ MiuiNavbarOverlay \
NavigationBarMode3ButtonOverlay \
NavigationBarModeGesturalOverlay \
NavigationBarModeGesturalOverlayNarrowBack \
diff --git a/packages/overlays/MiuiNavbarOverlay/Android.bp b/packages/overlays/MiuiNavbarOverlay/Android.bp
new file mode 100644
index 000000000000..fc724fb7a686
--- /dev/null
+++ b/packages/overlays/MiuiNavbarOverlay/Android.bp
@@ -0,0 +1,28 @@
+//
+// Copyright 2021, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+runtime_resource_overlay {
+ name: "MiuiNavbarOverlay",
+ product_specific: true,
+}
diff --git a/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml b/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
new file mode 100644
index 000000000000..3f10e2e03675
--- /dev/null
+++ b/packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
@@ -0,0 +1,22 @@
+<!--
+ ~ Copyright (C) 2021 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.miui.systemui.navbar.overlay"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="com.android.systemui" android:priority="1337" android:isStatic="true"/>
+</manifest>
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png
new file mode 100644
index 0000000000000000000000000000000000000000..be2b145b4c698679bfdfdc3e5834ad12a56724c0
GIT binary patch
literal 2756
zcmcgu3s4hx8V?1-3OZnL5L?tGprz_2n-D@036KXu)CfXOJj=t)?k3rRWWy$qfRADd
zhu~RzrHmZ`k!wBAa-g0-rC<@UbSw%?@2-FjLbWI3sc4FiE8=+@UZak6oX*Yd%<lg8
z|Nnj8_xql+C5ap3=6k*A#b7YztKyYO^xNUO0Ve${b@zQjzvi0be`{edy!~9a8{=SQ
z0E02-I-%KO-J;$gK}jPA!ALF6u^Y`an!$*Swwn<&6Ssm|Tu+#!?7J;(Y>>dD?38dd
ztTrof0}-E3;mP?MHE4b&D#qB+QDCH9LMt%hRs^&gvrHC=UCN%+E1}n}Z7v&}gjh4B
zY?;d-xJ8`^Do6?k!#P3-<q7y;gqXt<!eYK)HOPl~5nMQe%L{{Go&*+3!o=Y8#ip%M
zm`;+UTsv)x{*tl{R;yXU<=SjEjxCHsQhF{=EEaQNK9|pjXar=*Gg%QkWU>U$Xi(x7
zlp@Slf;53Hjfj@au}axA(<v8>=2^8S%XFCNfN|}JnaktAE|(^O7&?nH=TKRb#xazO
zXW>TNWVO&(-YnK^Ag!duK>mX2+2iL7(4keUXKlQci_ti1!eWihrQMhg$V<@{O`aL&
zCgBz`heGk#T$*OE%Nw&qLE(s%q%<U%HIt~s8OoqS;Yy4M3{4?S7-_S-^Nb9xM69@!
z&4>9g1PdUZSi=)Z;4q0mv<jvd@Dx-{VuUX5c_<&&z+wr^e-1~N42D>dS0gc0q9Z9I
zLVHUX5k1Z|oAhjOHii-fnMG2xNt##Kv->KAB9S6>L>7HuNs5z$s#t}PCl(4JK8H6+
zRIQe%OcpC*LUEN+%BCa3AqY&Oi@?J$Ow5Nc1V$i!xIhPKg(wU~XoZ+CLZFL41n7*s
zl0<V{`Ja);Xn7tSCgcf3;dFTT0*D_WKq0M&r-igAj_`Ftfmj4%Gx7-(LH8e$^{e%`
zy3$oRl6b;Gr!;T6Z<6us=~Wg1PS%P9L0vr{Wuva-<1~Y*ZQ>;ncs&oM<ZT9=R{DyH
zn1WeIoz;d=xJ*w+>vf8b`%C;SNbalIzh3@c#{R`3{gu?GBa0dklOCsMDwpkYhU=O>
zQ+eUOn6k;UXC~DQoF0F!<?P(0KV~O4ZlYCF^j!XUap^q<!=qTGlxgghcLpzI2I7Hd
zop&1=Rb{C=O13WFv&cEW&Z{wW;e<Q&?MZ<+BoVl;U0-vbb#Cc)|K)p_8jp83c{$Qs
zf#$i|iq9(c4X9IU6PsEtnf9^*eRi@sPh4r$f7vp`odAP8ZY+*k++U>^ZVLS7lRN7l
zGj9J74={mtxg3rG{8<h+`H2sG=lME{3bz&bt`6~VFWeRs6aad7&uwP}ZTX)=m&8A2
z<bEDn+B8vnHu!AKy$90a>eHA0^M}}$j0Nn&!DSa(^KN}#w`^tkw+ViJesRq{pPnhb
zetNmiJ2qydzrX+F*1FBVSA4B?vU;l?=0D88{Gim=ZOI}|s)%}cdtiN9T3S#2#PE$v
z718cb|70_~Q{Hs`<9eWKq`PVjExG8r^3<tQ%iQ<7J^n7e=TLQ9gAX_dsM2>==4BGZ
zu@9BzC*uzicE4Tlr0%{ayKp?GGHU1ezBRVdAIpHh4&2tewg0R3&kcRSg@f;(a14JD
z;%IJe?&)Lu%KdusfwggQ`!y@ee+~z}x_$Fz9tFJ-BydIo?Z=XjrXSa=w5UAB#>O(j
z<zV58Lu-NG6&Ghf2f7AA97RP%U4w&z2~#JMC6U?J&UgKj%FCVaAir0*&`d!05%AN`
z6Xp9r+EfCo{X*H>87s@zrIZ0)Md!+|UcGuW!Vv?gBUb@TCNq6?`MS0h3s!SDyZZY2
z9$j3!0H`VP6!i`bJ>79kGrqiJxO3lIL!|$1--Gso`c%#%ge8lre(JpULr0I%U$#bW
zIM%X1JMeD8uC~_J3ERS0V`Dqkbp*=xJPvp=Jv}o*4|M%4v)=2iT}OILNAQjj?j84j
z8PGd?=6!k1y*oPIXJ?iMW%;}j^G$DW@2Z@u>WTcYfbY`x`!@Nw9Y!(i$HsL>eu|!V
zYcRuC?!BRE^Qh>?M*&oGYR8%n<c8fu;-D00P960={75z_mFq8Ob;wx?VMSd_P%NO1
zy7hNM^|g?aouxE-ASTDg>A84uN0N`?@~s8uMrC^ny2nO(+S2Marz|s+To)apFUHaY
zZTxnryk82`26T3Ie(;;xe+-oc)TgyP+{BualgDfAM>p3#ImztsJp1Xt3)YWyuh?7A
z?Q}YAnT?mLRr8XQlkd7$5y#_z?e55&j+zZCEEA)HE$`LEg!=D2Ky(yuOO7sB81xtI
zX}j~9^U4=wM%vb`2P-Nocld}taaHOcjg{w%KR515?39hZm&k0m>4`VY^SF`@H7YJN
h9r{0Z;ER1d?z2;NqUud$cCPC`Qx&^WSufw__%Gd*;i3Ql
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back_darkmode.png
new file mode 100644
index 0000000000000000000000000000000000000000..4873f84ff7f4750fa3adc70428ffb123502c1051
GIT binary patch
literal 2547
zcmb_eeQeZZ81J!-O&ofY7;XsC6~zzi_3L(9o89Ji-N!}lm~(+4Q|z_9t?aJ7wPkn1
zfy<Q1N5sVaL5?ZINzkZ#i3x{-Y|2E!v6)~*5ZF)|2|5SPgf9`_?&AVxDjF|o`}Xbc
z`8~hq<9%|gOFhMtCrz6KLC|DZ30nr9O~#cn5!}}#n6HD!9l?@?8U)=r#kfq+hSx0+
zl=PESUZGdG=Q6w!uyTUp6|Lbw5TGF_Codf2_!?1%y<(LlJCMPT_am?*IFJRIZrmMo
ziq%rdGF5zPnWvmzR>RW*l9vnTgc(2(5Ood?2mG?egdNB*F9X)bHip2%5WU8M<Qop*
z3U?{&R8$epwAxXgu#s>UZ6)kDP1+uVNu0>S@GOj=P@G_JJ44a%=nnzjRKdrTu|=c4
zz?%c9*7YERVWCjS8ltR<T7?lbO=CETkt7Nbs8%oQTo{$LSz`>WsPU>4)FnlR4MxtZ
zEY%$dP&yJqAQ-2Wwb3+zgkfPWh!IxY2x%B7@Nrylsp=ngF7TM>7XzZKYXD2cvB7FZ
zSF~#7FR0_6Z*c%p>vqR|jH@LOh`Z4A!a5MfXhOzCYvuJp5i1ilWvR-Gg>^vYEF+pA
z<5WdXSJZMv@sAa%bWAerbQ*=ph96!a$$}En9=XXzWI0`QAS6!WC~iXux}3;naEh^I
z&%wb0AA!0RLGsn#3MKJ!oMv#6!HHX-plbw9=l&5a@QhDU100B13UE~-7L=<HIG#zy
zsrVHYI0ovdoA+H#XQ`_ABtQ6|l@%Aju0p4spzU^)v=YN|-EPJuYdR<MqKkDPAU{?~
z5*Q!n&BA${LP-(NMrofd3-x+QaO3TnbS6)6w2d6IXBB>_(FJ4nf?>~lMcU3$XeKX^
zC{5YCD2-?0C_&PkS0rsbne7|1pQlRT6mtIm%wwEQqkWhXNdtwgA3Z%!iM69EzXT6=
z48!rpNpK*%(E_4?jBZQgW#G0V7@-YSi-7cR`eFp8DLy^KsbYQ=$ky$&9`;xIHLmU-
z)ZbS9##28|tNuszqsir~Ik`#%!xck}crarOjg$uabJd2w-88bs;9w3K%lH5WFYysB
z%79u01Ns?xr3r!(wz}B-^6={er+U|J(JTiqUYb=r=?+)j*+%v?w(NOt*UUFdHlyw5
zewov1Kk?#Ly5gAsp5x!BkN<A+KDn+0K~`^eKX8v{`o-)h)=(Ad^0W*NeA2sp*Ojk4
z$L0?1Ydf)g%fk2P&)M9vZ04p~Jkiv=$(u4EHNVT8XlYuLk%A}Q>oh-?@@O;MVJ=V2
zZ_Ied(gZn6iT@dxz2}l?QDA3<|9p?wU)Pu3XY1=ft6n)i|8!<uZdzmP<ix$ElTc+s
z&X<?kZ=C+g`9*BVf<$*jde7^gtX+3yP(4Y{CR>;EFHfs|=cwyc%>Gg==jDv1wXO9i
za{teI*@9iE0OJeO(an)d#Rr^kc+Sgp8Md^_6WwXGFTCAS#LdqT`WJT8bcjb9py>9V
z!taSzGdVQ34-eK;c_x;P{l0rsHv(uA!uLkoBW)9Ywl{VD0E8S(N1`7@?w$~u*1350
zjDo_TCHiipEvYWOv#4eAn@Bi4`cdR=Q^?Y}b9Q=xZ{wuBiIv~RdI<KyqPF)w5A1x}
z{Udhp>eZ`{bj;~k=UZ`q^g(3B_1$e%OM2J8Kz2R!scbL0fIMXBobD!GdTald#UE8(
z%%i%@UpIy}ys9K^?2aAT$BVOPPc2}7OFfyg_uJTRQ}Qck2Hn=g##NVBpE*@Dm^n1i
z(ein)p(WJ>BP)beXRiBBC*{bg2RHarptOq#pB+Ase57IO4mtHcH)B|BJag#6lT>d)
z&e!MKYd16)pcy-+T#iQ8NA~PL>UxV>Ywqi@Y)j6S`k$w?tzd_2HABdEi<&LDf&OGl
zTMQD)&(DC^16irql!1BVKzD548=h$^kFSKxX^W`?7wW0OL$Ts(m0$Hf=7d(Q+HUb)
zZja176mx*WEKzSvUf!OU*cv&PpiG!*8*(2$`^!o+r{-7RHTJTToo?Eeu+BEr?K!7Y
z*9^Z;G+Rzj%oUn%d}G_QeqvzVy#Kj5|3$lBneo8k53^T$kGYM%Wv)UGyRG24rau72
C-gtlj
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c88fc5d571d0ec91b735082cb9c512603b9ceec
GIT binary patch
literal 3642
zcmd5<c|4T)AAgXLtU?sZ>`;z1=4ec27}t!mFecWOW6V65n4>u|Nyt(m{I-K4RF+T?
zD;v2IE9>Y`v5jG4)vknAtz6k>N?yCa-~O)sYv(o3Jm2U0eSbg4`}_WUW+sK=?xeCt
zdkp{pDlX1sDs)ejUW%)s&s4c}i_lGp>+Ht|0A+RQB?IJ~+Xw*ix=b%$fv?*x0-eJ$
zqcJ$4pqYrph0p+CWh3I!=#iiR77B(l*+lr{%_caE$sodg%-v9KToM?;bdKSHyJOtF
z=rNIWJOgfH4YLvvAOkE=K!b@`QEWazM1;S$OMu4GX(Sx>9wLY&!tJCEVZLq@7>UCJ
zVdiEy1RagVz;@ux&^QzxgEfU=Q0N^<)D9$iI|79!pm2okc-Zm_4te7-!U$Bd<FYU4
zi3pDn2)G0!GCDfiEPA^chZl}S<MDVT3WLO85D)^vKfo5yL<lxt|Dy#m$fxs|Tmh5A
zhDj~bLODVK5e`NAAq5t9#Vnh@OcO*HQbgk-(Pk)VO7DRT`U;LK<VC%A&Y&Z~D3ArR
z1$+pLUcquBI06nog7a@ouPpz;0Yt5v+lr4rjfKTpalscj?1$1=Cge}ie6Iss5J?63
z93hVmI_!tS)R$(%C6IU^O~B!KaX3*Q4~p_JWEhDgJs1m^kq?v2;6(F{f42uD(*z(9
zjzM8i2ox59#(QBf1aor&8v7Z_f`CGOfVy!Q%&-Ih3f)dXLvP$4ppa@9Gy(0uf*Eu|
z7>CEAK{+#7v~Uo~WrxFID@+ndoG1<tatuYc{rB@OBoc+k31db<3w)}RJ<P>{ghS(T
zI0VKF{XSebH-ZbBFQBpMpbMD@hxjpLG8u$WIxRE|2Z9JRnt?{(vDi=qEewl6phC?-
z9NIh-1%hE8_meqvp;QGQ_cQ*_{T@6fRE4ytzidZZn^O4@oSA&+U=J);&u(zv@+gW4
zd#@M*jV`SOBAhOj0LXwZPc#2A10T#rM}Uyg|DcNxFg_<t5KZHOcHt0P|BLjHQ2a<~
z*?vd``OjItU;AB&e}qGQLpoe(SkS{t%LCa^pW{Idtrjhl4*-g-E@V3|(Ycp-tO$+S
z&FxK=+vlxrqVESZoEf;j@ym6`TKrmdN42#hk`pIQVr1+tAak^g?MGujO?qpO{vqvD
zHRYZ@)@0Cf=sFkqkax9h%U4c?&Y?!xhLT5C<2_vy<2|I{u6V)m>NPj(CVp9L&g@tS
z-yi+VrXX+DW}!c6PoMm!)CSdrdOgZ2*#!7H83!0(B)k6a@^F|sDOZw3F?#K~J^@wF
z-woWEO3H4<*{t)OyK%TkFGEo$LH;~E3%OXB=D5_PrGm5vf)gHIkL-&ZkVqCw%gXXP
z7(6GeHtRHqU;oL`lc^UCNEiOG3aBz|H*lc>&HK)!vc%hf8|9IHS>9K?O#F+e#yQ2a
z4^hXj6f>93=I1vGhg(w)0$33hTO(s#{sJdZv<HSqMn(!od9?>8#BF|lezimlrb^HD
z3UjP-P=WGBNkn#Za#B50JUjlTuM+oDU84mS`%rG5&mo`Z^EL1v>(UQ}D<4QtLMSUM
z_gNAMahe04n`QTX{r&hib>+y&oSHo*ryuVuI^k)mseHnqR!2uiUR=WhC>jnfmwL-a
zEG{rGXH&`W4w2Ph&aQ1@Z||4=jfdvr96V3lnkmT5y;*l~W+GVb&W;%3V@c~?xdaS>
z5YsFSG@MEnhJ}SSj!#Yw$(>iR)wWf$)g63kwFU-<o3;dJrXEroHfI6>3JMA{J$LU8
ztsUH8+KHK)o3maGdvtS4S$TVmo~;V`n535fe8(;2*Hce#>j2iaES=jlz%nZ<i>+W2
z$>aT^1)PfMBVE70c0|#YkT>z#CrWG<STA}dn_w=I)cbqNT#Fg`Hhub5%Vx{{f{RKq
z!QHULugb>U<3XYD&8^YSY%NNFQmn}(_q;iuO5fOLTGiFnvB$QRv>&mN0o*T8d|&za
z2L#OM5@V`2bDjriTgShP^|0D9G^VAoCRw*$=F*YkP2_7h98Pm#gM+79_}%<PL;_;U
zaYJOX?0F%VJCznf!{sh+87!fbdNtq!4F_k;Wc6bu5=nuFheyGSmoFC;Z9hxUs1It+
zeZ4WUVfBWfiVLiekdT@2@$pFlbX;Tc87%Q=X=!PEp%OVFXJ1lLQBlPcu~;EdoZ2@0
zbrf!1)vZ@kIk_d3nWIxzuBF>vDGcm0Iqljuv?I^`@(F|Ftu80pEbL7*(~8tn$d2BR
zGBIbn44-m+RT`HHoif=1p>T1Hu2V_8BAiaAE4cOUi5^;igmz`Es_IP3&BBKbTguYw
z^lTp){;*zlUBQ_%KLrN{E>673t|ahk2PF6J-<ONHSbHQ)gtb~yALLsLr=N8fL__Ru
zRZGbr!z+o}>1<Dpt)IG3_jsN%0`64lo;ENZZ|biym25ao^UI=%YnbBwm3z#zT#Fv`
zQcGWB3+^Jjy1HWd3vXXF$r-^=^ZiqA`lk%1_F5;dsz}ybzf-B=nSMy`gS*73eX^Y)
zD7_1Z`_EC-$ZFz+B9D99qI=_VgC{#5_WQ)CcN?@!x1Q?g==g$2Bo-9+{@mkhT7%F`
zW2KSd#(r5NRi;iG99)2)Onr;Ojl0|{O*;j;mm;8`a-P-EHhQeR?RzdacV7JT_R*!a
zllLi(Un_b}I=Wt855qw!hh=w47UNYK{IAv3%}H8Y$u{-hcTsjfq&KLZA5))FRD}rC
zK2rJ1T&J(juHHR*Iy#n$6$t7~ObIThsParcWO<}K@MgxUZ@f)5Aac9oE;FCZ9HB9G
z7Ev1^Iu`7<w(m2UjSZTfQ9XM5DFahF_l4{Ii0ZAUT@RI%?RDCA62I;o9Y`1*9j%C-
z7?|A&ykHmlFdE#h-~i{NpKN{t`ekie__n8~C(ay&x|gn%Vr&w$B`mJ@$5R>!j|T?_
z_1rx?mTpN-0sN;e$<|mqYkP_6`PJ~GilBxV3!_^tEiHXOO<_$sZBuj2{LJK%@ms%d
z*b;&~?DI)!3bY3<Jq(PVymE1I@t|X9s!GV>KrNr11#XI??cAxXzI#ypD=(8bhnuLT
zngw}ye%R{4W{<0t<-tvj^))rW-a|SUQFrY+;K7BeC*QERb>!96Y_q^8%IHmA^iwAd
zJ@(gJzb>4Y&nZS6PBEU8e>~Ejsg)@2l%b24tN7A)=Ozu{>LrhYclKGM&riC|#=c_}
zwKW8cNt{dV=$>OQUd%%Z)9*i)TTsx1x3IXO)%<zAb9g+I{KooQaGSh_t4&SucOji+
zPZS4zaV9zHZ4jyVxPDhp&%4IUmtRc(fa|P!ZRnA|u)DX~A+Rqyt!>!9cF$vBAkz87
zkI$wLbXS=w0}Q{c0DpgK#z@leD-l#+TSF`RHNCyXCp#Dix1F3dP)mtYYFru~9u6j0
zT4pAWD85lWjDfmy;fuM8^BE|&>9aR<ux)ojA>PN-MRrjP24m^F@4jQrjEbYXJ4Sgk
z-?q2gkkq@)v7Lo7BJ_MoP%UrNY5v!j^C@LzHqHiWXCtt62;EQGZ$G_OX5?z6vBtQ$
zv%@%J#J7f(4M1JEy~?zKTKZEBOQ)Dw{&U?s-`?tE1=TIF{PF(ErbLKVt)-Ep7>)Y3
zmB;;;C`Ss;J@85~Rzb>^s&u0=Z1)0xudnCjUkeLb#35AXG~LEX`tQ!g!JS-gACmYR
D=8d64
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_docked_darkmode.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe51e11921ecb35c5535e7c446769af7f66be893
GIT binary patch
literal 2810
zcmcIm3se(V8jh_}EK8-jfcRpFisopZKuAUc4GBuXuz*;Bl4?jMA>=V}5=f#b5>wH&
zNOz?^0L5da^%X&CG(sC#P&iP~WhtQrr3fM-rHFt=DYz3}$L@Bwk8?Wb+_`t|{qFa_
z|1$?7BQ`j{x#&#{2II^LWk;j4-aZ^1(Dz?ocNs&cxysNu6$az9z&>VSa`P8rFmskj
zVq(>?+>M|BmJ|3wI1wUf<w_Kd!2|?pm3)B|QUi&QSfXHH2g=H^fJDf^Zt>%ixJnk3
zBnjPtK$~_%#0Yjs1#}@cC=dwHf+&F;Qu6_=T&7TgS_XE47ev?gZ6X$!fT*PmEYmI!
zh~-8CEEs_RKLQmmAp24Pe>#CoCDAFqYXJ(0>`x^56Ujb!5*Z{>K_5CW^<YtHh)@JZ
zv)50_LcbW;B(+)z5{Vj(hM@5wz=)Vgrqk&}5`{>i;86r#rBkT+TD(HFe42p`sRW2b
zsg}SBz|P1|gj3WEEUM|G33BBOtwJ^BCe&d>Eni6_6G(QGCV)c03{IJX$R>mf1w=>&
z$svVWg<{DwSY;BdhE+-M|Dc{Z{)qt8wOsCujGxs-E}s#hQir6XW=uKcXVIz{of0BO
zLn=505kMiSsG7^|)+j+10`b)_5(C4s=|DwJs|>JM_Q249)mtPAA*@m1UbzFY`D%!P
zrI08jJjoYNrpHhypr0Q|_FY4wfh5u-lnV<bBHe#OeLyk=B>VgXie`<Fujc<ESSSER
zFe2xpHcRAuF+@}<#8_a)lOPM0!3ZiC)z0VDeGZEiiNGR>3_VaqZwLlBAuKAHPNm{0
z1oDKsTrS8_sMLIg0OGJ2SkylRi9`sBXk?nNfF{5T{i$TU(AO8j(?nD{o=Q)INCJ^R
z**8%%eV+{rQtVkUeP8$+@BamnpjF71{caw6ZQ9cZ43((R!0M)|XA`u2Y9*5Z6Bz^Y
z1@=l{U<LLRfP~noZOQNUz$C3E2|`K#PhL#IRIo^`;Uf@JjC$+Wq#hB~pJ*@JNmGdb
zY30P(D<wV+NBf3-In%JvkC~PSDbPNLpbgCy>ah>)lLii(8Kcebzsuc!V$0GuI>awl
zKKQ(mz4v(ayJf{4l_4t~-GU<TTtDl?GrKVT^|zvu@hjKN-ORof>8>}smVR9r8}m<W
zh&#{G^<3);?tT+Dw<xTy#!Ty>z@Ih*BLgSu?>&<}_;O%Z&v;M!^X~kild63eWir`*
zGgOwo$4p=0m@(U{bhg(=0Q)E~d%oe}e8W3>7oOfF)a7)z%WHFk)pLUZ=6(XxafM^!
z%0C9IY)gHK87eL*K^nT^`^L1GfodMj!1yM6m)W$nbg^c*tL1TW(75}hj*rJjmfY$r
zvTeq7XE*Iw{$tOoHLNcVEHlLSeQEOwyj+1Sws}~h!|369Wm9ZiT$Ge|b6~rc0~J(V
zj;?$Dc3_oP>AoM<wJ+4W4~FMgI+^!eFyARCH@qC~YAe3xInY#^b&c=(EXi0uUMv0X
z;D*60o#jA3g?+HtVzHbbD-rMgz&T*wg2J3FMWb0SGvoVarMYj-&9~_HN~O}GhEJ+f
z7ZrxsK5B5O=qk+F&=Yqm2bs0?lF71k-qWU?O3#zW#m0V8U4K_&?cnCLof)R94ziRC
z(-F}PAb=O9(?xv{hD)zJUVBc1KX0XE%{Me1?i!UEHH7n#<sl3TeWderGQMdwljcWn
z&)nb^E0tbTz2FwL^4EK;4K&`x)jNDRuQ{H0Z)agnOHb4(Yw3Gs3!dM(KO8jpeZc$a
zWzO42zgd-YvO;_<AjP4)Vra~Ey5aiXHLWpE>fi78tTx79DA|(dPy6s$XBVxwd&HAi
zm?k&eR_3_PT4voHm+9SesKd$W{If4^wx3wryjn23Fz2w1bTU5pdO=r4bX|D(S<|1Z
z)Xtks*6h}VT?sdt#&h3g@y1Gc+OO`n5jxAqY$aFc>o(^d3Ct{)8Y|#%-0h8h&VwF@
z9(#9IJ2&~=$nr=mwt4fa-ncSYc~|=x^-0jS&!xwVl=jY6*PFc$a^hN)9z@B7qpJq<
zqU(x28(E*UIrHHn@5P(m9TcP`|6^rArF%Fo-J5Ba4C@SgTdQ-*j>bIov~9z6-*+sy
z=fY!Y?kr|0nQh0OxXbUSM@b)v4~M<HdYv;z(Q@Pnx*j!M-(NP!X}LsR@~@|>Hi{Q%
zE_%fqMn*<>@j>I(+Fs9&zeU$I>%Kl~YR|~L!a39HaBQd5YK^!x8F%w-lb7~%&XZ=H
z+e4|_s$}En<A&Wk=G0ta-akY|gU)+zndjDR#+oaapa%~}2zNN^=T@%st`UdfZsX5K
z;<{ab<Ri&aN6nciy)qR^J7axe32}Y2(=D4DaiX-{w61nFQ_KIVYk||nl!UxvxgJ=@
zPyXaq(EQZ>``&ENi>7hMdC%_F_+PY^hPRo)r3OWZW=K2MPrcDED2RL!Xt8vkJE)zX
z-V~oT)Oux5R;-E33*V;tVNb)yb+5NR>W-2ZRjJp$7KAHI+dUEV4C~Ug_)(`b$H#2-
z`bQ_KuDK1jhWpnoWa7F50`&#S+^1N^Ir+wKLF%`c_w_FNG}$;%Q}cLP|G-;sNxL%F
zjkdIn7B)5DillcP<S(B8-D*l`w7N#LCG5&?4-_@xs>vH$T>QQN$hPt;8`hqev)+b-
VfHkC3x%R(PPDlj%Qt&qYzX3LdVM71_
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home.png
new file mode 100644
index 0000000000000000000000000000000000000000..20f1d887aedebaadec7f31184bdfe3e662401522
GIT binary patch
literal 1362
zcma)5dsvcZ6eq3COPOfdW%DV^ZrZSmmu5@DVMeK8>Y7WZW@(O;T+M9eB{VT<`aG7k
zn)f@oE<`v`G!hdlR3b#c8xe|l8>DE0=1%!ff9^cb_kQR6zW4o|-#O>~uHt;XmYJ+I
zK_C#zum>?m;Z6Mb7#YIa&@1aeAQowH-T|Hv{vWHXtnBFM=<e<w92^`Q8&j**TCH|w
zW=5ye&3!WP0UQ|_Q79BrskFVly|A!wfjKuf7x4M{d8JaBnwknAkw}F7z<|f&A$<GE
z#9}dz$7^nGX0cc_8jVh;L(;OcvZ|`8#>Pg#+uGV-5Af^tdQj5Y*@;G@7g7WV2lw^$
z&Cbrcy1D|=)YK%ANCpN5N=ix~<n#IPDIy{wJ3E`nWcKv*3=a<jJ~cJf+S&>ZaQ652
zkB^VPe*JoAXb4sSfdMK7NivzNx3?D%jYb1`<#IVVU0q$En!#X*L?S?ds;;h1AP_)}
zAPmlOI2^#?IGhE}g|<Kzp-{LW0Lq7!LM=f-K_n8XzP_H#W&;}}s;H>Q%*+JYC=?2V
z!GL%y77OKo5-yhu+n_ns)zwrgwWXy6T1_UCp`W0EKp^Dh<v}6PaFC%=sbDCRlamt@
z6CeiW0^~4=G>fQ@x1sX<QD1+=qAyI$kd`a0R;^yM1V^rBzv>>;Oz3t0N?$cpk-RL7
z-Curq>S*LLrm$bkV3lSj#D<6Y;{swYW|gxi%Zs*{e(6A+T4!*U^3;3jAJaPzMpw75
z7$ut5KkB^M^5?QL0f}~RdGFoYzGCL-{5n-sF6Va91!l$rZes=YHif6k(V{Rhzm^#u
zalK`;ZDwOVJvHuRU~uxaZ`Dc^TF`p)x#X>!QNDJ?g&SrFgh3=0gAPcLj)}XDS)x}j
zQJ<v!mA=U?%l=1~tj%`B)z`KbFE+KKzBz$GdPW=@wWdy+ogj$E`&FZwuZ!Zp<C4}~
zVm#p%keE^NFI+55ke}Hcsp&xT<5FtE)tFl*wILQcp5N@wHNu;kTknn!mb^C}u(Xb{
zz`fa%H*memyTCaq1Ap2W>D!)vB`lDpEI*IgAvkB_L`bG*pdVVjPYM(XQGXx5K?%)o
zLs2>$w}*(t!qJq_*t<Eng8LR58%v)#oqHZo6K-pf@#;>Nf;aRca6{9uQ_PEv<)W-?
z(KCaVz2Og5`HT(EW0DOY#`%Z2w?rbt$vWfcc*OArS@cn<@fq^g9Guwf{7Pas%bMNJ
zdS?{t^03BBAX+^7!xLN9zWoH>T^@;-lRUM^DZ}5M%WCC|WMSxw>0+B=^sbRM4jZXO
z$_Lnf*!02(cHH5lbT?VLt;YvjoU;yD7jgjM%PiY#eFT3yJ0;{s)Z^`kQt+<!k~_Qu
zviuCA6KQS^l4A0z$7lHCo-;d7g&3e}+$(1}x<hC;kGbLH_zAlm>$e4s;^kW?4ngm_
zE`Q~cX8O<Z(zEsV8qXf?Mb7nT$Cn62o198j$sS3_dA5Umo!g_|H>CWM;Mc75nWk1-
zsTCC62DdZ&CLU}r=+K8QH9PflBu(;$$CuS~(S5S#8@}fRZa&GnX#a%YkXXbwx5=MX
z``wiJ|MZgXydqYc;eH`$&5TsFXJu)BBv++(-ld-NA|wj=+9rOa!u0;M{>s}ZN=&zg
jp|o;zi!=ZHCR`6amaD0~y#7)m{38ggr!VHdM;P%x23q9L
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_home_darkmode.png
new file mode 100644
index 0000000000000000000000000000000000000000..96dc83e4a42d70c1b11ac5a55ea5eb8cd75e1e20
GIT binary patch
literal 980
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ=(EfiWY%C&U%V?H>iS4*_MFJ{MqE
zmzM<j1v8iwPFQ>B+}+pje*SoQ_Tb9?Tpg9&|JF;%JijfpWO-*ypo^KYc~ESA_nHsA
ztz3e$KC_1!6n_!c@R_*xN!py_HCyTq=gggUaniy|?MuCzA69H^h|Zp|b=B<p2PGc`
z0>b30*|@*0n4jWq;gIy|zKGh99kpj}USHgEp;$&A80||uT^vIyZoR$k8h+S8g!O?F
zcj^bHLXDPyjKZ$qJ6m_`-hKM-Z=Y)^yB^s@+{vH0dq%aAaitu;AQIT=<@xp3rAvP$
zy;7MXy;6S{7k&Q3%$mf?)m#uB5~Fl^!4@93r=m)tT64E<TJ6;MO6v5gt#7SPb6q!g
zS=4*(tJ=ib0ZZOj6rVo7V5@I<#(RMk0++cf?<&vlvtrdMVZ3YmE^z(23+e$2<s}SK
z3ljnsIEfmhoN8+nY~)&eV1{Nl6Oi%vK#S&VmSrqjKFn8_<*>~VU17l9;(OC(gF?VT
zew|sHRA+K^s)$ZwynjDjB9%2Z@o9hj@z9yqKg!oksmhKrP8D1bl-3+)o+@o5{UvQu
za+deA^S<)eZhOAF(C5HfE5hn~GjCG+m+o&3f0++AEUdr7$EqdsvefBVI!p9|LmNK}
z*BAXVwz%BS@myD^`ADnrrX%|0>yoZt>&?Br{aWc8JyVg;b6@KwX1@Ay&*p-y%_*L#
z{^ysm=`T&%{PpeY3#V^a$E?)Zo3}Wqvw!=8=ht19w|5|cm|EtWFQ%k?JmTvKOfn3f
Lu6{1-oD!M<_NCyP
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f0d314e2621d018c3cd2e4267cf4cf82a78943f
GIT binary patch
literal 278
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ+K~IR*HHxB_W3aOlvXS731D$dNyP
z{`~&^8>ry@`}c3(z6CO@t*tk0+O&D|W?NfZAou_O|I!nsR|8q1B|(0{3``sX!dw~0
z&!m6(D0J#1t5jH`B>TrxD!+gV@;qG}Ln>~)y?T=OumO*&<LOWDj(nQ-FWQ&&(?pJ@
znOy%Gk7P>$)d4|WP*!pH)Y~Ek3+0ck%$oDNf%ERC$_@LN)Si65+@j0wqw%{iOg5Zz
u=kcQOsZZh^l}((KO_)H0lQP7Be}}|<Jmh~yiM-bb33$5txvX<aXaWF$9A~fq
literal 0
HcmV?d00001
diff --git a/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png b/packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png
new file mode 100644
index 0000000000000000000000000000000000000000..f53ec649e615e8491fb6abb63d169ab7e0faa1ce
GIT binary patch
literal 205
zcmeAS@N?(olHy`uVBq!ia0vp^O(4v{3?%p7eQ+K~DF*n2xB}^ZynuIaZ52=vS4ogx
zFoXa0-5=lXWwUX~o_?MiC>rSL;uunK>+RLuyayBnTpaC=HT>3}!PR$SSH`j?-mt2r
zKs7+%uwa{9mTBst&#^sIIN#?w`Oh@C&bRjEiUzlg7B>c|g@RIyV08!V`R32zx~(4j
Q*9XM+boFyt=akR{0CQqV3jhEB
literal 0
HcmV?d00001
--
2.34.1

View File

@ -1,7 +1,7 @@
From 522bbc14ea6cd6d17bd93fd3139b77d22362090c Mon Sep 17 00:00:00 2001 From cf35535a94712e9f81d9532fa4a494a8628b4641 Mon Sep 17 00:00:00 2001
From: Hikari-no-Tenshi <kyryljan.serhij@gmail.com> From: Hikari-no-Tenshi <kyryljan.serhij@gmail.com>
Date: Thu, 30 Jan 2020 22:20:54 +0200 Date: Thu, 30 Jan 2020 22:20:54 +0200
Subject: [PATCH 02/22] Disable Bluetooth by default Subject: [PATCH 03/21] Disable Bluetooth by default
Change-Id: Iea5d24f977928bf01cd7a46b98c75c0a4bd6a23c Change-Id: Iea5d24f977928bf01cd7a46b98c75c0a4bd6a23c
--- ---
@ -9,10 +9,10 @@ Change-Id: Iea5d24f977928bf01cd7a46b98c75c0a4bd6a23c
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 17d9f1b87fac..75686e96e201 100644 index 99b15db780dc..cff3e668f053 100644
--- a/packages/SettingsProvider/res/values/defaults.xml --- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -38,7 +38,7 @@ @@ -36,7 +36,7 @@
<fraction name="def_window_transition_scale">100%</fraction> <fraction name="def_window_transition_scale">100%</fraction>
<bool name="def_haptic_feedback">true</bool> <bool name="def_haptic_feedback">true</bool>

View File

@ -1,7 +1,7 @@
From 24806592ddfc97002514f203c55e29338d52644e Mon Sep 17 00:00:00 2001 From 8201fef9ab532374796549c938ea2fc172bf20f5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 27 Sep 2021 16:30:00 +0000 Date: Mon, 27 Sep 2021 16:30:00 +0000
Subject: [PATCH 03/22] Disable cursor drag by default for editable TextViews Subject: [PATCH 04/21] Disable cursor drag by default for editable TextViews
Requested by @TadiT7 Requested by @TadiT7

View File

@ -1,7 +1,7 @@
From fd4ee96f17bee1e0c639b9f5a66d877637eb442d Mon Sep 17 00:00:00 2001 From 0dba3680960846702881fed2b3e716825af92d58 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 3 Jul 2022 00:08:42 +0000 Date: Sun, 3 Jul 2022 00:08:42 +0000
Subject: [PATCH 04/22] Disable "RESTRICTED bucket" toast Subject: [PATCH 05/21] Disable "RESTRICTED bucket" toast
Change-Id: I20a328d3c77962f3a6095bfca42d0b165a093ce8 Change-Id: I20a328d3c77962f3a6095bfca42d0b165a093ce8
--- ---
@ -9,10 +9,10 @@ Change-Id: I20a328d3c77962f3a6095bfca42d0b165a093ce8
1 file changed, 1 insertion(+), 19 deletions(-) 1 file changed, 1 insertion(+), 19 deletions(-)
diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
index 19bc7160e16a..567420a9c8f6 100644 index b27ff411dd58..5ce49bd98c5c 100644
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java --- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
@@ -1848,25 +1848,7 @@ public class AppStandbyController @@ -1792,25 +1792,7 @@ public class AppStandbyController
.noteRestrictionAttempt(packageName, userId, elapsedRealtime, reason); .noteRestrictionAttempt(packageName, userId, elapsedRealtime, reason);
if (isForcedByUser) { if (isForcedByUser) {

View File

@ -1,32 +0,0 @@
From 4aaaad704b3cedf07ace864b8fd03d7780f55903 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 1 Jun 2024 17:56:42 +0800
Subject: [PATCH 05/22] Disable wake on gamepad L/R keys
Change-Id: I16cf69f07f205619a75111831de808748ee5795b
---
.../com/android/server/policy/PhoneWindowManager.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 231357e96306..f15c034107fc 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -5945,6 +5945,14 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_STYLUS_BUTTON_TERTIARY:
case KeyEvent.KEYCODE_STYLUS_BUTTON_TAIL:
return mStylusButtonsEnabled;
+
+ case KeyEvent.KEYCODE_BUTTON_L1:
+ case KeyEvent.KEYCODE_BUTTON_R1:
+ case KeyEvent.KEYCODE_BUTTON_L2:
+ case KeyEvent.KEYCODE_BUTTON_R2:
+ case KeyEvent.KEYCODE_BUTTON_THUMBL:
+ case KeyEvent.KEYCODE_BUTTON_THUMBR:
+ return false;
}
return true;
--
2.34.1

View File

@ -1,7 +1,7 @@
From 4f4c07ae5cef82b0ede5656b19e730d7476a4a20 Mon Sep 17 00:00:00 2001 From c16a1a66b9e311a2dfbf1925d8f17783933571e5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 2 Sep 2021 16:15:19 +0000 Date: Thu, 2 Sep 2021 16:15:19 +0000
Subject: [PATCH 06/22] Keyguard: Adjust clock style Subject: [PATCH 06/21] Keyguard: Adjust clock style
Thinner font, less padding and unintrusive colors Thinner font, less padding and unintrusive colors
@ -10,15 +10,14 @@ Change-Id: I21e5d5bf37d724e75ebce4cd89349e0cc4dfc910
.../customization/res/layout/clock_default_large.xml | 1 + .../customization/res/layout/clock_default_large.xml | 1 +
.../customization/res/layout/clock_default_small.xml | 2 +- .../customization/res/layout/clock_default_small.xml | 2 +-
packages/SystemUI/customization/res/values/colors.xml | 5 +++++ packages/SystemUI/customization/res/values/colors.xml | 5 +++++
packages/SystemUI/customization/res/values/dimens.xml | 4 ++-- .../android/systemui/shared/clocks/AnimatableClockView.kt | 2 +-
.../android/systemui/shared/clocks/DefaultClockController.kt | 4 ++-- .../systemui/shared/clocks/DefaultClockController.kt | 4 ++--
.../SystemUI/res-keyguard/layout/keyguard_clock_switch.xml | 2 +-
.../SystemUI/res-keyguard/layout/keyguard_slice_view.xml | 2 +- .../SystemUI/res-keyguard/layout/keyguard_slice_view.xml | 2 +-
packages/SystemUI/res-keyguard/values/dimens.xml | 4 ++-- packages/SystemUI/res-keyguard/values/dimens.xml | 6 +++---
packages/SystemUI/res-keyguard/values/styles.xml | 2 -- packages/SystemUI/res-keyguard/values/styles.xml | 2 --
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +- packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
packages/SystemUI/res/values/styles.xml | 4 ++-- packages/SystemUI/res/values/styles.xml | 4 ++--
11 files changed, 18 insertions(+), 14 deletions(-) 10 files changed, 17 insertions(+), 13 deletions(-)
create mode 100644 packages/SystemUI/customization/res/values/colors.xml create mode 100644 packages/SystemUI/customization/res/values/colors.xml
diff --git a/packages/SystemUI/customization/res/layout/clock_default_large.xml b/packages/SystemUI/customization/res/layout/clock_default_large.xml diff --git a/packages/SystemUI/customization/res/layout/clock_default_large.xml b/packages/SystemUI/customization/res/layout/clock_default_large.xml
@ -57,24 +56,24 @@ index 000000000000..f80af4376ff1
+ <color name="clock_default_color_dark">@*android:color/primary_text_material_dark</color> + <color name="clock_default_color_dark">@*android:color/primary_text_material_dark</color>
+ <color name="clock_default_color_light">@*android:color/primary_text_material_light</color> + <color name="clock_default_color_light">@*android:color/primary_text_material_light</color>
+</resources> +</resources>
diff --git a/packages/SystemUI/customization/res/values/dimens.xml b/packages/SystemUI/customization/res/values/dimens.xml diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
index c574d1fc674b..0a2c81f1cb38 100644 index 86bd5f2bff5a..b99a8ba487cb 100644
--- a/packages/SystemUI/customization/res/values/dimens.xml --- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
+++ b/packages/SystemUI/customization/res/values/dimens.xml +++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
@@ -32,5 +32,5 @@ @@ -146,7 +146,7 @@ class AnimatableClockView @JvmOverloads constructor(
<!-- additional offset for clock switch area items --> fun refreshTime() {
<dimen name="small_clock_height">114dp</dimen> time.timeInMillis = timeOverrideInMillis ?: System.currentTimeMillis()
<dimen name="small_clock_padding_top">28dp</dimen> contentDescription = DateFormat.format(descFormat, time)
- <dimen name="clock_padding_start">28dp</dimen> - val formattedText = DateFormat.format(format, time)
-</resources> + val formattedText = DateFormat.format(format, time).toString() + ' '
\ No newline at end of file logBuffer?.log(TAG, DEBUG,
+ <dimen name="clock_padding_start">22dp</dimen> { str1 = formattedText?.toString() },
+</resources> { "refreshTime: new formattedText=$str1" }
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
index 54c7a0823963..024c727dec84 100644 index 4df7a44d3e1d..447160a8cb63 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt --- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt +++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
@@ -170,9 +170,9 @@ class DefaultClockController( @@ -143,9 +143,9 @@ class DefaultClockController(
if (seedColor != null) { if (seedColor != null) {
seedColor!! seedColor!!
} else if (isRegionDark) { } else if (isRegionDark) {
@ -86,19 +85,6 @@ index 54c7a0823963..024c727dec84 100644
} }
if (currentColor == color) { if (currentColor == color) {
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
index fc9c917c152b..6a5ed0daef4a 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
@@ -27,7 +27,7 @@
android:layout_gravity="center_horizontal|top">
<com.android.keyguard.KeyguardClockFrame
android:id="@+id/lockscreen_clock_view"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="@dimen/small_clock_height"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml b/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml
index 7c5dbc247428..64657547621f 100644 index 7c5dbc247428..64657547621f 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml --- a/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml
@ -113,14 +99,16 @@ index 7c5dbc247428..64657547621f 100644
/> />
</com.android.keyguard.KeyguardSliceView> </com.android.keyguard.KeyguardSliceView>
diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml
index 186bd7cc48c5..363730d1f1ab 100644 index edd6eff92c1c..14df77dc4a4e 100644
--- a/packages/SystemUI/res-keyguard/values/dimens.xml --- a/packages/SystemUI/res-keyguard/values/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values/dimens.xml +++ b/packages/SystemUI/res-keyguard/values/dimens.xml
@@ -107,9 +107,9 @@ @@ -91,10 +91,10 @@
<dimen name="num_pad_key_margin_end">12dp</dimen> <dimen name="num_pad_key_margin_end">12dp</dimen>
<!-- additional offset for clock switch area items --> <!-- additional offset for clock switch area items -->
- <dimen name="clock_padding_start">28dp</dimen>
- <dimen name="below_clock_padding_start">32dp</dimen> - <dimen name="below_clock_padding_start">32dp</dimen>
+ <dimen name="clock_padding_start">22dp</dimen>
+ <dimen name="below_clock_padding_start">28dp</dimen> + <dimen name="below_clock_padding_start">28dp</dimen>
<dimen name="below_clock_padding_end">16dp</dimen> <dimen name="below_clock_padding_end">16dp</dimen>
- <dimen name="below_clock_padding_start_icons">28dp</dimen> - <dimen name="below_clock_padding_start_icons">28dp</dimen>
@ -129,10 +117,10 @@ index 186bd7cc48c5..363730d1f1ab 100644
<!-- Proportion of the screen height to use to set the maximum height of the bouncer to when <!-- Proportion of the screen height to use to set the maximum height of the bouncer to when
the device is in the DEVICE_POSTURE_HALF_OPENED posture, for the PIN/pattern entry. 0 will the device is in the DEVICE_POSTURE_HALF_OPENED posture, for the PIN/pattern entry. 0 will
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
index c43e394cb97a..d73a3034c253 100644 index 04dffb6e8c52..c81e018702bb 100644
--- a/packages/SystemUI/res-keyguard/values/styles.xml --- a/packages/SystemUI/res-keyguard/values/styles.xml
+++ b/packages/SystemUI/res-keyguard/values/styles.xml +++ b/packages/SystemUI/res-keyguard/values/styles.xml
@@ -139,8 +139,6 @@ @@ -117,8 +117,6 @@
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
<item name="android:maxLines">2</item> <item name="android:maxLines">2</item>
<item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
@ -142,10 +130,10 @@ index c43e394cb97a..d73a3034c253 100644
<style name="TextAppearance.Keyguard.Secondary"> <style name="TextAppearance.Keyguard.Secondary">
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
index 4cb7591a3502..6108ce24f4fa 100644 index 8b8594032816..9135e78f3e4c 100644
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -76,7 +76,7 @@ @@ -74,7 +74,7 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:ellipsize="marquee" android:ellipsize="marquee"
android:textDirection="locale" android:textDirection="locale"
@ -155,10 +143,10 @@ index 4cb7591a3502..6108ce24f4fa 100644
android:singleLine="true" android:singleLine="true"
systemui:showMissingSim="true" systemui:showMissingSim="true"
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index ae15bfad0849..cb5c97383677 100644 index 892c2f4caa39..6996e41e08da 100644
--- a/packages/SystemUI/res/values/styles.xml --- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml
@@ -354,7 +354,7 @@ @@ -302,7 +302,7 @@
<item name="darkIconTheme">@style/DualToneDarkTheme</item> <item name="darkIconTheme">@style/DualToneDarkTheme</item>
<item name="wallpaperTextColor">@*android:color/primary_text_material_dark</item> <item name="wallpaperTextColor">@*android:color/primary_text_material_dark</item>
<item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_dark</item> <item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_dark</item>
@ -167,7 +155,7 @@ index ae15bfad0849..cb5c97383677 100644
<item name="android:colorError">@*android:color/error_color_material_dark</item> <item name="android:colorError">@*android:color/error_color_material_dark</item>
<item name="*android:lockPatternStyle">@style/LockPatternViewStyle</item> <item name="*android:lockPatternStyle">@style/LockPatternViewStyle</item>
<item name="lockPatternStyle">@style/LockPatternContainerStyle</item> <item name="lockPatternStyle">@style/LockPatternContainerStyle</item>
@@ -372,7 +372,7 @@ @@ -324,7 +324,7 @@
<style name="Theme.SystemUI.LightWallpaper"> <style name="Theme.SystemUI.LightWallpaper">
<item name="wallpaperTextColor">@*android:color/primary_text_material_light</item> <item name="wallpaperTextColor">@*android:color/primary_text_material_light</item>
<item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_light</item> <item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_light</item>

View File

@ -1,40 +1,35 @@
From 1c07e4e2f1f2290a2b5b5695c1af4732eab18404 Mon Sep 17 00:00:00 2001 From c9d2af70d90a8cf81dae5bfba93d6f59c0373bdb Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 06:41:03 +0000 Date: Sat, 2 Nov 2019 06:41:03 +0000
Subject: [PATCH 07/22] Keyguard: Hide padlock unless UDFPS is in use Subject: [PATCH 07/21] Keyguard: Hide padlock unless UDFPS is in use
Fair enough Google, but don't give me that otherwise Fair enough Google, but don't give me that otherwise
Change-Id: Ie91e80ca5c6637a51a8acc72fb28cd6ac2a7abb6 Change-Id: Ie91e80ca5c6637a51a8acc72fb28cd6ac2a7abb6
--- ---
.../keyguard/LockIconViewController.java | 17 +++-------------- .../com/android/keyguard/LockIconViewController.java | 12 +++---------
1 file changed, 3 insertions(+), 14 deletions(-) 1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java
index 8e9815085e31..de25bec2f6b1 100644 index 0887b220dee1..423549dd3ab2 100644
--- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java --- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java
@@ -362,25 +362,14 @@ public class LockIconViewController implements Dumpable { @@ -295,20 +295,14 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
return; return;
} }
- boolean wasShowingFpIcon = mUdfpsEnrolled && !mShowUnlockIcon && !mShowLockIcon - boolean wasShowingFpIcon = mUdfpsEnrolled && !mShowUnlockIcon && !mShowLockIcon
+ boolean wasShowingFpIcon = mUdfpsEnrolled && !mShowUnlockIcon + boolean wasShowingFpIcon = mUdfpsEnrolled && !mShowUnlockIcon
&& !mShowAodUnlockedIcon && !mShowAodLockIcon; && !mShowAodUnlockedIcon && !mShowAodLockIcon;
- mShowLockIcon = !mCanDismissLockScreen && isLockScreen() - mShowLockIcon = !mCanDismissLockScreen && !mUserUnlockedWithBiometric && isLockScreen()
- && (!mUdfpsEnrolled || !mRunningFPS); - && (!mUdfpsEnrolled || !mRunningFPS);
- mShowUnlockIcon = mCanDismissLockScreen && isLockScreen(); - mShowUnlockIcon = (mCanDismissLockScreen || mUserUnlockedWithBiometric) && isLockScreen();
+ mShowUnlockIcon = mCanDismissLockScreen && isLockScreen() && mUdfpsEnrolled; + mShowUnlockIcon = (mCanDismissLockScreen || mUserUnlockedWithBiometric) && isLockScreen() && mUdfpsEnrolled;
mShowAodUnlockedIcon = mIsDozing && mUdfpsEnrolled && !mRunningFPS && mCanDismissLockScreen; mShowAodUnlockedIcon = mIsDozing && mUdfpsEnrolled && !mRunningFPS && mCanDismissLockScreen;
mShowAodLockIcon = mIsDozing && mUdfpsEnrolled && !mRunningFPS && !mCanDismissLockScreen; mShowAodLockIcon = mIsDozing && mUdfpsEnrolled && !mRunningFPS && !mCanDismissLockScreen;
final CharSequence prevContentDescription = mView.getContentDescription(); final CharSequence prevContentDescription = mView.getContentDescription();
- if (mShowLockIcon) { - if (mShowLockIcon) {
- if (wasShowingFpIcon) {
- // fp icon was shown by UdfpsView, and now we still want to animate the transition
- // in this drawable
- mView.updateIcon(ICON_FINGERPRINT, false);
- }
- mView.updateIcon(ICON_LOCK, false); - mView.updateIcon(ICON_LOCK, false);
- mView.setContentDescription(mLockedLabel); - mView.setContentDescription(mLockedLabel);
- mView.setVisibility(View.VISIBLE); - mView.setVisibility(View.VISIBLE);

View File

@ -1,28 +0,0 @@
From 23f1f86aff2ac8d25b796133b61e5540660b04e7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:41:53 +0000
Subject: [PATCH 08/22] Keyguard: Default to small clock (1/3)
It looks alright actually, but as always breaks under landscape
Change-Id: I434d033ecae597ed2a7b2ed71e96ba1a963e9cc3
---
core/res/res/values/config.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 2302cd3911d9..a0e8062df4d0 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1514,7 +1514,7 @@
<!-- Provides default value for double line clock in lock screen setting:
0 - Don't show double line clock
1 - Show double line clock in lock screen (default) -->
- <integer name="config_doublelineClockDefault">1</integer>
+ <integer name="config_doublelineClockDefault">0</integer>
<!-- If true, enables verification of the lockscreen credential in the factory reset protection
flow. This should be true if gatekeeper / weaver credentials can still be checked after a
--
2.34.1

View File

@ -0,0 +1,28 @@
From ff1164da64003d5a6d6e57fd75ba1d8684167dd7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:41:53 +0000
Subject: [PATCH 08/21] Keyguard: Never switch to large clock
It looks alright actually, but as always breaks under landscape
Change-Id: I434d033ecae597ed2a7b2ed71e96ba1a963e9cc3
---
.../src/com/android/keyguard/KeyguardClockSwitchController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
index ba217804c96e..ab3391372e2c 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -470,7 +470,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
private void updateDoubleLineClock() {
mCanShowDoubleLineClock = mSecureSettings.getIntForUser(
- Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK, 1,
+ Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK, 0,
UserHandle.USER_CURRENT) != 0;
if (!mCanShowDoubleLineClock) {
--
2.34.1

View File

@ -1,22 +1,23 @@
From 5e641f0f51ddffd5d7dd40f5ac080cce950a4515 Mon Sep 17 00:00:00 2001 From a8a951832a14ed9fb5e718a14c4dc9ec73d24693 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 08:31:36 +0000 Date: Sat, 2 Nov 2019 08:31:36 +0000
Subject: [PATCH 09/22] Keyguard: Refine indication text Subject: [PATCH 09/21] Keyguard: Refine indication text
Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8 Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8
--- ---
.../SystemUI/res-keyguard/values/styles.xml | 2 - .../SystemUI/res-keyguard/values/styles.xml | 2 --
.../res/layout/keyguard_bottom_area.xml | 1 + .../res/layout/keyguard_bottom_area.xml | 1 +
packages/SystemUI/res/values/dimens.xml | 2 +- packages/SystemUI/res/values/dimens.xml | 3 +--
.../KeyguardIndicationController.java | 37 ++++--------------- ...ardIndicationRotateTextViewController.java | 12 ++++++++++-
.../KeyguardIndicationController.java | 21 ++-----------------
.../phone/KeyguardIndicationTextView.java | 2 +- .../phone/KeyguardIndicationTextView.java | 2 +-
5 files changed, 10 insertions(+), 34 deletions(-) 6 files changed, 16 insertions(+), 25 deletions(-)
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
index d73a3034c253..0394ab69b901 100644 index c81e018702bb..cc87f9f3d7cf 100644
--- a/packages/SystemUI/res-keyguard/values/styles.xml --- a/packages/SystemUI/res-keyguard/values/styles.xml
+++ b/packages/SystemUI/res-keyguard/values/styles.xml +++ b/packages/SystemUI/res-keyguard/values/styles.xml
@@ -154,8 +154,6 @@ @@ -132,8 +132,6 @@
<item name="android:maxLines">1</item> <item name="android:maxLines">1</item>
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
<item name="android:textColor">?attr/wallpaperTextColor</item> <item name="android:textColor">?attr/wallpaperTextColor</item>
@ -26,7 +27,7 @@ index d73a3034c253..0394ab69b901 100644
<style name="TextAppearance.Keyguard.BottomArea.Button"> <style name="TextAppearance.Keyguard.BottomArea.Button">
diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
index e602d6c8848d..7cc54e7209b8 100644 index 4048a39344bd..2f884baf0bd5 100644
--- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml --- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml
+++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml +++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
@@ -35,6 +35,7 @@ @@ -35,6 +35,7 @@
@ -38,23 +39,55 @@ index e602d6c8848d..7cc54e7209b8 100644
android:paddingEnd="@dimen/keyguard_indication_text_padding" android:paddingEnd="@dimen/keyguard_indication_text_padding"
android:textAppearance="@style/TextAppearance.Keyguard.BottomArea" android:textAppearance="@style/TextAppearance.Keyguard.BottomArea"
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 602a51bb0a36..4db3a593b9ff 100644 index ceebab2b08ef..e2c65f5542b7 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -914,7 +914,7 @@ @@ -815,11 +815,10 @@
<dimen name="keyguard_lock_height">42dp</dimen>
<dimen name="keyguard_translate_distance_on_swipe_up">-200dp</dimen> <dimen name="keyguard_lock_padding">20dp</dimen>
- <dimen name="keyguard_indication_margin_bottom">32dp</dimen> - <dimen name="keyguard_indication_margin_bottom">32dp</dimen>
+ <dimen name="keyguard_indication_margin_bottom">16dp</dimen> + <dimen name="keyguard_indication_margin_bottom">16dp</dimen>
<dimen name="lock_icon_margin_bottom">74dp</dimen> <dimen name="lock_icon_margin_bottom">74dp</dimen>
<dimen name="ambient_indication_margin_bottom">71dp</dimen> <dimen name="ambient_indication_margin_bottom">71dp</dimen>
-
<!-- How much two taps can be apart to still be recognized as a double tap on the lockscreen -->
<dimen name="double_tap_slop">32dp</dimen>
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
index 0745456b3e43..0fc0b9e29fb7 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
@@ -224,12 +224,22 @@ public class KeyguardIndicationRotateTextViewController extends
}
/**
- * @return true if there are available indications to show
+ * @return true if there are available non-resting indications to show.
*/
public boolean hasIndications() {
+ if (hasIndication(INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE)) {
+ return mIndicationMessages.keySet().size() > 1;
+ }
return mIndicationMessages.keySet().size() > 0;
}
+ /**
+ * @return true if there is an indication of the following type.
+ */
+ public boolean hasIndication(@IndicationType int type) {
+ return mIndicationMessages.containsKey(type);
+ }
+
/**
* Clears all messages in the queue and sets the current message to an empty string.
*/
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 1ec86aea49d8..966243436b7f 100644 index 2b3444e64acb..b8567d17785a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -456,7 +456,6 @@ public class KeyguardIndicationController { @@ -407,7 +407,6 @@ public class KeyguardIndicationController {
updateLockScreenDisclosureMsg(); updateLockScreenDisclosureMsg();
updateLockScreenOwnerInfo(); updateLockScreenOwnerInfo();
updateLockScreenBatteryMsg(animate); updateLockScreenBatteryMsg(animate);
@ -62,15 +95,13 @@ index 1ec86aea49d8..966243436b7f 100644
updateLockScreenTrustMsg(userId, getTrustGrantedIndication(), getTrustManagedIndication()); updateLockScreenTrustMsg(userId, getTrustGrantedIndication(), getTrustManagedIndication());
updateLockScreenAlignmentMsg(); updateLockScreenAlignmentMsg();
updateLockScreenLogoutView(); updateLockScreenLogoutView();
@@ -601,24 +600,6 @@ public class KeyguardIndicationController { @@ -518,22 +517,6 @@ public class KeyguardIndicationController {
} }
} }
- private void updateLockScreenUserLockedMsg(int userId) { - private void updateLockScreenUserLockedMsg(int userId) {
- boolean userUnlocked = mKeyguardUpdateMonitor.isUserUnlocked(userId); - if (!mKeyguardUpdateMonitor.isUserUnlocked(userId)
- boolean encryptedOrLockdown = mKeyguardUpdateMonitor.isEncryptedOrLockdown(userId); - || mKeyguardUpdateMonitor.isEncryptedOrLockdown(userId)) {
- mKeyguardLogger.logUpdateLockScreenUserLockedMsg(userId, userUnlocked, encryptedOrLockdown);
- if (!userUnlocked || encryptedOrLockdown) {
- mRotateTextViewController.updateIndication( - mRotateTextViewController.updateIndication(
- INDICATION_TYPE_USER_LOCKED, - INDICATION_TYPE_USER_LOCKED,
- new KeyguardIndication.Builder() - new KeyguardIndication.Builder()
@ -87,33 +118,22 @@ index 1ec86aea49d8..966243436b7f 100644
private void updateBiometricMessage() { private void updateBiometricMessage() {
if (mDozing) { if (mDozing) {
updateDeviceEntryIndication(false); updateDeviceEntryIndication(false);
@@ -711,17 +692,13 @@ public class KeyguardIndicationController { @@ -626,11 +609,11 @@ public class KeyguardIndicationController {
} }
private void updateLockScreenPersistentUnlockMsg() { private void updateLockScreenPersistentUnlockMsg() {
- if (!TextUtils.isEmpty(mPersistentUnlockMessage)) { - if (!TextUtils.isEmpty(mPersistentUnlockMessage)) {
- mRotateTextViewController.updateIndication( + if (!mRotateTextViewController.hasIndications()) {
- INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE, mRotateTextViewController.updateIndication(
- new KeyguardIndication.Builder() INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE,
new KeyguardIndication.Builder()
- .setMessage(mPersistentUnlockMessage) - .setMessage(mPersistentUnlockMessage)
- .setTextColor(mInitialTextColorState)
- .build(),
- true);
- } else {
- mRotateTextViewController.hideIndication(INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE);
- }
+ mRotateTextViewController.updateIndication(
+ INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE,
+ new KeyguardIndication.Builder()
+ .setMessage(mContext.getResources().getString(R.string.keyguard_unlock)) + .setMessage(mContext.getResources().getString(R.string.keyguard_unlock))
+ .setTextColor(mInitialTextColorState) .setTextColor(mInitialTextColorState)
+ .build(), .build(),
+ false); true);
}
private void updateLockScreenLogoutView() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
index c6690c91c1f8..d6c8af74d71a 100644 index 9d30cb4c4852..f179194fb0e1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
@@ -46,7 +46,7 @@ public class KeyguardIndicationTextView extends TextView { @@ -46,7 +46,7 @@ public class KeyguardIndicationTextView extends TextView {

View File

@ -1,10 +1,10 @@
From 912c05a46cee1fa20ac795eea86c10ed8c6c485f Mon Sep 17 00:00:00 2001 From 0425dac4b2f22dc37e117b55a0fdefe91f6e2ebb Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 20 Mar 2021 10:35:14 +0000 Date: Sat, 20 Mar 2021 10:35:14 +0000
Subject: [PATCH 10/22] Keyguard/UI: Fix status bar / quick settings margins Subject: [PATCH 10/21] Keyguard/UI: Fix status bar / quick settings margins
and paddings and paddings
Last revised on 2024/04/04, targeting U QPR2 Last revised on 2023/03/22, targeting T QPR2
The way I think SB/QS margins/paddings should work: The way I think SB/QS margins/paddings should work:
- Devices with left notch: [notch_definition][status_bar_padding_start][content]...[content][status_bar_padding_end][rounded_corner_content_padding] - Devices with left notch: [notch_definition][status_bar_padding_start][content]...[content][status_bar_padding_end][rounded_corner_content_padding]
@ -20,21 +20,31 @@ As a result, below changes have been made:
Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7 Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7
--- ---
packages/SystemUI/res/layout/combined_qs_header.xml | 2 +-
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +- packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
packages/SystemUI/res/layout/operator_name.xml | 3 ++- packages/SystemUI/res/values-sw600dp/dimens.xml | 3 ---
packages/SystemUI/res/values-sw600dp/dimens.xml | 7 ++----- packages/SystemUI/res/values/dimens.xml | 2 +-
packages/SystemUI/res/values/dimens.xml | 6 +++---
packages/SystemUI/res/xml/qqs_header.xml | 4 ++-- packages/SystemUI/res/xml/qqs_header.xml | 4 ++--
.../android/systemui/shade/ShadeHeaderController.kt | 10 +++++++--- .../android/systemui/shade/ShadeHeaderController.kt | 10 +++++++---
.../systemui/statusbar/OperatorNameViewController.java | 2 +-
.../statusbar/phone/KeyguardStatusBarView.java | 7 ------- .../statusbar/phone/KeyguardStatusBarView.java | 7 -------
8 files changed, 18 insertions(+), 23 deletions(-) 7 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/packages/SystemUI/res/layout/combined_qs_header.xml b/packages/SystemUI/res/layout/combined_qs_header.xml
index 828a4535e656..65c8e52d00ac 100644
--- a/packages/SystemUI/res/layout/combined_qs_header.xml
+++ b/packages/SystemUI/res/layout/combined_qs_header.xml
@@ -151,4 +151,4 @@
</FrameLayout>
-</com.android.systemui.util.NoRemeasureMotionLayout>
\ No newline at end of file
+</com.android.systemui.util.NoRemeasureMotionLayout>
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
index 6108ce24f4fa..2bf5036e686c 100644 index 9135e78f3e4c..ddaea938c858 100644
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -71,7 +71,7 @@ @@ -69,7 +69,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="@dimen/status_bar_padding_top" android:paddingTop="@dimen/status_bar_padding_top"
@ -43,32 +53,11 @@ index 6108ce24f4fa..2bf5036e686c 100644
android:layout_toStartOf="@id/system_icons_container" android:layout_toStartOf="@id/system_icons_container"
android:gravity="center_vertical" android:gravity="center_vertical"
android:ellipsize="marquee" android:ellipsize="marquee"
diff --git a/packages/SystemUI/res/layout/operator_name.xml b/packages/SystemUI/res/layout/operator_name.xml
index 015e30a5d050..8ae4faee8325 100644
--- a/packages/SystemUI/res/layout/operator_name.xml
+++ b/packages/SystemUI/res/layout/operator_name.xml
@@ -28,5 +28,6 @@
android:gravity="center_vertical|start"
android:textAppearance="?android:attr/textAppearanceSmall"
android:singleLine="true"
- android:paddingEnd="5dp" />
+ android:paddingEnd="5dp"
+ android:visibility="gone" />
</com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
index 1e54fc9e1445..6c1cb6ce43cb 100644 index 59becc69506c..9168a5ce1ced 100644
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml --- a/packages/SystemUI/res/values-sw600dp/dimens.xml
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
@@ -21,7 +21,7 @@ @@ -28,9 +28,6 @@
<dimen name="status_bar_header_height_keyguard">@dimen/status_bar_height</dimen>
<!-- padding for container with status icons and battery -->
- <dimen name="status_bar_icons_padding_end">4dp</dimen>
+ <dimen name="status_bar_icons_padding_end">0dp</dimen>
<!-- start padding is smaller to account for status icon margins coming from drawable itself -->
<dimen name="status_bar_icons_padding_start">3dp</dimen>
<dimen name="status_bar_icons_padding_bottom">2dp</dimen>
@@ -37,9 +37,6 @@
<!-- The width of user avatar when on Keyguard --> <!-- The width of user avatar when on Keyguard -->
<dimen name="multi_user_avatar_keyguard_size">30dp</dimen> <dimen name="multi_user_avatar_keyguard_size">30dp</dimen>
@ -78,38 +67,11 @@ index 1e54fc9e1445..6c1cb6ce43cb 100644
<!-- Screen pinning request width --> <!-- Screen pinning request width -->
<dimen name="screen_pinning_request_width">400dp</dimen> <dimen name="screen_pinning_request_width">400dp</dimen>
<!-- Screen pinning request bottom button circle widths --> <!-- Screen pinning request bottom button circle widths -->
@@ -81,7 +78,7 @@
<dimen name="large_screen_shade_header_height">42dp</dimen>
<!-- start padding is smaller to account for status icon margins coming from drawable itself -->
<dimen name="hover_system_icons_container_padding_start">3dp</dimen>
- <dimen name="hover_system_icons_container_padding_end">4dp</dimen>
+ <dimen name="hover_system_icons_container_padding_end">0dp</dimen>
<dimen name="hover_system_icons_container_padding_top">2dp</dimen>
<dimen name="hover_system_icons_container_padding_bottom">2dp</dimen>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 4db3a593b9ff..de6834c2cfac 100644 index e2c65f5542b7..d0a9055e1905 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -177,7 +177,7 @@ @@ -790,7 +790,7 @@
<dimen name="status_bar_clock_size">14sp</dimen>
<!-- The starting padding for the clock in the status bar. -->
- <dimen name="status_bar_clock_starting_padding">4dp</dimen>
+ <dimen name="status_bar_clock_starting_padding">0dp</dimen>
<!-- The end padding for the clock in the status bar. -->
<dimen name="status_bar_clock_end_padding">0dp</dimen>
@@ -391,7 +391,7 @@
<!-- padding start is a bit smaller than end to account for status icon margin-->
<dimen name="status_bar_icons_padding_start">3dp</dimen>
- <dimen name="status_bar_icons_padding_end">4dp</dimen>
+ <dimen name="status_bar_icons_padding_end">0dp</dimen>
<dimen name="status_bar_icons_padding_bottom">0dp</dimen>
<dimen name="status_bar_icons_padding_top">0dp</dimen>
@@ -865,7 +865,7 @@
<dimen name="kg_framed_avatar_size">32dp</dimen> <dimen name="kg_framed_avatar_size">32dp</dimen>
<!-- Margin on the left side of the carrier text on Keyguard --> <!-- Margin on the left side of the carrier text on Keyguard -->
@ -119,7 +81,7 @@ index 4db3a593b9ff..de6834c2cfac 100644
<!-- Additional translation (downwards) for appearing notifications when going to the full shade <!-- Additional translation (downwards) for appearing notifications when going to the full shade
from Keyguard. --> from Keyguard. -->
diff --git a/packages/SystemUI/res/xml/qqs_header.xml b/packages/SystemUI/res/xml/qqs_header.xml diff --git a/packages/SystemUI/res/xml/qqs_header.xml b/packages/SystemUI/res/xml/qqs_header.xml
index 50a388d0fa64..81d30c210770 100644 index 00a0444a1c9d..a5c3f8e982ca 100644
--- a/packages/SystemUI/res/xml/qqs_header.xml --- a/packages/SystemUI/res/xml/qqs_header.xml
+++ b/packages/SystemUI/res/xml/qqs_header.xml +++ b/packages/SystemUI/res/xml/qqs_header.xml
@@ -44,7 +44,7 @@ @@ -44,7 +44,7 @@
@ -131,7 +93,7 @@ index 50a388d0fa64..81d30c210770 100644
app:layout_constrainedWidth="true" app:layout_constrainedWidth="true"
app:layout_constraintStart_toEndOf="@id/clock" app:layout_constraintStart_toEndOf="@id/clock"
app:layout_constraintEnd_toStartOf="@id/barrier" app:layout_constraintEnd_toStartOf="@id/barrier"
@@ -94,4 +94,4 @@ @@ -109,4 +109,4 @@
app:layout_constraintHorizontal_bias="1" app:layout_constraintHorizontal_bias="1"
/> />
</Constraint> </Constraint>
@ -139,21 +101,21 @@ index 50a388d0fa64..81d30c210770 100644
\ No newline at end of file \ No newline at end of file
+</ConstraintSet> +</ConstraintSet>
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt diff --git a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
index d26ef5e73152..1da47bffdf7f 100644 index a6b88370f836..e7632971d37e 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt --- a/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt
@@ -145,6 +145,8 @@ constructor( @@ -132,6 +132,8 @@ constructor(
private var roundedCorners = 0 private var roundedCorners = 0
private var cutout: DisplayCutout? = null private var cutout: DisplayCutout? = null
+ private var statusBarPaddingStart = 0 + private var statusBarPaddingStart = 0
+ private var statusBarPaddingEnd = 0 + private var statusBarPaddingEnd = 0
private var lastInsets: WindowInsets? = null private var lastInsets: WindowInsets? = null
private var nextAlarmIntent: PendingIntent? = null
private var textColorPrimary = Color.TRANSPARENT private var textColorPrimary = Color.TRANSPARENT
@@ -428,14 +430,17 @@ constructor(
val cutoutLeft = sbInsets.left @@ -364,14 +366,17 @@ constructor(
val cutoutRight = sbInsets.right val cutoutLeft = sbInsets.first
val cutoutRight = sbInsets.second
val hasCornerCutout: Boolean = insetsProvider.currentRotationHasCornerCutout() val hasCornerCutout: Boolean = insetsProvider.currentRotationHasCornerCutout()
+ roundedCorners = resources.getDimensionPixelSize(R.dimen.rounded_corner_content_padding) + roundedCorners = resources.getDimensionPixelSize(R.dimen.rounded_corner_content_padding)
+ statusBarPaddingStart = resources.getDimensionPixelSize(R.dimen.status_bar_padding_start) + statusBarPaddingStart = resources.getDimensionPixelSize(R.dimen.status_bar_padding_start)
@ -171,7 +133,7 @@ index d26ef5e73152..1da47bffdf7f 100644
header.paddingEnd header.paddingEnd
) )
@@ -559,7 +564,6 @@ constructor( @@ -483,7 +488,6 @@ constructor(
} }
private fun updateResources() { private fun updateResources() {
@ -179,24 +141,11 @@ index d26ef5e73152..1da47bffdf7f 100644
val padding = resources.getDimensionPixelSize(R.dimen.qs_panel_padding) val padding = resources.getDimensionPixelSize(R.dimen.qs_panel_padding)
header.setPadding(padding, header.paddingTop, padding, header.paddingBottom) header.setPadding(padding, header.paddingTop, padding, header.paddingBottom)
updateQQSPaddings() updateQQSPaddings()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java
index 8afc72f08656..fe66c21ae568 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java
@@ -86,7 +86,7 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
boolean showOperatorName =
mCarrierConfigTracker
.getShowOperatorNameInStatusBarConfig(defaultSubInfo.getSubId())
- && (mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 1) != 0);
+ && (mTunerService.getValue(KEY_SHOW_OPERATOR_NAME, 0) != 0);
mView.update(showOperatorName, mTelephonyManager.isDataCapable(), getDefaultSubInfo());
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index be1d9e8ef870..3c25d5d83afc 100644 index 7b6fc66a208d..ab919f4c5882 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -183,14 +183,7 @@ public class KeyguardStatusBarView extends RelativeLayout { @@ -164,14 +164,7 @@ public class KeyguardStatusBarView extends RelativeLayout {
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize( getResources().getDimensionPixelSize(
com.android.internal.R.dimen.text_size_small_material)); com.android.internal.R.dimen.text_size_small_material));
@ -204,7 +153,7 @@ index be1d9e8ef870..3c25d5d83afc 100644
- int marginStart = calculateMargin( - int marginStart = calculateMargin(
- getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin), - getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin),
- mPadding.left); - mPadding.first);
- lp.setMarginStart(marginStart); - lp.setMarginStart(marginStart);
- -
- mCarrierLabel.setLayoutParams(lp); - mCarrierLabel.setLayoutParams(lp);

View File

@ -1,7 +1,7 @@
From f852829bcf852d5ae7f8040b22bed24d00b0fabb Mon Sep 17 00:00:00 2001 From 4803ddab6f362587e769b2aa5d60a041345d26af Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 31 May 2022 00:00:08 +0000 Date: Tue, 31 May 2022 00:00:08 +0000
Subject: [PATCH 11/22] Revert "SystemUI: Add left padding for keyguard slices" Subject: [PATCH 11/21] Revert "SystemUI: Add left padding for keyguard slices"
This reverts commit 4a7a4426944e28e70a3eca6a696ff6c7599fb896. This reverts commit 4a7a4426944e28e70a3eca6a696ff6c7599fb896.
--- ---
@ -9,17 +9,17 @@ This reverts commit 4a7a4426944e28e70a3eca6a696ff6c7599fb896.
1 file changed, 3 insertions(+), 6 deletions(-) 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
index 062ff3828a60..7b5325d4eaa6 100644 index 31d22eb38a24..65a71664e245 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
@@ -48,7 +48,6 @@ import com.android.app.animation.Interpolators; @@ -49,7 +49,6 @@ import com.android.internal.graphics.ColorUtils;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.graphics.ColorUtils;
import com.android.settingslib.Utils; import com.android.settingslib.Utils;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
-import com.android.systemui.keyguard.KeyguardSliceProvider; -import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.res.R;
import com.android.systemui.util.wakelock.KeepAwakeAnimationListener; import com.android.systemui.util.wakelock.KeepAwakeAnimationListener;
import java.io.PrintWriter;
@@ -446,15 +445,13 @@ public class KeyguardSliceView extends LinearLayout { @@ -446,15 +445,13 @@ public class KeyguardSliceView extends LinearLayout {
private void updatePadding() { private void updatePadding() {

View File

@ -1,27 +0,0 @@
From 68142f99e88fbbf08b0acb9d4c544e7827dab2ef Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 30 Jun 2024 14:45:48 +0800
Subject: [PATCH 12/22] Revert "SystemUI: Match keyguard carrier text font with
system"
This reverts commit 0abcf0db0b50d270a849b6179083008c25325cc1.
---
.../android/systemui/statusbar/phone/KeyguardStatusBarView.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 3c25d5d83afc..3f0a8a387e19 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -419,7 +419,7 @@ public class KeyguardStatusBarView extends RelativeLayout {
/** Should only be called from {@link KeyguardStatusBarViewController}. */
void onOverlayChanged() {
int theme = Utils.getThemeAttr(mContext, com.android.internal.R.attr.textAppearanceSmall);
- mCarrierLabel.setTextAppearance(R.style.TextAppearance_StatusBar_Clock);
+ mCarrierLabel.setTextAppearance(theme);
mBatteryView.updatePercentView();
TextView userSwitcherName = mUserSwitcherContainer.findViewById(R.id.current_user_name);
--
2.34.1

View File

@ -1,17 +1,21 @@
From 0e17ec8d32322817c528c6baee31dfd1b8cf9fb9 Mon Sep 17 00:00:00 2001 From f5ad15c1785d0a458bc2be47f0ef2a8d5283ae86 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 5 Sep 2021 01:20:12 +0000 Date: Sun, 5 Sep 2021 01:20:12 +0000
Subject: [PATCH 13/22] Revert "Update RAT icons to match Silk design" Subject: [PATCH 12/21] Revert "Update RAT icons to match Silk design"
This reverts commit 084c13c8216f6a899cd3eda04fc1d7acff3d1248. This reverts commit 084c13c8216f6a899cd3eda04fc1d7acff3d1248.
--- ---
.../res/drawable/ic_3g_mobiledata.xml | 19 ++++++++------- .../res/drawable/ic_3g_mobiledata.xml | 19 ++++++-----
.../res/drawable/ic_4g_mobiledata.xml | 19 ++++++++------- .../res/drawable/ic_4g_mobiledata.xml | 19 ++++++-----
.../res/drawable/ic_5g_mobiledata.xml | 20 ++++++++-------- .../res/drawable/ic_5g_mobiledata.xml | 20 +++++------
.../res/drawable/ic_carrier_wifi.xml | 15 +++++++----- .../res/drawable/ic_5g_uc_mobiledata.xml | 33 -------------------
.../res/drawable/ic_lte_mobiledata.xml | 23 +++++++++++-------- .../res/drawable/ic_5g_uw_mobiledata.xml | 33 -------------------
.../res/drawable/stat_sys_roaming_large.xml | 10 ++++---- .../res/drawable/ic_carrier_wifi.xml | 15 +++++----
6 files changed, 59 insertions(+), 47 deletions(-) .../res/drawable/ic_lte_mobiledata.xml | 23 +++++++------
.../res/drawable/stat_sys_roaming_large.xml | 10 +++---
8 files changed, 59 insertions(+), 113 deletions(-)
delete mode 100644 packages/SettingsLib/res/drawable/ic_5g_uc_mobiledata.xml
delete mode 100644 packages/SettingsLib/res/drawable/ic_5g_uw_mobiledata.xml
diff --git a/packages/SettingsLib/res/drawable/ic_3g_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_3g_mobiledata.xml diff --git a/packages/SettingsLib/res/drawable/ic_3g_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_3g_mobiledata.xml
index 413a3873f438..0c942bdf993c 100644 index 413a3873f438..0c942bdf993c 100644
@ -102,6 +106,84 @@ index d961c6c2266f..2aa6e57f6f82 100644
+ android:fillColor="#FF000000" + android:fillColor="#FF000000"
+ android:pathData="M1.15,8.47l0.43,-4.96h4.33v1.17H2.6L2.37,7.39C2.78,7.1 3.22,6.96 3.69,6.96c0.77,0 1.38,0.3 1.83,0.9s0.66,1.41 0.66,2.43c0,1.03 -0.24,1.84 -0.72,2.43S4.32,13.6 3.48,13.6c-0.75,0 -1.36,-0.24 -1.83,-0.73s-0.74,-1.16 -0.81,-2.02h1.13c0.07,0.57 0.23,1 0.49,1.29c0.26,0.29 0.59,0.43 1.01,0.43c0.47,0 0.84,-0.2 1.1,-0.61c0.26,-0.41 0.4,-0.96 0.4,-1.65c0,-0.65 -0.14,-1.18 -0.43,-1.59S3.88,8.09 3.4,8.09c-0.4,0 -0.72,0.1 -0.96,0.31L2.11,8.73L1.15,8.47z"/> + android:pathData="M1.15,8.47l0.43,-4.96h4.33v1.17H2.6L2.37,7.39C2.78,7.1 3.22,6.96 3.69,6.96c0.77,0 1.38,0.3 1.83,0.9s0.66,1.41 0.66,2.43c0,1.03 -0.24,1.84 -0.72,2.43S4.32,13.6 3.48,13.6c-0.75,0 -1.36,-0.24 -1.83,-0.73s-0.74,-1.16 -0.81,-2.02h1.13c0.07,0.57 0.23,1 0.49,1.29c0.26,0.29 0.59,0.43 1.01,0.43c0.47,0 0.84,-0.2 1.1,-0.61c0.26,-0.41 0.4,-0.96 0.4,-1.65c0,-0.65 -0.14,-1.18 -0.43,-1.59S3.88,8.09 3.4,8.09c-0.4,0 -0.72,0.1 -0.96,0.31L2.11,8.73L1.15,8.47z"/>
</vector> </vector>
diff --git a/packages/SettingsLib/res/drawable/ic_5g_uc_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_5g_uc_mobiledata.xml
deleted file mode 100644
index 93fcad298c3f..000000000000
--- a/packages/SettingsLib/res/drawable/ic_5g_uc_mobiledata.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
- Copyright (C) 2021 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="27dp"
- android:height="16dp"
- android:viewportWidth="27.0"
- android:viewportHeight="16.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M5.3,13.22c-0.57,0 -1.1,-0.11 -1.58,-0.34c-0.48,-0.22 -0.87,-0.55 -1.18,-0.98C2.24,11.47 2.06,10.93 2,10.3l1.48,-0.2c0.07,0.5 0.25,0.92 0.56,1.25c0.32,0.32 0.74,0.48 1.26,0.48c0.57,0 1.02,-0.18 1.34,-0.55c0.33,-0.37 0.49,-0.87 0.49,-1.48c0,-0.61 -0.16,-1.09 -0.49,-1.46C6.32,7.96 5.88,7.78 5.32,7.78C5,7.78 4.7,7.85 4.42,8C4.15,8.14 3.93,8.33 3.76,8.56L2.28,7.92l0.6,-4.94h5.26v1.36H4.1L3.72,7.02l0.08,0.03C4,6.87 4.25,6.73 4.55,6.62c0.3,-0.12 0.63,-0.18 1.01,-0.18c0.6,0 1.13,0.14 1.6,0.41C7.62,7.11 7.98,7.5 8.24,8c0.27,0.5 0.41,1.1 0.41,1.79c0,0.66 -0.14,1.26 -0.43,1.78c-0.28,0.51 -0.67,0.92 -1.18,1.22C6.55,13.08 5.97,13.22 5.3,13.22z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M14.51,13.22c-0.88,0 -1.66,-0.21 -2.34,-0.64c-0.67,-0.44 -1.2,-1.05 -1.6,-1.83C10.19,9.95 10,9.03 10,7.99c0,-1.05 0.21,-1.96 0.62,-2.74c0.41,-0.79 0.97,-1.4 1.67,-1.83c0.7,-0.44 1.5,-0.66 2.39,-0.66c1.09,0 2.01,0.25 2.74,0.76c0.75,0.5 1.22,1.21 1.41,2.11l-1.47,0.39c-0.17,-0.56 -0.48,-1 -0.94,-1.32c-0.45,-0.33 -1.03,-0.49 -1.75,-0.49c-0.57,0 -1.09,0.14 -1.57,0.43c-0.48,0.29 -0.85,0.71 -1.13,1.27s-0.42,1.25 -0.42,2.07c0,0.81 0.14,1.5 0.41,2.07c0.28,0.56 0.65,0.98 1.11,1.27c0.47,0.29 0.98,0.43 1.54,0.43c0.57,0 1.06,-0.11 1.47,-0.34c0.42,-0.23 0.75,-0.55 0.99,-0.94c0.25,-0.4 0.41,-0.85 0.46,-1.36h-2.88V7.79h4.37c0,0.87 0,1.74 0,2.6c0,0.87 0,1.74 0,2.6H17.6v-1.4h-0.08c-0.28,0.49 -0.67,0.88 -1.18,1.18C15.85,13.07 15.24,13.22 14.51,13.22z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M23,7.39c-0.53,0 -0.94,-0.16 -1.25,-0.47C21.45,6.6 21.3,6.16 21.3,5.6V3h0.8v2.66c0,0.3 0.08,0.54 0.23,0.71C22.48,6.54 22.7,6.62 23,6.62c0.3,0 0.52,-0.08 0.67,-0.25c0.15,-0.17 0.23,-0.41 0.23,-0.71V3h0.8v2.6c0,0.36 -0.07,0.67 -0.2,0.94s-0.33,0.48 -0.58,0.62C23.65,7.32 23.35,7.39 23,7.39z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M22.99,13.1c-0.39,0 -0.73,-0.09 -1.03,-0.28c-0.3,-0.19 -0.53,-0.45 -0.7,-0.79C21.08,11.7 21,11.3 21,10.85c0,-0.46 0.08,-0.85 0.25,-1.19c0.17,-0.34 0.41,-0.6 0.71,-0.78c0.3,-0.18 0.65,-0.28 1.04,-0.28c0.31,0 0.59,0.05 0.86,0.16c0.26,0.11 0.48,0.27 0.65,0.48c0.18,0.21 0.28,0.48 0.32,0.8l-0.83,0.14c-0.06,-0.26 -0.17,-0.46 -0.35,-0.6C23.49,9.44 23.27,9.37 23,9.37c-0.22,0 -0.42,0.06 -0.61,0.17c-0.18,0.11 -0.32,0.28 -0.43,0.5c-0.1,0.22 -0.16,0.49 -0.16,0.81c0,0.32 0.05,0.58 0.16,0.8s0.25,0.39 0.43,0.5c0.18,0.11 0.38,0.17 0.61,0.17c0.26,0 0.47,-0.07 0.65,-0.21c0.18,-0.14 0.3,-0.34 0.35,-0.59l0.85,0.09c-0.06,0.29 -0.17,0.54 -0.32,0.77c-0.15,0.22 -0.36,0.39 -0.61,0.52C23.66,13.03 23.35,13.1 22.99,13.1z"/>
-</vector>
diff --git a/packages/SettingsLib/res/drawable/ic_5g_uw_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_5g_uw_mobiledata.xml
deleted file mode 100644
index ca47b6ff2edb..000000000000
--- a/packages/SettingsLib/res/drawable/ic_5g_uw_mobiledata.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
- Copyright (C) 2021 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="27dp"
- android:height="16dp"
- android:viewportWidth="27.0"
- android:viewportHeight="16.0">
- <path
- android:fillColor="#FF000000"
- android:pathData="M5.3,13.22c-0.57,0 -1.1,-0.11 -1.58,-0.34c-0.48,-0.22 -0.87,-0.55 -1.18,-0.98C2.24,11.47 2.06,10.93 2,10.3l1.48,-0.2c0.07,0.5 0.25,0.92 0.56,1.25c0.32,0.32 0.74,0.48 1.26,0.48c0.57,0 1.02,-0.18 1.34,-0.55c0.33,-0.37 0.49,-0.87 0.49,-1.48c0,-0.61 -0.16,-1.09 -0.49,-1.46C6.32,7.96 5.88,7.78 5.32,7.78C5,7.78 4.7,7.85 4.42,8C4.15,8.14 3.93,8.33 3.76,8.56L2.28,7.92l0.6,-4.94h5.26v1.36H4.1L3.72,7.02l0.08,0.03C4,6.87 4.25,6.73 4.55,6.62c0.3,-0.12 0.63,-0.18 1.01,-0.18c0.6,0 1.13,0.14 1.6,0.41C7.62,7.11 7.98,7.5 8.24,8c0.27,0.5 0.41,1.1 0.41,1.79c0,0.66 -0.14,1.26 -0.43,1.78c-0.28,0.51 -0.67,0.92 -1.18,1.22C6.55,13.08 5.97,13.22 5.3,13.22z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M14.51,13.22c-0.88,0 -1.66,-0.21 -2.34,-0.64c-0.67,-0.44 -1.2,-1.05 -1.6,-1.83C10.19,9.95 10,9.03 10,7.99c0,-1.05 0.21,-1.96 0.62,-2.74c0.41,-0.79 0.97,-1.4 1.67,-1.83c0.7,-0.44 1.5,-0.66 2.39,-0.66c1.09,0 2.01,0.25 2.74,0.76c0.75,0.5 1.22,1.21 1.41,2.11l-1.47,0.39c-0.17,-0.56 -0.48,-1 -0.94,-1.32c-0.45,-0.33 -1.03,-0.49 -1.75,-0.49c-0.57,0 -1.09,0.14 -1.57,0.43c-0.48,0.29 -0.85,0.71 -1.13,1.27s-0.42,1.25 -0.42,2.07c0,0.81 0.14,1.5 0.41,2.07c0.28,0.56 0.65,0.98 1.11,1.27c0.47,0.29 0.98,0.43 1.54,0.43c0.57,0 1.06,-0.11 1.47,-0.34c0.42,-0.23 0.75,-0.55 0.99,-0.94c0.25,-0.4 0.41,-0.85 0.46,-1.36h-2.88V7.79h4.37c0,0.87 0,1.74 0,2.6c0,0.87 0,1.74 0,2.6H17.6v-1.4h-0.08c-0.28,0.49 -0.67,0.88 -1.18,1.18C15.85,13.07 15.24,13.22 14.51,13.22z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M23,7.39c-0.53,0 -0.94,-0.16 -1.25,-0.47C21.45,6.6 21.3,6.16 21.3,5.6V3h0.8v2.66c0,0.3 0.08,0.54 0.23,0.71C22.48,6.54 22.7,6.62 23,6.62c0.3,0 0.52,-0.08 0.67,-0.25c0.15,-0.17 0.23,-0.41 0.23,-0.71V3h0.8v2.6c0,0.36 -0.07,0.67 -0.2,0.94s-0.33,0.48 -0.58,0.62C23.65,7.32 23.35,7.39 23,7.39z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M21.41,13L20.3,8.7h0.73l0.64,2.78l0.07,0.38h0.04l0.09,-0.38l0.81,-2.78h0.66l0.79,2.78l0.09,0.37h0.04l0.07,-0.37l0.65,-2.78h0.72L24.59,13H23.9l-0.78,-2.84l-0.1,-0.41h-0.04l-0.1,0.41L22.08,13H21.41z"/>
-</vector>
diff --git a/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml b/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml diff --git a/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml b/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml
index 22bcf7b8c8a3..ed9d85e3cbe4 100644 index 22bcf7b8c8a3..ed9d85e3cbe4 100644
--- a/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml --- a/packages/SettingsLib/res/drawable/ic_carrier_wifi.xml

View File

@ -1,7 +1,7 @@
From 89e51c6b02e2d555e64ceb9dab1ec96bdbb9ca5e Mon Sep 17 00:00:00 2001 From 15e59be158a3305a17e14cc18883d323d2afc54b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 29 Sep 2022 11:27:57 +0000 Date: Thu, 29 Sep 2022 11:27:57 +0000
Subject: [PATCH 14/22] Revert "Use the default top clock margin on h800 Subject: [PATCH 13/21] Revert "Use the default top clock margin on h800
devices" devices"
This reverts commits 50ba380f4d8d1c2523e0f76295ca556038796bfd This reverts commits 50ba380f4d8d1c2523e0f76295ca556038796bfd
@ -11,7 +11,7 @@ and 2a254b4d479029aec46f79a0ed14ffab6d0424bc.
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/packages/SystemUI/res/values-h800dp/dimens.xml b/packages/SystemUI/res/values-h800dp/dimens.xml diff --git a/packages/SystemUI/res/values-h800dp/dimens.xml b/packages/SystemUI/res/values-h800dp/dimens.xml
index 829ef98956c5..8ee3cc1944f2 100644 index 3a71994e07e2..4b9bce0eda99 100644
--- a/packages/SystemUI/res/values-h800dp/dimens.xml --- a/packages/SystemUI/res/values-h800dp/dimens.xml
+++ b/packages/SystemUI/res/values-h800dp/dimens.xml +++ b/packages/SystemUI/res/values-h800dp/dimens.xml
@@ -15,6 +15,9 @@ @@ -15,6 +15,9 @@
@ -21,9 +21,9 @@ index 829ef98956c5..8ee3cc1944f2 100644
+ <!-- Minimum margin between clock and top of screen or ambient indication --> + <!-- Minimum margin between clock and top of screen or ambient indication -->
+ <dimen name="keyguard_clock_top_margin">38dp</dimen> + <dimen name="keyguard_clock_top_margin">38dp</dimen>
+ +
<!-- Margin above the ambient indication container --> <!-- With the large clock, move up slightly from the center -->
<dimen name="ambient_indication_container_margin_top">20dp</dimen> <dimen name="keyguard_large_clock_top_margin">-112dp</dimen>
</resources>
-- --
2.34.1 2.34.1

View File

@ -0,0 +1,68 @@
From 6927e68fa4ec001ec72e9f68e4454a37c8bc7bb5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 7 Oct 2020 14:00:35 +0000
Subject: [PATCH 14/21] UI: Always render windows into cutouts
Eliminates black/white letterboxing
Quick and dirty way to do the latter - wait for proper fix from Google
Change-Id: I4661c7979bfa7de453329fcddbaeefc2009e2da3
---
.../com/android/server/wm/DisplayFrames.java | 28 +++----------------
.../com/android/server/wm/DisplayPolicy.java | 1 +
2 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/services/core/java/com/android/server/wm/DisplayFrames.java b/services/core/java/com/android/server/wm/DisplayFrames.java
index 33641f72b2ff..6e201970ac03 100644
--- a/services/core/java/com/android/server/wm/DisplayFrames.java
+++ b/services/core/java/com/android/server/wm/DisplayFrames.java
@@ -92,30 +92,10 @@ public class DisplayFrames {
state.setRoundedCorners(roundedCorners);
state.setPrivacyIndicatorBounds(indicatorBounds);
state.getDisplayCutoutSafe(safe);
- if (safe.left > unrestricted.left) {
- state.getSource(ITYPE_LEFT_DISPLAY_CUTOUT).setFrame(
- unrestricted.left, unrestricted.top, safe.left, unrestricted.bottom);
- } else {
- state.removeSource(ITYPE_LEFT_DISPLAY_CUTOUT);
- }
- if (safe.top > unrestricted.top) {
- state.getSource(ITYPE_TOP_DISPLAY_CUTOUT).setFrame(
- unrestricted.left, unrestricted.top, unrestricted.right, safe.top);
- } else {
- state.removeSource(ITYPE_TOP_DISPLAY_CUTOUT);
- }
- if (safe.right < unrestricted.right) {
- state.getSource(ITYPE_RIGHT_DISPLAY_CUTOUT).setFrame(
- safe.right, unrestricted.top, unrestricted.right, unrestricted.bottom);
- } else {
- state.removeSource(ITYPE_RIGHT_DISPLAY_CUTOUT);
- }
- if (safe.bottom < unrestricted.bottom) {
- state.getSource(ITYPE_BOTTOM_DISPLAY_CUTOUT).setFrame(
- unrestricted.left, safe.bottom, unrestricted.right, unrestricted.bottom);
- } else {
- state.removeSource(ITYPE_BOTTOM_DISPLAY_CUTOUT);
- }
+ state.removeSource(ITYPE_LEFT_DISPLAY_CUTOUT);
+ state.removeSource(ITYPE_TOP_DISPLAY_CUTOUT);
+ state.removeSource(ITYPE_RIGHT_DISPLAY_CUTOUT);
+ state.removeSource(ITYPE_BOTTOM_DISPLAY_CUTOUT);
return true;
}
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 1468360b37b7..a1f70e4c8deb 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -1558,6 +1558,7 @@ public class DisplayPolicy {
displayFrames = win.getDisplayFrames(displayFrames);
final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
+ attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
sTmpClientFrames.attachedFrame = attached != null ? attached.getFrame() : null;
// If this window has different LayoutParams for rotations, we cannot trust its requested
--
2.34.1

View File

@ -1,102 +0,0 @@
From e2c6da83998abfe3bde32543732df0f7124cc400 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 7 Oct 2020 14:00:35 +0000
Subject: [PATCH 15/22] UI: Always render into cutouts
Eliminates black/white letterboxing in apps, keyguard and QS
Change-Id: I4661c7979bfa7de453329fcddbaeefc2009e2da3
---
core/java/android/view/InsetsState.java | 19 +------------------
.../shade/QuickSettingsController.java | 11 +++++++----
.../com/android/server/wm/DisplayPolicy.java | 1 +
3 files changed, 9 insertions(+), 22 deletions(-)
diff --git a/core/java/android/view/InsetsState.java b/core/java/android/view/InsetsState.java
index 21eec67bfe10..092e14bf8590 100644
--- a/core/java/android/view/InsetsState.java
+++ b/core/java/android/view/InsetsState.java
@@ -480,24 +480,7 @@ public class InsetsState implements Parcelable {
}
public void getDisplayCutoutSafe(Rect outBounds) {
- outBounds.set(
- WindowLayout.MIN_X, WindowLayout.MIN_Y, WindowLayout.MAX_X, WindowLayout.MAX_Y);
- final DisplayCutout cutout = mDisplayCutout.get();
- final Rect displayFrame = mDisplayFrame;
- if (!cutout.isEmpty()) {
- if (cutout.getSafeInsetLeft() > 0) {
- outBounds.left = displayFrame.left + cutout.getSafeInsetLeft();
- }
- if (cutout.getSafeInsetTop() > 0) {
- outBounds.top = displayFrame.top + cutout.getSafeInsetTop();
- }
- if (cutout.getSafeInsetRight() > 0) {
- outBounds.right = displayFrame.right - cutout.getSafeInsetRight();
- }
- if (cutout.getSafeInsetBottom() > 0) {
- outBounds.bottom = displayFrame.bottom - cutout.getSafeInsetBottom();
- }
- }
+ outBounds.set(mDisplayFrame);
}
public void setRoundedCorners(RoundedCorners roundedCorners) {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java
index aa4818409265..a0314e0cdbfb 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsController.java
@@ -289,6 +289,8 @@ public class QuickSettingsController implements Dumpable {
private int mOneFingerQuickSettingsIntercept;
private final ContentObserver mOneFingerQuickSettingsInterceptObserver;
+ private WindowManager mWindowManager;
+
private final Region mInterceptRegion = new Region();
/** The end bounds of a clipping animation. */
private final Rect mClippingAnimationEndBounds = new Rect();
@@ -408,6 +410,8 @@ public class QuickSettingsController implements Dumpable {
}
};
+ mWindowManager = mPanelView.getContext().getSystemService(WindowManager.class);
+
dumpManager.registerDumpable(this);
}
@@ -554,8 +558,7 @@ public class QuickSettingsController implements Dumpable {
* on ACTION_DOWN, and safely queried repeatedly thereafter during ACTION_MOVE events.
*/
public void updateGestureInsetsCache() {
- WindowManager wm = this.mPanelView.getContext().getSystemService(WindowManager.class);
- WindowMetrics windowMetrics = wm.getCurrentWindowMetrics();
+ WindowMetrics windowMetrics = mWindowManager.getCurrentWindowMetrics();
mCachedGestureInsets = windowMetrics.getWindowInsets().getInsets(
WindowInsets.Type.systemGestures());
mCachedWindowWidth = windowMetrics.getBounds().width();
@@ -1537,8 +1540,8 @@ public class QuickSettingsController implements Dumpable {
private int calculateRightClippingBound() {
if (mIsFullWidth) {
- return mPanelView.getRight()
- + mDisplayRightInset;
+ // right bounds should also always reach the edge of the screen - getCurrentWindowMetrics ignores insets
+ return mWindowManager.getCurrentWindowMetrics().getBounds().right;
} else {
return mNotificationStackScrollLayoutController.getRight()
+ mDisplayLeftInset;
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index b6e614b55041..4b9a120ac038 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -1426,6 +1426,7 @@ public class DisplayPolicy {
displayFrames = win.getDisplayFrames(displayFrames);
final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
+ attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
sTmpClientFrames.attachedFrame = attached != null ? attached.getFrame() : null;
// If this window has different LayoutParams for rotations, we cannot trust its requested
--
2.34.1

View File

@ -1,7 +1,7 @@
From d597b3f8df5f0ca5414028863f376aedeced1cfe Mon Sep 17 00:00:00 2001 From 89c565bf1a9ce56a64191059424bf9f5fe04f1d9 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:10:50 +0000 Date: Wed, 1 Sep 2021 14:10:50 +0000
Subject: [PATCH 16/22] UI: Kill rounded corners in notification scrim Subject: [PATCH 15/21] UI: Kill rounded corners in notification scrim
Rounded corners in S is nicely implemented, but this is one occasion where it looks out of place Rounded corners in S is nicely implemented, but this is one occasion where it looks out of place
@ -11,12 +11,12 @@ Change-Id: I09ed59e0e658ebd512a9d02a8ef3edfe2c9888da
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index de6834c2cfac..3d7adc1feb22 100644 index d0a9055e1905..30881992795d 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -801,7 +801,7 @@ @@ -726,7 +726,7 @@
<!-- The amount to translate lockscreen elements on the GONE->AOD transition --> <!-- With the large clock, move up slightly from the center -->
<dimen name="keyguard_enter_from_top_translation_y">-100dp</dimen> <dimen name="keyguard_large_clock_top_margin">-60dp</dimen>
- <dimen name="notification_scrim_corner_radius">32dp</dimen> - <dimen name="notification_scrim_corner_radius">32dp</dimen>
+ <dimen name="notification_scrim_corner_radius">0dp</dimen> + <dimen name="notification_scrim_corner_radius">0dp</dimen>

View File

@ -1,7 +1,7 @@
From 7dcda2e715f01c67c0d2fc0b7bf8288734fa5a54 Mon Sep 17 00:00:00 2001 From be2477f3314d044e1d7581905a4d358aa0f0a2a7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 26 Oct 2020 14:06:56 +0000 Date: Mon, 26 Oct 2020 14:06:56 +0000
Subject: [PATCH 17/22] UI: Reconfigure power menu items Subject: [PATCH 16/21] UI: Reconfigure power menu items
Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
--- ---
@ -9,10 +9,10 @@ Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
1 file changed, 1 insertion(+), 4 deletions(-) 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index a0e8062df4d0..27549b17225f 100644 index 87e3ddcf8fdf..64d592b2230b 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -3639,13 +3639,10 @@ @@ -3305,13 +3305,10 @@
"logout" = Logout the current user "logout" = Logout the current user
--> -->
<string-array translatable="false" name="config_globalActionsList"> <string-array translatable="false" name="config_globalActionsList">

View File

@ -1,7 +1,7 @@
From b9eaf93d2d87ff6cd436d3b456c8e572a1b6f83f Mon Sep 17 00:00:00 2001 From f22928416285a9ac0ab6f8cd683c8dd5d95bf15b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 5 Mar 2022 01:43:37 +0000 Date: Sat, 5 Mar 2022 01:43:37 +0000
Subject: [PATCH 18/22] UI: Reconfigure quick settings tiles Subject: [PATCH 17/21] UI: Reconfigure quick settings tiles
Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d
--- ---
@ -9,14 +9,14 @@ Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 0286cc65c8e2..d23be6427019 100644 index 418bbc7c7932..245bde4c543a 100644
--- a/packages/SystemUI/res/values/config.xml --- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml
@@ -88,7 +88,7 @@ @@ -68,7 +68,7 @@
<!-- The default tiles to display in QuickSettings --> <!-- The default tiles to display in QuickSettings -->
<string name="quick_settings_tiles_default" translatable="false"> <string name="quick_settings_tiles_default" translatable="false">
- internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.v33.SafetyCenterQsTileService) - internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle
+ wifi,cell,hotspot,location,rotation,flashlight + wifi,cell,hotspot,location,rotation,flashlight
</string> </string>

View File

@ -1,7 +1,7 @@
From c93d690ca8a08ada6a73ab0916d042e5f31671ad Mon Sep 17 00:00:00 2001 From fe8362152cdb0a17376ffedb37030cc57d14b375 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 29 Jun 2021 22:57:01 +0000 Date: Tue, 29 Jun 2021 22:57:01 +0000
Subject: [PATCH 19/22] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT Subject: [PATCH 18/21] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT
I decide what's good enough for a wallpaper! I decide what's good enough for a wallpaper!
@ -11,14 +11,14 @@ Change-Id: I5ccd85b3df12e53746a4ac6cbc37ba8d11f6c336
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java
index 5f5a7dfe24c6..1adce321012b 100644 index a34a50c4b7b0..028f77fb21b0 100644
--- a/core/java/android/app/WallpaperColors.java --- a/core/java/android/app/WallpaperColors.java
+++ b/core/java/android/app/WallpaperColors.java +++ b/core/java/android/app/WallpaperColors.java
@@ -593,7 +593,7 @@ public final class WallpaperColors implements Parcelable { @@ -580,7 +580,7 @@ public final class WallpaperColors implements Parcelable {
int hints = 0; int hints = 0;
double meanLuminance = totalLuminance / pixels.length; double meanLuminance = totalLuminance / pixels.length;
- if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE && darkPixels <= maxDarkPixels) { - if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE && darkPixels < maxDarkPixels) {
+ if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE) { + if (meanLuminance > BRIGHT_IMAGE_MEAN_LUMINANCE) {
hints |= HINT_SUPPORTS_DARK_TEXT; hints |= HINT_SUPPORTS_DARK_TEXT;
} }

View File

@ -1,7 +1,7 @@
From 8f7dac2f887aa5d42c52dfbebad4700497baa8ab Mon Sep 17 00:00:00 2001 From a0cd4caf1cd92218e44db206ec2f67839ce4dbe8 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 19 Oct 2021 12:09:34 +0000 Date: Tue, 19 Oct 2021 12:09:34 +0000
Subject: [PATCH 20/22] UI: Remove privacy dot Subject: [PATCH 19/21] UI: Remove privacy dot
Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1 Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
--- ---
@ -9,10 +9,10 @@ Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 3d7adc1feb22..9b081a0eb858 100644 index 30881992795d..7ead38868815 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -1166,12 +1166,12 @@ @@ -1059,12 +1059,12 @@
<dimen name="ongoing_appops_chip_min_width">56dp</dimen> <dimen name="ongoing_appops_chip_min_width">56dp</dimen>
<!-- Three privacy items. This value must not be exceeded --> <!-- Three privacy items. This value must not be exceeded -->
<dimen name="ongoing_appops_chip_max_width">76dp</dimen> <dimen name="ongoing_appops_chip_max_width">76dp</dimen>

View File

@ -1,7 +1,7 @@
From 189c4aa8512127b743f374491d224679c074d9e0 Mon Sep 17 00:00:00 2001 From 7cacf0df0092432cd2347e0cbae0c1c3d0f5dcf9 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 22 Mar 2023 00:29:13 +0000 Date: Wed, 22 Mar 2023 00:29:13 +0000
Subject: [PATCH 21/22] UI: Restore quick settings fonts to pre-T-QPR2 Subject: [PATCH 20/21] UI: Restore quick settings fonts to pre-T-QPR2
TODO: Large header clock looks better in Regular - perhaps figure out how to transition smoothly? TODO: Large header clock looks better in Regular - perhaps figure out how to transition smoothly?
Change-Id: If2e57fee61b6bd4b6b7fedc7e3011164cd2cb56f Change-Id: If2e57fee61b6bd4b6b7fedc7e3011164cd2cb56f
@ -10,24 +10,24 @@ Change-Id: If2e57fee61b6bd4b6b7fedc7e3011164cd2cb56f
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index cb5c97383677..f6658ce089f4 100644 index 6996e41e08da..5e6d45ac9305 100644
--- a/packages/SystemUI/res/values/styles.xml --- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml
@@ -143,7 +143,7 @@ @@ -134,7 +134,7 @@
<!-- This is hard coded to be sans-serif-condensed to match the icons --> <!-- This is hard coded to be sans-serif-condensed to match the icons -->
<style name="TextAppearance.QS.Status"> <style name="TextAppearance.QS.Status">
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> - <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> + <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
<item name="android:textColor">?attr/onSurface</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">14sp</item> <item name="android:textSize">14sp</item>
<item name="android:letterSpacing">0.01</item> <item name="android:letterSpacing">0.01</item>
@@ -163,6 +163,7 @@ @@ -152,6 +152,7 @@
</style> </style>
<style name="TextAppearance.QS.Status.Build"> <style name="TextAppearance.QS.Status.Build">
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> + <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
<item name="android:textColor">?attr/onSurfaceVariant</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
</style> </style>
-- --

View File

@ -1,7 +1,7 @@
From 31cda8c70a81cd6a861d37d4198d0f6c8917a2ed Mon Sep 17 00:00:00 2001 From 9732bf6c88d489f587e62d9f6b382e876295cbd6 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Fri, 30 Sep 2022 16:02:16 +0000 Date: Fri, 30 Sep 2022 16:02:16 +0000
Subject: [PATCH 22/22] UI: Revert to HSL luminance for wallpaper dark hints Subject: [PATCH 21/21] UI: Revert to HSL luminance for wallpaper dark hints
Y U no test for consistency, Google? Y U no test for consistency, Google?
@ -11,10 +11,10 @@ Change-Id: Ie5663bdf518b4ef93d6deb634e707a32d052ac55
1 file changed, 4 insertions(+), 4 deletions(-) 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java
index 1adce321012b..477dbc827672 100644 index 028f77fb21b0..63ccf961a2d8 100644
--- a/core/java/android/app/WallpaperColors.java --- a/core/java/android/app/WallpaperColors.java
+++ b/core/java/android/app/WallpaperColors.java +++ b/core/java/android/app/WallpaperColors.java
@@ -568,15 +568,15 @@ public final class WallpaperColors implements Parcelable { @@ -555,15 +555,15 @@ public final class WallpaperColors implements Parcelable {
float[] tmpHsl = new float[3]; float[] tmpHsl = new float[3];
for (int i = 0; i < pixels.length; i++) { for (int i = 0; i < pixels.length; i++) {
int pixelColor = pixels[i]; int pixelColor = pixels[i];
@ -33,7 +33,7 @@ index 1adce321012b..477dbc827672 100644
// Make sure we don't have a dark pixel mass that will // Make sure we don't have a dark pixel mass that will
// make text illegible. // make text illegible.
@@ -588,7 +588,7 @@ public final class WallpaperColors implements Parcelable { @@ -575,7 +575,7 @@ public final class WallpaperColors implements Parcelable {
pixels[i] = Color.RED; pixels[i] = Color.RED;
} }
} }

View File

@ -0,0 +1,33 @@
From 8a3d38d3148713836c12d85f7fc4a6a366cc00e4 Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Mon, 4 Mar 2019 14:27:56 +0800
Subject: [PATCH] sdk: Do not warn about SELinux and build signature status
Change-Id: I6e1ca9f2c2f7763364a9a370f444dfe8059d0563
---
.../org/lineageos/platform/internal/TrustInterfaceService.java | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
index 2dcb938..e9f2dca 100644
--- a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
+++ b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
@@ -197,15 +197,6 @@ public class TrustInterfaceService extends LineageSystemService {
}
private void runTestInternal() {
- int selinuxStatus = getSELinuxStatus();
- if (selinuxStatus != TrustInterface.TRUST_FEATURE_LEVEL_GOOD) {
- postNotificationForFeatureInternal(TrustInterface.TRUST_WARN_SELINUX);
- }
-
- int keysStatus = getKeysStatus();
- if (keysStatus != TrustInterface.TRUST_FEATURE_LEVEL_GOOD) {
- postNotificationForFeatureInternal(TrustInterface.TRUST_WARN_PUBLIC_KEY);
- }
}
/* Utils */
--
2.7.4

View File

@ -1,62 +0,0 @@
From e130858b3f35dabed681a6bce8a8dbda7e71b607 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 23 Nov 2023 22:31:47 +0800
Subject: [PATCH] sdk: I have Trust issues
Spare me the onboard and warnings
Change-Id: Id36104c8a9c386145e6d99a9d741947bddaa37be
---
.../internal/TrustInterfaceService.java | 29 -------------------
1 file changed, 29 deletions(-)
diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
index 3cb8e5e7..aad5f3f4 100644
--- a/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
+++ b/lineage/lib/main/java/org/lineageos/platform/internal/TrustInterfaceService.java
@@ -87,15 +87,6 @@ public class TrustInterfaceService extends LineageSystemService {
public void onBootPhase(int phase) {
if (phase == PHASE_BOOT_COMPLETED) {
mNotificationManager = mContext.getSystemService(NotificationManager.class);
-
- // Onboard
- if (!hasOnboardedUser()) {
- postOnBoardingNotification();
- registerLocaleChangedReceiver();
- return;
- }
-
- runTestInternal();
}
}
@@ -338,26 +329,6 @@ public class TrustInterfaceService extends LineageSystemService {
LineageSettings.System.TRUST_INTERFACE_HINTED, 0) == 1;
}
- private void registerLocaleChangedReceiver() {
- IntentFilter filter = new IntentFilter(Intent.ACTION_LOCALE_CHANGED);
- mContext.registerReceiver(mReceiver, filter);
- }
-
- private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent.getAction() == Intent.ACTION_LOCALE_CHANGED) {
- if (!hasOnboardedUser()) {
- // When are not onboarded, we want to change the language of the notification
- postOnBoardingNotification();
- } else {
- // We don't care anymore about language changes
- context.unregisterReceiver(this);
- }
- }
- }
- };
-
/* Service */
private final IBinder mService = new ITrustInterface.Stub() {
--
2.34.1

View File

@ -1,4 +1,4 @@
From 7262d6fa8ee2dac2e359e1cc0bbd2d1ef81cfd26 Mon Sep 17 00:00:00 2001 From 84f4aefde14a8c3948fee25fafd655e6d93bdb26 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 8 Jun 2023 00:46:00 +0800 Date: Thu, 8 Jun 2023 00:46:00 +0800
Subject: [PATCH 1/4] Squashed revert of LOS widget redesign Subject: [PATCH 1/4] Squashed revert of LOS widget redesign
@ -9,7 +9,7 @@ Until it no longer works...
- Revert "DeskClock: Digital widget: Redesign" - Revert "DeskClock: Digital widget: Redesign"
- Revert "DeskClock: update digital widget" - Revert "DeskClock: update digital widget"
--- ---
AndroidManifest.xml | 9 - AndroidManifest.xml | 11 +-
.../appwidget_digital_clock_preview.png | Bin 0 -> 10832 bytes .../appwidget_digital_clock_preview.png | Bin 0 -> 10832 bytes
res/drawable/ic_checkmark.xml | 27 +++ res/drawable/ic_checkmark.xml | 27 +++
res/drawable/widget_background.xml | 11 -- res/drawable/widget_background.xml | 11 --
@ -52,7 +52,7 @@ Until it no longer works...
res/xml/digital_appwidget.xml | 13 +- res/xml/digital_appwidget.xml | 13 +-
.../DigitalAppWidgetCityViewsFactory.java | 10 +- .../DigitalAppWidgetCityViewsFactory.java | 10 +-
...DigitalAppWidgetConfigurationActivity.java | 50 ------ ...DigitalAppWidgetConfigurationActivity.java | 50 ------
.../alarmclock/DigitalAppWidgetProvider.java | 61 ++----- .../alarmclock/DigitalAppWidgetProvider.java | 60 ++-----
src/com/android/alarmclock/WidgetUtils.java | 28 --- src/com/android/alarmclock/WidgetUtils.java | 28 ---
src/com/android/deskclock/ClockFragment.java | 1 + src/com/android/deskclock/ClockFragment.java | 1 +
.../deskclock/DropShadowController.java | 2 - .../deskclock/DropShadowController.java | 2 -
@ -84,7 +84,7 @@ Until it no longer works...
.../uidata/PeriodicCallbackModel.java | 1 - .../uidata/PeriodicCallbackModel.java | 1 -
.../widget/CollapsingToolbarBaseActivity.java | 3 + .../widget/CollapsingToolbarBaseActivity.java | 3 +
.../deskclock/widget/MockFabContainer.java | 27 ++- .../deskclock/widget/MockFabContainer.java | 27 ++-
75 files changed, 388 insertions(+), 934 deletions(-) 75 files changed, 389 insertions(+), 934 deletions(-)
create mode 100644 res/drawable-nodpi/appwidget_digital_clock_preview.png create mode 100644 res/drawable-nodpi/appwidget_digital_clock_preview.png
create mode 100644 res/drawable/ic_checkmark.xml create mode 100644 res/drawable/ic_checkmark.xml
delete mode 100644 res/drawable/widget_background.xml delete mode 100644 res/drawable/widget_background.xml
@ -106,10 +106,19 @@ Until it no longer works...
delete mode 100644 src/com/android/alarmclock/DigitalAppWidgetConfigurationActivity.java delete mode 100644 src/com/android/alarmclock/DigitalAppWidgetConfigurationActivity.java
diff --git a/AndroidManifest.xml b/AndroidManifest.xml diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b3717f7b5..67a2f2557 100644 index 7c127a02c..2d1168ba6 100644
--- a/AndroidManifest.xml --- a/AndroidManifest.xml
+++ b/AndroidManifest.xml +++ b/AndroidManifest.xml
@@ -299,7 +299,6 @@ @@ -22,7 +22,7 @@
<original-package android:name="com.android.alarmclock" />
<original-package android:name="com.android.deskclock" />
- <uses-sdk android:minSdkVersion="31" android:targetSdkVersion="33" />
+ <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="33" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
@@ -295,7 +295,6 @@
<action android:name="android.intent.action.TIMEZONE_CHANGED" /> <action android:name="android.intent.action.TIMEZONE_CHANGED" />
<action android:name="com.android.deskclock.ON_DAY_CHANGE" /> <action android:name="com.android.deskclock.ON_DAY_CHANGE" />
<action android:name="com.android.deskclock.WORLD_CITIES_CHANGED" /> <action android:name="com.android.deskclock.WORLD_CITIES_CHANGED" />
@ -117,7 +126,7 @@ index b3717f7b5..67a2f2557 100644
</intent-filter> </intent-filter>
<meta-data <meta-data
android:name="android.appwidget.provider" android:name="android.appwidget.provider"
@@ -310,13 +309,5 @@ @@ -306,13 +305,5 @@
android:name="com.android.alarmclock.DigitalAppWidgetCityService" android:name="com.android.alarmclock.DigitalAppWidgetCityService"
android:permission="android.permission.BIND_REMOTEVIEWS" /> android:permission="android.permission.BIND_REMOTEVIEWS" />
@ -2043,7 +2052,7 @@ index d65a9e9d9..000000000
- } - }
-} -}
diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
index 7bda49314..709835ebc 100644 index ec6fac409..b54a500c5 100644
--- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java --- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java
+++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java +++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
@@ -24,7 +24,6 @@ import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT; @@ -24,7 +24,6 @@ import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT;
@ -2078,18 +2087,15 @@ index 7bda49314..709835ebc 100644
for (int widgetId : widgetIds) { for (int widgetId : widgetIds) {
relayoutWidget(context, wm, widgetId, wm.getAppWidgetOptions(widgetId)); relayoutWidget(context, wm, widgetId, wm.getAppWidgetOptions(widgetId));
} }
@@ -182,10 +180,8 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -182,7 +180,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
IntentFilter intentFilter = new IntentFilter(); IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_WORLD_CITIES_CHANGED); intentFilter.addAction(ACTION_WORLD_CITIES_CHANGED);
intentFilter.addAction(ACTION_ON_DAY_CHANGE); intentFilter.addAction(ACTION_ON_DAY_CHANGE);
- intentFilter.addAction(ACTION_CONFIGURATION_CHANGED); - intentFilter.addAction(ACTION_CONFIGURATION_CHANGED);
context.getApplicationContext().registerReceiver(receiver, intentFilter, context.getApplicationContext().registerReceiver(receiver, intentFilter);
Context.RECEIVER_NOT_EXPORTED);
-
sReceiversRegistered = true;
}
@@ -214,10 +210,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { sReceiversRegistered = true;
@@ -213,10 +210,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
wm.notifyAppWidgetViewDataChanged(widgetId, R.id.world_city_list); wm.notifyAppWidgetViewDataChanged(widgetId, R.id.world_city_list);
} }
@ -2100,7 +2106,7 @@ index 7bda49314..709835ebc 100644
/** /**
* Compute optimal font and icon sizes offscreen for the given orientation. * Compute optimal font and icon sizes offscreen for the given orientation.
*/ */
@@ -225,18 +217,13 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -224,18 +217,13 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
Bundle options, boolean portrait) { Bundle options, boolean portrait) {
// Create a remote view for the digital clock. // Create a remote view for the digital clock.
final String packageName = context.getPackageName(); final String packageName = context.getPackageName();
@ -2121,7 +2127,7 @@ index 7bda49314..709835ebc 100644
} }
// Configure child views of the remote view. // Configure child views of the remote view.
@@ -280,15 +267,10 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -279,15 +267,10 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
} }
// Apply the computed sizes to the remote views. // Apply the computed sizes to the remote views.
@ -2138,7 +2144,7 @@ index 7bda49314..709835ebc 100644
final int smallestWorldCityListSizePx = final int smallestWorldCityListSizePx =
resources.getDimensionPixelSize(R.dimen.widget_min_world_city_list_size); resources.getDimensionPixelSize(R.dimen.widget_min_world_city_list_size);
@@ -325,8 +307,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -324,8 +307,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
@SuppressLint("InflateParams") @SuppressLint("InflateParams")
final View sizer = inflater.inflate(R.layout.digital_widget_sizer, null /* root */); final View sizer = inflater.inflate(R.layout.digital_widget_sizer, null /* root */);
@ -2147,7 +2153,7 @@ index 7bda49314..709835ebc 100644
// Configure the date to display the current date string. // Configure the date to display the current date string.
final CharSequence dateFormat = getDateFormat(context); final CharSequence dateFormat = getDateFormat(context);
final TextClock date = sizer.findViewById(R.id.date); final TextClock date = sizer.findViewById(R.id.date);
@@ -440,7 +420,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -439,7 +420,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
final TextClock clock = sizer.findViewById(R.id.clock); final TextClock clock = sizer.findViewById(R.id.clock);
final TextView nextAlarm = sizer.findViewById(R.id.nextAlarm); final TextView nextAlarm = sizer.findViewById(R.id.nextAlarm);
final TextView nextAlarmIcon = sizer.findViewById(R.id.nextAlarmIcon); final TextView nextAlarmIcon = sizer.findViewById(R.id.nextAlarmIcon);
@ -2155,7 +2161,7 @@ index 7bda49314..709835ebc 100644
// Adjust the font sizes. // Adjust the font sizes.
measuredSizes.setClockFontSizePx(clockFontSize); measuredSizes.setClockFontSizePx(clockFontSize);
@@ -450,17 +429,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -449,17 +429,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
nextAlarm.setTextSize(COMPLEX_UNIT_PX, measuredSizes.mFontSizePx); nextAlarm.setTextSize(COMPLEX_UNIT_PX, measuredSizes.mFontSizePx);
nextAlarmIcon.setTextSize(COMPLEX_UNIT_PX, measuredSizes.mIconFontSizePx); nextAlarmIcon.setTextSize(COMPLEX_UNIT_PX, measuredSizes.mIconFontSizePx);
nextAlarmIcon.setPadding(measuredSizes.mIconPaddingPx, 0, measuredSizes.mIconPaddingPx, 0); nextAlarmIcon.setPadding(measuredSizes.mIconPaddingPx, 0, measuredSizes.mIconPaddingPx, 0);
@ -2173,7 +2179,7 @@ index 7bda49314..709835ebc 100644
// Measure and layout the sizer. // Measure and layout the sizer.
final int widthSize = View.MeasureSpec.getSize(measuredSizes.mTargetWidthPx); final int widthSize = View.MeasureSpec.getSize(measuredSizes.mTargetWidthPx);
@@ -476,6 +444,11 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -475,6 +444,11 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
measuredSizes.mMeasuredTextClockWidthPx = clock.getMeasuredWidth(); measuredSizes.mMeasuredTextClockWidthPx = clock.getMeasuredWidth();
measuredSizes.mMeasuredTextClockHeightPx = clock.getMeasuredHeight(); measuredSizes.mMeasuredTextClockHeightPx = clock.getMeasuredHeight();
@ -2185,7 +2191,7 @@ index 7bda49314..709835ebc 100644
return measuredSizes; return measuredSizes;
} }
@@ -510,6 +483,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -509,6 +483,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
private final int mTargetHeightPx; private final int mTargetHeightPx;
private final int mLargestClockFontSizePx; private final int mLargestClockFontSizePx;
private final int mSmallestClockFontSizePx; private final int mSmallestClockFontSizePx;
@ -2193,7 +2199,7 @@ index 7bda49314..709835ebc 100644
private int mMeasuredWidthPx; private int mMeasuredWidthPx;
private int mMeasuredHeightPx; private int mMeasuredHeightPx;
@@ -525,9 +499,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -524,9 +499,6 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
private int mIconFontSizePx; private int mIconFontSizePx;
private int mIconPaddingPx; private int mIconPaddingPx;
@ -2203,7 +2209,7 @@ index 7bda49314..709835ebc 100644
private Sizes(int targetWidthPx, int targetHeightPx, int largestClockFontSizePx) { private Sizes(int targetWidthPx, int targetHeightPx, int largestClockFontSizePx) {
mTargetWidthPx = targetWidthPx; mTargetWidthPx = targetWidthPx;
mTargetHeightPx = targetHeightPx; mTargetHeightPx = targetHeightPx;
@@ -540,21 +511,11 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -539,21 +511,11 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
private int getClockFontSizePx() { return mClockFontSizePx; } private int getClockFontSizePx() { return mClockFontSizePx; }
private void setClockFontSizePx(int clockFontSizePx) { private void setClockFontSizePx(int clockFontSizePx) {
mClockFontSizePx = clockFontSizePx; mClockFontSizePx = clockFontSizePx;
@ -2271,7 +2277,7 @@ index 21f3bd067..7ad2df7b8 100644
- } - }
} }
diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java
index 7591a18d0..2a1f2770f 100644 index a6dbdfe16..bf53584e4 100644
--- a/src/com/android/deskclock/ClockFragment.java --- a/src/com/android/deskclock/ClockFragment.java
+++ b/src/com/android/deskclock/ClockFragment.java +++ b/src/com/android/deskclock/ClockFragment.java
@@ -28,6 +28,7 @@ import android.content.BroadcastReceiver; @@ -28,6 +28,7 @@ import android.content.BroadcastReceiver;
@ -2359,7 +2365,7 @@ index cbf6883cc..10df12ec6 100644
FragmentTransaction transaction = mFragmentManager.beginTransaction(); FragmentTransaction transaction = mFragmentManager.beginTransaction();
diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java
index ab0e8b2bc..8b4b422d8 100644 index 2cfd2c2a9..b30f82ee7 100644
--- a/src/com/android/deskclock/ScreensaverActivity.java --- a/src/com/android/deskclock/ScreensaverActivity.java
+++ b/src/com/android/deskclock/ScreensaverActivity.java +++ b/src/com/android/deskclock/ScreensaverActivity.java
@@ -28,12 +28,9 @@ import android.os.Bundle; @@ -28,12 +28,9 @@ import android.os.Bundle;
@ -2393,7 +2399,7 @@ index ab0e8b2bc..8b4b422d8 100644
mPositionUpdater = new MoveScreensaverRunnable(mContentView, mMainClockView); mPositionUpdater = new MoveScreensaverRunnable(mContentView, mMainClockView);
@@ -225,19 +220,14 @@ public class ScreensaverActivity extends BaseActivity { @@ -224,19 +219,14 @@ public class ScreensaverActivity extends BaseActivity {
} }
} }
@ -2526,11 +2532,11 @@ index e5c78e4c5..2e5330668 100644
/** /**
diff --git a/src/com/android/deskclock/data/RingtoneModel.java b/src/com/android/deskclock/data/RingtoneModel.java diff --git a/src/com/android/deskclock/data/RingtoneModel.java b/src/com/android/deskclock/data/RingtoneModel.java
index de7e9a25d..145bdf280 100644 index d765ba8b9..b83270cab 100644
--- a/src/com/android/deskclock/data/RingtoneModel.java --- a/src/com/android/deskclock/data/RingtoneModel.java
+++ b/src/com/android/deskclock/data/RingtoneModel.java +++ b/src/com/android/deskclock/data/RingtoneModel.java
@@ -82,16 +82,17 @@ final class RingtoneModel { @@ -81,16 +81,17 @@ final class RingtoneModel {
Context.RECEIVER_NOT_EXPORTED); mContext.registerReceiver(mLocaleChangedReceiver, localeBroadcastFilter);
} }
- void addCustomRingtone(Uri uri, String title) { - void addCustomRingtone(Uri uri, String title) {
@ -2550,10 +2556,10 @@ index de7e9a25d..145bdf280 100644
void removeCustomRingtone(Uri uri) { void removeCustomRingtone(Uri uri) {
diff --git a/src/com/android/deskclock/data/SilentSettingsModel.java b/src/com/android/deskclock/data/SilentSettingsModel.java diff --git a/src/com/android/deskclock/data/SilentSettingsModel.java b/src/com/android/deskclock/data/SilentSettingsModel.java
index 052dbf39f..8aabfefc4 100644 index 1cfc1884c..af3caee2a 100644
--- a/src/com/android/deskclock/data/SilentSettingsModel.java --- a/src/com/android/deskclock/data/SilentSettingsModel.java
+++ b/src/com/android/deskclock/data/SilentSettingsModel.java +++ b/src/com/android/deskclock/data/SilentSettingsModel.java
@@ -146,8 +146,8 @@ final class SilentSettingsModel { @@ -145,8 +145,8 @@ final class SilentSettingsModel {
* making noise, a description of the setting is reported to this model on the main thread. * making noise, a description of the setting is reported to this model on the main thread.
*/ */
private final class CheckSilenceSettingsTask { private final class CheckSilenceSettingsTask {
@ -2580,10 +2586,10 @@ index 9f0c7cdd6..b3d5c07be 100644
+ void stopwatchUpdated(Stopwatch before, Stopwatch after); + void stopwatchUpdated(Stopwatch before, Stopwatch after);
} }
diff --git a/src/com/android/deskclock/data/StopwatchModel.java b/src/com/android/deskclock/data/StopwatchModel.java diff --git a/src/com/android/deskclock/data/StopwatchModel.java b/src/com/android/deskclock/data/StopwatchModel.java
index 804bea9a5..2ae3febbf 100644 index ba2489333..a9ea1376f 100644
--- a/src/com/android/deskclock/data/StopwatchModel.java --- a/src/com/android/deskclock/data/StopwatchModel.java
+++ b/src/com/android/deskclock/data/StopwatchModel.java +++ b/src/com/android/deskclock/data/StopwatchModel.java
@@ -102,7 +102,7 @@ final class StopwatchModel { @@ -101,7 +101,7 @@ final class StopwatchModel {
/** /**
* @param stopwatch the new state of the stopwatch * @param stopwatch the new state of the stopwatch
*/ */
@ -2592,7 +2598,7 @@ index 804bea9a5..2ae3febbf 100644
final Stopwatch before = getStopwatch(); final Stopwatch before = getStopwatch();
if (before != stopwatch) { if (before != stopwatch) {
StopwatchDAO.setStopwatch(mPrefs, stopwatch); StopwatchDAO.setStopwatch(mPrefs, stopwatch);
@@ -124,7 +124,7 @@ final class StopwatchModel { @@ -123,7 +123,7 @@ final class StopwatchModel {
} }
} }
@ -2636,10 +2642,10 @@ index 0cb304d81..93e4d8cd6 100644
private final List<State> stateExpiryOrder = Arrays.asList(MISSED, EXPIRED, RUNNING, PAUSED, private final List<State> stateExpiryOrder = Arrays.asList(MISSED, EXPIRED, RUNNING, PAUSED,
RESET); RESET);
diff --git a/src/com/android/deskclock/data/TimerModel.java b/src/com/android/deskclock/data/TimerModel.java diff --git a/src/com/android/deskclock/data/TimerModel.java b/src/com/android/deskclock/data/TimerModel.java
index 47bafe31c..1197373af 100644 index cc06add50..784a72c7b 100644
--- a/src/com/android/deskclock/data/TimerModel.java --- a/src/com/android/deskclock/data/TimerModel.java
+++ b/src/com/android/deskclock/data/TimerModel.java +++ b/src/com/android/deskclock/data/TimerModel.java
@@ -295,7 +295,7 @@ final class TimerModel { @@ -294,7 +294,7 @@ final class TimerModel {
* @param eventLabelId the label of the timer event to send; 0 if no event should be sent * @param eventLabelId the label of the timer event to send; 0 if no event should be sent
* @return the reset {@code timer} or {@code null} if the timer was deleted * @return the reset {@code timer} or {@code null} if the timer was deleted
*/ */
@ -2648,7 +2654,7 @@ index 47bafe31c..1197373af 100644
final Timer result = doResetOrDeleteTimer(timer, allowDelete, eventLabelId); final Timer result = doResetOrDeleteTimer(timer, allowDelete, eventLabelId);
// Update the notification after updating the timer data. // Update the notification after updating the timer data.
@@ -307,7 +307,7 @@ final class TimerModel { @@ -306,7 +306,7 @@ final class TimerModel {
updateNotification(); updateNotification();
} }
@ -2961,10 +2967,10 @@ index 979be1440..c6a557a8e 100644
public void onBind(int timerId) { public void onBind(int timerId) {
diff --git a/src/com/android/deskclock/uidata/PeriodicCallbackModel.java b/src/com/android/deskclock/uidata/PeriodicCallbackModel.java diff --git a/src/com/android/deskclock/uidata/PeriodicCallbackModel.java b/src/com/android/deskclock/uidata/PeriodicCallbackModel.java
index 1b0e00fca..8a74000eb 100644 index 4928244ec..0127e66cd 100644
--- a/src/com/android/deskclock/uidata/PeriodicCallbackModel.java --- a/src/com/android/deskclock/uidata/PeriodicCallbackModel.java
+++ b/src/com/android/deskclock/uidata/PeriodicCallbackModel.java +++ b/src/com/android/deskclock/uidata/PeriodicCallbackModel.java
@@ -94,7 +94,6 @@ final class PeriodicCallbackModel { @@ -93,7 +93,6 @@ final class PeriodicCallbackModel {
/** /**
* @param runnable to be called every hour * @param runnable to be called every hour
*/ */

View File

@ -1,4 +1,4 @@
From 2f468ddf5a40a1e267144691242610e96b2b58b6 Mon Sep 17 00:00:00 2001 From ef3810b1d55f079278f3ac3ef83f7b5b2eaaa7c1 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 5 Sep 2021 00:30:33 +0000 Date: Sun, 5 Sep 2021 00:30:33 +0000
Subject: [PATCH 2/4] DeskClock: Remove night mode Subject: [PATCH 2/4] DeskClock: Remove night mode
@ -27,10 +27,10 @@ index 7b8c9764a..908f76fef 100644
- -
</PreferenceScreen> </PreferenceScreen>
diff --git a/src/com/android/deskclock/Screensaver.java b/src/com/android/deskclock/Screensaver.java diff --git a/src/com/android/deskclock/Screensaver.java b/src/com/android/deskclock/Screensaver.java
index 1031f37d6..5b6de21d1 100644 index ad92b1149..f6c03ed0a 100644
--- a/src/com/android/deskclock/Screensaver.java --- a/src/com/android/deskclock/Screensaver.java
+++ b/src/com/android/deskclock/Screensaver.java +++ b/src/com/android/deskclock/Screensaver.java
@@ -137,9 +137,8 @@ public final class Screensaver extends DreamService { @@ -136,9 +136,8 @@ public final class Screensaver extends DreamService {
private void setClockStyle() { private void setClockStyle() {
Utils.setScreensaverClockStyle(mDigitalClock, mAnalogClock); Utils.setScreensaverClockStyle(mDigitalClock, mAnalogClock);
@ -43,7 +43,7 @@ index 1031f37d6..5b6de21d1 100644
/** /**
diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java diff --git a/src/com/android/deskclock/ScreensaverActivity.java b/src/com/android/deskclock/ScreensaverActivity.java
index 8b4b422d8..2f80537a6 100644 index b30f82ee7..90235351f 100644
--- a/src/com/android/deskclock/ScreensaverActivity.java --- a/src/com/android/deskclock/ScreensaverActivity.java
+++ b/src/com/android/deskclock/ScreensaverActivity.java +++ b/src/com/android/deskclock/ScreensaverActivity.java
@@ -101,7 +101,7 @@ public class ScreensaverActivity extends BaseActivity { @@ -101,7 +101,7 @@ public class ScreensaverActivity extends BaseActivity {

View File

@ -1,4 +1,4 @@
From 2bbdf8a6e96e5f6fe14da94eddf729e374c681b4 Mon Sep 17 00:00:00 2001 From 3430de2c592c9d9b4a08c16477fff4ad1a4ca775 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 19 Jan 2022 18:04:36 +0000 Date: Wed, 19 Jan 2022 18:04:36 +0000
Subject: [PATCH 3/4] DeskClock: Adapt digital clocks to S style Subject: [PATCH 3/4] DeskClock: Adapt digital clocks to S style
@ -432,7 +432,7 @@ index 8c6364344..159f24766 100644
+ </style> + </style>
</resources> </resources>
diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
index 709835ebc..621b39132 100644 index b54a500c5..fb1b30aa7 100644
--- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java --- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java
+++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java +++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
@@ -223,7 +223,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider { @@ -223,7 +223,7 @@ public class DigitalAppWidgetProvider extends AppWidgetProvider {
@ -540,7 +540,7 @@ index c3739bac8..5b931a46d 100644
return (String) DateFormat.format(pattern, time); return (String) DateFormat.format(pattern, time);
} }
diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java
index 2a1f2770f..eaf796659 100644 index bf53584e4..7a0e3ae0b 100644
--- a/src/com/android/deskclock/ClockFragment.java --- a/src/com/android/deskclock/ClockFragment.java
+++ b/src/com/android/deskclock/ClockFragment.java +++ b/src/com/android/deskclock/ClockFragment.java
@@ -123,7 +123,6 @@ public final class ClockFragment extends DeskClockFragment { @@ -123,7 +123,6 @@ public final class ClockFragment extends DeskClockFragment {

View File

@ -1,4 +1,4 @@
From 8183a51d8cac2772c1e8d17a264218a4fa0a0287 Mon Sep 17 00:00:00 2001 From 169570068c3a78f7294d581b2df864ccd3057579 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 20 Jan 2022 04:42:03 +0000 Date: Thu, 20 Jan 2022 04:42:03 +0000
Subject: [PATCH 4/4] DeskClock: Wallpaper-based text coloring for digital Subject: [PATCH 4/4] DeskClock: Wallpaper-based text coloring for digital
@ -12,7 +12,7 @@ Change-Id: Ie22c4980526575f73ebb4e56780d4c2193cc45d3
1 file changed, 57 insertions(+) 1 file changed, 57 insertions(+)
diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java diff --git a/src/com/android/alarmclock/DigitalAppWidgetProvider.java b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
index 621b39132..1031a65b2 100644 index fb1b30aa7..c04528240 100644
--- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java --- a/src/com/android/alarmclock/DigitalAppWidgetProvider.java
+++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java +++ b/src/com/android/alarmclock/DigitalAppWidgetProvider.java
@@ -38,6 +38,8 @@ import static java.lang.Math.round; @@ -38,6 +38,8 @@ import static java.lang.Math.round;

View File

@ -1,4 +1,4 @@
From ed635e14cc220e49b736c8071f368201931dd4b0 Mon Sep 17 00:00:00 2001 From 99b3533fe66a7bdc71dd6c63c4ba6c75e2ef2082 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com> From: Daniel Micay <danielmicay@gmail.com>
Date: Sat, 6 Jun 2015 10:40:51 -0400 Date: Sat, 6 Jun 2015 10:40:51 -0400
Subject: [PATCH] NfcService: Disable NFC by default Subject: [PATCH] NfcService: Disable NFC by default
@ -9,18 +9,18 @@ Change-Id: Ibe6abec7fa84c6fde476b8a083f57a3f61b50909
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java
index f74e78ab..a4654977 100644 index 3facdeeb..878b7e21 100644
--- a/src/com/android/nfc/NfcService.java --- a/src/com/android/nfc/NfcService.java
+++ b/src/com/android/nfc/NfcService.java +++ b/src/com/android/nfc/NfcService.java
@@ -144,7 +144,7 @@ public class NfcService implements DeviceHostListener, ForegroundUtils.Callback @@ -133,7 +133,7 @@ public class NfcService implements DeviceHostListener {
public static final String PREF_TAG_APP_LIST = "TagIntentAppPreferenceListPrefs"; public static final String PREF = "NfcServicePrefs";
static final String PREF_NFC_ON = "nfc_on"; static final String PREF_NFC_ON = "nfc_on";
- static final boolean NFC_ON_DEFAULT = true; - static final boolean NFC_ON_DEFAULT = true;
+ static final boolean NFC_ON_DEFAULT = false; + static final boolean NFC_ON_DEFAULT = false;
static final String PREF_NDEF_PUSH_ON = "ndef_push_on";
static final String PREF_NFC_READER_OPTION_ON = "nfc_reader_on"; static final boolean NDEF_PUSH_ON_DEFAULT = false;
static final boolean NFC_READER_OPTION_DEFAULT = true; static final String PREF_SECURE_NFC_ON = "secure_nfc_on";
-- --
2.34.1 2.25.1

View File

@ -0,0 +1,227 @@
From 4c3fbe18f838dce0c06342016ca4c933cf077a05 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 13 Mar 2022 11:22:48 +0000
Subject: [PATCH] Revert "[DO NOT MERGE] Allow a settings override for
double-line clock"
Sorry but I SAID NEVER!
This reverts commit cb4836b4868adc1f06212ce82851a5f16169ab5c.
Change-Id: I8b4b1354f23981f6edbe7f3c81ec4f511da3cc1a
---
res/values/strings.xml | 4 -
res/xml/security_lockscreen_settings.xml | 6 --
.../LockscreenClockPreferenceController.java | 70 ---------------
...ckscreenClockPreferenceControllerTest.java | 90 -------------------
4 files changed, 170 deletions(-)
delete mode 100644 src/com/android/settings/display/LockscreenClockPreferenceController.java
delete mode 100644 tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 62062b5fe8..35a8a39689 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13812,10 +13812,6 @@
<string name="lockscreen_trivial_controls_summary">Control external devices without unlocking your phone or tablet if allowed by the device controls app</string>
<!-- Trivial Device disabled controls summary [CHAR LIMIT=NONE] -->
<string name="lockscreen_trivial_disabled_controls_summary">To use, first turn on \u0022Show device controls\u0022</string>
- <!-- Lockscreen double-line clock summary [CHAR LIMIT=NONE] -->
- <string name="lockscreen_double_line_clock_summary">Show double-line clock when available</string>
- <!-- Lockscreen double-line clock toggle [CHAR LIMIT=60] -->
- <string name="lockscreen_double_line_clock_setting_toggle">Double-line clock</string>
<!-- Lock screen shortcuts preference [CHAR LIMIT=60] -->
<string name="lockscreen_quick_affordances_title">Shortcuts</string>
<!-- Summary for the lock screen button preference [CHAR LIMIT=60] -->
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index 77a32122ee..b71839fe23 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -78,12 +78,6 @@
android:key="customizable_lock_screen_quick_affordances"
android:title="@string/lockscreen_quick_affordances_title"
settings:controller="com.android.settings.display.CustomizableLockScreenQuickAffordancesPreferenceController" />
-
- <SwitchPreference
- android:key="lockscreen_double_line_clock_switch"
- android:title="@string/lockscreen_double_line_clock_setting_toggle"
- android:summary="@string/lockscreen_double_line_clock_summary"
- settings:controller="com.android.settings.display.LockscreenClockPreferenceController" />
</PreferenceCategory>
<PreferenceCategory
diff --git a/src/com/android/settings/display/LockscreenClockPreferenceController.java b/src/com/android/settings/display/LockscreenClockPreferenceController.java
deleted file mode 100644
index 70ae55eaf9..0000000000
--- a/src/com/android/settings/display/LockscreenClockPreferenceController.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.display;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
-
-/**
- * Preference to enable/disable the large double-line clock on lockscreen
- */
-public class LockscreenClockPreferenceController extends TogglePreferenceController {
-
- private static final String SETTING_KEY = Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK;
-
- public LockscreenClockPreferenceController(Context context, String preferenceKey) {
- super(context, preferenceKey);
- }
-
- @Override
- public boolean isChecked() {
- return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
- }
-
- @Override
- public boolean setChecked(boolean isChecked) {
- return Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY,
- isChecked ? 1 : 0);
- }
-
- @Override
- public CharSequence getSummary() {
- return mContext.getText(R.string.lockscreen_double_line_clock_summary);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return AVAILABLE;
- }
-
- @Override
- public void updateState(Preference preference) {
- super.updateState(preference);
- preference.setEnabled(true);
- refreshSummary(preference);
- }
-
- @Override
- public int getSliceHighlightMenuRes() {
- return R.string.menu_key_display;
- }
-}
diff --git a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
deleted file mode 100644
index 94f2dc6655..0000000000
--- a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.display;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class LockscreenClockPreferenceControllerTest {
-
- private static final String TEST_KEY = "test_key";
- private static final String SETTING_KEY = Settings.Secure.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK;
-
- private Context mContext;
- private ContentResolver mContentResolver;
- private LockscreenClockPreferenceController mController;
-
- @Mock
- private Preference mPreference;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mContentResolver = mContext.getContentResolver();
- mController = new LockscreenClockPreferenceController(mContext, TEST_KEY);
- }
-
- @Test
- public void isChecked_SettingIs1_returnTrue() {
- Settings.Secure.putInt(mContentResolver, SETTING_KEY, 1);
-
- assertThat(mController.isChecked()).isTrue();
- }
-
- @Test
- public void isChecked_SettingIs0_returnFalse() {
- Settings.Secure.putInt(mContentResolver, SETTING_KEY, 0);
-
- assertThat(mController.isChecked()).isFalse();
- }
-
- @Test
- public void isChecked_SettingIsNotSet_returnTrue() {
- Settings.Secure.putString(mContentResolver, SETTING_KEY, null);
-
- assertThat(mController.isChecked()).isTrue();
- }
-
- @Test
- public void setChecked_true_SettingIsNot0() {
- mController.setChecked(true);
-
- assertThat(Settings.Secure.getInt(mContentResolver, SETTING_KEY, 0)).isNotEqualTo(0);
- }
-
- @Test
- public void setChecked_false_SettingIs0() {
- mController.setChecked(false);
-
- assertThat(Settings.Secure.getInt(mContentResolver, SETTING_KEY, 0)).isEqualTo(0);
- }
-}
--
2.34.1

View File

@ -1,189 +0,0 @@
From b1e1d47aa6510c69b45112dcc59c83d3297b14a1 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 23 Nov 2023 23:21:58 +0800
Subject: [PATCH] SetupWizard: Least Action(s) Principle
Change-Id: I892634b8ffc7beafa5a223de0afdc64276efd2f5
---
res/raw/lineage_wizard_script.xml | 62 +------------------
.../lineage_wizard_script_managed_profile.xml | 22 +------
res/raw/lineage_wizard_script_user.xml | 39 +-----------
3 files changed, 3 insertions(+), 120 deletions(-)
diff --git a/res/raw/lineage_wizard_script.xml b/res/raw/lineage_wizard_script.xml
index af3df01..21cd2ef 100644
--- a/res/raw/lineage_wizard_script.xml
+++ b/res/raw/lineage_wizard_script.xml
@@ -5,13 +5,7 @@
SPDX-License-Identifier: Apache-2.0
-->
<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.google.android.setupwizard"
- wizard:firstAction="bluetooth_setup">
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_BLUETOOTH_SETUP;end"
- id="bluetooth_setup">
- <result wizard:action="welcome" />
- </WizardAction>
+ wizard:firstAction="welcome">
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
@@ -23,12 +17,6 @@
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCALE;end"
id="locale">
- <result wizard:action="sim_missing" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_SIM_MISSING;end"
- id="sim_missing">
<result wizard:action="network_setup" />
</WizardAction>
@@ -41,54 +29,6 @@
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_DATETIME;end"
id="datetime">
- <result wizard:action="restore" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_RESTORE_BACKUP;end"
- id="restore">
- <result wizard:action="location_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCATION_SETTINGS;end"
- id="location_settings">
- <result wizard:action="device_specific" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.DEVICE_SPECIFIC;end"
- id="device_specific">
- <result wizard:action="recovery_update" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_RECOVERY_UPDATE;end"
- id="recovery_update">
- <result wizard:action="lineage_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_SETTINGS;end"
- id="lineage_settings">
- <result wizard:action="biometric_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_BIOMETRIC_SETTINGS;end"
- id="biometric_settings">
- <result wizard:action="lockscreen_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCKSCREEN_SETTINGS;end"
- id="lockscreen_settings">
- <result wizard:action="navigation_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.NAVIGATION_SETTINGS;end"
- id="navigation_settings">
<result wizard:action="finish" />
</WizardAction>
diff --git a/res/raw/lineage_wizard_script_managed_profile.xml b/res/raw/lineage_wizard_script_managed_profile.xml
index 36f80c6..47e99c5 100644
--- a/res/raw/lineage_wizard_script_managed_profile.xml
+++ b/res/raw/lineage_wizard_script_managed_profile.xml
@@ -1,31 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2016 The CyanogenMod Project
- SPDX-FileCopyrightText: 2021 The Calyx Institute
SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.google.android.setupwizard"
- wizard:firstAction="welcome">
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
- id="welcome">
- <result wizard:name="skip" wizard:resultCode="1" />
- <result wizard:action="restore" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_RESTORE_BACKUP;end"
- id="restore">
- <result wizard:action="location_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCATION_SETTINGS;end"
- id="location_settings">
- <result wizard:action="finish" />
- </WizardAction>
+ wizard:firstAction="finish">
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_SETUP_COMPLETE;end"
diff --git a/res/raw/lineage_wizard_script_user.xml b/res/raw/lineage_wizard_script_user.xml
index 1522eda..47e99c5 100644
--- a/res/raw/lineage_wizard_script_user.xml
+++ b/res/raw/lineage_wizard_script_user.xml
@@ -5,44 +5,7 @@
SPDX-License-Identifier: Apache-2.0
-->
<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.google.android.setupwizard"
- wizard:firstAction="welcome">
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
- id="welcome">
- <result wizard:name="skip" wizard:resultCode="1" />
- <result wizard:action="restore" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_RESTORE_BACKUP;end"
- id="restore">
- <result wizard:action="location_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCATION_SETTINGS;end"
- id="location_settings">
- <result wizard:action="biometric_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_BIOMETRIC_SETTINGS;end"
- id="biometric_settings">
- <result wizard:action="lockscreen_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCKSCREEN_SETTINGS;end"
- id="lockscreen_settings">
- <result wizard:action="navigation_settings" />
- </WizardAction>
-
- <WizardAction
- wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.NAVIGATION_SETTINGS;end"
- id="navigation_settings">
- <result wizard:action="finish" />
- </WizardAction>
+ wizard:firstAction="finish">
<WizardAction
wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_SETUP_COMPLETE;end"
--
2.34.1

View File

@ -1,27 +0,0 @@
From f80b0972ed320771192feddfe0b0da27041e19f5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 20 Nov 2023 10:43:38 +0800
Subject: [PATCH] Keyguard: Default to small clock (3/3)
Change-Id: I7c11ec93df2135d19afbe30cd0c1c017c3901d4f
---
.../picker/clock/data/repository/ClockPickerRepositoryImpl.kt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
index 370668ef..ea7a5582 100644
--- a/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
+++ b/src/com/android/customization/picker/clock/data/repository/ClockPickerRepositoryImpl.kt
@@ -194,7 +194,7 @@ class ClockPickerRepositoryImpl(
// The color tone to apply to the selected color
private const val KEY_METADATA_COLOR_TONE_PROGRESS = "metadataColorToneProgress"
- // The default clock size is 1, which means dynamic
- private const val DEFAULT_CLOCK_SIZE = 1
+ // The default clock size is 0, which means small
+ private const val DEFAULT_CLOCK_SIZE = 0
}
}
--
2.34.1

View File

@ -1,33 +1,25 @@
From b33dc42de17c16c6b45eb1e9d8ad4d66a0ca455d Mon Sep 17 00:00:00 2001 From f32dde0ff88ec58029be1fe4a1b42b94ff1bdbab Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 28 Oct 2021 02:30:59 +0000 Date: Thu, 28 Oct 2021 02:30:59 +0000
Subject: [PATCH 1/3] Trebuchet: Make overview scrim transparent again Subject: [PATCH 1/2] Trebuchet: Make overview scrim transparent again
Also revert texts/buttons to workspace color Also revert texts/buttons to workspace color
Change-Id: I78c84865eb06b8e59c9c271cd2e267ae4cd7cc08 Change-Id: I78c84865eb06b8e59c9c271cd2e267ae4cd7cc08
--- ---
quickstep/res/values/styles.xml | 2 +- quickstep/res/values/styles.xml | 2 +-
.../android/quickstep/views/RecentsView.java | 2 +- quickstep/src/com/android/quickstep/views/RecentsView.java | 2 +-
res/color-v31/overview_scrim.xml | 18 ----------------- res/color-v31/overview_scrim.xml | 2 +-
res/color-v31/overview_scrim_dark.xml | 18 ----------------- res/color-v31/overview_scrim_dark.xml | 2 +-
res/color-v33/overview_scrim.xml | 20 -------------------
res/color-v33/overview_scrim_dark.xml | 20 -------------------
res/color/overview_button.xml | 6 +++--- res/color/overview_button.xml | 6 +++---
res/color/overview_scrim.xml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-)
res/color/overview_scrim_dark.xml | 2 +-
9 files changed, 7 insertions(+), 83 deletions(-)
delete mode 100644 res/color-v31/overview_scrim.xml
delete mode 100644 res/color-v31/overview_scrim_dark.xml
delete mode 100644 res/color-v33/overview_scrim.xml
delete mode 100644 res/color-v33/overview_scrim_dark.xml
diff --git a/quickstep/res/values/styles.xml b/quickstep/res/values/styles.xml diff --git a/quickstep/res/values/styles.xml b/quickstep/res/values/styles.xml
index 350c752c56..7129c9684a 100644 index 8eea37f6c2..623f60f81a 100644
--- a/quickstep/res/values/styles.xml --- a/quickstep/res/values/styles.xml
+++ b/quickstep/res/values/styles.xml +++ b/quickstep/res/values/styles.xml
@@ -227,7 +227,7 @@ @@ -176,7 +176,7 @@
<item name="android:paddingBottom">4dp</item> parent="@android:style/Widget.DeviceDefault.Button.Borderless">
<item name="android:textColor">@color/overview_button</item> <item name="android:textColor">@color/overview_button</item>
<item name="android:drawableTint">@color/overview_button</item> <item name="android:drawableTint">@color/overview_button</item>
- <item name="android:tint">?android:attr/textColorPrimary</item> - <item name="android:tint">?android:attr/textColorPrimary</item>
@ -36,10 +28,10 @@ index 350c752c56..7129c9684a 100644
<item name="android:textAllCaps">false</item> <item name="android:textAllCaps">false</item>
</style> </style>
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 646c726fa0..80f884b4a9 100644 index 9222e456e5..678c0dfd80 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java --- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -813,7 +813,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T @@ -783,7 +783,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
mEmptyIcon.setCallback(this); mEmptyIcon.setCallback(this);
mEmptyMessage = context.getText(R.string.recents_empty_message); mEmptyMessage = context.getText(R.string.recents_empty_message);
mEmptyMessagePaint = new TextPaint(); mEmptyMessagePaint = new TextPaint();
@ -49,146 +41,46 @@ index 646c726fa0..80f884b4a9 100644
.getDimension(R.dimen.recents_empty_message_text_size)); .getDimension(R.dimen.recents_empty_message_text_size));
mEmptyMessagePaint.setTypeface(Typeface.create(Themes.getDefaultBodyFont(context), mEmptyMessagePaint.setTypeface(Typeface.create(Themes.getDefaultBodyFont(context),
diff --git a/res/color-v31/overview_scrim.xml b/res/color-v31/overview_scrim.xml diff --git a/res/color-v31/overview_scrim.xml b/res/color-v31/overview_scrim.xml
deleted file mode 100644 index 212518ff65..894997c59a 100644
index 212518ff65..0000000000
--- a/res/color-v31/overview_scrim.xml --- a/res/color-v31/overview_scrim.xml
+++ /dev/null +++ b/res/color-v31/overview_scrim.xml
@@ -1,18 +0,0 @@ @@ -14,5 +14,5 @@
-<?xml version="1.0" encoding="utf-8"?> limitations under the License.
-<!-- Copyright (C) 2021 The Android Open Source Project -->
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="@android:color/system_neutral2_200" /> - <item android:color="@android:color/system_neutral2_200" />
-</selector> + <item android:color="@android:color/transparent" />
</selector>
diff --git a/res/color-v31/overview_scrim_dark.xml b/res/color-v31/overview_scrim_dark.xml diff --git a/res/color-v31/overview_scrim_dark.xml b/res/color-v31/overview_scrim_dark.xml
deleted file mode 100644 index 2ab8ecdec9..894997c59a 100644
index 2ab8ecdec9..0000000000
--- a/res/color-v31/overview_scrim_dark.xml --- a/res/color-v31/overview_scrim_dark.xml
+++ /dev/null +++ b/res/color-v31/overview_scrim_dark.xml
@@ -1,18 +0,0 @@ @@ -14,5 +14,5 @@
-<?xml version="1.0" encoding="utf-8"?> limitations under the License.
-<!-- Copyright (C) 2021 The Android Open Source Project -->
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="@android:color/system_neutral1_500" android:lStar="35" /> - <item android:color="@android:color/system_neutral1_500" android:lStar="35" />
-</selector> + <item android:color="@android:color/transparent" />
diff --git a/res/color-v33/overview_scrim.xml b/res/color-v33/overview_scrim.xml </selector>
deleted file mode 100644
index b9cda980b7..0000000000
--- a/res/color-v33/overview_scrim.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:color="@android:color/system_neutral2_500"
- android:lStar="80"/>
-</selector>
diff --git a/res/color-v33/overview_scrim_dark.xml b/res/color-v33/overview_scrim_dark.xml
deleted file mode 100644
index 84d22e6515..0000000000
--- a/res/color-v33/overview_scrim_dark.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:color="@android:color/system_neutral2_500"
- android:lStar="35"/>
-</selector>
diff --git a/res/color/overview_button.xml b/res/color/overview_button.xml diff --git a/res/color/overview_button.xml b/res/color/overview_button.xml
index 1dd8da60c7..8868ad7349 100644 index aa48b78604..e638ac2d4a 100644
--- a/res/color/overview_button.xml --- a/res/color/overview_button.xml
+++ b/res/color/overview_button.xml +++ b/res/color/overview_button.xml
@@ -3,10 +3,10 @@ @@ -2,10 +2,10 @@
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item <item
android:alpha="1" android:alpha="1"
- android:color="?androidprv:attr/materialColorOnSurface" - android:color="?android:attr/textColorPrimary"
+ android:color="?attr/workspaceTextColor" + android:color="?attr/workspaceTextColor"
android:state_enabled="true" /> android:state_enabled="true" />
<item <item
android:alpha="?android:disabledAlpha" android:alpha="?android:disabledAlpha"
- android:color="?androidprv:attr/materialColorOnSurface" - android:color="?android:attr/textColorPrimary"
+ android:color="?attr/workspaceTextColor" + android:color="?attr/workspaceTextColor"
android:state_enabled="false" /> android:state_enabled="false" />
-</selector> -</selector>
\ No newline at end of file \ No newline at end of file
+</selector> +</selector>
diff --git a/res/color/overview_scrim.xml b/res/color/overview_scrim.xml
index 48cf5763a1..894997c59a 100644
--- a/res/color/overview_scrim.xml
+++ b/res/color/overview_scrim.xml
@@ -14,5 +14,5 @@
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#30000000" />
+ <item android:color="@android:color/transparent" />
</selector>
diff --git a/res/color/overview_scrim_dark.xml b/res/color/overview_scrim_dark.xml
index 48cf5763a1..894997c59a 100644
--- a/res/color/overview_scrim_dark.xml
+++ b/res/color/overview_scrim_dark.xml
@@ -14,5 +14,5 @@
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="#30000000" />
+ <item android:color="@android:color/transparent" />
</selector>
-- --
2.34.1 2.34.1

View File

@ -1,22 +1,22 @@
From c30884fb18fcfe440cbaaaffd441f9164027511c Mon Sep 17 00:00:00 2001 From c04fae6b45b624a39d684c4b6cf02440a3fe83b5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Fri, 18 Mar 2022 08:42:18 +0000 Date: Fri, 18 Mar 2022 08:42:18 +0000
Subject: [PATCH 2/3] Trebuchet: Kill haptics in recents Subject: [PATCH 2/2] Trebuchet: Kill haptics in recents
This partially reverts commit cc5c8843dfebfa92057b6ce8904ac58cd05ffaef. This partially reverts commit cc5c8843dfebfa92057b6ce8904ac58cd05ffaef.
Change-Id: Ie3b0eabe8cc0421e696720740edc492cae2f5153 Change-Id: Ie3b0eabe8cc0421e696720740edc492cae2f5153
--- ---
.../NoButtonQuickSwitchTouchController.java | 9 +-------- .../NoButtonQuickSwitchTouchController.java | 8 --------
.../TaskViewTouchController.java | 5 ----- .../TaskViewTouchController.java | 5 -----
.../android/quickstep/views/RecentsView.java | 19 ------------------- .../android/quickstep/views/RecentsView.java | 19 -------------------
3 files changed, 1 insertion(+), 32 deletions(-) 3 files changed, 32 deletions(-)
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
index 3a1c42dc89..0e0397be39 100644 index 847114a960..eef4be2964 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
@@ -441,14 +441,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController, @@ -419,14 +419,6 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
nonOverviewAnim.setFloatValues(startProgress, endProgress); nonOverviewAnim.setFloatValues(startProgress, endProgress);
mNonOverviewAnim.dispatchOnStart(); mNonOverviewAnim.dispatchOnStart();
} }
@ -27,32 +27,31 @@ index 3a1c42dc89..0e0397be39 100644
- RecentsView.SCROLL_VIBRATION_PRIMITIVE, - RecentsView.SCROLL_VIBRATION_PRIMITIVE,
- RecentsView.SCROLL_VIBRATION_PRIMITIVE_SCALE, - RecentsView.SCROLL_VIBRATION_PRIMITIVE_SCALE,
- RecentsView.SCROLL_VIBRATION_FALLBACK); - RecentsView.SCROLL_VIBRATION_FALLBACK);
- } else { - }
+ if (targetState != QUICK_SWITCH_FROM_HOME) {
InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
}
nonOverviewAnim.setDuration(Math.max(xDuration, yDuration));
mNonOverviewAnim.setEndAction(() -> onAnimationToStateCompleted(targetState));
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
index e9f2d4f019..5487414660 100644 index eddc50c64f..09f253b08d 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
@@ -374,11 +374,6 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity> @@ -369,11 +369,6 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity>
mCurrentAnimation.setEndAction(this::clearState); mCurrentAnimation.startWithVelocity(mActivity, goingToEnd,
mCurrentAnimation.startWithVelocity(mActivity, goingToEnd, Math.abs(velocity), velocity * orientationHandler.getSecondaryTranslationDirectionFactor(),
mEndDisplacement, animationDuration); mEndDisplacement, animationDuration);
- if (goingUp && goingToEnd && !mIsDismissHapticRunning) { - if (goingUp && goingToEnd && !mIsDismissHapticRunning) {
- VibratorWrapper.INSTANCE.get(mActivity).vibrate(TASK_DISMISS_VIBRATION_PRIMITIVE, - VibratorWrapper.INSTANCE.get(mActivity).vibrate(TASK_DISMISS_VIBRATION_PRIMITIVE,
- TASK_DISMISS_VIBRATION_PRIMITIVE_SCALE, TASK_DISMISS_VIBRATION_FALLBACK); - TASK_DISMISS_VIBRATION_PRIMITIVE_SCALE, TASK_DISMISS_VIBRATION_FALLBACK);
- mIsDismissHapticRunning = true; - mIsDismissHapticRunning = true;
- } - }
mDraggingEnabled = true;
} }
private void clearState() {
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 80f884b4a9..8dc8c20ff7 100644 index 678c0dfd80..8e75a7c18d 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java --- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -1604,25 +1604,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T @@ -1466,25 +1466,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
} }
} }

View File

@ -1,34 +0,0 @@
From 6e812922a39bb8c279a7935d03141e34bf54c052 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 20 Nov 2023 14:09:32 +0800
Subject: [PATCH 3/3] Trebuchet: Kill inverted rounded corners above the
taskbar
Again, where rectangles collide should be perfectly straight
Change-Id: Ibf03a84cb8f3866b5151b02fe8a0e74167cf90ce
---
.../android/launcher3/taskbar/TaskbarBackgroundRenderer.kt | 7 -------
1 file changed, 7 deletions(-)
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
index e290c3fa3d..a3e4e1835e 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
@@ -158,13 +158,6 @@ class TaskbarBackgroundRenderer(private val context: TaskbarActivityContext) {
// Draw the background behind taskbar content.
canvas.drawRect(0f, 0f, canvas.width.toFloat(), persistentTaskbarHeight, paint)
}
-
- // Draw the inverted rounded corners above the taskbar.
- canvas.translate(0f, -leftCornerRadius)
- canvas.drawPath(invertedLeftCornerPath, paint)
- canvas.translate(0f, leftCornerRadius)
- canvas.translate(canvas.width - rightCornerRadius, -rightCornerRadius)
- canvas.drawPath(invertedRightCornerPath, paint)
}
private fun drawTransientBackground(canvas: Canvas) {
--
2.34.1

Some files were not shown because too many files have changed in this diff Show More