Changes for December 2022

This commit is contained in:
Andy CrossGate Yan 2022-12-17 01:57:54 +00:00
parent d14628eeee
commit b271de008b
41 changed files with 730 additions and 263 deletions

View File

@ -1,7 +1,7 @@
From b94084cca9202c12ea41de9f6f23785c818a64c0 Mon Sep 17 00:00:00 2001
From ae74e74a16845c786042581f0fae8c8685ee5be7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 13 Jan 2022 14:22:24 +0000
Subject: [PATCH 01/12] Add SPenPointerOverlay
Subject: [PATCH 01/14] Add SPenPointerOverlay
Toggle this overlay with property "persist.ui.spen.pointer"

View File

@ -0,0 +1,76 @@
From 4e591984e8f533e0ad305caf8aa03c60cd9314d0 Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Fri, 22 Mar 2019 00:41:20 +0800
Subject: [PATCH 02/14] Disable FP lockouts optionally
Both timed and permanent lockouts - GET THE FUCK OUT
Now targeting LockoutFramework, introduced in Android 12
Now controlled by property "persist.sys.fp.lockouts.disable"
Change-Id: I2d4b091f3546d4d7903bfb4d5585629212dc9915
---
.../hidl/LockoutFrameworkImpl.java | 28 +++++++++++--------
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
index a0befea8e085..48c4ded9f5ca 100644
--- 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
@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.SystemClock;
+import android.os.SystemProperties;
import android.util.Slog;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
@@ -44,6 +45,7 @@ public class LockoutFrameworkImpl implements LockoutTracker {
private static final int MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT = 20;
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 DISABLE_FP_LOCKOUTS_PROPERTY = "persist.sys.fp.lockouts.disable";
private final class LockoutReceiver extends BroadcastReceiver {
@Override
@@ -101,23 +103,27 @@ public class LockoutFrameworkImpl implements LockoutTracker {
}
void addFailedAttemptForUser(int userId) {
- mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1);
- mTimedLockoutCleared.put(userId, false);
+ if (!SystemProperties.getBoolean(DISABLE_FP_LOCKOUTS_PROPERTY, false)) {
+ mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1);
+ mTimedLockoutCleared.put(userId, false);
- if (getLockoutModeForUser(userId) != LOCKOUT_NONE) {
- scheduleLockoutResetForUser(userId);
+ if (getLockoutModeForUser(userId) != LOCKOUT_NONE) {
+ scheduleLockoutResetForUser(userId);
+ }
}
}
@Override
public @LockoutMode int getLockoutModeForUser(int userId) {
- final int failedAttempts = mFailedAttempts.get(userId, 0);
- if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) {
- return LOCKOUT_PERMANENT;
- } else if (failedAttempts > 0
- && !mTimedLockoutCleared.get(userId, false)
- && (failedAttempts % MAX_FAILED_ATTEMPTS_LOCKOUT_TIMED == 0)) {
- return LOCKOUT_TIMED;
+ if (!SystemProperties.getBoolean(DISABLE_FP_LOCKOUTS_PROPERTY, false)) {
+ final int failedAttempts = mFailedAttempts.get(userId, 0);
+ if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) {
+ return LOCKOUT_PERMANENT;
+ } else if (failedAttempts > 0
+ && !mTimedLockoutCleared.get(userId, false)
+ && (failedAttempts % MAX_FAILED_ATTEMPTS_LOCKOUT_TIMED == 0)) {
+ return LOCKOUT_TIMED;
+ }
}
return LOCKOUT_NONE;
}
--
2.25.1

View File

@ -1,7 +1,7 @@
From 5d4c54f6956862135a6066f4c0e322690145cce8 Mon Sep 17 00:00:00 2001
From 3b4a0dc39f8d03ddac9c45fd3e7fc4577334a645 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 5 Apr 2018 10:01:19 +0800
Subject: [PATCH 02/12] Disable vendor mismatch warning
Subject: [PATCH 03/14] Disable vendor mismatch warning
Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
---
@ -9,10 +9,10 @@ Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
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
index 43b66d181326..1f0d60cf3a38 100644
index 01490f029e97..6199267cac0b 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -5696,20 +5696,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
@@ -5856,20 +5856,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
if (!Build.isBuildConsistent()) {

View File

@ -1,7 +1,7 @@
From 4dc4d1ec5be6658812b82c09d745975674707572 Mon Sep 17 00:00:00 2001
From becd4bf809789b1d0d53956539d3d452e9f20e5a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 16 Oct 2021 02:23:48 +0000
Subject: [PATCH 03/12] UI: Adjust default navbar layouts
Subject: [PATCH 04/14] UI: Adjust default navbar layouts
- Slightly tighten nodpi layout
- 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>
-</resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index ba31e7f1f1d1..c4625e7e784d 100644
index d7d88cea2dbc..8a2b88d3cf9a 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -307,7 +307,7 @@
@@ -301,7 +301,7 @@
</string-array>
<!-- Nav bar button default ordering/layout -->

View File

@ -1,7 +1,7 @@
From 06c01a490bf6379a8f9d8e4e8499add7a4ea2cbc Mon Sep 17 00:00:00 2001
From 1d9cba70b8a820933b6e54afef69a72e7e1ab85e Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 10 Jan 2021 11:44:29 +0000
Subject: [PATCH 04/12] UI: Disable wallpaper zoom
Subject: [PATCH 05/14] UI: Disable wallpaper zoom
It does little more than inducing motion sickness
@ -11,10 +11,10 @@ Change-Id: I78cc5484930b27f172cd8d8a5bd9042dce3478d0
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 34b5589bf81f..be2dbc3cd5dc 100644
index 659d0f37bf05..272df37188bf 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -5029,7 +5029,7 @@
@@ -5104,7 +5104,7 @@
<item name="config_wallpaperMinScale" format="float" type="dimen">1</item>
<!-- The max scale for the wallpaper when it's zoomed in -->

View File

@ -1,7 +1,7 @@
From 202ed6730a9b3182c33ef3d5169ff026ab269a2a Mon Sep 17 00:00:00 2001
From 4c3587987591a1c4545322b0855ea138e7fd26ce Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 25 Sep 2022 02:20:52 +0000
Subject: [PATCH 05/12] UI: Follow Monet and light/dark theme in user 1 icon
Subject: [PATCH 06/14] UI: Follow Monet and light/dark theme in user 1 icon
Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8
---
@ -10,7 +10,7 @@ Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8
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
index 33c9b95c5819..f3531caa47d9 100644
index ffaccd3ddc57..e2a955b89c77 100644
--- a/core/res/res/values-night/colors.xml
+++ b/core/res/res/values-night/colors.xml
@@ -33,6 +33,7 @@
@ -22,7 +22,7 @@ index 33c9b95c5819..f3531caa47d9 100644
<color name="user_icon_6">#ff4ecde6</color><!-- cyan -->
<color name="user_icon_7">#fffbbc04</color><!-- yellow -->
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index b515abc4000f..87a4bb9da02b 100644
index d5875f547e91..c7711ed3e493 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -174,7 +174,7 @@

View File

@ -1,7 +1,7 @@
From 448d7cb6f0689082ec63820f72e8ef221154fcfd Mon Sep 17 00:00:00 2001
From cd200004d3b59dcb33187a3228a4bdab6b16619b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 3 Jun 2020 01:31:34 +0000
Subject: [PATCH 06/12] UI: Increase default status bar height
Subject: [PATCH 07/14] UI: Increase default status bar height
Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
---
@ -9,7 +9,7 @@ Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index b754100a3ed6..1851b42c0f3b 100644
index 2542268a153a..099a6badc034 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -41,7 +41,7 @@

View File

@ -1,25 +1,32 @@
From 057673be164d2bc9cefbe2161bb8293909e72ae6 Mon Sep 17 00:00:00 2001
From 6bc225de6c671c50ed045eef9575b0aa2ab5835f 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 07/12] UI: Remove QS footer background
Subject: [PATCH 08/14] UI: Remove QS footer background
Change-Id: I68e82e0c5e3eddb2d3f767fe792b1436eae506ef
---
packages/SystemUI/res-keyguard/layout/footer_actions.xml | 1 -
1 file changed, 1 deletion(-)
packages/SystemUI/res-keyguard/layout/footer_actions.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/packages/SystemUI/res-keyguard/layout/footer_actions.xml b/packages/SystemUI/res-keyguard/layout/footer_actions.xml
index 876f275ab042..497181d9ee03 100644
index a101c64a48e0..028ab29b8643 100644
--- a/packages/SystemUI/res-keyguard/layout/footer_actions.xml
+++ b/packages/SystemUI/res-keyguard/layout/footer_actions.xml
@@ -24,7 +24,6 @@
@@ -25,7 +25,6 @@
android:elevation="@dimen/qs_panel_elevation"
android:paddingTop="8dp"
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"
android:gravity="center_vertical|end"
android:layout_gravity="bottom"
>
@@ -98,4 +97,4 @@
android:tint="?androidprv:attr/textColorPrimaryInverse" />
</LinearLayout>
-</com.android.systemui.qs.FooterActionsView>
\ No newline at end of file
+</com.android.systemui.qs.FooterActionsView>
--
2.25.1

View File

@ -1,7 +1,7 @@
From e5ac2b04e10ce9b900e9a3ca0c1c609a26e4aaee Mon Sep 17 00:00:00 2001
From b421fc2bb853966ede836e09203718dfc8d0cb56 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 08/12] UI: Restore split-screen divider to pre-Sv2 looks
Subject: [PATCH 09/14] 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
@ -26,10 +26,10 @@ index 049980803ee3..cd54ac26a7fd 100644
+ <item android:color="@android:color/black" />
+</selector>
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 c94455d9151a..5eedb1fdb824 100644
index 419e62daf586..229844e42a49 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
@@ -138,20 +138,7 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
@@ -152,20 +152,7 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
}
private int getDividerInsets(Resources resources, Display display) {

View File

@ -1,7 +1,7 @@
From d9518a3ec3b88c36f16d8a7417d1d2c29bec25fc Mon Sep 17 00:00:00 2001
From 03ed62fb9ce9ce4da4f666f24a9c9c65cc5b9c03 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 6 Oct 2020 01:41:16 +0000
Subject: [PATCH 09/12] UI: Revive navbar layout tuning via sysui_nav_bar
Subject: [PATCH 10/14] UI: Revive navbar layout tuning via sysui_nav_bar
tunable
Google keeps fixing what ain't broken.

View File

@ -1,7 +1,7 @@
From 1556f8d5c97d6fdec1099d6c587a2cac128d4f97 Mon Sep 17 00:00:00 2001
From 69581c7e2ab9106877b8c8951244c63c14ea97e4 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 26 Apr 2020 08:56:13 +0000
Subject: [PATCH 10/12] UI: Use SNAP_FIXED_RATIO for multi-window globally
Subject: [PATCH 11/14] UI: Use SNAP_FIXED_RATIO for multi-window globally
Enables multiple snap targets under landscape for phone UI
@ -40,7 +40,7 @@ index 7308dc5882c1..000000000000
-</resources>
\ No newline at end of file
diff --git a/core/res/res/values-sw600dp/config.xml b/core/res/res/values-sw600dp/config.xml
index d686dd2ea690..03dcf51846dd 100644
index 34b6a54be493..3921c9edfeac 100644
--- a/core/res/res/values-sw600dp/config.xml
+++ b/core/res/res/values-sw600dp/config.xml
@@ -3,16 +3,16 @@
@ -78,10 +78,10 @@ index d686dd2ea690..03dcf51846dd 100644
Only applies if the device display is not square. -->
<bool name="config_navBarCanMove">false</bool>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index be2dbc3cd5dc..c62cce393ff0 100644
index 272df37188bf..58cd819b9404 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -3726,7 +3726,7 @@
@@ -3790,7 +3790,7 @@
1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio)
2 - 1 snap target: 1:1
-->

View File

@ -1,7 +1,7 @@
From f7e374407e133b9c53ecfbc9a5dc99a1460b6eb0 Mon Sep 17 00:00:00 2001
From 5dd8363ed108cb2443fad9e7cd25a3ad54e020b9 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 3 Nov 2020 22:43:12 -0800
Subject: [PATCH 11/12] core: Remove old app target SDK dialog
Subject: [PATCH 12/14] core: Remove old app target SDK dialog
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

View File

@ -1,7 +1,7 @@
From 1e6d2e5f957d1a0f497248d1673d9ecaa1a676a3 Mon Sep 17 00:00:00 2001
From 84e2133ee773923f221a9b9754e4b1ce6bcf5e1a Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 5 Oct 2021 21:01:50 -0700
Subject: [PATCH 12/12] Paint: Enable subpixel text positioning by default
Subject: [PATCH 13/14] Paint: Enable subpixel text positioning by default
On desktop Linux, subpixel text positioning is necessary to avoid
kerning issues, and Android is no different. Even though most phone

View File

@ -0,0 +1,163 @@
From 8fc6fb99d86c4e4887d49d7bbff571b50b76c73f 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/14] 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 c8a43db2f9c2..277183036c60 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 1b90803404f7..d1cb6c3241f2 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -3542,6 +3542,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 5763345aba4d..8ffdbdd6f15b 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -974,6 +974,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.25.1

View File

@ -1,4 +1,4 @@
From ff8f6e85177a0bab9c27785c3c0d9a59c4952e49 Mon Sep 17 00:00:00 2001
From d8f9f479012d522aed7377e5996cf7a5265ea268 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
@ -73,10 +73,10 @@ index 0fda0bf8d4..9a6f5ae062 100644
\ 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 77db6b79f4..c0b6771e6a 100644
index 223eba5b95..75f8baed6b 100644
--- a/quickstep/src/com/android/quickstep/fallback/RecentsState.java
+++ b/quickstep/src/com/android/quickstep/fallback/RecentsState.java
@@ -102,7 +102,7 @@ public class RecentsState implements BaseState<RecentsState> {
@@ -105,7 +105,7 @@ public class RecentsState implements BaseState<RecentsState> {
* For this state, whether clear all button should be shown.
*/
public boolean hasClearAllButton() {
@ -86,10 +86,10 @@ index 77db6b79f4..c0b6771e6a 100644
/**
diff --git a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
index 306ebd73c8..5b2f544c02 100644
index bb8506d26f..e8c18f1d45 100644
--- a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
@@ -133,8 +133,7 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun
@@ -143,8 +143,7 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher
super.setOverviewStateEnabled(enabled);
if (enabled) {
LauncherState state = mActivity.getStateManager().getState();
@ -100,10 +100,10 @@ index 306ebd73c8..5b2f544c02 100644
}
}
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 2360396cf7..4a4202ecc6 100644
index 7ad0e48ccb..e888aa2c74 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -103,6 +103,7 @@ import android.view.ViewTreeObserver.OnScrollChangedListener;
@@ -110,6 +110,7 @@ import android.view.ViewTreeObserver.OnScrollChangedListener;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.Interpolator;
@ -111,7 +111,7 @@ index 2360396cf7..4a4202ecc6 100644
import android.widget.ListView;
import android.widget.OverScroller;
import android.widget.Toast;
@@ -431,6 +432,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
@@ -464,6 +465,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
private final RecentsModel mModel;
private final int mSplitPlaceholderSize;
private final int mSplitPlaceholderInset;
@ -119,7 +119,7 @@ index 2360396cf7..4a4202ecc6 100644
private final ClearAllButton mClearAllButton;
private final Rect mClearAllButtonDeadZoneRect = new Rect();
private final Rect mTaskViewDeadZoneRect = new Rect();
@@ -875,6 +877,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
@@ -911,6 +913,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
mActionsView = actionsView;
mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, getTaskViewCount() == 0);
mSplitSelectStateController = splitController;
@ -127,8 +127,8 @@ index 2360396cf7..4a4202ecc6 100644
+ mActionClearAllButton.setOnClickListener(this::dismissAllTasks);
}
public SplitSelectStateController getSplitPlaceholder() {
@@ -1194,7 +1198,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
public SplitSelectStateController getSplitSelectController() {
@@ -1230,7 +1234,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
* button fully visible, center page is Clear All button.
*/
public boolean isClearAllHidden() {

View File

@ -1,7 +1,7 @@
From 813967892cb708d48b42552941743487d820d52d Mon Sep 17 00:00:00 2001
From 3098f128184cbbc1e46f4a9990c95276593f9d4c 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 01/21] Add MiuiNavbarOverlay
Subject: [PATCH 01/20] Add MiuiNavbarOverlay
Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
---

View File

@ -1,7 +1,7 @@
From aa14e5441dbe507174a4c71e05c8d45bd3bb6fe3 Mon Sep 17 00:00:00 2001
From c725d2e1707392ad83ddc841f32209d2fd983777 Mon Sep 17 00:00:00 2001
From: Hikari-no-Tenshi <kyryljan.serhij@gmail.com>
Date: Thu, 30 Jan 2020 22:20:54 +0200
Subject: [PATCH 02/21] Disable Bluetooth by default
Subject: [PATCH 02/20] Disable Bluetooth by default
Change-Id: Iea5d24f977928bf01cd7a46b98c75c0a4bd6a23c
---

View File

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

View File

@ -1,47 +0,0 @@
From 6ac4efcca60eedf745d66a9bb4fb0cec2bb1623a Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Fri, 22 Mar 2019 00:41:20 +0800
Subject: [PATCH 04/21] Disable FP lockouts
Both timed and permanent lockouts - GET THE FUCK OUT
Now targeting LockoutFramework, introduced in Android 12
Change-Id: I2d4b091f3546d4d7903bfb4d5585629212dc9915
---
.../fingerprint/hidl/LockoutFrameworkImpl.java | 17 +----------------
1 file changed, 1 insertion(+), 16 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
index a0befea8e085..325e1fcecc2b 100644
--- 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
@@ -100,25 +100,10 @@ public class LockoutFrameworkImpl implements LockoutTracker {
mLockoutResetCallback.onLockoutReset(userId);
}
- void addFailedAttemptForUser(int userId) {
- mFailedAttempts.put(userId, mFailedAttempts.get(userId, 0) + 1);
- mTimedLockoutCleared.put(userId, false);
-
- if (getLockoutModeForUser(userId) != LOCKOUT_NONE) {
- scheduleLockoutResetForUser(userId);
- }
- }
+ void addFailedAttemptForUser(int userId) {}
@Override
public @LockoutMode int getLockoutModeForUser(int userId) {
- final int failedAttempts = mFailedAttempts.get(userId, 0);
- if (failedAttempts >= MAX_FAILED_ATTEMPTS_LOCKOUT_PERMANENT) {
- return LOCKOUT_PERMANENT;
- } else if (failedAttempts > 0
- && !mTimedLockoutCleared.get(userId, false)
- && (failedAttempts % MAX_FAILED_ATTEMPTS_LOCKOUT_TIMED == 0)) {
- return LOCKOUT_TIMED;
- }
return LOCKOUT_NONE;
}
--
2.25.1

View File

@ -1,7 +1,7 @@
From 866ff474c40b43fa97d684a4776ab4a342ef02e0 Mon Sep 17 00:00:00 2001
From 353e9dabe0c53561aad7d65dffffce5006f91323 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 3 Jul 2022 00:08:42 +0000
Subject: [PATCH 05/21] Disable "RESTRICTED bucket" toast
Subject: [PATCH 04/20] Disable "RESTRICTED bucket" toast
Change-Id: I20a328d3c77962f3a6095bfca42d0b165a093ce8
---
@ -9,10 +9,10 @@ Change-Id: I20a328d3c77962f3a6095bfca42d0b165a093ce8
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
index 9e3e3553c125..ec43489d70e4 100644
index 5d9f3357125a..49d3c8de7b80 100644
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
@@ -1738,25 +1738,7 @@ public class AppStandbyController
@@ -1759,25 +1759,7 @@ public class AppStandbyController
.noteRestrictionAttempt(packageName, userId, elapsedRealtime, reason);
if (isForcedByUser) {

View File

@ -1,50 +1,25 @@
From cc238348eba9c2223ee7e423612a513c70aa12e6 Mon Sep 17 00:00:00 2001
From 759236e336d30ddc96f0fa859daf894c0d543fd7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 2 Sep 2021 16:15:19 +0000
Subject: [PATCH 06/21] Keyguard: Adjust clock style
Subject: [PATCH 05/20] Keyguard: Adjust clock style
Thinner font, less padding and unintrusive colors
Change-Id: I21e5d5bf37d724e75ebce4cd89349e0cc4dfc910
---
.../SystemUI/res-keyguard/layout/keyguard_clock_switch.xml | 7 ++++---
.../SystemUI/res-keyguard/layout/keyguard_slice_view.xml | 2 +-
packages/SystemUI/res-keyguard/values/dimens.xml | 6 +++---
packages/SystemUI/res-keyguard/values/styles.xml | 2 --
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
packages/SystemUI/res/values/styles.xml | 4 ++--
.../src/com/android/keyguard/AnimatableClockView.kt | 2 +-
7 files changed, 12 insertions(+), 13 deletions(-)
.../SystemUI/res-keyguard/layout/keyguard_slice_view.xml | 2 +-
packages/SystemUI/res-keyguard/values/dimens.xml | 6 +++---
packages/SystemUI/res-keyguard/values/styles.xml | 2 --
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
packages/SystemUI/res/values/styles.xml | 4 ++--
packages/SystemUI/shared/res/layout/clock_default_large.xml | 1 +
packages/SystemUI/shared/res/layout/clock_default_small.xml | 2 +-
packages/SystemUI/shared/res/values/colors.xml | 5 +++++
.../android/systemui/shared/clocks/AnimatableClockView.kt | 2 +-
.../android/systemui/shared/clocks/DefaultClockProvider.kt | 4 ++--
10 files changed, 17 insertions(+), 13 deletions(-)
create mode 100644 packages/SystemUI/shared/res/values/colors.xml
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
index 87a9825af1cb..93e827ac540e 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_clock_switch.xml
@@ -38,10 +38,10 @@
android:layout_gravity="start"
android:gravity="start"
android:textSize="@dimen/clock_text_size"
- android:fontFamily="@font/clock"
+ android:fontFamily="sans-serif-thin"
android:elegantTextHeight="false"
android:singleLine="true"
- android:fontFeatureSettings="pnum"
+ android:fontFeatureSettings="tnum"
chargeAnimationDelay="350"
dozeWeight="200"
lockScreenWeight="400"
@@ -60,9 +60,10 @@
android:layout_gravity="center"
android:gravity="center_horizontal"
android:textSize="@dimen/large_clock_text_size"
- android:fontFamily="@font/clock"
+ android:fontFamily="sans-serif-thin"
android:typeface="monospace"
android:elegantTextHeight="false"
+ android:fontFeatureSettings="tnum"
chargeAnimationDelay="200"
dozeWeight="200"
lockScreenWeight="400"
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
--- a/packages/SystemUI/res-keyguard/layout/keyguard_slice_view.xml
@ -59,7 +34,7 @@ index 7c5dbc247428..64657547621f 100644
/>
</com.android.keyguard.KeyguardSliceView>
diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml
index 77f1803523a8..ed0bca225550 100644
index 46f6ab2399d1..6fce16ced94f 100644
--- a/packages/SystemUI/res-keyguard/values/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values/dimens.xml
@@ -91,10 +91,10 @@
@ -77,7 +52,7 @@ index 77f1803523a8..ed0bca225550 100644
<!-- 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
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
index 625ffd3aa3ec..0f7d931f4fdc 100644
index a1d12668d27a..955e24e01a9a 100644
--- a/packages/SystemUI/res-keyguard/values/styles.xml
+++ b/packages/SystemUI/res-keyguard/values/styles.xml
@@ -117,8 +117,6 @@
@ -90,10 +65,10 @@ index 625ffd3aa3ec..0f7d931f4fdc 100644
<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
index e47eed9ea04a..fe4f0a6e1104 100644
index d27fa192e741..2480d0189e16 100644
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -92,7 +92,7 @@
@@ -91,7 +91,7 @@
android:gravity="center_vertical"
android:ellipsize="marquee"
android:textDirection="locale"
@ -103,10 +78,10 @@ index e47eed9ea04a..fe4f0a6e1104 100644
android:singleLine="true"
systemui:showMissingSim="true"
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 4d8e3529c5b5..15e3738f2a86 100644
index a10878709364..78fd8ab3b324 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -296,7 +296,7 @@
@@ -276,7 +276,7 @@
<item name="darkIconTheme">@style/DualToneDarkTheme</item>
<item name="wallpaperTextColor">@*android:color/primary_text_material_dark</item>
<item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_dark</item>
@ -115,7 +90,7 @@ index 4d8e3529c5b5..15e3738f2a86 100644
<item name="android:colorError">@*android:color/error_color_material_dark</item>
<item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
<item name="passwordStyle">@style/PasswordTheme</item>
@@ -312,7 +312,7 @@
@@ -292,7 +292,7 @@
<style name="Theme.SystemUI.LightWallpaper">
<item name="wallpaperTextColor">@*android:color/primary_text_material_light</item>
<item name="wallpaperTextColorSecondary">@*android:color/secondary_text_material_light</item>
@ -124,19 +99,71 @@ index 4d8e3529c5b5..15e3738f2a86 100644
<item name="android:colorError">@*android:color/error_color_material_light</item>
<item name="shadowRadius">0</item>
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
index e22386e78359..a4154c2bcd8e 100644
--- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
+++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.kt
@@ -126,7 +126,7 @@ class AnimatableClockView @JvmOverloads constructor(
diff --git a/packages/SystemUI/shared/res/layout/clock_default_large.xml b/packages/SystemUI/shared/res/layout/clock_default_large.xml
index 0139d50dcfba..9f5ca7b89213 100644
--- a/packages/SystemUI/shared/res/layout/clock_default_large.xml
+++ b/packages/SystemUI/shared/res/layout/clock_default_large.xml
@@ -26,6 +26,7 @@
android:fontFamily="@*android:string/config_clockFontFamily"
android:typeface="monospace"
android:elegantTextHeight="false"
+ android:fontFeatureSettings="tnum"
chargeAnimationDelay="200"
dozeWeight="200"
lockScreenWeight="400" />
diff --git a/packages/SystemUI/shared/res/layout/clock_default_small.xml b/packages/SystemUI/shared/res/layout/clock_default_small.xml
index ff6d7f9e2240..b63ffce20671 100644
--- a/packages/SystemUI/shared/res/layout/clock_default_small.xml
+++ b/packages/SystemUI/shared/res/layout/clock_default_small.xml
@@ -27,7 +27,7 @@
android:elegantTextHeight="false"
android:ellipsize="none"
android:singleLine="true"
- android:fontFeatureSettings="pnum"
+ android:fontFeatureSettings="tnum"
chargeAnimationDelay="350"
dozeWeight="200"
lockScreenWeight="400" />
diff --git a/packages/SystemUI/shared/res/values/colors.xml b/packages/SystemUI/shared/res/values/colors.xml
new file mode 100644
index 000000000000..f80af4376ff1
--- /dev/null
+++ b/packages/SystemUI/shared/res/values/colors.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <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>
+</resources>
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
index c2e74456c032..555c20bfed9c 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
@@ -148,7 +148,7 @@ class AnimatableClockView @JvmOverloads constructor(
fun refreshTime() {
time.timeInMillis = System.currentTimeMillis()
time.timeInMillis = timeOverrideInMillis ?: System.currentTimeMillis()
contentDescription = DateFormat.format(descFormat, time)
- val formattedText = DateFormat.format(format, time)
+ val formattedText = DateFormat.format(format, time).toString() + ' '
// Setting text actually triggers a layout pass (because the text view is set to
// wrap_content width and TextView always relayouts for this). Avoid needless
// relayout if the text didn't actually change.
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
index 19ac2e479bcb..92a05c540f94 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt
@@ -230,9 +230,9 @@ class DefaultClock(
private fun updateClockColor(clock: AnimatableClockView, isRegionDark: Boolean) {
val color = if (isRegionDark) {
- resources.getColor(android.R.color.system_accent1_100)
+ resources.getColor(R.color.clock_default_color_dark)
} else {
- resources.getColor(android.R.color.system_accent2_600)
+ resources.getColor(R.color.clock_default_color_light)
}
clock.setColors(DOZE_COLOR, color)
clock.animateAppearOnLockscreen()
--
2.25.1

View File

@ -1,7 +1,7 @@
From 9a957afc1a032b17ab055384694ac5c018a423ac Mon Sep 17 00:00:00 2001
From 309b7ba76b5af3c6632eaf0de4981a9a5291ccd4 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 06:41:03 +0000
Subject: [PATCH 07/21] Keyguard: Hide padlock unless UDFPS is in use
Subject: [PATCH 06/20] Keyguard: Hide padlock unless UDFPS is in use
Fair enough Google, but don't give me that otherwise
@ -11,7 +11,7 @@ Change-Id: Ie91e80ca5c6637a51a8acc72fb28cd6ac2a7abb6
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
index 680b8bd70837..9a59062fcaa9 100644
index 2a3667610f9c..12905c70fc21 100644
--- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java
@@ -254,20 +254,14 @@ public class LockIconViewController extends ViewController<LockIconView> impleme

View File

@ -1,7 +1,7 @@
From 7f3d384e69834189fb54e74c2c38efd3a462715b Mon Sep 17 00:00:00 2001
From 86b94b87951c261e23497d490fb0e356d5c727d3 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
Subject: [PATCH 07/20] Keyguard: Never switch to large clock
It looks alright actually, but as always breaks under landscape
@ -11,10 +11,10 @@ Change-Id: I434d033ecae597ed2a7b2ed71e96ba1a963e9cc3
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 5c9dd5ec26e7..08e006fd3cca 100644
index 2165099b474e..3b137c932139 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -454,7 +454,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
@@ -376,7 +376,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
private void updateDoubleLineClock() {
mCanShowDoubleLineClock = mSecureSettings.getIntForUser(

View File

@ -1,7 +1,7 @@
From 200440c973f689f9dd294fb367015d21dd3c870d Mon Sep 17 00:00:00 2001
From 0769aefc185bd933f77bdac65a4d615643ff8f69 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 08:31:36 +0000
Subject: [PATCH 09/21] Keyguard: Refine indication text
Subject: [PATCH 08/20] Keyguard: Refine indication text
Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8
---
@ -14,7 +14,7 @@ Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8
6 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
index 0f7d931f4fdc..19004a4c28da 100644
index 955e24e01a9a..58c6919971a1 100644
--- a/packages/SystemUI/res-keyguard/values/styles.xml
+++ b/packages/SystemUI/res-keyguard/values/styles.xml
@@ -132,8 +132,6 @@
@ -27,7 +27,7 @@ index 0f7d931f4fdc..19004a4c28da 100644
<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
index 8f8993f3c8d9..be49748b8fb8 100644
index 8df8c49ee057..ff616b66790d 100644
--- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml
+++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
@@ -35,6 +35,7 @@
@ -39,10 +39,10 @@ index 8f8993f3c8d9..be49748b8fb8 100644
android:paddingEnd="@dimen/keyguard_indication_text_padding"
android:textAppearance="@style/TextAppearance.Keyguard.BottomArea"
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index bd34e2fa80e1..bd56bf520d5b 100644
index 9c85fbc4b391..44766f3b6a6d 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -717,11 +717,10 @@
@@ -760,11 +760,10 @@
<dimen name="keyguard_lock_height">42dp</dimen>
<dimen name="keyguard_lock_padding">20dp</dimen>
@ -56,10 +56,10 @@ index bd34e2fa80e1..bd56bf520d5b 100644
<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 5aedbdc20b31..6f4405a8329c 100644
index f84a5e39163f..38baa611cf07 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
@@ -216,12 +216,22 @@ public class KeyguardIndicationRotateTextViewController extends
@@ -220,12 +220,22 @@ public class KeyguardIndicationRotateTextViewController extends
}
/**
@ -84,10 +84,10 @@ index 5aedbdc20b31..6f4405a8329c 100644
* 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
index 1fb771ef2991..10f14cd17944 100644
index 073ab8b16864..5fb3c05c4a2a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -240,10 +240,12 @@ public class KeyguardIndicationController {
@@ -267,10 +267,12 @@ public class KeyguardIndicationController {
public void handleMessage(Message msg) {
if (msg.what == MSG_HIDE_TRANSIENT) {
hideTransientIndication();
@ -97,10 +97,10 @@ index 1fb771ef2991..10f14cd17944 100644
} else if (msg.what == MSG_HIDE_BIOMETRIC_MESSAGE) {
hideBiometricMessage();
+ updateLockScreenIndications(false /* animate */, KeyguardUpdateMonitor.getCurrentUser());
} else if (msg.what == MSG_RESET_ERROR_MESSAGE_ON_SCREEN_ON) {
mBiometricErrorMessageToShowOnScreenOn = null;
}
}
};
@@ -544,12 +546,11 @@ public class KeyguardIndicationController {
@@ -588,12 +590,11 @@ public class KeyguardIndicationController {
}
private void updateLockScreenRestingMsg() {
@ -116,10 +116,10 @@ index 1fb771ef2991..10f14cd17944 100644
.build(),
false);
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 339f371c0d12..bd1432303463 100644
index d24469e8421e..647c766aa0f0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
@@ -44,7 +44,7 @@ public class KeyguardIndicationTextView extends TextView {
@@ -46,7 +46,7 @@ public class KeyguardIndicationTextView extends TextView {
@StyleRes
private static int sButtonStyleId = R.style.TextAppearance_Keyguard_BottomArea_Button;

View File

@ -1,7 +1,7 @@
From e1f723f9b623d4b9f7002aafa06446b5b39d7f3b Mon Sep 17 00:00:00 2001
From 6a83b2e20b387c42c927ad589f0cfcc25230455a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 20 Mar 2021 10:35:14 +0000
Subject: [PATCH 10/21] Keyguard/UI: Fix status bar / quick settings margins
Subject: [PATCH 09/20] Keyguard/UI: Fix status bar / quick settings margins
and paddings
Last revised on 2022/09/24, targeting T
@ -32,10 +32,10 @@ Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7
7 files changed, 35 insertions(+), 40 deletions(-)
diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml
index fe4f0a6e1104..c8936a195a49 100644
index 2480d0189e16..5561271d4733 100644
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
@@ -87,7 +87,7 @@
@@ -86,7 +86,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/status_bar_padding_top"
@ -112,7 +112,7 @@ index 60bc3732cde0..6ba9382bea94 100644
android:gravity="center_vertical|end" >
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
index 008299bd9b1c..271c6d3de672 100644
index 599bf30a5135..f9911fda7dbe 100644
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
@@ -27,9 +27,6 @@
@ -126,10 +126,10 @@ index 008299bd9b1c..271c6d3de672 100644
<dimen name="keyguard_affordance_height">80dp</dimen>
<dimen name="keyguard_affordance_width">120dp</dimen>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index bd56bf520d5b..6e8130c9d7ab 100644
index 44766f3b6a6d..569926a1e1a0 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -693,7 +693,7 @@
@@ -736,7 +736,7 @@
<dimen name="kg_framed_avatar_size">32dp</dimen>
<!-- Margin on the left side of the carrier text on Keyguard -->
@ -139,10 +139,10 @@ index bd56bf520d5b..6e8130c9d7ab 100644
<!-- Additional translation (downwards) for appearing notifications when going to the full shade
from Keyguard. -->
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index 110d3045c535..1c0f260ef928 100644
index b0e2f8368703..4ff7e5753a1d 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -100,6 +100,10 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
@@ -105,6 +105,10 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
private StatusBarContentInsetsProvider mInsetsProvider;
private int mRoundedCornerPadding = 0;
@ -153,7 +153,7 @@ index 110d3045c535..1c0f260ef928 100644
private int mWaterfallTopInset;
private int mCutOutPaddingLeft;
private int mCutOutPaddingRight;
@@ -257,6 +261,11 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
@@ -266,6 +270,11 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
mRoundedCornerPadding = resources.getDimensionPixelSize(
R.dimen.rounded_corner_content_padding);
@ -165,7 +165,7 @@ index 110d3045c535..1c0f260ef928 100644
int qsOffsetHeight = SystemBarUtils.getQuickQsOffsetHeight(mContext);
mDatePrivacyView.getLayoutParams().height =
@@ -347,6 +356,9 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
@@ -356,6 +365,9 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
.addFloat(mDateView, "alpha", 0, 0, 1)
.addFloat(mClockDateView, "alpha", 1, 0, 0)
.addFloat(mQSCarriers, "alpha", 0, 1)
@ -175,7 +175,7 @@ index 110d3045c535..1c0f260ef928 100644
.setListener(new TouchAnimator.ListenerAdapter() {
@Override
public void onAnimationAtEnd() {
@@ -452,8 +464,6 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
@@ -463,8 +475,6 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
.getStatusBarContentInsetsForCurrentRotation();
boolean hasCornerCutout = mInsetsProvider.currentRotationHasCornerCutout();
@ -184,7 +184,7 @@ index 110d3045c535..1c0f260ef928 100644
LinearLayout.LayoutParams datePrivacySeparatorLayoutParams =
(LinearLayout.LayoutParams) mDatePrivacySeparator.getLayoutParams();
LinearLayout.LayoutParams mClockIconsSeparatorLayoutParams =
@@ -517,34 +527,38 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
@@ -528,34 +538,38 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
private void updateHeadersPadding() {
setContentMargins(mDatePrivacyView, 0, 0);
setContentMargins(mStatusIconsView, 0, 0);

View File

@ -1,7 +1,7 @@
From a5d16d114a7340f3757d8f35b93792b3abc3f99b Mon Sep 17 00:00:00 2001
From 7b61ee641132df3e942246a78f78ff0350c6c6d2 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 17 Apr 2022 08:48:42 +0000
Subject: [PATCH 11/21] Replace NTP server
Subject: [PATCH 10/20] Replace NTP server
Change-Id: I938ab46026d841e7536d8fc02b0ef6b28ebb6ea1
---
@ -9,10 +9,10 @@ Change-Id: I938ab46026d841e7536d8fc02b0ef6b28ebb6ea1
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index c62cce393ff0..5494b3e2a7ab 100644
index 58cd819b9404..285a72320eee 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2349,7 +2349,7 @@
@@ -2390,7 +2390,7 @@
<bool name="config_actionMenuItemAllCaps">true</bool>
<!-- Remote server that can provide NTP responses. -->

View File

@ -1,7 +1,7 @@
From f655579eaa44cb3c96a47a06c41fb732e598f554 Mon Sep 17 00:00:00 2001
From e5545937e37d6f8ef3609e589eaf7731d9f80381 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 31 May 2022 00:00:08 +0000
Subject: [PATCH 12/21] Revert "SystemUI: Add left padding for keyguard slices"
Subject: [PATCH 11/20] Revert "SystemUI: Add left padding for keyguard slices"
This reverts commit 4a7a4426944e28e70a3eca6a696ff6c7599fb896.
---

View File

@ -1,7 +1,7 @@
From 267d70e75c9efe6a24093c3d65ef56ffb9860d4f Mon Sep 17 00:00:00 2001
From a394bc33ff924be6f18ffdb63f342ccfdbc1fd43 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 5 Sep 2021 01:20:12 +0000
Subject: [PATCH 13/21] Revert "Update RAT icons to match Silk design"
Subject: [PATCH 12/20] Revert "Update RAT icons to match Silk design"
This reverts commit 084c13c8216f6a899cd3eda04fc1d7acff3d1248.
---

View File

@ -1,7 +1,7 @@
From 9c0179a912ebe9de6bf3b142c709306467a84fe3 Mon Sep 17 00:00:00 2001
From 5fd1cb47b1004252db6929093f2ceb0bfe1b936b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 29 Sep 2022 11:27:57 +0000
Subject: [PATCH 14/21] Revert "Use the default top clock margin on h800
Subject: [PATCH 13/20] Revert "Use the default top clock margin on h800
devices"
This reverts commits 50ba380f4d8d1c2523e0f76295ca556038796bfd

View File

@ -1,38 +1,47 @@
From 10a44b558f67f6a1622bcef5d0bffa0d95c08cd1 Mon Sep 17 00:00:00 2001
From 549733367b1dc1b80e3b0b7c52d3b2e144a6adb2 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/21] UI: Always render windows into cutouts
Subject: [PATCH 14/20] 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 | 19 ++++---------------
.../com/android/server/wm/DisplayFrames.java | 28 +++----------------
.../com/android/server/wm/DisplayPolicy.java | 1 +
2 files changed, 5 insertions(+), 15 deletions(-)
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 fd0631320520..97989e086c74 100644
index 33641f72b2ff..6e201970ac03 100644
--- a/services/core/java/com/android/server/wm/DisplayFrames.java
+++ b/services/core/java/com/android/server/wm/DisplayFrames.java
@@ -99,21 +99,10 @@ public class DisplayFrames {
@@ -92,30 +92,10 @@ public class DisplayFrames {
state.setRoundedCorners(roundedCorners);
state.setPrivacyIndicatorBounds(indicatorBounds);
state.getDisplayCutoutSafe(safe);
- if (!cutout.isEmpty()) {
- 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_LEFT_DISPLAY_CUTOUT);
- state.removeSource(ITYPE_TOP_DISPLAY_CUTOUT);
- state.removeSource(ITYPE_RIGHT_DISPLAY_CUTOUT);
- state.removeSource(ITYPE_BOTTOM_DISPLAY_CUTOUT);
- }
+ state.removeSource(ITYPE_LEFT_DISPLAY_CUTOUT);
@ -43,15 +52,15 @@ index fd0631320520..97989e086c74 100644
}
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 7e91989a9105..a42f8c12c792 100644
index f4cb23d5f369..a4cd2fbcc89f 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 {
@@ -1639,6 +1639,7 @@ public class DisplayPolicy {
displayFrames = win.getDisplayFrames(displayFrames);
final WindowManager.LayoutParams attrs = win.getLayoutingAttrs(displayFrames.mRotation);
final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
+ attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
final Rect attachedWindowFrame = attached != null ? attached.getFrame() : null;
sTmpClientFrames.attachedFrame = attached != null ? attached.getFrame() : null;
// If this window has different LayoutParams for rotations, we cannot trust its requested
--

View File

@ -1,7 +1,7 @@
From 36246a955810a443896bab2a0c41c7f4957236c7 Mon Sep 17 00:00:00 2001
From 90ac0ab08a523dd05f8bfa5ba579f42ca9346dc1 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:10:50 +0000
Subject: [PATCH 16/21] UI: Kill rounded corners in notification scrim
Subject: [PATCH 15/20] 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
@ -11,12 +11,12 @@ Change-Id: I09ed59e0e658ebd512a9d02a8ef3edfe2c9888da
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 6e8130c9d7ab..2d29bc140471 100644
index 569926a1e1a0..09dd8ed9ef9d 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -626,7 +626,7 @@
<!-- Burmese line spacing multiplier between hours and minutes of the keyguard clock -->
<item name="keyguard_clock_line_spacing_scale_burmese" type="dimen" format="float">1</item>
@@ -672,7 +672,7 @@
<!-- With the large clock, move up slightly from the center -->
<dimen name="keyguard_large_clock_top_margin">-60dp</dimen>
- <dimen name="notification_scrim_corner_radius">32dp</dimen>
+ <dimen name="notification_scrim_corner_radius">0dp</dimen>

View File

@ -1,7 +1,7 @@
From 378b7c68117b48b12fcc19881d8231169e16bcf8 Mon Sep 17 00:00:00 2001
From 93b2a1403d25ab0b1fbd240e5333e6fed916bd98 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 26 Oct 2020 14:06:56 +0000
Subject: [PATCH 17/21] UI: Reconfigure power menu items
Subject: [PATCH 16/20] UI: Reconfigure power menu items
Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
---
@ -9,10 +9,10 @@ Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 5494b3e2a7ab..11173caffe07 100644
index 285a72320eee..828090c2ccda 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -3175,13 +3175,10 @@
@@ -3213,13 +3213,10 @@
"logout" = Logout the current user
-->
<string-array translatable="false" name="config_globalActionsList">

View File

@ -1,7 +1,7 @@
From 35140ec786d0e01356a998fed0c6ff27692a0cbd Mon Sep 17 00:00:00 2001
From 0d3216a6c0fc99193697ac00a84d8e666f0ba0e8 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 5 Mar 2022 01:43:37 +0000
Subject: [PATCH 18/21] UI: Reconfigure quick settings tiles
Subject: [PATCH 17/20] UI: Reconfigure quick settings tiles
Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d
---
@ -9,10 +9,10 @@ Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index c4625e7e784d..2713099f3d57 100644
index 8a2b88d3cf9a..3287463b7bd0 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -74,7 +74,7 @@
@@ -68,7 +68,7 @@
<!-- The default tiles to display in QuickSettings -->
<string name="quick_settings_tiles_default" translatable="false">

View File

@ -1,7 +1,7 @@
From ac9f68202633ba7bcc1f43588cbf3247eb165eb8 Mon Sep 17 00:00:00 2001
From f2255b7c8145f1d530822d2708f3a627f67d0bc7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 29 Jun 2021 22:57:01 +0000
Subject: [PATCH 19/21] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT
Subject: [PATCH 18/20] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT
I decide what's good enough for a wallpaper!

View File

@ -1,7 +1,7 @@
From d0c1675a0e1023aaf70e5141e55ad8b00bf23203 Mon Sep 17 00:00:00 2001
From 3753346b30c05ca391eabc86d2185e6167b1d9b5 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 19 Oct 2021 12:09:34 +0000
Subject: [PATCH 20/21] UI: Remove privacy dot padding
Subject: [PATCH 19/20] UI: Remove privacy dot padding
Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
---
@ -9,10 +9,10 @@ Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 2d29bc140471..6559c303d18a 100644
index 09dd8ed9ef9d..4515539bb4b4 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -960,7 +960,7 @@
@@ -1002,7 +1002,7 @@
<dimen name="ongoing_appops_chip_animation_in_status_bar_translation_x">15dp</dimen>
<dimen name="ongoing_appops_chip_animation_out_status_bar_translation_x">7dp</dimen>
<!-- Total minimum padding to enforce to ensure that the dot can always show -->

View File

@ -1,7 +1,7 @@
From cf087dc089a51f769b7d073c04434033301ab899 Mon Sep 17 00:00:00 2001
From 27a7b5513e6cd6825c51dcfea8688ec5af4a21d0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Fri, 30 Sep 2022 16:02:16 +0000
Subject: [PATCH 21/21] UI: Revert to HSL luminance for wallpaper dark hints
Subject: [PATCH 20/20] UI: Revert to HSL luminance for wallpaper dark hints
Y U no test for consistency, Google?

View File

@ -1,7 +1,7 @@
From 4ecdcc515e80750e3423a5c203048b76aae0809c Mon Sep 17 00:00:00 2001
From 3da78002775540f9ede8460de48a492d2e72cf21 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 22 Sep 2022 12:37:50 +0000
Subject: [PATCH 1/3] TrebleSettings: Screen resolution & refresh rate
Subject: [PATCH 1/5] TrebleSettings: Screen resolution & refresh rate
Change-Id: I4a4679cdb6d4ede55479e9ab2f014342025b0fec
---
@ -20,10 +20,10 @@ Change-Id: I4a4679cdb6d4ede55479e9ab2f014342025b0fec
create mode 100644 src/com/android/settings/treble/TrebleSettings.java
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d800bb472e..1495e851a7 100644
index c4fba3defc..92203f3dab 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -220,6 +220,14 @@
@@ -221,6 +221,14 @@
android:value="com.android.settings.shortcut.CreateShortcut" />
</activity>
@ -67,10 +67,10 @@ index 2841b699c9..c30d6392e9 100755
<string name="menu_key_connected_devices" translatable="false">top_level_connected_devices</string>
<string name="menu_key_apps" translatable="false">top_level_apps</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 04b2de208b..8cebfe3964 100644
index bbdefd1427..07ee32662e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8274,6 +8274,16 @@
@@ -8458,6 +8458,16 @@
<item quantity="other">Show %d hidden items</item>
</plurals>
@ -88,7 +88,7 @@ index 04b2de208b..8cebfe3964 100644
<string name="network_dashboard_title">Network &amp; internet</string>
<!-- Summary for Network and Internet settings, explaining it contains mobile, wifi setting and data usage settings [CHAR LIMIT=NONE]-->
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index c9e60170eb..1127056675 100644
index 5fbc7350b8..c63b2114ec 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -20,6 +20,15 @@

View File

@ -1,7 +1,7 @@
From 937c56865ea02e00886920f40cabd85ab293a5fb Mon Sep 17 00:00:00 2001
From 9fc56ce7a1aaeac5571d0e2001f0d6ed79230882 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 24 Sep 2022 03:38:41 +0000
Subject: [PATCH 2/3] TrebleSettings: Basic audio and display fixes
Subject: [PATCH 2/5] TrebleSettings: Basic audio and display fixes
- Alternative audio policy
- Disable soundvolume effect
@ -21,10 +21,10 @@ Change-Id: I4f22dcd9c59c40b3fd70ba642db35b9466467b7d
create mode 100644 src/com/android/settings/treble/UseAlternativeBacklightScalePreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8cebfe3964..4014c53eaa 100644
index 07ee32662e..82ce16483d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8278,11 +8278,19 @@
@@ -8462,11 +8462,19 @@
<string name="treble_settings">Treble settings</string>
<!-- Summary for Treble settings [CHAR LIMIT=NONE]-->
<string name="treble_settings_summary">Fixes &amp; tweaks for GSIs</string>

View File

@ -1,7 +1,7 @@
From 106235d2d4f2e0540a0a73332cfecf465942e9cc Mon Sep 17 00:00:00 2001
From fbcfc21db732fb0214bd4bb5c3f4f766c5f93156 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 11 Oct 2022 10:29:36 +0000
Subject: [PATCH 3/3] TrebleSettings: IMS
Subject: [PATCH 3/5] TrebleSettings: IMS
Change-Id: Id7a12e150d4a3dc988f8ce1a888ad88443fa0ea4
---
@ -16,10 +16,10 @@ Change-Id: Id7a12e150d4a3dc988f8ce1a888ad88443fa0ea4
create mode 100644 src/com/android/settings/treble/OverrideVolteAvailabilityPreferenceController.java
diff --git a/Android.bp b/Android.bp
index 140d4480c8..c73a774a28 100644
index be3a85a43b..5321bd008d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -81,6 +81,7 @@ android_library {
@@ -92,6 +92,7 @@ android_library {
"LineagePreferenceLib",
"vendor.lineage.fastcharge-V1.0-java",
"SystemUISharedLib",
@ -28,10 +28,10 @@ index 140d4480c8..c73a774a28 100644
libs: [
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4014c53eaa..ef8ffbbf46 100644
index 82ce16483d..0350ca6c1b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8282,6 +8282,8 @@
@@ -8466,6 +8466,8 @@
<string name="treble_settings_category_name_audio">Audio</string>
<!-- Display category name [CHAR LIMIT=none] -->
<string name="treble_settings_category_name_display">Display</string>
@ -40,7 +40,7 @@ index 4014c53eaa..ef8ffbbf46 100644
<!-- Treble settings screen, use alternative audio policy title -->
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
@@ -8291,6 +8293,13 @@
@@ -8475,6 +8477,13 @@
<string name="screen_resolution_refresh_rate_title">Screen resolution &amp; refresh rate</string>
<!-- Treble settings screen, use alternative backlight scale title -->
<string name="use_alternative_backlight_scale_title">Use alternative backlight scale</string>

View File

@ -0,0 +1,116 @@
From f147f139435a488a35a37e4c3f8663ddcc4bf48f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 10 Dec 2022 12:04:37 +0000
Subject: [PATCH 4/5] TrebleSettings: Disable A2DP offload
Change-Id: I737f49d146f83d96793f4436850529e3c528acbe
---
res/values/strings.xml | 2 +
res/xml/treble_settings.xml | 4 ++
...isableA2DPOffloadPreferenceController.java | 53 +++++++++++++++++++
.../settings/treble/TrebleSettings.java | 1 +
4 files changed, 60 insertions(+)
create mode 100644 src/com/android/settings/treble/DisableA2DPOffloadPreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0350ca6c1b..e91a4d36c8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8473,6 +8473,8 @@
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
<!-- Treble settings screen, disable soundvolume effect title -->
<string name="disable_soundvolume_effect_title">Disable soundvolume effect</string>
+ <!-- Treble settings screen, disable A2DP offload title -->
+ <string name="disable_a2dp_offload_title">Disable A2DP offload</string>
<!-- Treble settings screen, screen resolution and refresh rate settings title -->
<string name="screen_resolution_refresh_rate_title">Screen resolution &amp; refresh rate</string>
<!-- Treble settings screen, use alternative backlight scale title -->
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
index 09e6bc5d00..b58e7a1282 100644
--- a/res/xml/treble_settings.xml
+++ b/res/xml/treble_settings.xml
@@ -17,6 +17,10 @@
android:key="disable_soundvolume_effect"
android:title="@string/disable_soundvolume_effect_title" />
+ <SwitchPreference
+ android:key="disable_a2dp_offload"
+ android:title="@string/disable_a2dp_offload_title" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/src/com/android/settings/treble/DisableA2DPOffloadPreferenceController.java b/src/com/android/settings/treble/DisableA2DPOffloadPreferenceController.java
new file mode 100644
index 0000000000..f53103160d
--- /dev/null
+++ b/src/com/android/settings/treble/DisableA2DPOffloadPreferenceController.java
@@ -0,0 +1,53 @@
+package com.android.settings.treble;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class DisableA2DPOffloadPreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String DISABLE_A2DP_OFFLOAD_KEY = "disable_a2dp_offload";
+ private static final String A2DP_OFFLOAD_DISABLED_PROPERTY = "persist.bluetooth.a2dp_offload.disabled";
+
+ private SwitchPreference mSwitchPreference;
+
+ public DisableA2DPOffloadPreferenceController(Context context) {
+ super(context, DISABLE_A2DP_OFFLOAD_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return DISABLE_A2DP_OFFLOAD_KEY;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ boolean checked = SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
+ mSwitchPreference.setChecked(checked);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, String.valueOf((boolean) newValue));
+ mSwitchPreference.setChecked((boolean) newValue);
+ return true;
+ }
+
+}
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
index 50e3eda8c6..5e9b7f88e2 100644
--- a/src/com/android/settings/treble/TrebleSettings.java
+++ b/src/com/android/settings/treble/TrebleSettings.java
@@ -34,6 +34,7 @@ public class TrebleSettings extends DashboardFragment {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new UseAlternativeAudioPolicyPreferenceController(context));
controllers.add(new DisableSoundvolumeEffectPreferenceController(context));
+ controllers.add(new DisableA2DPOffloadPreferenceController(context));
controllers.add(new ScreenResolutionRefreshRatePreferenceController(context));
controllers.add(new UseAlternativeBacklightScalePreferenceController(context));
controllers.add(new InstallImsApkPreferenceController(context));
--
2.25.1

View File

@ -0,0 +1,116 @@
From 6f190a399dbc171dd6e32882901877f87f881cbe Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 10 Dec 2022 14:16:50 +0000
Subject: [PATCH 5/5] TrebleSettings: Alternative audio jack detection
Change-Id: I5d6d48f26a4a2134fd6edf996eca89a1fc42e6de
---
res/values/strings.xml | 2 +
res/xml/treble_settings.xml | 4 ++
.../settings/treble/TrebleSettings.java | 1 +
...udioJackDetectionPreferenceController.java | 53 +++++++++++++++++++
4 files changed, 60 insertions(+)
create mode 100644 src/com/android/settings/treble/UseAlternativeAudioJackDetectionPreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e91a4d36c8..4f8eb839f3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8475,6 +8475,8 @@
<string name="disable_soundvolume_effect_title">Disable soundvolume effect</string>
<!-- Treble settings screen, disable A2DP offload title -->
<string name="disable_a2dp_offload_title">Disable A2DP offload</string>
+ <!-- Treble settings screen, use alternative audio jack detection title -->
+ <string name="use_alternative_audio_jack_detection_title">Use alternative audio jack detection</string>
<!-- Treble settings screen, screen resolution and refresh rate settings title -->
<string name="screen_resolution_refresh_rate_title">Screen resolution &amp; refresh rate</string>
<!-- Treble settings screen, use alternative backlight scale title -->
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
index b58e7a1282..47097a14c7 100644
--- a/res/xml/treble_settings.xml
+++ b/res/xml/treble_settings.xml
@@ -21,6 +21,10 @@
android:key="disable_a2dp_offload"
android:title="@string/disable_a2dp_offload_title" />
+ <SwitchPreference
+ android:key="use_alternative_audio_jack_detection"
+ android:title="@string/use_alternative_audio_jack_detection_title" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
index 5e9b7f88e2..09aa001e82 100644
--- a/src/com/android/settings/treble/TrebleSettings.java
+++ b/src/com/android/settings/treble/TrebleSettings.java
@@ -35,6 +35,7 @@ public class TrebleSettings extends DashboardFragment {
controllers.add(new UseAlternativeAudioPolicyPreferenceController(context));
controllers.add(new DisableSoundvolumeEffectPreferenceController(context));
controllers.add(new DisableA2DPOffloadPreferenceController(context));
+ controllers.add(new UseAlternativeAudioJackDetectionPreferenceController(context));
controllers.add(new ScreenResolutionRefreshRatePreferenceController(context));
controllers.add(new UseAlternativeBacklightScalePreferenceController(context));
controllers.add(new InstallImsApkPreferenceController(context));
diff --git a/src/com/android/settings/treble/UseAlternativeAudioJackDetectionPreferenceController.java b/src/com/android/settings/treble/UseAlternativeAudioJackDetectionPreferenceController.java
new file mode 100644
index 0000000000..0d60b72db1
--- /dev/null
+++ b/src/com/android/settings/treble/UseAlternativeAudioJackDetectionPreferenceController.java
@@ -0,0 +1,53 @@
+package com.android.settings.treble;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class UseAlternativeAudioJackDetectionPreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String USE_ALTERNATIVE_AUDIO_JACK_DETECTION_KEY = "use_alternative_audio_jack_detection";
+ private static final String DEVINPUT_JACK_PROPERTY = "persist.sys.overlay.devinputjack";
+
+ private SwitchPreference mSwitchPreference;
+
+ public UseAlternativeAudioJackDetectionPreferenceController(Context context) {
+ super(context, USE_ALTERNATIVE_AUDIO_JACK_DETECTION_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return USE_ALTERNATIVE_AUDIO_JACK_DETECTION_KEY;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ boolean checked = SystemProperties.getBoolean(DEVINPUT_JACK_PROPERTY, false);
+ mSwitchPreference.setChecked(checked);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ SystemProperties.set(DEVINPUT_JACK_PROPERTY, String.valueOf((boolean) newValue));
+ mSwitchPreference.setChecked((boolean) newValue);
+ return true;
+ }
+
+}
--
2.25.1