Changes for March 2023, syncing up to 20230315
This commit is contained in:
parent
4ce6305950
commit
4cd163c62b
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/patches_treble_personal/vendor_hardware_overlay
|
@ -1,7 +1,7 @@
|
||||
From f0314afe5afcd4bf19188c8688a35e322a7bcf44 Mon Sep 17 00:00:00 2001
|
||||
From 107b0eaf96413e3faac0bcbe7e761d98d3595d76 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/15] Add SPenPointerOverlay
|
||||
Subject: [PATCH 01/24] Add SPenPointerOverlay
|
||||
|
||||
Toggle this overlay with property "persist.ui.spen.pointer"
|
||||
|
||||
@ -122,5 +122,5 @@ index 000000000000..f35255c5f961
|
||||
+ android:hotSpotX="5dp"
|
||||
+ android:hotSpotY="5dp" />
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From bdb1e544a11d7c82366c636d49da988c8ce6a218 Mon Sep 17 00:00:00 2001
|
||||
From c37fef3e91e035f05f3a9a6ab2f744f6e2051b38 Mon Sep 17 00:00:00 2001
|
||||
From: AndyCGYan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 22 Mar 2019 00:41:20 +0800
|
||||
Subject: [PATCH 02/15] Disable FP lockouts optionally
|
||||
Subject: [PATCH 02/24] Disable FP lockouts optionally
|
||||
|
||||
Both timed and permanent lockouts - GET THE FUCK OUT
|
||||
Now targeting LockoutFramework, introduced in Android 12
|
||||
@ -72,5 +72,5 @@ index a0befea8e085..48c4ded9f5ca 100644
|
||||
return LOCKOUT_NONE;
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1b1a877dc08bf8177192b4c44644eecac9469721 Mon Sep 17 00:00:00 2001
|
||||
From c51f1b93e9e69cd50959a7d5b8936adabbb98b8c 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 03/15] Disable vendor mismatch warning
|
||||
Subject: [PATCH 03/24] 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 01490f029e97..6199267cac0b 100644
|
||||
index 3e1b30b2ff25..8681bd726f3b 100644
|
||||
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
|
||||
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
|
||||
@@ -5856,20 +5856,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
||||
@@ -5859,20 +5859,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
||||
}
|
||||
|
||||
if (!Build.isBuildConsistent()) {
|
||||
@ -36,5 +36,5 @@ index 01490f029e97..6199267cac0b 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 25a596aa94e3e050e5c7726bf3cfa35f8f0492ac Mon Sep 17 00:00:00 2001
|
||||
From 53944713b59f662f2a19ea3ccd3cfdcec9f3593a Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 17 Jan 2023 17:19:19 +0000
|
||||
Subject: [PATCH 04/15] Keyguard: Fix colors of slices not updating on doze
|
||||
Subject: [PATCH 04/24] Keyguard: Fix colors of slices not updating on doze
|
||||
|
||||
Slices were invisible (black) in doze when using light wallpapers
|
||||
Introduced in https://github.com/LineageOS/android_frameworks_base/commit/a19e59d717ec6d573c11c7e8277bba3c4de189c2
|
||||
@ -13,10 +13,10 @@ Change-Id: I06abd8bf2e28655cc9e6d81366fd82a13454ec5a
|
||||
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
|
||||
index c715a4eaef2b..a16ab6b8283a 100644
|
||||
index aec30632c41e..7ef624a6f184 100644
|
||||
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
|
||||
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java
|
||||
@@ -93,6 +93,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
@@ -99,6 +99,13 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
|
||||
mKeyguardSliceViewController.refresh();
|
||||
}
|
||||
|
||||
@ -31,10 +31,10 @@ index c715a4eaef2b..a16ab6b8283a 100644
|
||||
* Set which clock should be displayed on the keyguard. The other one will be automatically
|
||||
* hidden.
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
|
||||
index f371aac2090a..e6c4fcfefde0 100644
|
||||
index 731ce92099e8..3e748a0f2722 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
|
||||
@@ -4758,6 +4758,7 @@ public final class NotificationPanelViewController extends PanelViewController {
|
||||
@@ -5718,6 +5718,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
||||
public void onDozeAmountChanged(float linearAmount, float amount) {
|
||||
mInterpolatedDarkAmount = amount;
|
||||
mLinearDarkAmount = linearAmount;
|
||||
@ -43,5 +43,5 @@ index f371aac2090a..e6c4fcfefde0 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e5dd5a8c1d88fdc155c7ef05aafb148773e40ae7 Mon Sep 17 00:00:00 2001
|
||||
From d7612a2bd79c4fbc738bfb4cee56a3a88839d415 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 05/15] UI: Adjust default navbar layouts
|
||||
Subject: [PATCH 05/24] 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,7 +45,7 @@ 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 d7d88cea2dbc..8a2b88d3cf9a 100644
|
||||
index 48c35ae8789d..70269b18a573 100644
|
||||
--- a/packages/SystemUI/res/values/config.xml
|
||||
+++ b/packages/SystemUI/res/values/config.xml
|
||||
@@ -301,7 +301,7 @@
|
||||
@ -58,5 +58,5 @@ index d7d88cea2dbc..8a2b88d3cf9a 100644
|
||||
<string name="config_navBarLayoutHandle" translatable="false">back[70AC];home_handle;ime_switcher[70AC]</string>
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d95f2986ab877e2f33ce45fea6e4997ff17a35e1 Mon Sep 17 00:00:00 2001
|
||||
From 132cfec6f7d245e867a2be7939931076d721405d 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 06/15] UI: Disable wallpaper zoom
|
||||
Subject: [PATCH 06/24] 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 659d0f37bf05..272df37188bf 100644
|
||||
index 987426f56463..c2e2c91b2829 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -5104,7 +5104,7 @@
|
||||
@@ -5146,7 +5146,7 @@
|
||||
<item name="config_wallpaperMinScale" format="float" type="dimen">1</item>
|
||||
|
||||
<!-- The max scale for the wallpaper when it's zoomed in -->
|
||||
@ -24,5 +24,5 @@ index 659d0f37bf05..272df37188bf 100644
|
||||
<!-- If true, the wallpaper will scale regardless of the value of shouldZoomOutWallpaper() -->
|
||||
<bool name="config_alwaysScaleWallpaper">false</bool>
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3495203480c06150d56ffd11513f0dc0cfffa9dc Mon Sep 17 00:00:00 2001
|
||||
From 3cea896b28374cb5975b470134bf572e004c5329 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 07/15] UI: Follow Monet and light/dark theme in user 1 icon
|
||||
Subject: [PATCH 07/24] UI: Follow Monet and light/dark theme in user 1 icon
|
||||
|
||||
Change-Id: I755077c6003c39ddc9428da1defe6a6ddd0e5ff8
|
||||
---
|
||||
@ -35,5 +35,5 @@ index d5875f547e91..c7711ed3e493 100644
|
||||
<color name="user_icon_3">#ff4c8df6</color><!-- blue -->
|
||||
<color name="user_icon_4">#fff439a0</color><!-- pink -->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 953d205e2408dcd0f7fe25e7c2801512fad196fd Mon Sep 17 00:00:00 2001
|
||||
From 9999d9887ec0fc9f3227bac752126d98b2adc07e 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 08/15] UI: Increase default status bar height
|
||||
Subject: [PATCH 08/24] UI: Increase default status bar height
|
||||
|
||||
Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
|
||||
---
|
||||
@ -31,5 +31,5 @@ index 2542268a153a..099a6badc034 100644
|
||||
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
|
||||
-->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,32 +1,25 @@
|
||||
From 29b987ef4e37748102b41aeabf6a6fb810e6c37e Mon Sep 17 00:00:00 2001
|
||||
From b85e925a3accec749a28d5edd6bff3ce20f68924 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 09/15] UI: Remove QS footer background
|
||||
Subject: [PATCH 09/24] UI: Remove QS footer background
|
||||
|
||||
Change-Id: I68e82e0c5e3eddb2d3f767fe792b1436eae506ef
|
||||
---
|
||||
packages/SystemUI/res-keyguard/layout/footer_actions.xml | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
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 a101c64a48e0..028ab29b8643 100644
|
||||
index 544d0299060d..d45744961f59 100644
|
||||
--- a/packages/SystemUI/res-keyguard/layout/footer_actions.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/layout/footer_actions.xml
|
||||
@@ -25,7 +25,6 @@
|
||||
@@ -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"
|
||||
>
|
||||
@@ -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
|
||||
2.34.1
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
From f37c5b2151383a120c728d02439692f55c90334e Mon Sep 17 00:00:00 2001
|
||||
From 289c535bf6f0decf2c1ce58650ec7dd6721880a8 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 10/15] UI: Restore split-screen divider to pre-Sv2 looks
|
||||
Subject: [PATCH 10/24] 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/color/split_divider_background.xml | 4 ++--
|
||||
.../wm/shell/common/split/SplitLayout.java | 15 +--------------
|
||||
2 files changed, 3 insertions(+), 16 deletions(-)
|
||||
.../res/color/split_divider_background.xml | 4 ++--
|
||||
.../wm/shell/common/split/SplitLayout.java | 19 ++-----------------
|
||||
2 files changed, 4 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/libs/WindowManager/Shell/res/color/split_divider_background.xml b/libs/WindowManager/Shell/res/color/split_divider_background.xml
|
||||
index 049980803ee3..cd54ac26a7fd 100644
|
||||
@ -26,16 +26,17 @@ 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 419e62daf586..229844e42a49 100644
|
||||
index 45b234a6398a..f0b1ff3999bc 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
|
||||
@@ -152,20 +152,7 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
|
||||
@@ -153,23 +153,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange
|
||||
}
|
||||
|
||||
private int getDividerInsets(Resources resources, Display display) {
|
||||
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;
|
||||
@ -46,11 +47,14 @@ index 419e62daf586..229844e42a49 100644
|
||||
- corner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_LEFT);
|
||||
- radius = corner != null ? Math.max(radius, corner.getRadius()) : radius;
|
||||
-
|
||||
- return Math.max(dividerInset, radius);
|
||||
+ return 0;
|
||||
- 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.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9d7f2acaa960dd74aa0bc030c3e6d9cd5a234a74 Mon Sep 17 00:00:00 2001
|
||||
From 0697f6baa9ffb4f69b90e9c4f8469e7bd130d6bc 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 11/15] UI: Revive navbar layout tuning via sysui_nav_bar
|
||||
Subject: [PATCH 11/24] UI: Revive navbar layout tuning via sysui_nav_bar
|
||||
tunable
|
||||
|
||||
Google keeps fixing what ain't broken.
|
||||
@ -60,5 +60,5 @@ index 51feed875337..5f0f9a220c31 100644
|
||||
final String newValue = getDefaultLayout();
|
||||
if (!Objects.equals(mCurrentLayout, newValue)) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f5e22a9b6f467439f4c84ee6afbcbcdbbb45b3da Mon Sep 17 00:00:00 2001
|
||||
From 9f0fb3f042124da5731232dffa1bda623c395a22 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 12/15] UI: Use SNAP_FIXED_RATIO for multi-window globally
|
||||
Subject: [PATCH 12/24] UI: Use SNAP_FIXED_RATIO for multi-window globally
|
||||
|
||||
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. -->
|
||||
<bool name="config_navBarCanMove">false</bool>
|
||||
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
|
||||
index 272df37188bf..58cd819b9404 100644
|
||||
index c2e2c91b2829..8f81427cbe67 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -3790,7 +3790,7 @@
|
||||
@@ -3829,7 +3829,7 @@
|
||||
1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio)
|
||||
2 - 1 snap target: 1:1
|
||||
-->
|
||||
@ -91,5 +91,5 @@ index 272df37188bf..58cd819b9404 100644
|
||||
<!-- The maximum aspect ratio (longerSide/shorterSide) that is treated as close-to-square. The
|
||||
orientation requests from apps would be ignored if the display is close-to-square. -->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c29a4e448651024369665a67a9938592f727394a Mon Sep 17 00:00:00 2001
|
||||
From 30a3637fe457193166cc324af29c306d7748adfa Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Tue, 3 Nov 2020 22:43:12 -0800
|
||||
Subject: [PATCH 13/15] core: Remove old app target SDK dialog
|
||||
Subject: [PATCH 13/24] 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
|
||||
@ -27,5 +27,5 @@ index 994f07959f3b..6749ae78c09c 100644
|
||||
|
||||
/**
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From feca2661444f0d615f8c050fed4d79acffb42890 Mon Sep 17 00:00:00 2001
|
||||
From 964346e2b9e8ceaa7c6b2b9a4c74a401af0fc9e0 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Tue, 5 Oct 2021 21:01:50 -0700
|
||||
Subject: [PATCH 14/15] Paint: Enable subpixel text positioning by default
|
||||
Subject: [PATCH 14/24] 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
|
||||
@ -24,10 +24,10 @@ Change-Id: I8d71e5848a745c5a2d457a28c68458920928ee09
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
|
||||
index 451b99ea7550..e60d506a171b 100644
|
||||
index f438a03b1434..6621d1f23166 100644
|
||||
--- a/graphics/java/android/graphics/Paint.java
|
||||
+++ b/graphics/java/android/graphics/Paint.java
|
||||
@@ -253,7 +253,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.
|
||||
static final int HIDDEN_DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG | EMBEDDED_BITMAP_TEXT_FLAG
|
||||
@ -37,5 +37,5 @@ index 451b99ea7550..e60d506a171b 100644
|
||||
/**
|
||||
* Font hinter option that disables font hinting.
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -0,0 +1,320 @@
|
||||
From 4fa320b2eacab5be5b9fb3f2ebe24f39e8b54cc1 Mon Sep 17 00:00:00 2001
|
||||
From: Park Ju Hyung <qkrwngud825@gmail.com>
|
||||
Date: Sun, 15 Jan 2017 03:33:04 +0900
|
||||
Subject: [PATCH 15/24] SystemUI: add burnIn protection
|
||||
|
||||
Devices with AMOLED display suffer from
|
||||
status-bar's notification items and nagivation bar's software keys
|
||||
causing permanent burn-ins when used long-term.
|
||||
|
||||
Moving all items in the area
|
||||
both horizontally and vertically workarounds this problem.
|
||||
|
||||
jrizzoli: integrate with runtime cmsdk preference
|
||||
|
||||
Linux4: Removed toggle from settings - the burnIn protection is always
|
||||
enabled if the corresponding AOSP overlay is set to true
|
||||
Updated for T
|
||||
|
||||
Change-Id: I35b04d1edff86a556adb3ad349569e5d82653f16
|
||||
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
|
||||
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
|
||||
Signed-off-by: Thecrazyskull <anaskarbila@gmail.com>
|
||||
Signed-off-by: Joey Rizzoli <joey@lineageos.org>
|
||||
---
|
||||
.../SystemUI/res/values/lineage_dimens.xml | 3 +
|
||||
.../navigationbar/NavigationBarView.java | 26 +++++
|
||||
.../statusbar/phone/CentralSurfacesImpl.java | 14 +++
|
||||
.../statusbar/phone/PhoneStatusBarView.java | 27 +++++
|
||||
.../policy/BurnInProtectionController.java | 105 ++++++++++++++++++
|
||||
5 files changed, 175 insertions(+)
|
||||
create mode 100644 packages/SystemUI/src/com/android/systemui/statusbar/policy/BurnInProtectionController.java
|
||||
|
||||
diff --git a/packages/SystemUI/res/values/lineage_dimens.xml b/packages/SystemUI/res/values/lineage_dimens.xml
|
||||
index e1998ce3d3ab..dc59ccd794f7 100644
|
||||
--- a/packages/SystemUI/res/values/lineage_dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/lineage_dimens.xml
|
||||
@@ -21,4 +21,7 @@
|
||||
|
||||
<!-- Largest size an avatar might need to be drawn in the power menu user picker -->
|
||||
<dimen name="global_actions_avatar_size">24dp</dimen>
|
||||
+
|
||||
+ <dimen name="burnin_protection_horizontal_shift">3dp</dimen>
|
||||
+ <dimen name="burnin_protection_vertical_shift">1dp</dimen>
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
|
||||
index 883903efb95f..2020910d88bf 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
|
||||
@@ -163,6 +163,13 @@ public class NavigationBarView extends FrameLayout implements TunerService.Tunab
|
||||
private FloatingRotationButton mFloatingRotationButton;
|
||||
private RotationButtonController mRotationButtonController;
|
||||
|
||||
+ private int mBasePaddingBottom;
|
||||
+ private int mBasePaddingLeft;
|
||||
+ private int mBasePaddingRight;
|
||||
+ private int mBasePaddingTop;
|
||||
+
|
||||
+ private ViewGroup mNavigationBarContents;
|
||||
+
|
||||
/**
|
||||
* Helper that is responsible for showing the right toast when a disallowed activity operation
|
||||
* occurred. In pinned mode, we show instructions on how to break out of this mode, whilst in
|
||||
@@ -880,12 +887,31 @@ public class NavigationBarView extends FrameLayout implements TunerService.Tunab
|
||||
mContextualButtonGroup.setButtonVisibility(R.id.accessibility_button, visible);
|
||||
}
|
||||
|
||||
+ public void shiftNavigationBarItems(int horizontalShift, int verticalShift) {
|
||||
+ if (mNavigationBarContents == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ mNavigationBarContents.setPaddingRelative(mBasePaddingLeft + horizontalShift,
|
||||
+ mBasePaddingTop + verticalShift,
|
||||
+ mBasePaddingRight + horizontalShift,
|
||||
+ mBasePaddingBottom - verticalShift);
|
||||
+ invalidate();
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
mNavigationInflaterView = findViewById(R.id.navigation_inflater);
|
||||
mNavigationInflaterView.setButtonDispatchers(mButtonDispatchers);
|
||||
|
||||
+
|
||||
+ mNavigationBarContents = (ViewGroup) findViewById(R.id.nav_buttons);
|
||||
+
|
||||
+ mBasePaddingLeft = mNavigationBarContents.getPaddingStart();
|
||||
+ mBasePaddingTop = mNavigationBarContents.getPaddingTop();
|
||||
+ mBasePaddingRight = mNavigationBarContents.getPaddingEnd();
|
||||
+ mBasePaddingBottom = mNavigationBarContents.getPaddingBottom();
|
||||
updateOrientationViews();
|
||||
reloadNavIcons();
|
||||
}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
|
||||
index 83755c6591be..4e2bb5424eb8 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
|
||||
@@ -226,6 +226,7 @@ import com.android.systemui.statusbar.phone.dagger.StatusBarPhoneModule;
|
||||
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
|
||||
import com.android.systemui.statusbar.policy.BatteryController;
|
||||
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
|
||||
+import com.android.systemui.statusbar.policy.BurnInProtectionController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
|
||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
|
||||
@@ -453,6 +454,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces, Tune
|
||||
@Nullable
|
||||
protected LockscreenWallpaper mLockscreenWallpaper;
|
||||
private final AutoHideController mAutoHideController;
|
||||
+ private BurnInProtectionController mBurnInProtectionController;
|
||||
|
||||
private final Point mCurrentDisplaySize = new Point();
|
||||
|
||||
@@ -1233,6 +1235,12 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces, Tune
|
||||
mNotificationPanelViewController.updatePanelExpansionAndVisibility();
|
||||
setBouncerShowingForStatusBarComponents(mBouncerShowing);
|
||||
checkBarModes();
|
||||
+
|
||||
+ if (mContext.getResources().getBoolean(
|
||||
+ com.android.internal.R.bool.config_enableBurnInProtection)) {
|
||||
+ mBurnInProtectionController = new BurnInProtectionController(mContext,
|
||||
+ this, mStatusBarView);
|
||||
+ }
|
||||
});
|
||||
initializer.initializeStatusBar(mCentralSurfacesComponent);
|
||||
|
||||
@@ -3488,6 +3496,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces, Tune
|
||||
|
||||
updateNotificationPanelTouchState();
|
||||
mNotificationShadeWindowViewController.cancelCurrentTouch();
|
||||
+ if (mBurnInProtectionController != null) {
|
||||
+ mBurnInProtectionController.stopShiftTimer(true);
|
||||
+ }
|
||||
if (mLaunchCameraOnFinishedGoingToSleep) {
|
||||
mLaunchCameraOnFinishedGoingToSleep = false;
|
||||
|
||||
@@ -3593,6 +3604,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces, Tune
|
||||
}
|
||||
}
|
||||
updateScrimController();
|
||||
+ if (mBurnInProtectionController != null) {
|
||||
+ mBurnInProtectionController.startShiftTimer(true);
|
||||
+ }
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
index 5692024fb473..3892921957b2 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
|
||||
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
+import android.content.res.Resources;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Rect;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
@@ -63,6 +64,13 @@ public class PhoneStatusBarView extends FrameLayout implements Callbacks {
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final StatusBarContentInsetsProvider mContentInsetsProvider;
|
||||
|
||||
+ private int mBasePaddingBottom;
|
||||
+ private int mBasePaddingLeft;
|
||||
+ private int mBasePaddingRight;
|
||||
+ private int mBasePaddingTop;
|
||||
+
|
||||
+ private ViewGroup mStatusBarContents;
|
||||
+
|
||||
private DarkReceiver mBattery;
|
||||
private ClockController mClockController;
|
||||
private int mRotationOrientation = -1;
|
||||
@@ -140,6 +148,18 @@ public class PhoneStatusBarView extends FrameLayout implements Callbacks {
|
||||
StatusBarUserChipViewBinder.bind(container, viewModel);
|
||||
}
|
||||
|
||||
+ public void shiftStatusBarItems(int horizontalShift, int verticalShift) {
|
||||
+ if (mStatusBarContents == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ mStatusBarContents.setPaddingRelative(mBasePaddingLeft + horizontalShift,
|
||||
+ mBasePaddingTop + verticalShift,
|
||||
+ mBasePaddingRight + horizontalShift,
|
||||
+ mBasePaddingBottom - verticalShift);
|
||||
+ invalidate();
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
@@ -147,6 +167,13 @@ public class PhoneStatusBarView extends FrameLayout implements Callbacks {
|
||||
mClockController = new ClockController(getContext(), this);
|
||||
mCutoutSpace = findViewById(R.id.cutout_space_view);
|
||||
|
||||
+ mStatusBarContents = (ViewGroup) findViewById(R.id.status_bar_contents);
|
||||
+
|
||||
+ mBasePaddingLeft = mStatusBarContents.getPaddingStart();
|
||||
+ mBasePaddingTop = mStatusBarContents.getPaddingTop();
|
||||
+ mBasePaddingRight = mStatusBarContents.getPaddingEnd();
|
||||
+ mBasePaddingBottom = mStatusBarContents.getPaddingBottom();
|
||||
+
|
||||
updateResources();
|
||||
}
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BurnInProtectionController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BurnInProtectionController.java
|
||||
new file mode 100644
|
||||
index 000000000000..864d86ffd6a3
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BurnInProtectionController.java
|
||||
@@ -0,0 +1,105 @@
|
||||
+/*
|
||||
+ * Copyright 2017 Paranoid Android
|
||||
+ * Copyright 2020 The LineageOS 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.systemui.statusbar.policy;
|
||||
+
|
||||
+import android.content.Context;
|
||||
+import android.content.res.Resources;
|
||||
+import android.os.Handler;
|
||||
+import android.os.Looper;
|
||||
+import android.util.Log;
|
||||
+
|
||||
+import com.android.systemui.R;
|
||||
+import com.android.systemui.navigationbar.NavigationBarView;
|
||||
+import com.android.systemui.statusbar.phone.PhoneStatusBarView;
|
||||
+import com.android.systemui.statusbar.phone.CentralSurfacesImpl;
|
||||
+
|
||||
+public class BurnInProtectionController {
|
||||
+ private static final String TAG = "BurnInProtectionController";
|
||||
+ private static final boolean DEBUG = false;
|
||||
+ private static final long INTERVAL = 60000; // Milliseconds
|
||||
+
|
||||
+ private int mHorizontalShift = 0;
|
||||
+ private int mVerticalShift = 0;
|
||||
+ private int mHorizontalDirection = 1;
|
||||
+ private int mVerticalDirection = 1;
|
||||
+ private int mNavigationBarHorizontalMaxShift;
|
||||
+ private int mNavigationBarVerticalMaxShift;
|
||||
+ private int mHorizontalMaxShift;
|
||||
+ private int mVerticalMaxShift;
|
||||
+ private long mShiftInterval;
|
||||
+
|
||||
+ private final Handler mHandler = new Handler();
|
||||
+ private final Runnable mRunnable = () -> {
|
||||
+ shiftItems();
|
||||
+ mHandler.postDelayed(this.mRunnable, INTERVAL);
|
||||
+ };
|
||||
+
|
||||
+ private PhoneStatusBarView mPhoneStatusBarView;
|
||||
+ private CentralSurfacesImpl mStatusBar;
|
||||
+
|
||||
+ private Context mContext;
|
||||
+
|
||||
+ public BurnInProtectionController(Context context, CentralSurfacesImpl statusBar,
|
||||
+ PhoneStatusBarView phoneStatusBarView) {
|
||||
+ mContext = context;
|
||||
+
|
||||
+ mPhoneStatusBarView = phoneStatusBarView;
|
||||
+ mStatusBar = statusBar;
|
||||
+
|
||||
+ mHorizontalMaxShift = mContext.getResources()
|
||||
+ .getDimensionPixelSize(R.dimen.burnin_protection_horizontal_shift);
|
||||
+ // total of ((vertical_max_shift - 1) * 2) pixels can be moved
|
||||
+ mVerticalMaxShift = mContext.getResources()
|
||||
+ .getDimensionPixelSize(R.dimen.burnin_protection_vertical_shift) - 1;
|
||||
+ }
|
||||
+
|
||||
+ public void startShiftTimer(boolean enabled) {
|
||||
+ if (!enabled) return;
|
||||
+ mHandler.removeCallbacks(mRunnable);
|
||||
+ mHandler.postDelayed(mRunnable, INTERVAL);
|
||||
+ if (DEBUG) Log.d(TAG, "Started shift timer");
|
||||
+ }
|
||||
+
|
||||
+ public void stopShiftTimer(boolean enabled) {
|
||||
+ if (!enabled) return;
|
||||
+ mHandler.removeCallbacks(mRunnable);
|
||||
+ if (DEBUG) Log.d(TAG, "Canceled shift timer");
|
||||
+ }
|
||||
+
|
||||
+ private void shiftItems() {
|
||||
+ mHorizontalShift += mHorizontalDirection;
|
||||
+ if ((mHorizontalShift >= mHorizontalMaxShift) ||
|
||||
+ (mHorizontalShift <= -mHorizontalMaxShift)) {
|
||||
+ mHorizontalDirection *= -1;
|
||||
+ }
|
||||
+
|
||||
+ mVerticalShift += mVerticalDirection;
|
||||
+ if ((mVerticalShift >= mVerticalMaxShift) ||
|
||||
+ (mVerticalShift <= -mVerticalMaxShift)) {
|
||||
+ mVerticalDirection *= -1;
|
||||
+ }
|
||||
+
|
||||
+ mPhoneStatusBarView.shiftStatusBarItems(mHorizontalShift, mVerticalShift);
|
||||
+ NavigationBarView navigationBarView = mStatusBar.getNavigationBarView();
|
||||
+
|
||||
+ if (navigationBarView != null) {
|
||||
+ navigationBarView.shiftNavigationBarItems(mHorizontalShift, mVerticalShift);
|
||||
+ }
|
||||
+ if (DEBUG) Log.d(TAG, "Shifting items\u2026");
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 933a1e4767cc3deec8545623ce7e44f39a05a922 Mon Sep 17 00:00:00 2001
|
||||
From d5b5deb95a8bf6737973cde8460d05b19a70032c Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Sat, 16 Oct 2021 05:27:57 -0700
|
||||
Subject: [PATCH 15/15] Add support for app signature spoofing
|
||||
Subject: [PATCH 16/24] 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
|
||||
@ -38,7 +38,7 @@ Change-Id: Ied7d6ce0b83a2d2345c3abba0429998d86494a88
|
||||
4 files changed, 56 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/core/api/current.txt b/core/api/current.txt
|
||||
index c8a43db2f9c2..277183036c60 100644
|
||||
index 487e57d114c9..04e69741b9fd 100644
|
||||
--- a/core/api/current.txt
|
||||
+++ b/core/api/current.txt
|
||||
@@ -87,6 +87,7 @@ package android {
|
||||
@ -58,10 +58,10 @@ index c8a43db2f9c2..277183036c60 100644
|
||||
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
|
||||
index bbe31240f5f3..7d717b2106a1 100644
|
||||
--- a/core/res/AndroidManifest.xml
|
||||
+++ b/core/res/AndroidManifest.xml
|
||||
@@ -3542,6 +3542,21 @@
|
||||
@@ -3572,6 +3572,21 @@
|
||||
android:description="@string/permdesc_getPackageSize"
|
||||
android:protectionLevel="normal" />
|
||||
|
||||
@ -84,10 +84,10 @@ index 1b90803404f7..d1cb6c3241f2 100644
|
||||
{@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
|
||||
index 9410e0682106..7ed7a03f1b61 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -974,6 +974,18 @@
|
||||
@@ -977,6 +977,18 @@
|
||||
|
||||
<!-- Permissions -->
|
||||
|
||||
@ -159,5 +159,5 @@ index 46b7460dff1b..40549962436f 100644
|
||||
if (packageInfo == null) {
|
||||
return null;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -0,0 +1,113 @@
|
||||
From 47265639ead98824ac0d176e06bcffe6a2035a42 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Mon, 11 Oct 2021 19:59:51 -0700
|
||||
Subject: [PATCH 17/24] 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
|
||||
|
@ -0,0 +1,93 @@
|
||||
From 838a9febd980da5a1829c75f86ecc5a519e9cdb9 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Mon, 11 Oct 2021 20:00:44 -0700
|
||||
Subject: [PATCH 18/24] 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
|
||||
|
@ -0,0 +1,42 @@
|
||||
From 260b0f7a81c762b3b03b8f83dedee9c92e0f55ca Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Mon, 1 Nov 2021 20:06:48 -0700
|
||||
Subject: [PATCH 19/24] 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
|
||||
|
@ -0,0 +1,59 @@
|
||||
From 839d9d8e213a15c823aa218539993b2c23f3bd65 Mon Sep 17 00:00:00 2001
|
||||
From: Dyneteve <dyneteve@hentaios.com>
|
||||
Date: Tue, 23 Aug 2022 18:57:05 +0200
|
||||
Subject: [PATCH 20/24] 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
|
||||
|
@ -0,0 +1,46 @@
|
||||
From 030dc8f051ca98594cc037b1fe6b79d417d3a8a3 Mon Sep 17 00:00:00 2001
|
||||
From: Dyneteve <dyneteve@hentaios.com>
|
||||
Date: Thu, 8 Sep 2022 14:39:52 +0200
|
||||
Subject: [PATCH 21/24] 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
|
||||
|
@ -0,0 +1,27 @@
|
||||
From bdd113e11896541b2e4df0fcb9dd94ce3334e933 Mon Sep 17 00:00:00 2001
|
||||
From: Dyneteve <dyneteve@hentaios.com>
|
||||
Date: Tue, 6 Dec 2022 15:59:08 +0100
|
||||
Subject: [PATCH 22/24] 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
|
||||
|
@ -0,0 +1,57 @@
|
||||
From b4b83ed885d8c3751220ab7270ff0819ea37fb5e Mon Sep 17 00:00:00 2001
|
||||
From: Anirudh Gupta <anirudhgupta109@aosip.dev>
|
||||
Date: Wed, 4 Jan 2023 18:20:56 +0000
|
||||
Subject: [PATCH 23/24] 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
|
||||
|
@ -0,0 +1,65 @@
|
||||
From 2d053efcdbc7ad46ab7cae4550c3134b6ca5ba62 Mon Sep 17 00:00:00 2001
|
||||
From: Dyneteve <dyneteve@hentaios.com>
|
||||
Date: Wed, 8 Feb 2023 15:21:01 +0000
|
||||
Subject: [PATCH 24/24] 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d8f9f479012d522aed7377e5996cf7a5265ea268 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@ -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 223eba5b95..75f8baed6b 100644
|
||||
index 8b5f091e11..601021b5bf 100644
|
||||
--- a/quickstep/src/com/android/quickstep/fallback/RecentsState.java
|
||||
+++ b/quickstep/src/com/android/quickstep/fallback/RecentsState.java
|
||||
@@ -105,7 +105,7 @@ public class RecentsState implements BaseState<RecentsState> {
|
||||
@@ -106,7 +106,7 @@ public class RecentsState implements BaseState<RecentsState> {
|
||||
* For this state, whether clear all button should be shown.
|
||||
*/
|
||||
public boolean hasClearAllButton() {
|
||||
@ -86,7 +86,7 @@ index 223eba5b95..75f8baed6b 100644
|
||||
|
||||
/**
|
||||
diff --git a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
|
||||
index bb8506d26f..e8c18f1d45 100644
|
||||
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
|
||||
@ -98,12 +98,12 @@ index bb8506d26f..e8c18f1d45 100644
|
||||
+ 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 7ad0e48ccb..e888aa2c74 100644
|
||||
index 5e645ea917..0dc0b3b62e 100644
|
||||
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
|
||||
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
|
||||
@@ -110,6 +110,7 @@ import android.view.ViewTreeObserver.OnScrollChangedListener;
|
||||
@@ -117,6 +117,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 7ad0e48ccb..e888aa2c74 100644
|
||||
import android.widget.ListView;
|
||||
import android.widget.OverScroller;
|
||||
import android.widget.Toast;
|
||||
@@ -464,6 +465,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
@@ -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;
|
||||
@ -119,7 +119,7 @@ index 7ad0e48ccb..e888aa2c74 100644
|
||||
private final ClearAllButton mClearAllButton;
|
||||
private final Rect mClearAllButtonDeadZoneRect = new Rect();
|
||||
private final Rect mTaskViewDeadZoneRect = new Rect();
|
||||
@@ -911,6 +913,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
@@ -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;
|
||||
@ -128,7 +128,7 @@ index 7ad0e48ccb..e888aa2c74 100644
|
||||
}
|
||||
|
||||
public SplitSelectStateController getSplitSelectController() {
|
||||
@@ -1230,7 +1234,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
||||
@@ -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() {
|
||||
@ -138,5 +138,5 @@ index 7ad0e48ccb..e888aa2c74 100644
|
||||
|
||||
@Override
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d6798034133d378b48f226e876e679b0131c1dbd Mon Sep 17 00:00:00 2001
|
||||
From 630ef309d41f80ba621c9646d44e1480a2c1b06b 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
|
||||
@ -385,5 +385,5 @@ literal 0
|
||||
HcmV?d00001
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3d733c87e62d1b84124e5a2c1172bb94df3501d2 Mon Sep 17 00:00:00 2001
|
||||
From df749c8f69ea955f7ce2894ef73f0b395b6aa86d 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
|
||||
@ -9,7 +9,7 @@ Change-Id: Iea5d24f977928bf01cd7a46b98c75c0a4bd6a23c
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
|
||||
index 7732da40aac2..1d2c343a4514 100644
|
||||
index 99b15db780dc..cff3e668f053 100644
|
||||
--- a/packages/SettingsProvider/res/values/defaults.xml
|
||||
+++ b/packages/SettingsProvider/res/values/defaults.xml
|
||||
@@ -36,7 +36,7 @@
|
||||
@ -22,5 +22,5 @@ index 7732da40aac2..1d2c343a4514 100644
|
||||
<bool name="def_install_non_market_apps">false</bool>
|
||||
<!-- 0 == off, 3 == on -->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1a6a0ac98a327cfee7e3d703792ef456197ae212 Mon Sep 17 00:00:00 2001
|
||||
From 3446855cc0673b68bbd3558362e282c5b1decf51 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
|
||||
@ -24,5 +24,5 @@ index fb40ee5ec843..c0c6fb6e9431 100644
|
||||
/**
|
||||
* Threshold for the direction of a swipe gesture in order for it to be handled as a cursor drag
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 57b4bdcc55b85a0c92a348c23e31e6d7d373ba83 Mon Sep 17 00:00:00 2001
|
||||
From 4706b07fb66ea1a0f10a5bb84cda6780cb10f4a3 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 04/21] Disable "RESTRICTED bucket" toast
|
||||
@ -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 5d9f3357125a..49d3c8de7b80 100644
|
||||
index a6f47d4e4908..ac7cabba3ddc 100644
|
||||
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
|
||||
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
|
||||
@@ -1759,25 +1759,7 @@ public class AppStandbyController
|
||||
@@ -1781,25 +1781,7 @@ public class AppStandbyController
|
||||
.noteRestrictionAttempt(packageName, userId, elapsedRealtime, reason);
|
||||
|
||||
if (isForcedByUser) {
|
||||
@ -40,5 +40,5 @@ index 5d9f3357125a..49d3c8de7b80 100644
|
||||
final long timeUntilRestrictPossibleMs = app.lastUsedByUserElapsedTime
|
||||
+ mInjector.getAutoRestrictedBucketDelayMs() - elapsedRealtime;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2288c34ff8bf06a7be040815ff4d6496eb36062a Mon Sep 17 00:00:00 2001
|
||||
From 2362d29a436aa9483f6913e022567d6f9fd90332 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 05/21] Keyguard: Adjust clock style
|
||||
@ -7,19 +7,84 @@ Thinner font, less padding and unintrusive colors
|
||||
|
||||
Change-Id: I21e5d5bf37d724e75ebce4cd89349e0cc4dfc910
|
||||
---
|
||||
.../customization/res/layout/clock_default_large.xml | 1 +
|
||||
.../customization/res/layout/clock_default_small.xml | 2 +-
|
||||
packages/SystemUI/customization/res/values/colors.xml | 5 +++++
|
||||
.../android/systemui/shared/clocks/AnimatableClockView.kt | 2 +-
|
||||
.../systemui/shared/clocks/DefaultClockController.kt | 4 ++--
|
||||
.../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
|
||||
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
|
||||
index 0139d50dcfba..9f5ca7b89213 100644
|
||||
--- a/packages/SystemUI/customization/res/layout/clock_default_large.xml
|
||||
+++ b/packages/SystemUI/customization/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/customization/res/layout/clock_default_small.xml b/packages/SystemUI/customization/res/layout/clock_default_small.xml
|
||||
index ff6d7f9e2240..b63ffce20671 100644
|
||||
--- a/packages/SystemUI/customization/res/layout/clock_default_small.xml
|
||||
+++ b/packages/SystemUI/customization/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/customization/res/values/colors.xml b/packages/SystemUI/customization/res/values/colors.xml
|
||||
new file mode 100644
|
||||
index 000000000000..f80af4376ff1
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/customization/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/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
|
||||
index 462b90a10aee..d5fdb185d042 100644
|
||||
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
|
||||
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/AnimatableClockView.kt
|
||||
@@ -147,7 +147,7 @@ class AnimatableClockView @JvmOverloads constructor(
|
||||
fun refreshTime() {
|
||||
time.timeInMillis = timeOverrideInMillis ?: System.currentTimeMillis()
|
||||
contentDescription = DateFormat.format(descFormat, time)
|
||||
- val formattedText = DateFormat.format(format, time)
|
||||
+ val formattedText = DateFormat.format(format, time).toString() + ' '
|
||||
logBuffer?.log(tag, DEBUG,
|
||||
{ str1 = formattedText?.toString() },
|
||||
{ "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
|
||||
index e138ef8a1ea8..fa7979a0b598 100644
|
||||
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
|
||||
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt
|
||||
@@ -131,9 +131,9 @@ class DefaultClockController(
|
||||
fun updateColor() {
|
||||
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)
|
||||
}
|
||||
|
||||
if (currentColor == color) {
|
||||
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
|
||||
@ -34,10 +99,10 @@ 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 46f6ab2399d1..6fce16ced94f 100644
|
||||
index c5ffdc0051da..b3f3d46c5dcd 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values/dimens.xml
|
||||
@@ -91,10 +91,10 @@
|
||||
@@ -94,10 +94,10 @@
|
||||
<dimen name="num_pad_key_margin_end">12dp</dimen>
|
||||
|
||||
<!-- additional offset for clock switch area items -->
|
||||
@ -52,7 +117,7 @@ index 46f6ab2399d1..6fce16ced94f 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 a1d12668d27a..955e24e01a9a 100644
|
||||
index 04dffb6e8c52..c81e018702bb 100644
|
||||
--- a/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
+++ b/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
@@ -117,8 +117,6 @@
|
||||
@ -65,10 +130,10 @@ index a1d12668d27a..955e24e01a9a 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 d27fa192e741..2480d0189e16 100644
|
||||
index 8b8594032816..9135e78f3e4c 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
@@ -91,7 +91,7 @@
|
||||
@@ -74,7 +74,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:ellipsize="marquee"
|
||||
android:textDirection="locale"
|
||||
@ -78,19 +143,19 @@ index d27fa192e741..2480d0189e16 100644
|
||||
android:singleLine="true"
|
||||
systemui:showMissingSim="true"
|
||||
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
|
||||
index a10878709364..78fd8ab3b324 100644
|
||||
index dfc6ba4720f2..6c5e6d73feb7 100644
|
||||
--- a/packages/SystemUI/res/values/styles.xml
|
||||
+++ b/packages/SystemUI/res/values/styles.xml
|
||||
@@ -276,7 +276,7 @@
|
||||
@@ -301,7 +301,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>
|
||||
- <item name="wallpaperTextColorAccent">@color/material_dynamic_primary90</item>
|
||||
+ <item name="wallpaperTextColorAccent">@*android:color/primary_text_material_dark</item>
|
||||
<item name="android:colorError">@*android:color/error_color_material_dark</item>
|
||||
<item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
|
||||
<item name="passwordStyle">@style/PasswordTheme</item>
|
||||
@@ -292,7 +292,7 @@
|
||||
<item name="*android:lockPatternStyle">@style/LockPatternViewStyle</item>
|
||||
<item name="lockPatternStyle">@style/LockPatternContainerStyle</item>
|
||||
@@ -323,7 +323,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>
|
||||
@ -99,71 +164,6 @@ index a10878709364..78fd8ab3b324 100644
|
||||
<item name="android:colorError">@*android:color/error_color_material_light</item>
|
||||
<item name="shadowRadius">0</item>
|
||||
|
||||
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 = 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
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9524ee57bd44eba56aa592164544f623a010614a Mon Sep 17 00:00:00 2001
|
||||
From f3928474b86986827588d05535cc045156becbde 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 06/21] Keyguard: Hide padlock unless UDFPS is in use
|
||||
@ -11,10 +11,10 @@ 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 2a3667610f9c..12905c70fc21 100644
|
||||
index 1322f16a5a59..3df030b50ed5 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
|
||||
@@ -295,20 +295,14 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
|
||||
return;
|
||||
}
|
||||
|
||||
@ -39,5 +39,5 @@ index 2a3667610f9c..12905c70fc21 100644
|
||||
// fp icon was shown by UdfpsView, and now we still want to animate the transition
|
||||
// in this drawable
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 97ad90dbfeab360820f198a39c48fd6f7d1139b6 Mon Sep 17 00:00:00 2001
|
||||
From 67e73c9aa252581a81f0dabcc6b8a7067da040ac 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 07/21] Keyguard: Never switch to large clock
|
||||
@ -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 2165099b474e..3b137c932139 100644
|
||||
index 788f1200d603..45d045785e2d 100644
|
||||
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
|
||||
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
|
||||
@@ -376,7 +376,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
@@ -392,7 +392,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
||||
|
||||
private void updateDoubleLineClock() {
|
||||
mCanShowDoubleLineClock = mSecureSettings.getIntForUser(
|
||||
@ -24,5 +24,5 @@ index 2165099b474e..3b137c932139 100644
|
||||
|
||||
if (!mCanShowDoubleLineClock) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,20 +1,20 @@
|
||||
From c7579711632d2fc79e9775bb79e3f56126accbc3 Mon Sep 17 00:00:00 2001
|
||||
From 5b078c1242e2d69a887b56130b0f12609269ad89 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 08/21] Keyguard: Refine indication text
|
||||
|
||||
Change-Id: Ib771c35610f712a1de34736e817bcfe616ac37d8
|
||||
---
|
||||
packages/SystemUI/res-keyguard/values/styles.xml | 2 --
|
||||
.../SystemUI/res/layout/keyguard_bottom_area.xml | 1 +
|
||||
.../SystemUI/res-keyguard/values/styles.xml | 2 --
|
||||
.../res/layout/keyguard_bottom_area.xml | 1 +
|
||||
packages/SystemUI/res/values/dimens.xml | 3 +--
|
||||
.../KeyguardIndicationRotateTextViewController.java | 12 +++++++++++-
|
||||
.../statusbar/KeyguardIndicationController.java | 7 ++++---
|
||||
.../statusbar/phone/KeyguardIndicationTextView.java | 2 +-
|
||||
6 files changed, 18 insertions(+), 9 deletions(-)
|
||||
...ardIndicationRotateTextViewController.java | 12 +++++++++-
|
||||
.../KeyguardIndicationController.java | 23 ++++---------------
|
||||
.../phone/KeyguardIndicationTextView.java | 2 +-
|
||||
6 files changed, 18 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res-keyguard/values/styles.xml b/packages/SystemUI/res-keyguard/values/styles.xml
|
||||
index 955e24e01a9a..58c6919971a1 100644
|
||||
index c81e018702bb..cc87f9f3d7cf 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 955e24e01a9a..58c6919971a1 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 8df8c49ee057..ff616b66790d 100644
|
||||
index 6120863f23ab..5fd81bad8226 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
|
||||
@@ -35,6 +35,7 @@
|
||||
@ -39,16 +39,16 @@ index 8df8c49ee057..ff616b66790d 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 9c85fbc4b391..44766f3b6a6d 100644
|
||||
index 1165c0d1eda1..750fb574c30c 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -760,11 +760,10 @@
|
||||
@@ -774,11 +774,10 @@
|
||||
<dimen name="keyguard_lock_height">42dp</dimen>
|
||||
<dimen name="keyguard_lock_padding">20dp</dimen>
|
||||
|
||||
- <dimen name="keyguard_indication_margin_bottom">32dp</dimen>
|
||||
+ <dimen name="keyguard_indication_margin_bottom">16dp</dimen>
|
||||
<dimen name="lock_icon_margin_bottom">110dp</dimen>
|
||||
<dimen name="lock_icon_margin_bottom">74dp</dimen>
|
||||
<dimen name="ambient_indication_margin_bottom">71dp</dimen>
|
||||
|
||||
-
|
||||
@ -56,7 +56,7 @@ index 9c85fbc4b391..44766f3b6a6d 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 f84a5e39163f..38baa611cf07 100644
|
||||
index 9235e10209d4..42e710d9c9a3 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java
|
||||
@@ -220,12 +220,22 @@ public class KeyguardIndicationRotateTextViewController extends
|
||||
@ -67,7 +67,7 @@ index f84a5e39163f..38baa611cf07 100644
|
||||
+ * @return true if there are available non-resting indications to show.
|
||||
*/
|
||||
public boolean hasIndications() {
|
||||
+ if (hasIndication(INDICATION_TYPE_RESTING)) {
|
||||
+ if (hasIndication(INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE)) {
|
||||
+ return mIndicationMessages.keySet().size() > 1;
|
||||
+ }
|
||||
return mIndicationMessages.keySet().size() > 0;
|
||||
@ -84,10 +84,10 @@ index f84a5e39163f..38baa611cf07 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 073ab8b16864..5fb3c05c4a2a 100644
|
||||
index 6a658b6ee047..632d186ac4f4 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
|
||||
@@ -267,10 +267,12 @@ public class KeyguardIndicationController {
|
||||
@@ -270,10 +270,12 @@ public class KeyguardIndicationController {
|
||||
public void handleMessage(Message msg) {
|
||||
if (msg.what == MSG_HIDE_TRANSIENT) {
|
||||
hideTransientIndication();
|
||||
@ -100,21 +100,51 @@ index 073ab8b16864..5fb3c05c4a2a 100644
|
||||
} else if (msg.what == MSG_RESET_ERROR_MESSAGE_ON_SCREEN_ON) {
|
||||
mBiometricErrorMessageToShowOnScreenOn = null;
|
||||
}
|
||||
@@ -588,12 +590,11 @@ public class KeyguardIndicationController {
|
||||
@@ -375,7 +377,6 @@ public class KeyguardIndicationController {
|
||||
updateLockScreenDisclosureMsg();
|
||||
updateLockScreenOwnerInfo();
|
||||
updateLockScreenBatteryMsg(animate);
|
||||
- updateLockScreenUserLockedMsg(userId);
|
||||
updateLockScreenTrustMsg(userId, getTrustGrantedIndication(), getTrustManagedIndication());
|
||||
updateLockScreenAlignmentMsg();
|
||||
updateLockScreenLogoutView();
|
||||
@@ -484,22 +485,6 @@ public class KeyguardIndicationController {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateLockScreenRestingMsg() {
|
||||
- if (!TextUtils.isEmpty(mRestingIndication)
|
||||
- && !mRotateTextViewController.hasIndications()) {
|
||||
- private void updateLockScreenUserLockedMsg(int userId) {
|
||||
- if (!mKeyguardUpdateMonitor.isUserUnlocked(userId)
|
||||
- || mKeyguardUpdateMonitor.isEncryptedOrLockdown(userId)) {
|
||||
- mRotateTextViewController.updateIndication(
|
||||
- INDICATION_TYPE_USER_LOCKED,
|
||||
- new KeyguardIndication.Builder()
|
||||
- .setMessage(mContext.getResources().getText(
|
||||
- com.android.internal.R.string.lockscreen_storage_locked))
|
||||
- .setTextColor(mInitialTextColorState)
|
||||
- .build(),
|
||||
- false);
|
||||
- } else {
|
||||
- mRotateTextViewController.hideIndication(INDICATION_TYPE_USER_LOCKED);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
private void updateBiometricMessage() {
|
||||
if (mDozing) {
|
||||
updateDeviceEntryIndication(false);
|
||||
@@ -592,11 +577,11 @@ public class KeyguardIndicationController {
|
||||
}
|
||||
|
||||
private void updateLockScreenPersistentUnlockMsg() {
|
||||
- if (!TextUtils.isEmpty(mPersistentUnlockMessage)) {
|
||||
+ if (!mRotateTextViewController.hasIndications()) {
|
||||
mRotateTextViewController.updateIndication(
|
||||
INDICATION_TYPE_RESTING,
|
||||
INDICATION_TYPE_PERSISTENT_UNLOCK_MESSAGE,
|
||||
new KeyguardIndication.Builder()
|
||||
- .setMessage(mRestingIndication)
|
||||
- .setMessage(mPersistentUnlockMessage)
|
||||
+ .setMessage(mContext.getResources().getString(R.string.keyguard_unlock))
|
||||
.setTextColor(mInitialTextColorState)
|
||||
.build(),
|
||||
false);
|
||||
true);
|
||||
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 d24469e8421e..647c766aa0f0 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardIndicationTextView.java
|
||||
@ -129,5 +159,5 @@ index d24469e8421e..647c766aa0f0 100644
|
||||
private KeyguardIndication mKeyguardIndicationInfo;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -0,0 +1,165 @@
|
||||
From 146d8cbf38f17136e1aed47d634ff833f5a5fc8d 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 09/21] Keyguard/UI: Fix status bar / quick settings margins
|
||||
and paddings
|
||||
|
||||
Last revised on 2023/03/22, targeting T QPR2
|
||||
|
||||
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 center or no notch: [rounded_corner_content_padding][status_bar_padding_start][content]...[content][status_bar_padding_end][rounded_corner_content_padding]
|
||||
Key point being:
|
||||
- SB (including keyguard) and QS should always act uniformly
|
||||
- Notch definition should only be the notch itself, without additional padding
|
||||
- Instead, these paddings should be covered by status_bar_padding_{start|end}
|
||||
As a result, below changes have been made:
|
||||
- Change keyguard_carrier_text_margin into a padding and link to status_bar_padding_start
|
||||
- Add status_bar_padding_{start|end} to quick settings header
|
||||
- Remove unnecessary margins and paddings if any
|
||||
|
||||
Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7
|
||||
---
|
||||
packages/SystemUI/res/layout/combined_qs_header.xml | 2 +-
|
||||
packages/SystemUI/res/layout/keyguard_status_bar.xml | 2 +-
|
||||
packages/SystemUI/res/values-sw600dp/dimens.xml | 3 ---
|
||||
packages/SystemUI/res/values/dimens.xml | 2 +-
|
||||
packages/SystemUI/res/xml/qqs_header.xml | 4 ++--
|
||||
.../systemui/shade/LargeScreenShadeHeaderController.kt | 10 +++++++---
|
||||
.../statusbar/phone/KeyguardStatusBarView.java | 7 -------
|
||||
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 4b78f2839255..7ac024a97eee 100644
|
||||
--- a/packages/SystemUI/res/layout/combined_qs_header.xml
|
||||
+++ b/packages/SystemUI/res/layout/combined_qs_header.xml
|
||||
@@ -148,4 +148,4 @@
|
||||
<include layout="@layout/ongoing_privacy_chip"/>
|
||||
</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
|
||||
index 9135e78f3e4c..ddaea938c858 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
@@ -69,7 +69,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="@dimen/status_bar_padding_top"
|
||||
- android:layout_marginStart="@dimen/keyguard_carrier_text_margin"
|
||||
+ android:paddingStart="@dimen/keyguard_carrier_text_margin"
|
||||
android:layout_toStartOf="@id/system_icons_container"
|
||||
android:gravity="center_vertical"
|
||||
android:ellipsize="marquee"
|
||||
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
index 599bf30a5135..f9911fda7dbe 100644
|
||||
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
@@ -27,9 +27,6 @@
|
||||
<!-- The width of user avatar when on Keyguard -->
|
||||
<dimen name="multi_user_avatar_keyguard_size">30dp</dimen>
|
||||
|
||||
- <!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">24dp</dimen>
|
||||
-
|
||||
<!-- The width/height of the phone/camera/unlock icon on keyguard. -->
|
||||
<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 750fb574c30c..b5854568c117 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -748,7 +748,7 @@
|
||||
<dimen name="kg_framed_avatar_size">32dp</dimen>
|
||||
|
||||
<!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">16dp</dimen>
|
||||
+ <dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>
|
||||
|
||||
<!-- Additional translation (downwards) for appearing notifications when going to the full shade
|
||||
from Keyguard. -->
|
||||
diff --git a/packages/SystemUI/res/xml/qqs_header.xml b/packages/SystemUI/res/xml/qqs_header.xml
|
||||
index e56e5d557c2f..6378705f9db4 100644
|
||||
--- a/packages/SystemUI/res/xml/qqs_header.xml
|
||||
+++ b/packages/SystemUI/res/xml/qqs_header.xml
|
||||
@@ -44,7 +44,7 @@
|
||||
<Layout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/new_qs_header_non_clickable_element_height"
|
||||
- android:layout_marginStart="8dp"
|
||||
+ android:layout_marginStart="2dp"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintStart_toEndOf="@id/clock"
|
||||
app:layout_constraintEnd_toStartOf="@id/barrier"
|
||||
@@ -110,4 +110,4 @@
|
||||
app:layout_constraintHorizontal_bias="1"
|
||||
/>
|
||||
</Constraint>
|
||||
-</ConstraintSet>
|
||||
\ No newline at end of file
|
||||
+</ConstraintSet>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt
|
||||
index 9795434a6545..cc8e3f48131d 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/shade/LargeScreenShadeHeaderController.kt
|
||||
@@ -136,6 +136,8 @@ class LargeScreenShadeHeaderController @Inject constructor(
|
||||
private var cutoutLeft = 0
|
||||
private var cutoutRight = 0
|
||||
private var roundedCorners = 0
|
||||
+ private var statusBarPaddingStart = 0
|
||||
+ private var statusBarPaddingEnd = 0
|
||||
private var lastInsets: WindowInsets? = null
|
||||
private var textColorPrimary = Color.TRANSPARENT
|
||||
|
||||
@@ -360,14 +362,17 @@ class LargeScreenShadeHeaderController @Inject constructor(
|
||||
cutoutLeft = sbInsets.first
|
||||
cutoutRight = sbInsets.second
|
||||
val hasCornerCutout: Boolean = insetsProvider.currentRotationHasCornerCutout()
|
||||
+ roundedCorners = resources.getDimensionPixelSize(R.dimen.rounded_corner_content_padding)
|
||||
+ statusBarPaddingStart = resources.getDimensionPixelSize(R.dimen.status_bar_padding_start)
|
||||
+ statusBarPaddingEnd = resources.getDimensionPixelSize(R.dimen.status_bar_padding_end)
|
||||
updateQQSPaddings()
|
||||
// Set these guides as the left/right limits for content that lives in the top row, using
|
||||
// cutoutLeft and cutoutRight
|
||||
var changes = combinedShadeHeadersConstraintManager
|
||||
.edgesGuidelinesConstraints(
|
||||
- if (view.isLayoutRtl) cutoutRight else cutoutLeft,
|
||||
+ (if (view.isLayoutRtl) cutoutRight else cutoutLeft) + statusBarPaddingStart,
|
||||
header.paddingStart,
|
||||
- if (view.isLayoutRtl) cutoutLeft else cutoutRight,
|
||||
+ (if (view.isLayoutRtl) cutoutLeft else cutoutRight) + statusBarPaddingEnd,
|
||||
header.paddingEnd
|
||||
)
|
||||
|
||||
@@ -486,7 +491,6 @@ class LargeScreenShadeHeaderController @Inject constructor(
|
||||
}
|
||||
|
||||
private fun updateResources() {
|
||||
- roundedCorners = resources.getDimensionPixelSize(R.dimen.rounded_corner_content_padding)
|
||||
val padding = resources.getDimensionPixelSize(R.dimen.qs_panel_padding)
|
||||
header.setPadding(padding, header.paddingTop, padding, header.paddingBottom)
|
||||
updateQQSPaddings()
|
||||
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 7b6fc66a208d..ab919f4c5882 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
@@ -164,14 +164,7 @@ public class KeyguardStatusBarView extends RelativeLayout {
|
||||
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getResources().getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.text_size_small_material));
|
||||
- lp = (MarginLayoutParams) mCarrierLabel.getLayoutParams();
|
||||
|
||||
- int marginStart = calculateMargin(
|
||||
- getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin),
|
||||
- mPadding.first);
|
||||
- lp.setMarginStart(marginStart);
|
||||
-
|
||||
- mCarrierLabel.setLayoutParams(lp);
|
||||
updateKeyguardStatusBarHeight();
|
||||
}
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,128 +0,0 @@
|
||||
From f6022c3e0b759dbcbe8ef750db0f83f1e244ff33 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 29 Dec 2022 02:53:16 +0000
|
||||
Subject: [PATCH 09/21] Revert "SystemUI: Align QS header with status bar"
|
||||
|
||||
This reverts commit 8658042a3c1c662f6a14ea3bf311e1e6b07f785e.
|
||||
---
|
||||
.../res/layout/quick_qs_status_icons.xml | 3 +++
|
||||
.../quick_status_bar_header_date_privacy.xml | 4 +++-
|
||||
.../systemui/qs/QuickStatusBarHeader.java | 23 ++++++++-----------
|
||||
3 files changed, 16 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/layout/quick_qs_status_icons.xml b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
index 9feec09dd52a..7a370d8cbc48 100644
|
||||
--- a/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
+++ b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
@@ -21,6 +21,7 @@
|
||||
android:layout_height="@*android:dimen/quick_qs_offset_height"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
+ android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:clickable="false"
|
||||
android:focusable="true"
|
||||
android:theme="@style/QSHeaderTheme">
|
||||
@@ -38,6 +39,7 @@
|
||||
android:id="@+id/clock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
+ android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:gravity="center_vertical|start"
|
||||
android:paddingStart="@dimen/status_bar_left_clock_starting_padding"
|
||||
android:paddingEnd="@dimen/status_bar_left_clock_end_padding"
|
||||
@@ -62,6 +64,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
+ android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:minWidth="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
diff --git a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
index 2220bbbb76a5..60bc3732cde0 100644
|
||||
--- a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
+++ b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
@@ -25,12 +25,14 @@
|
||||
android:gravity="center"
|
||||
android:layout_gravity="top"
|
||||
android:orientation="horizontal"
|
||||
- android:clickable="true">
|
||||
+ android:clickable="true"
|
||||
+ android:minHeight="48dp">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/date_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
+ android:minHeight="48dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical|start" >
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
index efa864f12481..b0e2f8368703 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
@@ -105,7 +105,6 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
private StatusBarContentInsetsProvider mInsetsProvider;
|
||||
|
||||
private int mRoundedCornerPadding = 0;
|
||||
- private int mStatusBarPaddingTop;
|
||||
private int mWaterfallTopInset;
|
||||
private int mCutOutPaddingLeft;
|
||||
private int mCutOutPaddingRight;
|
||||
@@ -267,20 +266,19 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
mRoundedCornerPadding = resources.getDimensionPixelSize(
|
||||
R.dimen.rounded_corner_content_padding);
|
||||
|
||||
- int statusBarHeight = SystemBarUtils.getStatusBarHeight(mContext);
|
||||
+ int qsOffsetHeight = SystemBarUtils.getQuickQsOffsetHeight(mContext);
|
||||
|
||||
- mStatusBarPaddingTop = resources.getDimensionPixelSize(
|
||||
- R.dimen.status_bar_padding_top);
|
||||
-
|
||||
- mDatePrivacyView.getLayoutParams().height = statusBarHeight;
|
||||
+ mDatePrivacyView.getLayoutParams().height =
|
||||
+ Math.max(qsOffsetHeight, mDatePrivacyView.getMinimumHeight());
|
||||
mDatePrivacyView.setLayoutParams(mDatePrivacyView.getLayoutParams());
|
||||
|
||||
- mStatusIconsView.getLayoutParams().height = statusBarHeight;
|
||||
+ mStatusIconsView.getLayoutParams().height =
|
||||
+ Math.max(qsOffsetHeight, mStatusIconsView.getMinimumHeight());
|
||||
mStatusIconsView.setLayoutParams(mStatusIconsView.getLayoutParams());
|
||||
|
||||
ViewGroup.LayoutParams lp = getLayoutParams();
|
||||
if (mQsDisabled) {
|
||||
- lp.height = mStatusIconsView.getLayoutParams().height - mWaterfallTopInset;
|
||||
+ lp.height = mStatusIconsView.getLayoutParams().height;
|
||||
} else {
|
||||
lp.height = WRAP_CONTENT;
|
||||
}
|
||||
@@ -304,9 +302,8 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
}
|
||||
|
||||
MarginLayoutParams qqsLP = (MarginLayoutParams) mHeaderQsPanel.getLayoutParams();
|
||||
- qqsLP.topMargin = largeScreenHeaderActive || !mUseCombinedQSHeader
|
||||
- ? mContext.getResources().getDimensionPixelSize(R.dimen.qqs_layout_margin_top)
|
||||
- : SystemBarUtils.getQuickQsOffsetHeight(mContext);
|
||||
+ qqsLP.topMargin = largeScreenHeaderActive || !mUseCombinedQSHeader ? mContext.getResources()
|
||||
+ .getDimensionPixelSize(R.dimen.qqs_layout_margin_top) : qsOffsetHeight;
|
||||
mHeaderQsPanel.setLayoutParams(qqsLP);
|
||||
|
||||
updateBatteryMode();
|
||||
@@ -553,11 +550,11 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
}
|
||||
|
||||
mDatePrivacyView.setPadding(paddingLeft,
|
||||
- mStatusBarPaddingTop,
|
||||
+ mWaterfallTopInset,
|
||||
paddingRight,
|
||||
0);
|
||||
mStatusIconsView.setPadding(paddingLeft,
|
||||
- mStatusBarPaddingTop,
|
||||
+ mWaterfallTopInset,
|
||||
paddingRight,
|
||||
0);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,263 +0,0 @@
|
||||
From 808ad70d1c92dfc1ac6b6e665b826504a760b88c 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
|
||||
and paddings
|
||||
|
||||
Last revised on 2022/09/24, targeting T
|
||||
|
||||
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 center or no notch: [rounded_corner_content_padding][status_bar_padding_start][content]...[content][status_bar_padding_end][rounded_corner_content_padding]
|
||||
Key point being:
|
||||
- SB (including keyguard) and QS should always act uniformly
|
||||
- Notch definition should only be the notch itself, without additional padding
|
||||
- Instead, these paddings should be covered by status_bar_padding_{start|end}
|
||||
As a result, below changes have been made:
|
||||
- Change keyguard_carrier_text_margin into a padding
|
||||
- Link keyguard paddings to status_bar_padding_{start|end}
|
||||
- Add status_bar_padding_{start|end} to quick settings header
|
||||
- Remove several unnecessary margins and paddings
|
||||
- Animate padding for new QS clock in s-qpr1
|
||||
|
||||
Change-Id: Ic91fa398813e1907297bb0892c444d96405950e7
|
||||
---
|
||||
.../res/layout/keyguard_status_bar.xml | 2 +-
|
||||
.../res/layout/quick_qs_status_icons.xml | 6 ---
|
||||
.../quick_status_bar_header_date_privacy.xml | 5 +-
|
||||
.../SystemUI/res/values-sw600dp/dimens.xml | 3 --
|
||||
packages/SystemUI/res/values/dimens.xml | 2 +-
|
||||
.../systemui/qs/QuickStatusBarHeader.java | 50 ++++++++++++-------
|
||||
.../phone/KeyguardStatusBarView.java | 7 ---
|
||||
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 2480d0189e16..5561271d4733 100644
|
||||
--- a/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
+++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml
|
||||
@@ -86,7 +86,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="@dimen/status_bar_padding_top"
|
||||
- android:layout_marginStart="@dimen/keyguard_carrier_text_margin"
|
||||
+ android:paddingStart="@dimen/keyguard_carrier_text_margin"
|
||||
android:layout_toStartOf="@id/system_icons_container"
|
||||
android:gravity="center_vertical"
|
||||
android:ellipsize="marquee"
|
||||
diff --git a/packages/SystemUI/res/layout/quick_qs_status_icons.xml b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
index 7a370d8cbc48..0247eebea131 100644
|
||||
--- a/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
+++ b/packages/SystemUI/res/layout/quick_qs_status_icons.xml
|
||||
@@ -21,7 +21,6 @@
|
||||
android:layout_height="@*android:dimen/quick_qs_offset_height"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
- android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:clickable="false"
|
||||
android:focusable="true"
|
||||
android:theme="@style/QSHeaderTheme">
|
||||
@@ -39,10 +38,7 @@
|
||||
android:id="@+id/clock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
- android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:gravity="center_vertical|start"
|
||||
- android:paddingStart="@dimen/status_bar_left_clock_starting_padding"
|
||||
- android:paddingEnd="@dimen/status_bar_left_clock_end_padding"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.QS.Status" />
|
||||
|
||||
@@ -50,7 +46,6 @@
|
||||
android:id="@+id/date_clock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
- android:layout_marginStart="@dimen/status_bar_left_clock_end_padding"
|
||||
android:gravity="center_vertical|start"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.QS.Status"
|
||||
@@ -64,7 +59,6 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
- android:minHeight="@dimen/qs_header_row_min_height"
|
||||
android:minWidth="48dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
diff --git a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
index 60bc3732cde0..6ba9382bea94 100644
|
||||
--- a/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
+++ b/packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml
|
||||
@@ -25,14 +25,12 @@
|
||||
android:gravity="center"
|
||||
android:layout_gravity="top"
|
||||
android:orientation="horizontal"
|
||||
- android:clickable="true"
|
||||
- android:minHeight="48dp">
|
||||
+ android:clickable="true">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/date_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
- android:minHeight="48dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical|start" >
|
||||
|
||||
@@ -64,7 +62,6 @@
|
||||
android:id="@+id/privacy_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
- android:minHeight="48dp"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical|end" >
|
||||
|
||||
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
index 599bf30a5135..f9911fda7dbe 100644
|
||||
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
|
||||
@@ -27,9 +27,6 @@
|
||||
<!-- The width of user avatar when on Keyguard -->
|
||||
<dimen name="multi_user_avatar_keyguard_size">30dp</dimen>
|
||||
|
||||
- <!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">24dp</dimen>
|
||||
-
|
||||
<!-- The width/height of the phone/camera/unlock icon on keyguard. -->
|
||||
<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 44766f3b6a6d..569926a1e1a0 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -736,7 +736,7 @@
|
||||
<dimen name="kg_framed_avatar_size">32dp</dimen>
|
||||
|
||||
<!-- Margin on the left side of the carrier text on Keyguard -->
|
||||
- <dimen name="keyguard_carrier_text_margin">16dp</dimen>
|
||||
+ <dimen name="keyguard_carrier_text_margin">@dimen/status_bar_padding_start</dimen>
|
||||
|
||||
<!-- 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 b0e2f8368703..4ff7e5753a1d 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
|
||||
@@ -105,6 +105,10 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
private StatusBarContentInsetsProvider mInsetsProvider;
|
||||
|
||||
private int mRoundedCornerPadding = 0;
|
||||
+ private int mStatusBarPaddingStart;
|
||||
+ private int mStatusBarPaddingEnd;
|
||||
+ private int mHeaderPaddingLeft;
|
||||
+ private int mHeaderPaddingRight;
|
||||
private int mWaterfallTopInset;
|
||||
private int mCutOutPaddingLeft;
|
||||
private int mCutOutPaddingRight;
|
||||
@@ -266,6 +270,11 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
mRoundedCornerPadding = resources.getDimensionPixelSize(
|
||||
R.dimen.rounded_corner_content_padding);
|
||||
|
||||
+ mStatusBarPaddingStart = resources.getDimensionPixelSize(
|
||||
+ R.dimen.status_bar_padding_start);
|
||||
+ mStatusBarPaddingEnd = resources.getDimensionPixelSize(
|
||||
+ R.dimen.status_bar_padding_end);
|
||||
+
|
||||
int qsOffsetHeight = SystemBarUtils.getQuickQsOffsetHeight(mContext);
|
||||
|
||||
mDatePrivacyView.getLayoutParams().height =
|
||||
@@ -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)
|
||||
+ // Use statusbar paddings when collapsed, align with QS when expanded, and animate translation
|
||||
+ .addFloat(mClockContainer, "translationX", mHeaderPaddingLeft + mStatusBarPaddingStart, 0)
|
||||
+ .addFloat(mRightLayout, "translationX", -(mHeaderPaddingRight + mStatusBarPaddingEnd), 0)
|
||||
.setListener(new TouchAnimator.ListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationAtEnd() {
|
||||
@@ -463,8 +475,6 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
.getStatusBarContentInsetsForCurrentRotation();
|
||||
boolean hasCornerCutout = mInsetsProvider.currentRotationHasCornerCutout();
|
||||
|
||||
- mDatePrivacyView.setPadding(sbInsets.first, 0, sbInsets.second, 0);
|
||||
- mStatusIconsView.setPadding(sbInsets.first, 0, sbInsets.second, 0);
|
||||
LinearLayout.LayoutParams datePrivacySeparatorLayoutParams =
|
||||
(LinearLayout.LayoutParams) mDatePrivacySeparator.getLayoutParams();
|
||||
LinearLayout.LayoutParams mClockIconsSeparatorLayoutParams =
|
||||
@@ -528,34 +538,38 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
|
||||
private void updateHeadersPadding() {
|
||||
setContentMargins(mDatePrivacyView, 0, 0);
|
||||
setContentMargins(mStatusIconsView, 0, 0);
|
||||
- int paddingLeft = 0;
|
||||
- int paddingRight = 0;
|
||||
|
||||
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams();
|
||||
+ // Note: these are supposedly notification_side_paddings
|
||||
int leftMargin = lp.leftMargin;
|
||||
int rightMargin = lp.rightMargin;
|
||||
|
||||
// The clock might collide with cutouts, let's shift it out of the way.
|
||||
- // We only do that if the inset is bigger than our own padding, since it's nicer to
|
||||
- // align with
|
||||
- if (mCutOutPaddingLeft > 0) {
|
||||
- // if there's a cutout, let's use at least the rounded corner inset
|
||||
- int cutoutPadding = Math.max(mCutOutPaddingLeft, mRoundedCornerPadding);
|
||||
- paddingLeft = Math.max(cutoutPadding - leftMargin, 0);
|
||||
+ // Margin will be the reference point of paddings/translations
|
||||
+ // and will have to be subtracted from cutout paddings
|
||||
+ boolean headerPaddingUpdated = false;
|
||||
+ int headerPaddingLeft = Math.max(mCutOutPaddingLeft, mRoundedCornerPadding) - leftMargin;
|
||||
+ if (headerPaddingLeft != mHeaderPaddingLeft) {
|
||||
+ mHeaderPaddingLeft = headerPaddingLeft;
|
||||
+ headerPaddingUpdated = true;
|
||||
}
|
||||
- if (mCutOutPaddingRight > 0) {
|
||||
- // if there's a cutout, let's use at least the rounded corner inset
|
||||
- int cutoutPadding = Math.max(mCutOutPaddingRight, mRoundedCornerPadding);
|
||||
- paddingRight = Math.max(cutoutPadding - rightMargin, 0);
|
||||
+ int headerPaddingRight = Math.max(mCutOutPaddingRight, mRoundedCornerPadding) - rightMargin;
|
||||
+ if (headerPaddingRight != mHeaderPaddingRight) {
|
||||
+ mHeaderPaddingRight = headerPaddingRight;
|
||||
+ headerPaddingUpdated = true;
|
||||
}
|
||||
|
||||
- mDatePrivacyView.setPadding(paddingLeft,
|
||||
+ // Update header animator with new paddings
|
||||
+ if (headerPaddingUpdated) {
|
||||
+ updateAnimators();
|
||||
+ }
|
||||
+ mDatePrivacyView.setPadding(mHeaderPaddingLeft + mStatusBarPaddingStart,
|
||||
mWaterfallTopInset,
|
||||
- paddingRight,
|
||||
+ mHeaderPaddingRight + mStatusBarPaddingEnd,
|
||||
0);
|
||||
- mStatusIconsView.setPadding(paddingLeft,
|
||||
+ mStatusIconsView.setPadding(0,
|
||||
mWaterfallTopInset,
|
||||
- paddingRight,
|
||||
+ 0,
|
||||
0);
|
||||
}
|
||||
|
||||
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 5119b8f95aa8..090fa7aac340 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
|
||||
@@ -156,14 +156,7 @@ public class KeyguardStatusBarView extends RelativeLayout {
|
||||
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getResources().getDimensionPixelSize(
|
||||
com.android.internal.R.dimen.text_size_small_material));
|
||||
- lp = (MarginLayoutParams) mCarrierLabel.getLayoutParams();
|
||||
|
||||
- int marginStart = calculateMargin(
|
||||
- getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin),
|
||||
- mPadding.first);
|
||||
- lp.setMarginStart(marginStart);
|
||||
-
|
||||
- mCarrierLabel.setLayoutParams(lp);
|
||||
updateKeyguardStatusBarHeight();
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2f26229212e75def4f1072c5aaf05bf392007383 Mon Sep 17 00:00:00 2001
|
||||
From a893877e865d6c39bf6f7976efe5618787a1a15f 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/21] 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 58cd819b9404..285a72320eee 100644
|
||||
index 8f81427cbe67..8bd2f7aaad07 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -2390,7 +2390,7 @@
|
||||
@@ -2416,7 +2416,7 @@
|
||||
<bool name="config_actionMenuItemAllCaps">true</bool>
|
||||
|
||||
<!-- Remote server that can provide NTP responses. -->
|
||||
@ -22,5 +22,5 @@ index 58cd819b9404..285a72320eee 100644
|
||||
<integer name="config_ntpPollingInterval">64800000</integer>
|
||||
<!-- Try-again polling interval in milliseconds, in case the network request failed -->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From dd9133c4af60b222e4f09a430ef120accefb1f93 Mon Sep 17 00:00:00 2001
|
||||
From ce6bd2ce984f6647b673640dc4bbd07315fb128b 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/21] Revert "SystemUI: Add left padding for keyguard slices"
|
||||
|
||||
This reverts commit 4a7a4426944e28e70a3eca6a696ff6c7599fb896.
|
||||
---
|
||||
@ -40,5 +40,5 @@ index 31d22eb38a24..65a71664e245 100644
|
||||
|
||||
@Override
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 90b961d665973de20d59218fafcefca48f92d5b1 Mon Sep 17 00:00:00 2001
|
||||
From 1476a09fe1f6d1facfeff4fe1f4bfba02f34a176 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/21] Revert "Update RAT icons to match Silk design"
|
||||
|
||||
This reverts commit 084c13c8216f6a899cd3eda04fc1d7acff3d1248.
|
||||
---
|
||||
@ -269,5 +269,5 @@ index 48faeb22416f..1511659ea42f 100644
|
||||
+ android:pathData="M14.21,12.81c0.36,-0.16 0.69,-0.36 0.97,-0.61c0.41,-0.38 0.72,-0.83 0.94,-1.37c0.21,-0.54 0.32,-1.14 0.32,-1.79c0,-0.92 -0.16,-1.7 -0.49,-2.33c-0.32,-0.64 -0.79,-1.12 -1.43,-1.45c-0.62,-0.33 -1.4,-0.49 -2.32,-0.49H8.23V19h1.8v-5.76h2.5L15.06,19h1.92v-0.12L14.21,12.81zM10.03,11.71V6.32h2.18c0.59,0 1.06,0.11 1.42,0.34c0.36,0.22 0.62,0.54 0.78,0.95c0.16,0.41 0.24,0.89 0.24,1.44c0,0.49 -0.09,0.93 -0.27,1.34c-0.18,0.4 -0.46,0.73 -0.82,0.97c-0.36,0.23 -0.82,0.35 -1.37,0.35H10.03z"/>
|
||||
</vector>
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b96671ae18db307e2f4323132967544ff66d97ce Mon Sep 17 00:00:00 2001
|
||||
From 0e336e834bf43aec2c3d627140e6b6f9a5466580 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/21] Revert "Use the default top clock margin on h800
|
||||
devices"
|
||||
|
||||
This reverts commits 50ba380f4d8d1c2523e0f76295ca556038796bfd
|
||||
@ -11,7 +11,7 @@ and 2a254b4d479029aec46f79a0ed14ffab6d0424bc.
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values-h800dp/dimens.xml b/packages/SystemUI/res/values-h800dp/dimens.xml
|
||||
index 94fe20955ce6..1d6f279afc66 100644
|
||||
index 3a71994e07e2..4b9bce0eda99 100644
|
||||
--- a/packages/SystemUI/res/values-h800dp/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values-h800dp/dimens.xml
|
||||
@@ -15,6 +15,9 @@
|
||||
@ -21,9 +21,9 @@ index 94fe20955ce6..1d6f279afc66 100644
|
||||
+ <!-- Minimum margin between clock and top of screen or ambient indication -->
|
||||
+ <dimen name="keyguard_clock_top_margin">38dp</dimen>
|
||||
+
|
||||
<!-- Large clock maximum font size (dp is intentional, to prevent any further scaling) -->
|
||||
<dimen name="large_clock_text_size">200dp</dimen>
|
||||
<!-- With the large clock, move up slightly from the center -->
|
||||
<dimen name="keyguard_large_clock_top_margin">-112dp</dimen>
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6b1e1b06f33f3fe3d0f5a5f6aaa8b9d6bdfbbe01 Mon Sep 17 00:00:00 2001
|
||||
From d4aeaae7ab4d7c2e51b86afd6fa12888a47be51a 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/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
|
||||
@ -52,10 +52,10 @@ index 33641f72b2ff..6e201970ac03 100644
|
||||
}
|
||||
|
||||
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
index f4cb23d5f369..a4cd2fbcc89f 100644
|
||||
index ebeb189000a3..5c4cde643e82 100644
|
||||
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
@@ -1639,6 +1639,7 @@ public class DisplayPolicy {
|
||||
@@ -1550,6 +1550,7 @@ public class DisplayPolicy {
|
||||
displayFrames = win.getDisplayFrames(displayFrames);
|
||||
|
||||
final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
|
||||
@ -64,5 +64,5 @@ index f4cb23d5f369..a4cd2fbcc89f 100644
|
||||
|
||||
// If this window has different LayoutParams for rotations, we cannot trust its requested
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b4d980d9f9421f8043edf7e4eda459f40486d09e Mon Sep 17 00:00:00 2001
|
||||
From 4565707ddbfac766a60fa90ed6c68e31badfbad3 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/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
|
||||
|
||||
@ -11,10 +11,10 @@ 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 569926a1e1a0..09dd8ed9ef9d 100644
|
||||
index b5854568c117..1d6a7dd284a5 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -672,7 +672,7 @@
|
||||
@@ -684,7 +684,7 @@
|
||||
<!-- With the large clock, move up slightly from the center -->
|
||||
<dimen name="keyguard_large_clock_top_margin">-60dp</dimen>
|
||||
|
||||
@ -24,5 +24,5 @@ index 569926a1e1a0..09dd8ed9ef9d 100644
|
||||
<!-- The minimum amount the user needs to swipe to go to the camera / phone. -->
|
||||
<dimen name="keyguard_min_swipe_amount">110dp</dimen>
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7b78452e09b2f142c9b6ae23dfab058da7bdb03e Mon Sep 17 00:00:00 2001
|
||||
From c8eb0353820700a61178af90e221db5cc7ffb3e5 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/21] 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 285a72320eee..828090c2ccda 100644
|
||||
index 8bd2f7aaad07..a2df7afe944c 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -3213,13 +3213,10 @@
|
||||
@@ -3252,13 +3252,10 @@
|
||||
"logout" = Logout the current user
|
||||
-->
|
||||
<string-array translatable="false" name="config_globalActionsList">
|
||||
@ -28,5 +28,5 @@ index 285a72320eee..828090c2ccda 100644
|
||||
|
||||
<!-- Number of milliseconds to hold a wake lock to ensure that drawing is fully
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a72959c54bab273faf23b111b3c2ea37a05ebf1e Mon Sep 17 00:00:00 2001
|
||||
From 87c266fe66b62ac138f9c1dbbc5bc0339a67526e 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/21] UI: Reconfigure quick settings tiles
|
||||
|
||||
Change-Id: I743f52ef3a95db0ca2c02ae973faa4629e41885d
|
||||
---
|
||||
@ -9,7 +9,7 @@ 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 8a2b88d3cf9a..3287463b7bd0 100644
|
||||
index 70269b18a573..38b654b64418 100644
|
||||
--- a/packages/SystemUI/res/values/config.xml
|
||||
+++ b/packages/SystemUI/res/values/config.xml
|
||||
@@ -68,7 +68,7 @@
|
||||
@ -22,5 +22,5 @@ index 8a2b88d3cf9a..3287463b7bd0 100644
|
||||
|
||||
<!-- The class path of the Safety Quick Settings Tile -->
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3e220efe0e330611011aae408c7341afb3ca6637 Mon Sep 17 00:00:00 2001
|
||||
From 15166b73a21dfcd204ed1d5f65934cee1d972be9 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/21] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT
|
||||
|
||||
I decide what's good enough for a wallpaper!
|
||||
|
||||
@ -24,5 +24,5 @@ index 067a4c3c047e..a8d3c14e1d9d 100644
|
||||
}
|
||||
if (meanLuminance < DARK_THEME_MEAN_LUMINANCE) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -1,18 +1,24 @@
|
||||
From a0b674ba56fd96ec0f732f587fb5b0b975d01a1a Mon Sep 17 00:00:00 2001
|
||||
From 0ee6fdb253b5568408387a8f1348d4daa790e8e5 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/21] UI: Remove privacy dot
|
||||
|
||||
Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
|
||||
---
|
||||
packages/SystemUI/res/values/dimens.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
packages/SystemUI/res/values/dimens.xml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
|
||||
index 09dd8ed9ef9d..4515539bb4b4 100644
|
||||
index 1d6a7dd284a5..0ebbcdb16f79 100644
|
||||
--- a/packages/SystemUI/res/values/dimens.xml
|
||||
+++ b/packages/SystemUI/res/values/dimens.xml
|
||||
@@ -1002,7 +1002,7 @@
|
||||
@@ -1014,12 +1014,12 @@
|
||||
<dimen name="ongoing_appops_chip_min_width">56dp</dimen>
|
||||
<!-- Three privacy items. This value must not be exceeded -->
|
||||
<dimen name="ongoing_appops_chip_max_width">76dp</dimen>
|
||||
- <dimen name="ongoing_appops_dot_diameter">6dp</dimen>
|
||||
+ <dimen name="ongoing_appops_dot_diameter">0dp</dimen>
|
||||
<dimen name="ongoing_appops_chip_min_animation_width">10dp</dimen>
|
||||
<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 -->
|
||||
@ -22,5 +28,5 @@ index 09dd8ed9ef9d..4515539bb4b4 100644
|
||||
<dimen name="ongoing_appops_dialog_side_margins">@dimen/notification_shade_content_margin_horizontal</dimen>
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 3829d2d835c4dee4861e4262424a0540bc57af26 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 22 Mar 2023 00:29:13 +0000
|
||||
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?
|
||||
Change-Id: If2e57fee61b6bd4b6b7fedc7e3011164cd2cb56f
|
||||
---
|
||||
packages/SystemUI/res/values/styles.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
|
||||
index 6c5e6d73feb7..1bbd930443a2 100644
|
||||
--- a/packages/SystemUI/res/values/styles.xml
|
||||
+++ b/packages/SystemUI/res/values/styles.xml
|
||||
@@ -134,7 +134,7 @@
|
||||
<!-- This is hard coded to be sans-serif-condensed to match the icons -->
|
||||
|
||||
<style name="TextAppearance.QS.Status">
|
||||
- <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
|
||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:letterSpacing">0.01</item>
|
||||
@@ -152,6 +152,7 @@
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.QS.Status.Build">
|
||||
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
|
||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||
</style>
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c3a93b2e23aed8c3f831c0636655dccd80770d45 Mon Sep 17 00:00:00 2001
|
||||
From 8eb4dba8b771a9f30db4cd58eb7509642568506b 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
|
||||
@ -43,5 +43,5 @@ index a8d3c14e1d9d..88609f3d7052 100644
|
||||
|
||||
int hints = 0;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d94a28d2f9f88d3fee4f2a71b2364bca23f4be8b Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
@ -19,10 +19,10 @@ Change-Id: I8b4b1354f23981f6edbe7f3c81ec4f511da3cc1a
|
||||
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 09d80c8814..8e55b8a4b8 100644
|
||||
index 62062b5fe8..35a8a39689 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -13520,10 +13520,6 @@
|
||||
@@ -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>
|
||||
@ -30,17 +30,17 @@ index 09d80c8814..8e55b8a4b8 100644
|
||||
- <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>
|
||||
|
||||
<!-- Title for RTT setting. [CHAR LIMIT=NONE] -->
|
||||
<string name="rtt_settings_title"></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 cb3c69172e..3b3635ac45 100644
|
||||
index 77a32122ee..b71839fe23 100644
|
||||
--- a/res/xml/security_lockscreen_settings.xml
|
||||
+++ b/res/xml/security_lockscreen_settings.xml
|
||||
@@ -78,12 +78,6 @@
|
||||
android:title="@string/lockscreen_trivial_controls_setting_toggle"
|
||||
android:summary="@string/lockscreen_trivial_controls_summary"
|
||||
settings:controller="com.android.settings.display.ControlsTrivialPrivacyPreferenceController"/>
|
||||
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"
|
||||
@ -223,5 +223,5 @@ index 94f2dc6655..0000000000
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 05f4b920214c3d4145ca39d2c4334dc68c8faecb Mon Sep 17 00:00:00 2001
|
||||
From ea3fbad21a0874e5215003596cebc63ace7066c5 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 01:43:40 +0000
|
||||
Subject: [PATCH 1/7] treble: Lineage-ify
|
||||
Subject: [PATCH 1/9] treble: Lineage-ify
|
||||
|
||||
Squash of:
|
||||
- Proper target names
|
||||
@ -13,11 +13,11 @@ Squash of:
|
||||
Change-Id: I25eee7a3804f335430a447ae1424402d7e37851b
|
||||
---
|
||||
base-pre.mk | 3 -
|
||||
base.mk | 16 ++--
|
||||
base.mk | 12 +--
|
||||
generate.sh | 4 +-
|
||||
.../lineage/res/res/values/config.xml | 81 +++++++++++++++++++
|
||||
.../base/core/res/res/values/config.xml | 1 -
|
||||
5 files changed, 92 insertions(+), 13 deletions(-)
|
||||
5 files changed, 90 insertions(+), 11 deletions(-)
|
||||
create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
|
||||
|
||||
diff --git a/base-pre.mk b/base-pre.mk
|
||||
@ -29,7 +29,7 @@ index 6a317e4..e69de29 100644
|
||||
-PRODUCT_COPY_FILES += \
|
||||
- device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 5d4ed0b..6097e3d 100644
|
||||
index 348799e..17bfdc3 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -17,12 +17,14 @@ PRODUCT_COPY_FILES += \
|
||||
@ -52,20 +52,6 @@ index 5d4ed0b..6097e3d 100644
|
||||
|
||||
$(call inherit-product, vendor/hardware_overlay/overlay.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
@@ -40,11 +42,11 @@ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.adb.secure=0 \
|
||||
ro.logd.auditd=true \
|
||||
ro.logd.kernel=true \
|
||||
-
|
||||
+
|
||||
#Huawei HiSuite (also other OEM custom programs I guess) it's of no use in AOSP builds
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
persist.sys.usb.config=adb \
|
||||
- ro.cust.cdrom=/dev/null
|
||||
+ ro.cust.cdrom=/dev/null
|
||||
|
||||
#VNDK config files
|
||||
PRODUCT_COPY_FILES += \
|
||||
diff --git a/generate.sh b/generate.sh
|
||||
index 9c20eb5..89fa88b 100644
|
||||
--- a/generate.sh
|
||||
@ -176,7 +162,7 @@ index 0000000..8df673a
|
||||
+ <integer name="config_deviceHardwareWakeKeys">127</integer>
|
||||
+</resources>
|
||||
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
index 479bff7..964524c 100644
|
||||
index 09895a4..fa07f40 100644
|
||||
--- a/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
|
||||
@@ -22,7 +22,6 @@
|
||||
@ -188,5 +174,5 @@ index 479bff7..964524c 100644
|
||||
<integer name="config_multiuserMaximumUsers">5</integer>
|
||||
<bool name="config_enableMultiUserUI">true</bool>
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 53244ebbb4a2da9fbcf02834f40b8083549e3ca7 Mon Sep 17 00:00:00 2001
|
||||
From cdc58cf7521058bf50f6835fa41a2cedc6dab008 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 09:29:32 +0000
|
||||
Subject: [PATCH 2/7] treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS explicitly
|
||||
Subject: [PATCH 2/9] treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS explicitly
|
||||
|
||||
Change-Id: I725443154fabde548d2e6c1b072d34c27596c421
|
||||
---
|
||||
@ -19,5 +19,5 @@ index 2cb5dbc..e493d1c 100644
|
||||
+
|
||||
+BOARD_EXT4_SHARE_DUP_BLOCKS := true
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 515176d3ca472dd8ffe122ebf91af4ecc5533c3f Mon Sep 17 00:00:00 2001
|
||||
From 637ec8c42fd5946eb7e9df549b980d605b22dad6 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 20 Oct 2021 11:30:25 +0000
|
||||
Subject: [PATCH 3/7] treble: Set TARGET_NO_KERNEL_OVERRIDE
|
||||
Subject: [PATCH 3/9] treble: Set TARGET_NO_KERNEL_OVERRIDE
|
||||
|
||||
Taken from Lineage generic targets - skips building kernel cleanly
|
||||
|
||||
@ -21,5 +21,5 @@ index e493d1c..9d1d45e 100644
|
||||
+
|
||||
+TARGET_NO_KERNEL_OVERRIDE := true
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 027b59c5b6d68570be7025632f985d8569f6dc85 Mon Sep 17 00:00:00 2001
|
||||
From eec1dc55bfe0733d1c6d8a5d870cd6411b02bd0d Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 11 Oct 2022 11:29:02 +0000
|
||||
Subject: [PATCH 4/7] treble: Enable call recording
|
||||
Subject: [PATCH 4/9] treble: Enable call recording
|
||||
|
||||
Change-Id: I57ca3604363547419a566b37b5151b6b30c46d28
|
||||
---
|
||||
@ -36,5 +36,5 @@ index 0000000..4cacde5
|
||||
+ <integer name="call_recording_audio_source">4</integer>
|
||||
+</resources>
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,26 +1,46 @@
|
||||
From b77fda8daa3632ef92f3299180506bcbd7c53189 Mon Sep 17 00:00:00 2001
|
||||
From be808ccab89637aa591c6ec13ab6187848e2c55c Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 5 Nov 2022 23:49:11 +0000
|
||||
Subject: [PATCH 5/7] treble: Switch to MindTheGapps
|
||||
Subject: [PATCH 5/9] treble: Switch to MindTheGapps
|
||||
|
||||
Change-Id: I1b80d4c5176cbf4af21d147c71b0abce6027c7c7
|
||||
---
|
||||
generate.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
generate.sh | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/generate.sh b/generate.sh
|
||||
index 89fa88b..d847430 100644
|
||||
index 89fa88b..8654eeb 100644
|
||||
--- a/generate.sh
|
||||
+++ b/generate.sh
|
||||
@@ -26,7 +26,7 @@ for part in a ab;do
|
||||
@@ -24,9 +24,15 @@ for part in a ab;do
|
||||
extra_packages=""
|
||||
vndk="vndk.mk"
|
||||
optional_base=""
|
||||
+
|
||||
+ baseArch="$arch"
|
||||
+ if [ "$arch" = "a64" ];then
|
||||
+ baseArch="arm"
|
||||
+ fi
|
||||
+
|
||||
if [ "$apps" == "gapps" ];then
|
||||
apps_suffix="g"
|
||||
- apps_script='$(call inherit-product, device/phh/treble/gapps.mk)'
|
||||
+ apps_script='$(call inherit-product, vendor/gapps/arm64/arm64-vendor.mk)'
|
||||
+ apps_script='$(call inherit-product, vendor/gapps/'$baseArch'/'$baseArch'-vendor.mk)'
|
||||
apps_name="with GApps"
|
||||
fi
|
||||
if [ "$apps" == "gapps-go" ];then
|
||||
--
|
||||
2.25.1
|
||||
@@ -66,11 +72,6 @@ for part in a ab;do
|
||||
|
||||
target="lineage_${arch}_${part_suffix}${apps_suffix}${su_suffix}"
|
||||
|
||||
- baseArch="$arch"
|
||||
- if [ "$arch" = "a64" ];then
|
||||
- baseArch="arm"
|
||||
- fi
|
||||
-
|
||||
zygote=32
|
||||
if [ "$arch" = "arm64" ];then
|
||||
zygote=64_32
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2a9382e9a122f3a34adfed4da687e2bf23383d58 Mon Sep 17 00:00:00 2001
|
||||
From 4901e97f452afa7eccffa22d50d6ccaa7eae8ffe Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 22 Nov 2022 00:36:15 +0000
|
||||
Subject: [PATCH 6/7] treble: Stop securing ADB
|
||||
Subject: [PATCH 6/9] treble: Stop securing ADB
|
||||
|
||||
Seems to kill USB Debugging altogether on certain devices,
|
||||
and unrelated to SN anyway
|
||||
@ -13,10 +13,10 @@ Change-Id: I0215b3ed970dd53a124f48e30ca2cf4b0c6d2899
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/rw-system.sh b/rw-system.sh
|
||||
index 42d315f..798e5e3 100644
|
||||
index e1ad994..d78655e 100644
|
||||
--- a/rw-system.sh
|
||||
+++ b/rw-system.sh
|
||||
@@ -764,14 +764,10 @@ if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ];then
|
||||
@@ -772,14 +772,10 @@ if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ];then
|
||||
resetprop_phh ro.boot.veritymode enforcing
|
||||
resetprop_phh ro.boot.warranty_bit 0
|
||||
resetprop_phh ro.warranty_bit 0
|
||||
@ -32,5 +32,5 @@ index 42d315f..798e5e3 100644
|
||||
mount /mnt/phh/empty_dir /system/xbin
|
||||
mount /mnt/phh/empty_dir /system/app/me.phh.superuser
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f57a44efd56ca41a593e6d1ebb948f486960f714 Mon Sep 17 00:00:00 2001
|
||||
From 4a2ed5f6bf414ac6d493f78c0ad89572b1aef5f2 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 29 Dec 2022 15:12:03 +0000
|
||||
Subject: [PATCH 7/7] treble: Securize on-demand
|
||||
Subject: [PATCH 7/9] treble: Securize on-demand
|
||||
|
||||
Status is stored in /metadata and controlled by persist prop
|
||||
|
||||
@ -44,5 +44,5 @@ index d1fffde..7db62b7 100644
|
||||
+on property:persist.sys.phh.securize=*
|
||||
+ exec u:r:phhsu_daemon:s0 root -- /system/bin/phh-prop-handler.sh "persist.sys.phh.securize"
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -0,0 +1,46 @@
|
||||
From c8537ab48366a14bf90706fc44667fc1b6003b73 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 22 Mar 2023 23:37:05 +0000
|
||||
Subject: [PATCH 8/9] treble: Also use /data/adb for securize status
|
||||
|
||||
Change-Id: I778f2be5407ae0a548a098c72031cce9be83cf96
|
||||
---
|
||||
phh-prop-handler.sh | 5 ++++-
|
||||
rw-system.sh | 2 +-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/phh-prop-handler.sh b/phh-prop-handler.sh
|
||||
index a8cea3f..3739eb4 100644
|
||||
--- a/phh-prop-handler.sh
|
||||
+++ b/phh-prop-handler.sh
|
||||
@@ -217,10 +217,13 @@ if [ "$1" == "persist.sys.phh.securize" ];then
|
||||
fi
|
||||
|
||||
if [[ "$prop_value" == "true" ]]; then
|
||||
- mkdir /metadata/phh
|
||||
+ mkdir -p /metadata/phh
|
||||
touch /metadata/phh/secure
|
||||
+ mkdir -p /data/adb/phh
|
||||
+ touch /data/adb/phh/secure
|
||||
else
|
||||
rm /metadata/phh/secure
|
||||
+ rm /data/adb/phh/secure
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
diff --git a/rw-system.sh b/rw-system.sh
|
||||
index d78655e..7291547 100644
|
||||
--- a/rw-system.sh
|
||||
+++ b/rw-system.sh
|
||||
@@ -735,7 +735,7 @@ copyprop() {
|
||||
resetprop_phh "$1" "$(getprop "$2")"
|
||||
fi
|
||||
}
|
||||
-if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ];then
|
||||
+if [ -f /system/phh/secure ] || [ -f /metadata/phh/secure ] || [ -f /data/adb/phh/secure ];then
|
||||
copyprop ro.build.device ro.vendor.build.device
|
||||
copyprop ro.system.build.fingerprint ro.vendor.build.fingerprint
|
||||
copyprop ro.bootimage.build.fingerprint ro.vendor.build.fingerprint
|
||||
--
|
||||
2.34.1
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 267d881c8ad8a6626ea64768b20e0a86897091a8 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 24 Mar 2023 00:13:01 +0000
|
||||
Subject: [PATCH 9/9] treble: Include androidx.window.extensions
|
||||
|
||||
This enables two-pane layout in Settings for tablets
|
||||
|
||||
Change-Id: I2503c1c510151ea8463c86521a9164727467c551
|
||||
---
|
||||
base.mk | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 17bfdc3..49c4da6 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -255,3 +255,7 @@ PRODUCT_COPY_FILES += \
|
||||
# QCOM in-call audio fix as a standalone app
|
||||
PRODUCT_PACKAGES += \
|
||||
QcRilAm
|
||||
+
|
||||
+# Two-pane layout in Settings
|
||||
+PRODUCT_PACKAGES += \
|
||||
+ androidx.window.extensions
|
||||
--
|
||||
2.34.1
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
From 363c57e1fc2566b3818315ed982ea3a5e976331a Mon Sep 17 00:00:00 2001
|
||||
From c329331ba9e37c24809afbd026bcc770f7950384 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 22 Jun 2021 13:38:31 +0000
|
||||
Subject: [PATCH 1/3] Add Meizu 18 vibrator support
|
||||
@ -28,13 +28,13 @@ Change-Id: Iecf12cd814e8773abfd78a19f98e31125a73761a
|
||||
create mode 100644 meizu-vibrator/service.cpp
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 3d59ba6..82cae16 100644
|
||||
index 49c4da6..3a99248 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -250,3 +250,7 @@ include build/make/target/product/gsi_release.mk
|
||||
# Protect deskclock from power save
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/phh/treble/files/com.android.deskclock_whitelist.xml:system/etc/sysconfig/com.android.deskclock_whitelist.xml
|
||||
@@ -259,3 +259,7 @@ PRODUCT_PACKAGES += \
|
||||
# Two-pane layout in Settings
|
||||
PRODUCT_PACKAGES += \
|
||||
androidx.window.extensions
|
||||
+
|
||||
+# Meizu vibrator
|
||||
+PRODUCT_PACKAGES += \
|
||||
@ -427,5 +427,5 @@ index cb44422..280ae2d 100644
|
||||
+allow hal_vibrator_default vib_strength_sysfs:dir rw_dir_perms;
|
||||
+allow hal_vibrator_default vib_strength_sysfs:file rw_file_perms;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e7a31e6a0a55d45b56de3d6d99aae143bd20a4a2 Mon Sep 17 00:00:00 2001
|
||||
From cfc2fd859fb445535d9de131697c56f21d1cee48 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 28 Oct 2021 01:51:27 +0000
|
||||
Subject: [PATCH 2/3] Revert "Include sim toolkit app"
|
||||
@ -11,10 +11,10 @@ Change-Id: I1eb7f4bb070eea649b4cea6280299e629d1edb3d
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/base.mk b/base.mk
|
||||
index 82cae16..225fc0f 100644
|
||||
index 3a99248..877a408 100644
|
||||
--- a/base.mk
|
||||
+++ b/base.mk
|
||||
@@ -171,9 +171,6 @@ PRODUCT_PACKAGES += \
|
||||
@@ -172,9 +172,6 @@ PRODUCT_PACKAGES += \
|
||||
xiaomi-motor \
|
||||
oneplus-motor
|
||||
|
||||
@ -25,5 +25,5 @@ index 82cae16..225fc0f 100644
|
||||
resetprop_phh
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b4a2306f04fa26d24c6f5b6dd4f66a967c62974f Mon Sep 17 00:00:00 2001
|
||||
From 719b8e8406f6dbb72aac8029c37cdef445339292 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 8 Aug 2021 09:31:01 +0000
|
||||
Subject: [PATCH 3/3] Revert "treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS
|
||||
@ -23,5 +23,5 @@ index 9d1d45e..8cde64f 100644
|
||||
-
|
||||
TARGET_NO_KERNEL_OVERRIDE := true
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,45 +1,26 @@
|
||||
From 6ebe8ddd00f9b7bd7aa32e79f7f36e97f60acfa5 Mon Sep 17 00:00:00 2001
|
||||
From feb3f559b2157de9ca06438038114aedb2cc604e Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 11 Jan 2023 11:56:05 +0000
|
||||
Date: Thu, 23 Mar 2023 15:28:42 +0000
|
||||
Subject: [PATCH 1/2] Squashed revert of LOS UDFPS changes
|
||||
|
||||
Way less than FOD, but reverting them nonetheless to keep in line with PHH AOSP
|
||||
|
||||
- Revert "fixup! udfps: Restore illumination dot for global hbm"
|
||||
- Revert "udfps: Make pressed udfp view configurable"
|
||||
- Revert "udfps: Restore illumination dot for global hbm"
|
||||
- Revert "udfps: Implement default udfps display mode provider"
|
||||
- Revert "udfps: Change window type to TYPE_DISPLAY_OVERLAY"
|
||||
---
|
||||
packages/SystemUI/proguard.flags | 3 -
|
||||
.../res/drawable-nodpi/udfps_icon_pressed.png | Bin 108 -> 0 bytes
|
||||
packages/SystemUI/res/layout/udfps_view.xml | 6 -
|
||||
.../SystemUI/res/values/lineage_config.xml | 6 -
|
||||
.../SystemUI/res/values/lineage_config.xml | 3 -
|
||||
.../biometrics/AuthContainerView.java | 2 +-
|
||||
.../DummyUdfpsDisplayModeProvider.kt | 32 ----
|
||||
.../systemui/biometrics/UdfpsController.java | 4 +-
|
||||
.../biometrics/UdfpsControllerOverlay.kt | 2 +-
|
||||
.../systemui/biometrics/UdfpsSurfaceView.java | 159 ------------------
|
||||
.../android/systemui/biometrics/UdfpsView.kt | 31 +---
|
||||
.../systemui/dagger/SystemUIModule.java | 14 +-
|
||||
11 files changed, 7 insertions(+), 252 deletions(-)
|
||||
7 files changed, 3 insertions(+), 200 deletions(-)
|
||||
delete mode 100644 packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png
|
||||
delete mode 100644 packages/SystemUI/src/com/android/systemui/biometrics/DummyUdfpsDisplayModeProvider.kt
|
||||
delete mode 100644 packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java
|
||||
|
||||
diff --git a/packages/SystemUI/proguard.flags b/packages/SystemUI/proguard.flags
|
||||
index b41952b7306b..7538555e1bcd 100644
|
||||
--- a/packages/SystemUI/proguard.flags
|
||||
+++ b/packages/SystemUI/proguard.flags
|
||||
@@ -10,9 +10,6 @@
|
||||
}
|
||||
-keep class * extends com.android.systemui.CoreStartable
|
||||
-keep class * implements com.android.systemui.CoreStartable$Injector
|
||||
--keep class * implements com.android.systemui.biometrics.UdfpsDisplayModeProvider {
|
||||
- public <init>(...);
|
||||
-}
|
||||
|
||||
# Needed for builds to properly initialize KeyFrames from xml scene
|
||||
-keepclassmembers class * extends androidx.constraintlayout.motion.widget.Key {
|
||||
diff --git a/packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png b/packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png
|
||||
deleted file mode 100644
|
||||
index 4102e28c1300b49323b50625d8cfaa73b006561f..0000000000000000000000000000000000000000
|
||||
@ -68,16 +49,13 @@ index 0fcbfa161ddf..257d238f5c54 100644
|
||||
-
|
||||
</com.android.systemui.biometrics.UdfpsView>
|
||||
diff --git a/packages/SystemUI/res/values/lineage_config.xml b/packages/SystemUI/res/values/lineage_config.xml
|
||||
index 7509dfd2dcba..d08c6f19b9a3 100644
|
||||
index 3b61502f551c..c7a73b79a5ec 100644
|
||||
--- a/packages/SystemUI/res/values/lineage_config.xml
|
||||
+++ b/packages/SystemUI/res/values/lineage_config.xml
|
||||
@@ -25,12 +25,6 @@
|
||||
causes a poor experience. -->
|
||||
<bool name="config_fingerprintWakeAndUnlock">true</bool>
|
||||
@@ -19,9 +19,6 @@
|
||||
<integer name="config_maxVisibleNotificationIcons">4</integer>
|
||||
<integer name="config_maxVisibleNotificationIconsOnLock">3</integer>
|
||||
|
||||
- <!-- Udfps display mode provider class name -->
|
||||
- <string name="config_udfpsDisplayModeProviderComponent">com.android.systemui.biometrics.DummyUdfpsDisplayModeProvider</string>
|
||||
-
|
||||
- <!-- Color of the UDFPS pressed view -->
|
||||
- <color name="config_udfpsColor">#ffffffff</color>
|
||||
-
|
||||
@ -85,10 +63,10 @@ index 7509dfd2dcba..d08c6f19b9a3 100644
|
||||
<bool name="doze_double_tap_proximity_check">false</bool>
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
|
||||
index 2d87da8c2112..8f5cbb76222f 100644
|
||||
index 699be662dd54..68e1f72d042a 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
|
||||
@@ -879,7 +879,7 @@ public class AuthContainerView extends LinearLayout
|
||||
@@ -847,7 +847,7 @@ public class AuthContainerView extends LinearLayout
|
||||
final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
@ -97,71 +75,11 @@ index 2d87da8c2112..8f5cbb76222f 100644
|
||||
windowFlags,
|
||||
PixelFormat.TRANSLUCENT);
|
||||
lp.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/DummyUdfpsDisplayModeProvider.kt b/packages/SystemUI/src/com/android/systemui/biometrics/DummyUdfpsDisplayModeProvider.kt
|
||||
deleted file mode 100644
|
||||
index 380200983114..000000000000
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/DummyUdfpsDisplayModeProvider.kt
|
||||
+++ /dev/null
|
||||
@@ -1,32 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2022 The LineageOS 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.systemui.biometrics
|
||||
-
|
||||
-import android.content.Context
|
||||
-import android.view.Surface
|
||||
-
|
||||
-class DummyUdfpsDisplayModeProvider constructor(
|
||||
- private val context: Context
|
||||
-): UdfpsDisplayModeProvider {
|
||||
- override fun enable(onEnabled: Runnable?) {
|
||||
- onEnabled?.run()
|
||||
- }
|
||||
-
|
||||
- override fun disable(onDisabled: Runnable?) {
|
||||
- onDisabled?.run()
|
||||
- }
|
||||
-}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
index 70aa6a3aa06e..412dc0577876 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
@@ -594,7 +594,7 @@ public class UdfpsController implements DozeReceiver {
|
||||
@NonNull VibratorHelper vibrator,
|
||||
@NonNull UdfpsHapticsSimulator udfpsHapticsSimulator,
|
||||
@NonNull UdfpsShell udfpsShell,
|
||||
- @NonNull UdfpsDisplayModeProvider udfpsDisplayMode,
|
||||
+ @NonNull Optional<UdfpsDisplayModeProvider> udfpsDisplayMode,
|
||||
@NonNull KeyguardStateController keyguardStateController,
|
||||
@NonNull DisplayManager displayManager,
|
||||
@Main Handler mainHandler,
|
||||
@@ -626,7 +626,7 @@ public class UdfpsController implements DozeReceiver {
|
||||
mPowerManager = powerManager;
|
||||
mAccessibilityManager = accessibilityManager;
|
||||
mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
|
||||
- mUdfpsDisplayMode = udfpsDisplayMode;
|
||||
+ mUdfpsDisplayMode = udfpsDisplayMode.orElse(null);
|
||||
screenLifecycle.addObserver(mScreenObserver);
|
||||
mScreenOn = screenLifecycle.getScreenState() == ScreenLifecycle.SCREEN_ON;
|
||||
mConfigurationController = configurationController;
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
|
||||
index 09a7fb338553..1c62f8a4e508 100644
|
||||
index 6d1e958e21ad..8db4927ee059 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
|
||||
@@ -93,7 +93,7 @@ class UdfpsControllerOverlay(
|
||||
@@ -109,7 +109,7 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
|
||||
private var overlayTouchListener: TouchExplorationStateChangeListener? = null
|
||||
|
||||
private val coreLayoutParams = WindowManager.LayoutParams(
|
||||
@ -336,10 +254,10 @@ index 2488132b508b..000000000000
|
||||
- }
|
||||
-}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
index 9dcd2db4d3b4..a15456d46897 100644
|
||||
index 97590822a3fb..4a8877edfa53 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
@@ -24,7 +24,6 @@ import android.graphics.RectF
|
||||
@@ -25,7 +25,6 @@ import android.graphics.RectF
|
||||
import android.util.AttributeSet
|
||||
import android.util.Log
|
||||
import android.view.MotionEvent
|
||||
@ -347,7 +265,7 @@ index 9dcd2db4d3b4..a15456d46897 100644
|
||||
import android.widget.FrameLayout
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.doze.DozeReceiver
|
||||
@@ -57,8 +56,6 @@ class UdfpsView(
|
||||
@@ -61,8 +60,6 @@ class UdfpsView(
|
||||
a.getFloat(R.styleable.UdfpsView_sensorTouchAreaCoefficient, 0f)
|
||||
}
|
||||
|
||||
@ -356,7 +274,7 @@ index 9dcd2db4d3b4..a15456d46897 100644
|
||||
/** View controller (can be different for enrollment, BiometricPrompt, Keyguard, etc.). */
|
||||
var animationViewController: UdfpsAnimationViewController<*>? = null
|
||||
|
||||
@@ -85,10 +82,6 @@ class UdfpsView(
|
||||
@@ -89,10 +86,6 @@ class UdfpsView(
|
||||
return (animationViewController == null || !animationViewController!!.shouldPauseAuth())
|
||||
}
|
||||
|
||||
@ -367,7 +285,7 @@ index 9dcd2db4d3b4..a15456d46897 100644
|
||||
override fun dozeTimeTick() {
|
||||
animationViewController?.dozeTimeTick()
|
||||
}
|
||||
@@ -150,34 +143,12 @@ class UdfpsView(
|
||||
@@ -160,34 +153,12 @@ class UdfpsView(
|
||||
fun configureDisplay(onDisplayConfigured: Runnable) {
|
||||
isDisplayConfigured = true
|
||||
animationViewController?.onDisplayConfiguring()
|
||||
@ -388,7 +306,7 @@ index 9dcd2db4d3b4..a15456d46897 100644
|
||||
-
|
||||
- mUdfpsDisplayMode?.enable {
|
||||
- onDisplayConfigured?.run()
|
||||
- ghbmView?.drawIlluminationDot(sensorRect)
|
||||
- ghbmView?.drawIlluminationDot(RectF(sensorRect))
|
||||
- }
|
||||
+ mUdfpsDisplayMode?.enable(onDisplayConfigured)
|
||||
}
|
||||
@ -403,38 +321,6 @@ index 9dcd2db4d3b4..a15456d46897 100644
|
||||
mUdfpsDisplayMode?.disable(null /* onDisabled */)
|
||||
}
|
||||
}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
|
||||
index bc130894ced1..443d2774f0e0 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
|
||||
@@ -93,7 +93,6 @@ import com.android.systemui.util.time.SystemClock;
|
||||
import com.android.systemui.util.time.SystemClockImpl;
|
||||
import com.android.systemui.wallet.dagger.WalletModule;
|
||||
import com.android.systemui.wmshell.BubblesManager;
|
||||
-import com.android.systemui.R;
|
||||
import com.android.wm.shell.bubbles.Bubbles;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -199,17 +198,8 @@ public abstract class SystemUIModule {
|
||||
@BindsOptionalOf
|
||||
abstract CentralSurfaces optionalCentralSurfaces();
|
||||
|
||||
- @Provides
|
||||
- static UdfpsDisplayModeProvider getUdfpsDisplayModeProvider(Context context) {
|
||||
- String className = context.getString(R.string.config_udfpsDisplayModeProviderComponent);
|
||||
- try {
|
||||
- Class<?> clazz = context.getClassLoader().loadClass(className);
|
||||
- return (UdfpsDisplayModeProvider) clazz.getDeclaredConstructor(
|
||||
- new Class[] { Context.class }).newInstance(context);
|
||||
- } catch (Throwable t) {
|
||||
- throw new RuntimeException("Error loading UdfpsDisplayModeProvider " + className, t);
|
||||
- }
|
||||
- }
|
||||
+ @BindsOptionalOf
|
||||
+ abstract UdfpsDisplayModeProvider optionalUdfpsDisplayModeProvider();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract AlternateUdfpsTouchProvider optionalUdfpsTouchProvider();
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 435be186e085fa16091e2574ac01f07197e8faf5 Mon Sep 17 00:00:00 2001
|
||||
From f0b54d18cd3c7382f230bedb198177c68e2bb3b2 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Fri, 10 Jun 2022 21:33:47 +0800
|
||||
Subject: [PATCH 2/2] Revert "Biometrics: Allow disabling of fingerprint
|
||||
@ -45,5 +45,5 @@ index 02353bc01c79..c1a86386dfd4 100644
|
||||
scheduleUpdateActiveUserWithoutHandler(userId);
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c3bb65b010f19b31a56b8c5d10ef182b32894fbf Mon Sep 17 00:00:00 2001
|
||||
From 478a67112b5ddfd25c7b36c92ac508d55a54a88a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 18 Aug 2022 15:44:46 -0400
|
||||
Subject: [PATCH 01/26] APM: Restore S, R and Q behavior respectively for
|
||||
@ -31,12 +31,12 @@ relying on the value of `ro.vndk.version`.
|
||||
|
||||
Change-Id: I56d36d2aef4319935cb88a3e4771b23c6d5b2145
|
||||
---
|
||||
.../managerdefault/AudioPolicyManager.cpp | 193 +++++++++++++-----
|
||||
.../managerdefault/AudioPolicyManager.cpp | 197 +++++++++++++-----
|
||||
.../managerdefault/AudioPolicyManager.h | 3 +
|
||||
2 files changed, 141 insertions(+), 55 deletions(-)
|
||||
2 files changed, 143 insertions(+), 57 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
index 744609f27b..224dae3820 100644
|
||||
index 4573382a06..b7d0dbcca4 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
@@ -675,6 +675,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@ -148,10 +148,10 @@ index 744609f27b..224dae3820 100644
|
||||
bool AudioPolicyManager::isDeviceOfModule(
|
||||
const sp<DeviceDescriptor>& devDesc, const char *moduleId) const {
|
||||
sp<HwModule> module = mHwModules.getModuleFromName(moduleId);
|
||||
@@ -4520,76 +4584,95 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
|
||||
@@ -4541,78 +4605,97 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
|
||||
// in config XML to reach the sink so that is can be declared as available.
|
||||
audio_io_handle_t output = AUDIO_IO_HANDLE_NONE;
|
||||
sp<SwAudioOutputDescriptor> outputDesc = nullptr;
|
||||
sp<SwAudioOutputDescriptor> outputDesc;
|
||||
- if (!sourceDesc->isInternal()) {
|
||||
- // take care of dynamic routing for SwOutput selection,
|
||||
- audio_attributes_t attributes = sourceDesc->attributes();
|
||||
@ -180,10 +180,25 @@ index 744609f27b..224dae3820 100644
|
||||
- ALOGE("%s output is duplicated", __func__);
|
||||
- return INVALID_OPERATION;
|
||||
- }
|
||||
- sourceDesc->setSwOutput(outputDesc);
|
||||
- bool closeOutput = outputDesc->mDirectOpenCount != 0;
|
||||
- sourceDesc->setSwOutput(outputDesc, closeOutput);
|
||||
- } else {
|
||||
- // Same for "raw patches" aka created from createAudioPatch API
|
||||
- SortedVector<audio_io_handle_t> outputs =
|
||||
- getOutputsForDevices(DeviceVector(sinkDevice), mOutputs);
|
||||
- // if the sink device is reachable via an opened output stream, request to
|
||||
- // go via this output stream by adding a second source to the patch
|
||||
- // description
|
||||
- output = selectOutput(outputs);
|
||||
- if (output == AUDIO_IO_HANDLE_NONE) {
|
||||
- ALOGE("%s no output available for internal patch sink", __func__);
|
||||
- return INVALID_OPERATION;
|
||||
- }
|
||||
- outputDesc = mOutputs.valueFor(output);
|
||||
- if (outputDesc->isDuplicated()) {
|
||||
- ALOGV("%s output for device %s is duplicated",
|
||||
- __func__, sinkDevice->toString().c_str());
|
||||
- return INVALID_OPERATION;
|
||||
+ if (sourceDesc != nullptr) {
|
||||
+ if (!sourceDesc->isInternal()) {
|
||||
+ // take care of dynamic routing for SwOutput selection,
|
||||
@ -213,24 +228,12 @@ index 744609f27b..224dae3820 100644
|
||||
+ ALOGE("%s output is duplicated", __func__);
|
||||
+ return INVALID_OPERATION;
|
||||
+ }
|
||||
+ sourceDesc->setSwOutput(outputDesc);
|
||||
+ bool closeOutput = outputDesc->mDirectOpenCount != 0;
|
||||
+ sourceDesc->setSwOutput(outputDesc, closeOutput);
|
||||
+ } else {
|
||||
+ // Same for "raw patches" aka created from createAudioPatch API
|
||||
+ SortedVector<audio_io_handle_t> outputs =
|
||||
getOutputsForDevices(DeviceVector(sinkDevice), mOutputs);
|
||||
- // if the sink device is reachable via an opened output stream, request to
|
||||
- // go via this output stream by adding a second source to the patch
|
||||
- // description
|
||||
- output = selectOutput(outputs);
|
||||
- if (output == AUDIO_IO_HANDLE_NONE) {
|
||||
- ALOGE("%s no output available for internal patch sink", __func__);
|
||||
- return INVALID_OPERATION;
|
||||
- }
|
||||
- outputDesc = mOutputs.valueFor(output);
|
||||
- if (outputDesc->isDuplicated()) {
|
||||
- ALOGV("%s output for device %s is duplicated",
|
||||
- __func__, sinkDevice->toString().c_str());
|
||||
- return INVALID_OPERATION;
|
||||
+ getOutputsForDevices(DeviceVector(sinkDevice), mOutputs);
|
||||
+ // if the sink device is reachable via an opened output stream, request to
|
||||
+ // go via this output stream by adding a second source to the patch
|
||||
+ // description
|
||||
@ -245,9 +248,9 @@ index 744609f27b..224dae3820 100644
|
||||
+ __func__, sinkDevice->toString().c_str());
|
||||
+ return INVALID_OPERATION;
|
||||
+ }
|
||||
+ sourceDesc->setSwOutput(outputDesc);
|
||||
+ sourceDesc->setSwOutput(outputDesc, /* closeOutput= */ false);
|
||||
}
|
||||
- sourceDesc->setSwOutput(outputDesc);
|
||||
- sourceDesc->setSwOutput(outputDesc, /* closeOutput= */ false);
|
||||
}
|
||||
// create a software bridge in PatchPanel if:
|
||||
// - source and sink devices are on different HW modules OR
|
||||
@ -289,16 +292,17 @@ index 744609f27b..224dae3820 100644
|
||||
audio_port_config srcMixPortConfig = {};
|
||||
outputDesc->toAudioPortConfig(&srcMixPortConfig, nullptr);
|
||||
// for volume control, we may need a valid stream
|
||||
- srcMixPortConfig.ext.mix.usecase.stream = !sourceDesc->isInternal() ?
|
||||
+ srcMixPortConfig.ext.mix.usecase.stream = (sourceDesc != nullptr && !sourceDesc->isInternal()) ?
|
||||
srcMixPortConfig.ext.mix.usecase.stream =
|
||||
- (!sourceDesc->isInternal() || isCallTxAudioSource(sourceDesc)) ?
|
||||
+ (sourceDesc != nullptr && (!sourceDesc->isInternal() || isCallTxAudioSource(sourceDesc))) ?
|
||||
mEngine->getStreamTypeForAttributes(sourceDesc->attributes()) :
|
||||
AUDIO_STREAM_PATCH;
|
||||
patchBuilder.addSource(srcMixPortConfig);
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
index db0ee15de8..97fa6f6f81 100644
|
||||
index a69e08871b..f8762016db 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
@@ -938,6 +938,9 @@ protected:
|
||||
@@ -944,6 +944,9 @@ protected:
|
||||
|
||||
SoundTriggerSessionCollection mSoundTriggerSessions;
|
||||
|
||||
@ -309,5 +313,5 @@ index db0ee15de8..97fa6f6f81 100644
|
||||
SourceClientCollection mAudioSources;
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9f20882e39d7af72c514669b7611785fa50ae567 Mon Sep 17 00:00:00 2001
|
||||
From d1252392714cad0c0f71e8d381925849098122ab Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 5 Aug 2019 18:09:50 +0200
|
||||
Subject: [PATCH 02/26] Fix BT in-call on CAF devices
|
||||
@ -127,5 +127,5 @@ index d446e9667b..2f0ce75e47 100644
|
||||
|
||||
for (const xmlNode *children = cur->xmlChildrenNode; children != NULL;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 76a5783fe2514d7b9d97faa8e221403c02fbcf6a Mon Sep 17 00:00:00 2001
|
||||
From 209a4b20bd4125df28fcf5ba3d501e84d7454e40 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 1 Oct 2019 13:35:49 +0200
|
||||
Subject: [PATCH 03/26] Add (partial, cam id is hardcoded) support for Asus ZF6
|
||||
@ -11,7 +11,7 @@ Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index 80410ab463..b386046c19 100644
|
||||
index 3f8a0317e1..688c1e7270 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -26,6 +26,7 @@
|
||||
@ -30,7 +30,7 @@ index 80410ab463..b386046c19 100644
|
||||
mEventLog(DEFAULT_EVENT_LOG_LENGTH),
|
||||
mNumberOfCameras(0),
|
||||
mNumberOfCamerasWithoutSystemCamera(0),
|
||||
@@ -1945,6 +1947,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8&
|
||||
@@ -2039,6 +2041,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8&
|
||||
mServiceLock.lock();
|
||||
} else {
|
||||
// Otherwise, add client to active clients list
|
||||
@ -38,7 +38,7 @@ index 80410ab463..b386046c19 100644
|
||||
finishConnectLocked(client, partial, oomScoreOffset, systemNativeClient);
|
||||
}
|
||||
|
||||
@@ -2063,6 +2066,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp<BasicClient> offli
|
||||
@@ -2157,6 +2160,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp<BasicClient> offli
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ index 80410ab463..b386046c19 100644
|
||||
Status CameraService::turnOnTorchWithStrengthLevel(const String16& cameraId, int32_t torchStrength,
|
||||
const sp<IBinder>& clientBinder) {
|
||||
Mutex::Autolock lock(mServiceLock);
|
||||
@@ -3318,6 +3342,8 @@ binder::Status CameraService::BasicClient::disconnect() {
|
||||
@@ -3388,6 +3412,8 @@ binder::Status CameraService::BasicClient::disconnect() {
|
||||
}
|
||||
mDisconnected = true;
|
||||
|
||||
@ -76,10 +76,10 @@ index 80410ab463..b386046c19 100644
|
||||
sCameraService->logDisconnected(mCameraIdStr, mClientPid, String8(mClientPackageName));
|
||||
sCameraService->mCameraProviderManager->removeRef(CameraProviderManager::DeviceMode::CAMERA,
|
||||
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
|
||||
index d96ea008bc..5b77139040 100644
|
||||
index 840e9b6412..b15f988d9e 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.h
|
||||
+++ b/services/camera/libcameraservice/CameraService.h
|
||||
@@ -226,6 +226,9 @@ public:
|
||||
@@ -227,6 +227,9 @@ public:
|
||||
// Register an offline client for a given active camera id
|
||||
status_t addOfflineClient(String8 cameraId, sp<BasicClient> offlineClient);
|
||||
|
||||
@ -90,5 +90,5 @@ index d96ea008bc..5b77139040 100644
|
||||
// Client functionality
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 931ab68c6977b02c8a65ebf63e853b03edcd7145 Mon Sep 17 00:00:00 2001
|
||||
From 8ae943d95a8c015001341238536f50968dfb8fe3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 24 Aug 2022 15:42:39 -0400
|
||||
Subject: [PATCH 04/26] APM: Optionally force-load audio policy for system-side
|
||||
@ -57,5 +57,5 @@ index 2f0ce75e47..b35d34a599 100644
|
||||
|
||||
// Global Configuration
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 14ee2d68ff8ebca3b91c6700f292c26f19cd8949 Mon Sep 17 00:00:00 2001
|
||||
From 0221bd65afca2f16be887b8d33b593d1e3c3db0c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 25 Aug 2022 13:30:29 -0400
|
||||
Subject: [PATCH 05/26] APM: Remove A2DP audio ports from the primary HAL
|
||||
@ -75,5 +75,5 @@ index b35d34a599..456c5a935c 100644
|
||||
|
||||
RouteTraits::Collection routes;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3955d4df29c79d35948995b150b81326f7ae1b46 Mon Sep 17 00:00:00 2001
|
||||
From e012a6fdabb37d398c3bd688e3293367d61666be Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 23 Jan 2020 11:13:43 +0800
|
||||
Subject: [PATCH 06/26] audiopolicy: try again with trimmed audio port name if
|
||||
@ -51,5 +51,5 @@ index 456c5a935c..45ee70ab6e 100644
|
||||
ALOGE("%s: no source found with name=%s", __func__, devTag);
|
||||
return BAD_VALUE;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1deb067cc7b98962ebb0622804ba9b03d9c74d4a Mon Sep 17 00:00:00 2001
|
||||
From 7d83dd29d502262859a9fc7a8658ef9ef4dd632a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 1 Jun 2022 16:56:46 -0400
|
||||
Subject: [PATCH 07/26] camera: Implement property to override default camera
|
||||
@ -11,7 +11,7 @@ Change-Id: I002bfa974bafc2cc01365eeea31c7a5dcb5a2028
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
index 6ef16b3ca8..3dd15d9fe9 100644
|
||||
index 3132787608..5e1ba965b7 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -36,6 +36,7 @@
|
||||
@ -22,8 +22,8 @@ index 6ef16b3ca8..3dd15d9fe9 100644
|
||||
#include <android-base/logging.h>
|
||||
#include <cutils/properties.h>
|
||||
#include <hwbinder/IPCThreadState.h>
|
||||
@@ -205,6 +206,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds() const {
|
||||
deviceIds.push_back(id);
|
||||
@@ -210,6 +211,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds(std::unordere
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
@ -38,7 +38,7 @@ index 6ef16b3ca8..3dd15d9fe9 100644
|
||||
return deviceIds;
|
||||
}
|
||||
|
||||
@@ -271,6 +281,18 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
@@ -276,6 +286,18 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
std::sort(systemDeviceIds.begin(), systemDeviceIds.end(), sortFunc);
|
||||
deviceIds.insert(deviceIds.end(), publicDeviceIds.begin(), publicDeviceIds.end());
|
||||
deviceIds.insert(deviceIds.end(), systemDeviceIds.begin(), systemDeviceIds.end());
|
||||
@ -58,5 +58,5 @@ index 6ef16b3ca8..3dd15d9fe9 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cdfd6eea207f2cec68e46949895a78075dbbe636 Mon Sep 17 00:00:00 2001
|
||||
From 55783de99f5000569335532dace13682bde08214 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 13 Apr 2020 21:01:16 +0200
|
||||
Subject: [PATCH 08/26] There are three SCO devices. Fallback from one to the
|
||||
@ -42,5 +42,5 @@ index 418b7ebe88..a97f76be59 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0a037727edf7f2fed2aab9ae61a4d09a8addd226 Mon Sep 17 00:00:00 2001
|
||||
From baee6d7460ccddc83f5e98a1af03b39784672802 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 14 May 2020 19:54:55 +0200
|
||||
Subject: [PATCH 09/26] Add persist.sys.phh.samsung.camera_ids property to
|
||||
@ -23,7 +23,7 @@ index 981c56942c..7c4e4d9bcd 100644
|
||||
],
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index d60565fb68..b02cf26445 100644
|
||||
index 1df6ec4449..ac579b4f7d 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
@ -76,5 +76,5 @@ index d60565fb68..b02cf26445 100644
|
||||
ALOGE("%s: Transaction error in getting camera ID list from provider '%s': %s",
|
||||
__FUNCTION__, mProviderName.c_str(), linked.description().c_str());
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ce5c36ff7b82f4ef0add790744795d9f6f2e06e7 Mon Sep 17 00:00:00 2001
|
||||
From 0a985d6e98b115e5dc938e630e63dfb46b0c33bd Mon Sep 17 00:00:00 2001
|
||||
From: Emilian Peev <epeev@google.com>
|
||||
Date: Fri, 5 Aug 2022 17:28:06 -0700
|
||||
Subject: [PATCH 10/26] Camera: Avoid unnecessary close of buffer acquire fence
|
||||
@ -17,7 +17,7 @@ Merged-In: Ieec34b54aaa7f0d773eccb593c3daaa3e41bae0b
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
|
||||
index 69163a5620..e66624dc6e 100644
|
||||
index 396104c4fd..c725aadb79 100644
|
||||
--- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
|
||||
+++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
|
||||
@@ -331,7 +331,7 @@ status_t Camera3OutputStream::fixUpHidlJpegBlobHeader(ANativeWindowBuffer* anwBu
|
||||
@ -29,7 +29,7 @@ index 69163a5620..e66624dc6e 100644
|
||||
if (res != OK) {
|
||||
ALOGE("%s: Failed to lock the buffer: %s (%d)", __FUNCTION__, strerror(-res), res);
|
||||
return res;
|
||||
@@ -1308,7 +1308,7 @@ void Camera3OutputStream::dumpImageToDisk(nsecs_t timestamp,
|
||||
@@ -1327,7 +1327,7 @@ void Camera3OutputStream::dumpImageToDisk(nsecs_t timestamp,
|
||||
void* mapped = nullptr;
|
||||
base::unique_fd fenceFd(dup(fence));
|
||||
status_t res = graphicBuffer->lockAsync(GraphicBuffer::USAGE_SW_READ_OFTEN, &mapped,
|
||||
@ -39,5 +39,5 @@ index 69163a5620..e66624dc6e 100644
|
||||
ALOGE("%s: Failed to lock the buffer: %s (%d)", __FUNCTION__, strerror(-res), res);
|
||||
return;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 22bcca382ca3b924606970b995d51974c6f05103 Mon Sep 17 00:00:00 2001
|
||||
From 99e678e0b3f3117c570da358198af887c94ba500 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 19 May 2020 14:01:14 +0200
|
||||
Subject: [PATCH 11/26] Add a property to force camera timestamp source
|
||||
@ -18,10 +18,10 @@ timestamp source.
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
index 7c2f34f46e..6ee3b3e5d8 100644
|
||||
index 48cc2280ff..830ab0aa9f 100644
|
||||
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
@@ -193,8 +193,16 @@ status_t Camera3Device::initializeCommonLocked() {
|
||||
@@ -191,8 +191,16 @@ status_t Camera3Device::initializeCommonLocked() {
|
||||
mTimestampOffset = getMonoToBoottimeOffset();
|
||||
camera_metadata_entry timestampSource =
|
||||
mDeviceInfo.find(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE);
|
||||
@ -41,5 +41,5 @@ index 7c2f34f46e..6ee3b3e5d8 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 29802ae4be55eeb7a309b7439f0eecf8ecfcdc45 Mon Sep 17 00:00:00 2001
|
||||
From af90a4845af1cfcdb918c4d7d523f926d4986e24 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 24 Apr 2018 00:14:28 +0200
|
||||
Subject: [PATCH 12/26] FIH devices: Fix "Earpiece" audio output
|
||||
@ -83,5 +83,5 @@ index 45ee70ab6e..2bf5705512 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 83d18a9021866184f0dacf407f684cf0a6575a6e Mon Sep 17 00:00:00 2001
|
||||
From 9ca08d8781150a6157c1f8824f2f6b7f36997ecc Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 12 Sep 2020 12:32:50 +0200
|
||||
Subject: [PATCH 13/26] No longer make re-assigning legacy audio groups fatal.
|
||||
@ -28,5 +28,5 @@ index 99507eee5d..e31cc21b17 100644
|
||||
}
|
||||
addSupportedAttributesToGroup(group, volumeGroup, strategy);
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a5cddb1ec7a5b8bb8a6b141fe56d9364d222eaa6 Mon Sep 17 00:00:00 2001
|
||||
From 1401a96f282827700760cd3aaba946fd4365d351 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 21 Dec 2020 20:19:11 +0100
|
||||
Subject: [PATCH 14/26] Make camera IDs filter-out optional
|
||||
@ -11,10 +11,10 @@ Add a property for that.
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
index 3dd15d9fe9..93af10a0e7 100644
|
||||
index 5e1ba965b7..2cb27f4ee5 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -255,7 +255,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
@@ -260,7 +260,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
// API1 app doesn't handle logical and physical camera devices well. So
|
||||
// for each camera facing, only take the first id advertised by HAL in
|
||||
// all [logical, physical1, physical2, ...] id combos, and filter out the rest.
|
||||
@ -26,5 +26,5 @@ index 3dd15d9fe9..93af10a0e7 100644
|
||||
}
|
||||
auto sortFunc =
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 254173b6f4964ff5dcdea58ef5c7e76069702577 Mon Sep 17 00:00:00 2001
|
||||
From 406d10db45bbf22153de7e4f2dc37d50a9f937e2 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 13 Mar 2021 14:20:03 -0500
|
||||
Subject: [PATCH 15/26] Support Samsung R multi-cams
|
||||
@ -22,7 +22,7 @@ index 7c4e4d9bcd..1faeb60ba7 100644
|
||||
],
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index b02cf26445..947ddba0ee 100644
|
||||
index ac579b4f7d..070c9aeeae 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
@ -63,5 +63,5 @@ index b02cf26445..947ddba0ee 100644
|
||||
else
|
||||
ret = interface->getCameraIdList(cb);
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5f4855966f38284865f38bb1ed95a26380771719 Mon Sep 17 00:00:00 2001
|
||||
From 9ac250245449ad184608256fdc8b16d1b4c61af5 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 23 Mar 2021 00:16:42 +0100
|
||||
Subject: [PATCH 16/26] Don't crash on unknown audio devices
|
||||
@ -22,5 +22,5 @@ index 2bf5705512..78812b1098 100644
|
||||
"extension type",
|
||||
reinterpret_cast<const char*>(attachedDevice.get()));
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5ee043ccc5e7accb3d0d62647dcf0c7b7361122a Mon Sep 17 00:00:00 2001
|
||||
From 4fa8e746eef418f40f6545b29f8e405a96ad161f Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Mar 2021 18:54:47 +0200
|
||||
Subject: [PATCH 17/26] Not all sources in a route are valid. Dont ignore the
|
||||
@ -23,5 +23,5 @@ index 78812b1098..9addf7dbdc 100644
|
||||
return BAD_VALUE;
|
||||
} else if (source == NULL) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From dbfbd7b96c1d3fe76164b098852fad50f66b5af8 Mon Sep 17 00:00:00 2001
|
||||
From 3d10c851faca305befccb4b85bc28ccc26018739 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Mar 2021 14:48:49 +0200
|
||||
Subject: [PATCH 18/26] Use a fake volume policy when none has been found
|
||||
@ -33,5 +33,5 @@ index 6f560d558d..92cf03e418 100644
|
||||
ALOGE("No readable audio policy config file found");
|
||||
return BAD_VALUE;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f8e7a493e3986f0d2d4328018730c036445a7ab9 Mon Sep 17 00:00:00 2001
|
||||
From 2322d08300341d25fe176b44e355f0bf5b6ae440 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 7 Aug 2021 11:11:39 +0200
|
||||
Subject: [PATCH 19/26] When aux cameras are enabled, ignore "system only"
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH 19/26] When aux cameras are enabled, ignore "system only"
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
index 93af10a0e7..aa353f465f 100644
|
||||
index 2cb27f4ee5..99fc7247b0 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -990,10 +990,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
@@ -978,10 +978,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
|
||||
// Go through the capabilities and check if it has
|
||||
// ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
|
||||
@ -31,5 +31,5 @@ index 93af10a0e7..aa353f465f 100644
|
||||
}
|
||||
return SystemCameraKind::PUBLIC;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ce0f16b2b6ebbfcc62525e4c318797e545538e7d Mon Sep 17 00:00:00 2001
|
||||
From 398ab59b91edeb31769d41c064dbc49afa920fd0 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 11 Oct 2021 16:10:42 -0400
|
||||
Subject: [PATCH 20/26] Revert "Remove support for audio HAL V2 from the
|
||||
@ -77,5 +77,5 @@ index d30883a95c..7bba88ca0a 100644
|
||||
name: "libaudiohal@4.0",
|
||||
defaults: ["libaudiohal_default"],
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ee6534d8bfbcdd264117a7b532df594187a5e4b2 Mon Sep 17 00:00:00 2001
|
||||
From 47f94008bf4a0f98f7ef307b45bc38f88823e4ad Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 30 Jan 2022 07:40:19 -0500
|
||||
Subject: [PATCH 21/26] Fix parsing audio hal 7.0 audio policies
|
||||
@ -25,5 +25,5 @@ index 9addf7dbdc..9d3d9fd169 100644
|
||||
//Some Foxconn devices have wrong earpiece channel mask, leading to no channel mask
|
||||
if(channelsMask.size() == 1 && *channelsMask.begin() == AUDIO_CHANNEL_IN_MONO && isOutput) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d9bbe176ad0158145237d374783b758548a6fd67 Mon Sep 17 00:00:00 2001
|
||||
From 81dab535bb14a9b5a5996a558f85c46b1ab9640f Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 12 Mar 2022 18:07:43 -0500
|
||||
Subject: [PATCH 22/26] fixup! Not all sources in a route are valid. Dont
|
||||
@ -22,5 +22,5 @@ index 9d3d9fd169..95d2463230 100644
|
||||
return BAD_VALUE;
|
||||
} else if (source == NULL) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 422b02721cd031ff27143dde4823984a0c02bd2d Mon Sep 17 00:00:00 2001
|
||||
From 75503abf96c22c30b58e2b0a5677bcee7aac8865 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 16 Apr 2022 14:30:14 -0400
|
||||
Subject: [PATCH 23/26] Add a prop to change Samsung flash strength
|
||||
@ -21,7 +21,7 @@ index 1faeb60ba7..8c588065cf 100644
|
||||
],
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index 947ddba0ee..fd7615a446 100644
|
||||
index 070c9aeeae..41830f2c82 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -29,6 +29,7 @@
|
||||
@ -53,5 +53,5 @@ index 947ddba0ee..fd7615a446 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9c5799a9da1fa402dd113b104f129217b1eb7f41 Mon Sep 17 00:00:00 2001
|
||||
From a1d34d9638e76d772793f936278a2980b07db22c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 2 May 2022 17:37:09 -0400
|
||||
Subject: [PATCH 24/26] Support variable flash strength on samsung hal 4.0
|
||||
@ -21,7 +21,7 @@ index 8c588065cf..769862aaa2 100644
|
||||
],
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index fd7615a446..2fa7dcef7f 100644
|
||||
index 41830f2c82..a84b58201c 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -30,6 +30,7 @@
|
||||
@ -48,5 +48,5 @@ index fd7615a446..2fa7dcef7f 100644
|
||||
s = interface->setTorchMode(enabled ? TorchMode::ON : TorchMode::OFF);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 92661ad5a047752ce253d12bf5bf40fad7771bea Mon Sep 17 00:00:00 2001
|
||||
From b1832829214487e75c378ecc88aab36ecc0f218e Mon Sep 17 00:00:00 2001
|
||||
From: ponces <ponces26@gmail.com>
|
||||
Date: Mon, 24 Oct 2022 09:38:34 +0100
|
||||
Subject: [PATCH 25/26] voip: Fix high pitched voice on Qualcomm devices
|
||||
@ -42,5 +42,5 @@ index 95d2463230..ef310977b2 100644
|
||||
ALOGE("%s: No %s found", __func__, Attributes::name);
|
||||
return BAD_VALUE;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 377da1b5b5df90be27f2571b52f93db0cb8aaeb8 Mon Sep 17 00:00:00 2001
|
||||
From af448229e29a3f6043bc9af2dafd608349616f5b Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 9 Nov 2022 17:10:52 -0500
|
||||
Subject: [PATCH 26/26] Fix audio hal 2.0 support. Fixup of Revert "Remove
|
||||
@ -89,5 +89,5 @@ index 4069a6bdbd..e9d2af5d2c 100644
|
||||
ret = factory->openDevice_7_1(
|
||||
#else
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2330b72eb800da35252c67dd77743b800afda581 Mon Sep 17 00:00:00 2001
|
||||
From 8bb17811e9783cb9d05023b907463b4d8178ec79 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 5 Oct 2021 17:59:16 -0400
|
||||
Subject: [PATCH 01/35] Fallback to stupid autobrightness if brightness values
|
||||
@ -14,10 +14,10 @@ Change-Id: Ieb679b34239013a5e31b34cb010b12febd9ef6d9
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
index 416518613568..5a56266ad759 100644
|
||||
index fa812c163643..e8e2fc69e646 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
@@ -405,9 +405,14 @@ public class DisplayDeviceConfig {
|
||||
@@ -650,9 +650,14 @@ public class DisplayDeviceConfig {
|
||||
* @return A configuration instance.
|
||||
*/
|
||||
public static DisplayDeviceConfig create(Context context, boolean useConfigXml) {
|
||||
@ -35,5 +35,5 @@ index 416518613568..5a56266ad759 100644
|
||||
config = getConfigFromPmValues(context);
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c884f4408bfa11bb74c4e45be03ad779fc1fc367 Mon Sep 17 00:00:00 2001
|
||||
From 62fdde809e3ac3bb3dbfa22e64d84ffb6180d7a1 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Mounier <mounierr07@gmail.com>
|
||||
Date: Sat, 6 Aug 2022 18:08:36 +0200
|
||||
Subject: [PATCH 02/35] Fix env empty string - ANDROID_STORAGE
|
||||
@ -22,5 +22,5 @@ index 5177cb4f8549..f593dc38bc1c 100644
|
||||
|
||||
@NonNull
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1c5e8be3e95808111d4dcd609ecbdc87cafdb21a Mon Sep 17 00:00:00 2001
|
||||
From 1e432153ed75c31abe94df1250ade6b3db515cfb Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 28 Nov 2017 18:28:04 +0100
|
||||
Subject: [PATCH 03/35] Relax requirement for visible flag to sdcards
|
||||
@ -13,7 +13,7 @@ Change-Id: Ia616671c03562d1eadaff5531a5c708a62d7ad3a
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
|
||||
index 7f3676d0c52b..dc1083879b6e 100644
|
||||
index c367dcec1b08..3680221b7f52 100644
|
||||
--- a/services/core/java/com/android/server/StorageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/StorageManagerService.java
|
||||
@@ -1616,7 +1616,8 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
@ -27,5 +27,5 @@ index 7f3676d0c52b..dc1083879b6e 100644
|
||||
} else if (vol.disk.isSd()) {
|
||||
vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE_FOR_WRITE;
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d0bc6f39e045548dfa57a5721fd1c804924cf560 Mon Sep 17 00:00:00 2001
|
||||
From 4628b7d028f66e72d2916cc1a28e05352284bf5b Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 17 May 2018 20:28:35 +0200
|
||||
Subject: [PATCH 04/35] Don't crash if there is IR HAL is not declared
|
||||
@ -42,5 +42,5 @@ index 63daa3503bd5..d068ec06fc14 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fc7659b79e984f11d276f068792325b79c98be91 Mon Sep 17 00:00:00 2001
|
||||
From f960e230476cf36078619e632f28c886ba5a723c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 1 Jun 2022 16:56:20 -0400
|
||||
Subject: [PATCH 05/35] Implement a persistent property to override the default
|
||||
@ -11,10 +11,10 @@ Change-Id: I49b45d00bf71d7932591b3516d49a680e1b6568b
|
||||
2 files changed, 14 insertions(+)
|
||||
|
||||
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
|
||||
index 7193b93dba7f..aaa2887d7c5b 100644
|
||||
index 2fbcf5bfaf52..df9c13edf337 100644
|
||||
--- a/core/java/android/hardware/Camera.java
|
||||
+++ b/core/java/android/hardware/Camera.java
|
||||
@@ -452,6 +452,11 @@ public class Camera {
|
||||
@@ -465,6 +465,11 @@ public class Camera {
|
||||
* @see #open(int)
|
||||
*/
|
||||
public static Camera open() {
|
||||
@ -27,10 +27,10 @@ index 7193b93dba7f..aaa2887d7c5b 100644
|
||||
CameraInfo cameraInfo = new CameraInfo();
|
||||
for (int i = 0; i < numberOfCameras; i++) {
|
||||
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
|
||||
index 028b1afd9765..a6c318822d7e 100644
|
||||
index db19394c16e4..c2f7ecf94580 100644
|
||||
--- a/core/java/android/hardware/camera2/CameraManager.java
|
||||
+++ b/core/java/android/hardware/camera2/CameraManager.java
|
||||
@@ -1754,6 +1754,15 @@ public final class CameraManager {
|
||||
@@ -1789,6 +1789,15 @@ public final class CameraManager {
|
||||
}
|
||||
}});
|
||||
|
||||
@ -47,5 +47,5 @@ index 028b1afd9765..a6c318822d7e 100644
|
||||
|
||||
public static boolean cameraStatusesContains(CameraStatus[] cameraStatuses, String id) {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 88e9191c8c4c75d9b2decfe56fede580b0c887bf Mon Sep 17 00:00:00 2001
|
||||
From 9a744b795bdb1a65fef7736581c3f8149c3f00b7 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 6 Aug 2018 12:49:00 +0200
|
||||
Subject: [PATCH 06/35] Show APN Settings for CDMA carriers
|
||||
@ -8,10 +8,10 @@ Subject: [PATCH 06/35] Show APN Settings for CDMA carriers
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
index cf6d681d596a..4308f6ee40c4 100644
|
||||
index 741721d14ac1..2b08fa644779 100644
|
||||
--- a/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
@@ -8686,7 +8686,7 @@ public class CarrierConfigManager {
|
||||
@@ -8712,7 +8712,7 @@ public class CarrierConfigManager {
|
||||
sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
|
||||
sDefaults.putBoolean(KEY_PREFER_2G_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_4G_ONLY_BOOL, false);
|
||||
@ -21,5 +21,5 @@ index cf6d681d596a..4308f6ee40c4 100644
|
||||
sDefaults.putBoolean(KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL, false);
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 61b0cf3fa2c541af9789e544c480c2cc1e22fcc9 Mon Sep 17 00:00:00 2001
|
||||
From 9fcf1455d6bdcb7b4158f7dc7362e7b6a50586bd Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 8 Nov 2018 23:04:03 +0100
|
||||
Subject: [PATCH 07/35] Re-order services so that it works even without qtaguid
|
||||
@ -9,10 +9,10 @@ Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
index 8102d892c2d7..ad9a50101e11 100644
|
||||
index 89dac2160d6b..3e2374f0648c 100644
|
||||
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
@@ -959,6 +959,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -960,6 +960,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady");
|
||||
final int oldPriority = Process.getThreadPriority(Process.myTid());
|
||||
try {
|
||||
@ -23,7 +23,7 @@ index 8102d892c2d7..ad9a50101e11 100644
|
||||
// Boost thread's priority during system server init
|
||||
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
|
||||
if (!isBandwidthControlEnabled()) {
|
||||
@@ -966,10 +970,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -967,10 +971,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -35,5 +35,5 @@ index 8102d892c2d7..ad9a50101e11 100644
|
||||
synchronized (mNetworkPoliciesSecondLock) {
|
||||
updatePowerSaveWhitelistUL();
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d293c5c287d31e0db28cc29d8b2e01d9e22e2e26 Mon Sep 17 00:00:00 2001
|
||||
From 8bcce90bcd403dd7b8304fb044f6ce9023d8ff52 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 24 Mar 2019 23:05:14 +0100
|
||||
Subject: [PATCH 08/35] Support samsung Pie and Q light hal
|
||||
@ -22,5 +22,5 @@ index 0d49f5fffb4b..1fc974ebc56f 100644
|
||||
|
||||
static_libs: [
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user