Changes for January 2022, syncing up to v400.h

This commit is contained in:
Andy CrossGate Yan 2022-01-13 14:32:50 +00:00
parent 463b837c1b
commit d4c58201c8
98 changed files with 2429 additions and 751 deletions

View File

@ -0,0 +1,128 @@
From e37d16ac9d6d84412f64243dee1c48d8b1eb6ed5 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/21] Add SPenPointerOverlay
Toggle this overlay with property "persist.ui.spen.pointer"
Change-Id: I21f7e05cf8ebd74c950dfb20cf7eee99bfe22988
---
packages/overlays/Android.mk | 3 +-
.../overlays/SPenPointerOverlay/Android.bp | 28 ++++++++++++++++++
.../SPenPointerOverlay/AndroidManifest.xml | 23 ++++++++++++++
.../sem_pointer_spot_hovering_spen.png | Bin 0 -> 411 bytes
.../res/drawable/pointer_arrow_icon.xml | 5 ++++
5 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 packages/overlays/SPenPointerOverlay/Android.bp
create mode 100644 packages/overlays/SPenPointerOverlay/AndroidManifest.xml
create mode 100644 packages/overlays/SPenPointerOverlay/res/drawable-xxhdpi/sem_pointer_spot_hovering_spen.png
create mode 100644 packages/overlays/SPenPointerOverlay/res/drawable/pointer_arrow_icon.xml
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index 928892c60e47..3a114bc8ec79 100644
--- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk
@@ -31,7 +31,8 @@ LOCAL_REQUIRED_MODULES := \
NavigationBarModeGesturalOverlayNarrowBack \
NavigationBarModeGesturalOverlayWideBack \
NavigationBarModeGesturalOverlayExtraWideBack \
- OneHandedModeGesturalOverlay \
+ OneHandedModeGesturalOverlay \
+ SPenPointerOverlay \
preinstalled-packages-platform-overlays.xml
include $(BUILD_PHONY_PACKAGE)
diff --git a/packages/overlays/SPenPointerOverlay/Android.bp b/packages/overlays/SPenPointerOverlay/Android.bp
new file mode 100644
index 000000000000..7632ebd43ef6
--- /dev/null
+++ b/packages/overlays/SPenPointerOverlay/Android.bp
@@ -0,0 +1,28 @@
+//
+// Copyright 2021, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+runtime_resource_overlay {
+ name: "SPenPointerOverlay",
+ product_specific: true,
+}
diff --git a/packages/overlays/SPenPointerOverlay/AndroidManifest.xml b/packages/overlays/SPenPointerOverlay/AndroidManifest.xml
new file mode 100644
index 000000000000..b785214f854b
--- /dev/null
+++ b/packages/overlays/SPenPointerOverlay/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<!--
+ ~ Copyright (C) 2021 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.samsung.android.spenpointer.overlay"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android" android:priority="5932" android:isStatic="true"
+ android:requiredSystemPropertyName="persist.ui.spen.pointer" android:requiredSystemPropertyValue="true"/>
+</manifest>
diff --git a/packages/overlays/SPenPointerOverlay/res/drawable-xxhdpi/sem_pointer_spot_hovering_spen.png b/packages/overlays/SPenPointerOverlay/res/drawable-xxhdpi/sem_pointer_spot_hovering_spen.png
new file mode 100644
index 0000000000000000000000000000000000000000..b73246c80a95e0bceeb8c09aacd2653722fca2d2
GIT binary patch
literal 411
zcmeAS@N?(olHy`uVBq!ia0vp^av;pX3?zBp#Z3TG?EyX^u0VPYDww}y>9XB>H{O1*
z{q+Z+%%XMcH{QCp_4%7Ek6&zi^&Z52_8N#bKYY6T$G`bYmOylGdHNEl2EyKW`#w-H
zMEkav?|=xXa@&iyKv|#(o9;XSGJv*hefA2d9ViRrHpmHroTOV4<QL2kefT?*&XynF
zf9jt6d~bTxr(K#H%-fm6)$T^@`96*P!_O$D=#P=#_iokL5u<mvYQ}e<#%Z1|jv*T7
z-(HO6Z&DCpO9*-59T;HT8)CHh%)kHdv-@V7U0D0tD*XMooHrlj82&Lg8FU>wkZ<5N
zBf!g`Yhiojq)$5MjpwPIIqY#_(VA78COitTt~#=3<I2pBClgEGRn7j@r_s({E14^`
zzN)C=(stXhXOBPbPTyLVZ~8%?D9+x@`{Nq(tjK9wr(Jhj*%s6+*nEHflkLxVMFlvw
UdB5Fp8R$X=Pgg&ebxsLQ0B%Ow$N&HU
literal 0
HcmV?d00001
diff --git a/packages/overlays/SPenPointerOverlay/res/drawable/pointer_arrow_icon.xml b/packages/overlays/SPenPointerOverlay/res/drawable/pointer_arrow_icon.xml
new file mode 100644
index 000000000000..6db08716fc62
--- /dev/null
+++ b/packages/overlays/SPenPointerOverlay/res/drawable/pointer_arrow_icon.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<pointer-icon xmlns:android="http://schemas.android.com/apk/res/android"
+ android:bitmap="@drawable/sem_pointer_spot_hovering_spen"
+ android:hotSpotX="5dp"
+ android:hotSpotY="5dp" />
--
2.25.1

View File

@ -1,7 +1,7 @@
From 5c49797b6d93903bdfc4a6938eb18657f3525570 Mon Sep 17 00:00:00 2001 From 6379c3431defb061fbc793982c1ba88b9d475e99 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 5 Apr 2018 10:01:19 +0800 Date: Thu, 5 Apr 2018 10:01:19 +0800
Subject: [PATCH 01/22] Disable vendor mismatch warning Subject: [PATCH 02/21] Disable vendor mismatch warning
Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
--- ---
@ -9,10 +9,10 @@ Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b
1 file changed, 2 insertions(+), 14 deletions(-) 1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 08f3b1a8c6e0..d0387cc38d3d 100644 index 5d0d182230e1..789968e19ab6 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -5499,20 +5499,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { @@ -5508,20 +5508,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
} }
if (!Build.isBuildConsistent()) { if (!Build.isBuildConsistent()) {

View File

@ -1,7 +1,7 @@
From f4af00e6769797999721cbfe4673a7f2f0c76278 Mon Sep 17 00:00:00 2001 From f7b8284284e3eb360a2403fc6782ccfff96bb99b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 16 Oct 2021 02:23:48 +0000 Date: Sat, 16 Oct 2021 02:23:48 +0000
Subject: [PATCH 02/22] UI: Adjust default navbar layouts Subject: [PATCH 03/21] UI: Adjust default navbar layouts
- Slightly tighten nodpi layout - Slightly tighten nodpi layout
- Remove sw372dp layout - looks terrible, probably meant for legacy phablets, but most modern phones qualify - Remove sw372dp layout - looks terrible, probably meant for legacy phablets, but most modern phones qualify
@ -45,7 +45,7 @@ index 07b797a32428..000000000000
- <string name="config_navBarLayout" translatable="false">left[.25W],back[.5WC];home;recent[.5WC],right[.25W]</string> - <string name="config_navBarLayout" translatable="false">left[.25W],back[.5WC];home;recent[.5WC],right[.25W]</string>
-</resources> -</resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index d274c917c26d..14276754e450 100644 index d0098b32f384..62e4e27dca2a 100644
--- a/packages/SystemUI/res/values/config.xml --- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml
@@ -350,7 +350,7 @@ @@ -350,7 +350,7 @@

View File

@ -1,7 +1,7 @@
From 07a09e5d704b6971a5c061ac65bb7d765e368dec Mon Sep 17 00:00:00 2001 From b6ee471eb9405c82d26fc2cddc4c1446fa872467 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Fri, 9 Mar 2018 15:41:26 +0800 Date: Fri, 9 Mar 2018 15:41:26 +0800
Subject: [PATCH 03/22] UI: Disable left (seascape) navigation bar optionally Subject: [PATCH 04/21] UI: Disable left (seascape) navigation bar optionally
Toggle this behaviour with property "persist.ui.seascape.disable" Toggle this behaviour with property "persist.ui.seascape.disable"
@ -45,10 +45,10 @@ index f1e1366404a2..f43bef8532b8 100644
for (int i = 0; i < group.getChildCount(); i++) { for (int i = 0; i < group.getChildCount(); i++) {
final View child = group.getChildAt(i); final View child = group.getChildAt(i);
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index d0457b08aa34..d165552d5ce8 100644 index 21bca6ed6a53..b699c4e4f38d 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java --- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -2352,9 +2352,10 @@ public class DisplayPolicy { @@ -2388,9 +2388,10 @@ public class DisplayPolicy {
@NavigationBarPosition @NavigationBarPosition
int navigationBarPosition(int displayWidth, int displayHeight, int displayRotation) { int navigationBarPosition(int displayWidth, int displayHeight, int displayRotation) {
if (navigationBarCanMove() && displayWidth > displayHeight) { if (navigationBarCanMove() && displayWidth > displayHeight) {

View File

@ -1,7 +1,7 @@
From 58f4875f7b157bf408bd770a4131d5ee0c98f7da Mon Sep 17 00:00:00 2001 From a8f18ce03f513f63f98c14b89918011e8e30ca93 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 10 Jan 2021 11:44:29 +0000 Date: Sun, 10 Jan 2021 11:44:29 +0000
Subject: [PATCH 04/22] UI: Disable wallpaper zoom Subject: [PATCH 05/21] UI: Disable wallpaper zoom
It does little more than inducing motion sickness It does little more than inducing motion sickness
@ -11,10 +11,10 @@ Change-Id: I78cc5484930b27f172cd8d8a5bd9042dce3478d0
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index b7dfd49b7b78..08940c03b095 100644 index 3ce1886fef6d..d8f280ddbf93 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -4768,7 +4768,7 @@ @@ -4770,7 +4770,7 @@
<string name="config_customMediaSessionPolicyProvider"></string> <string name="config_customMediaSessionPolicyProvider"></string>
<!-- The max scale for the wallpaper when it's zoomed in --> <!-- The max scale for the wallpaper when it's zoomed in -->

View File

@ -1,7 +1,7 @@
From 88c071a7385821219dbb90bc8475bece813e84c9 Mon Sep 17 00:00:00 2001 From b2a7f77623b07fbea767605ba8ad5bbe6ed94c70 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 3 Jun 2020 01:31:34 +0000 Date: Wed, 3 Jun 2020 01:31:34 +0000
Subject: [PATCH 05/22] UI: Increase default status bar height Subject: [PATCH 06/21] UI: Increase default status bar height
Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07 Change-Id: Ibbcf63159e19bb2bb2b1094ea07ab85917630b07
--- ---

View File

@ -1,83 +0,0 @@
From af017461178d08dcd0999b76d800e1e4f773c09b 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 06/22] UI: Revive navbar layout tuning via sysui_nav_bar
tunable
Google keeps fixing what ain't broken.
Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352
---
.../NavigationBarInflaterView.java | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
index 4d9175b8db68..293ebb374241 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
@@ -43,12 +43,13 @@ import com.android.systemui.navigationbar.buttons.ReverseLinearLayout;
import com.android.systemui.navigationbar.buttons.ReverseLinearLayout.ReverseRelativeLayout;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.shared.system.QuickStepContract;
+import com.android.systemui.tuner.TunerService;
import java.io.PrintWriter;
import java.util.Objects;
public class NavigationBarInflaterView extends FrameLayout
- implements NavigationModeController.ModeChangedListener {
+ implements NavigationModeController.ModeChangedListener, TunerService.Tunable {
private static final String TAG = "NavBarInflater";
@@ -102,6 +103,8 @@ public class NavigationBarInflaterView extends FrameLayout
private OverviewProxyService mOverviewProxyService;
private int mNavBarMode = NAV_BAR_MODE_3BUTTON;
+ private boolean mUsingCustomLayout;
+
public NavigationBarInflaterView(Context context, AttributeSet attrs) {
super(context, attrs);
createInflaters();
@@ -151,13 +154,38 @@ public class NavigationBarInflaterView extends FrameLayout
mNavBarMode = mode;
}
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ Dependency.get(TunerService.class).addTunable(this, NAV_BAR_VIEWS);
+ }
+
@Override
protected void onDetachedFromWindow() {
Dependency.get(NavigationModeController.class).removeListener(this);
+ Dependency.get(TunerService.class).removeTunable(this);
super.onDetachedFromWindow();
}
+ @Override
+ public void onTuningChanged(String key, String newValue) {
+ if (NAV_BAR_VIEWS.equals(key)) {
+ setNavigationBarLayout(newValue);
+ }
+ }
+
+ public void setNavigationBarLayout(String layoutValue) {
+ if (!Objects.equals(mCurrentLayout, layoutValue)) {
+ mUsingCustomLayout = layoutValue != null;
+ clearViews();
+ inflateLayout(layoutValue);
+ }
+ }
+
public void onLikelyDefaultLayoutChange() {
+ // Don't override custom layouts
+ if (mUsingCustomLayout) return;
+
// Reevaluate new layout
final String newValue = getDefaultLayout();
if (!Objects.equals(mCurrentLayout, newValue)) {
--
2.25.1

View File

@ -0,0 +1,64 @@
From a77071568a33266c3f93db359d865eddd2b38313 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 07/21] UI: Revive navbar layout tuning via sysui_nav_bar
tunable
Google keeps fixing what ain't broken.
Change-Id: Ied7d7859e50fd0fcc346219964e747c5d5f4c352
---
.../navigationbar/NavigationBarInflaterView.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
index c8bc143f0bd8..fab079b91608 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
@@ -118,6 +118,7 @@ public class NavigationBarInflaterView extends FrameLayout
private boolean mInverseLayout;
private boolean mIsHintEnabled;
+ private boolean mUsingCustomLayout;
public NavigationBarInflaterView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -177,6 +178,7 @@ public class NavigationBarInflaterView extends FrameLayout
super.onAttachedToWindow();
Dependency.get(TunerService.class).addTunable(this, NAV_BAR_INVERSE);
Dependency.get(TunerService.class).addTunable(this, KEY_NAVIGATION_HINT);
+ Dependency.get(TunerService.class).addTunable(this, NAV_BAR_VIEWS);
}
@Override
@@ -195,6 +197,8 @@ public class NavigationBarInflaterView extends FrameLayout
mIsHintEnabled = TunerService.parseIntegerSwitch(newValue, true);
updateHint();
onLikelyDefaultLayoutChange();
+ } else if (NAV_BAR_VIEWS.equals(key)) {
+ setNavigationBarLayout(newValue);
}
}
@@ -204,7 +208,18 @@ public class NavigationBarInflaterView extends FrameLayout
updateLayoutInversion();
}
+ public void setNavigationBarLayout(String layoutValue) {
+ if (!Objects.equals(mCurrentLayout, layoutValue)) {
+ mUsingCustomLayout = layoutValue != null;
+ clearViews();
+ inflateLayout(layoutValue);
+ }
+ }
+
public void onLikelyDefaultLayoutChange() {
+ // Don't override custom layouts
+ if (mUsingCustomLayout) return;
+
// Reevaluate new layout
final String newValue = getDefaultLayout();
if (!Objects.equals(mCurrentLayout, newValue)) {
--
2.25.1

View File

@ -1,7 +1,7 @@
From 3da8e7d5f61c024dd70a311f9b67622f419c07a0 Mon Sep 17 00:00:00 2001 From 064121d33cea08c574f5bd80b10bd3b3721241cc Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 26 Apr 2020 08:56:13 +0000 Date: Sun, 26 Apr 2020 08:56:13 +0000
Subject: [PATCH 07/22] UI: Use SNAP_FIXED_RATIO for multi-window globally Subject: [PATCH 08/21] UI: Use SNAP_FIXED_RATIO for multi-window globally
Enables multiple snap targets under landscape for phone UI Enables multiple snap targets under landscape for phone UI
@ -78,10 +78,10 @@ index 34b6a54be493..3921c9edfeac 100644
Only applies if the device display is not square. --> Only applies if the device display is not square. -->
<bool name="config_navBarCanMove">false</bool> <bool name="config_navBarCanMove">false</bool>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 08940c03b095..1319c26bb1be 100644 index d8f280ddbf93..3a62b51d3cbc 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -3529,7 +3529,7 @@ @@ -3531,7 +3531,7 @@
1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio) 1 - 3 snap targets: fixed ratio, 1:1, (1 - fixed ratio)
2 - 1 snap target: 1:1 2 - 1 snap target: 1:1
--> -->

View File

@ -1,7 +1,7 @@
From 186e9e99567c3961a63535ae2b04aa172cfc1734 Mon Sep 17 00:00:00 2001 From 2e11990cb2b10f0fe3c87273d76b3875da3b2e8f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 14 Oct 2021 15:45:24 +0000 Date: Thu, 14 Oct 2021 15:45:24 +0000
Subject: [PATCH 08/22] UI: Unblock alarm status bar icon Subject: [PATCH 09/21] UI: Unblock alarm status bar icon
That's very Zen of you, Google... That's very Zen of you, Google...
@ -12,10 +12,10 @@ Change-Id: I2c9f91f47bb1e324a20c13d588dcdbbca91dc12e
2 files changed, 2 deletions(-) 2 files changed, 2 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
index 6a171ceff1ed..2c1321f1c013 100644 index 2e40af4fab2a..f8c79ceabf2e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
@@ -158,7 +158,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue @@ -162,7 +162,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
} }
mDarkIconManager = new DarkIconManager(view.findViewById(R.id.statusIcons), mFeatureFlags); mDarkIconManager = new DarkIconManager(view.findViewById(R.id.statusIcons), mFeatureFlags);
mDarkIconManager.setShouldLog(true); mDarkIconManager.setShouldLog(true);
@ -24,10 +24,10 @@ index 6a171ceff1ed..2c1321f1c013 100644
mDarkIconManager.setBlockList(mBlockedIcons); mDarkIconManager.setBlockList(mBlockedIcons);
mStatusBarIconController.addIconGroup(mDarkIconManager); mStatusBarIconController.addIconGroup(mDarkIconManager);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index f9c6ebbd26e3..7b4dc47a7b48 100644 index a32e7c4765ef..efc02548763a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -206,7 +206,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements @@ -203,7 +203,6 @@ public class KeyguardStatusBarView extends RelativeLayout implements
// Set hidden status bar items // Set hidden status bar items
private void loadBlockList() { private void loadBlockList() {
Resources r = getResources(); Resources r = getResources();

View File

@ -1,60 +0,0 @@
From 1ec1cdc8f12227b0612d258ee110432ed954dde1 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 3 Nov 2020 22:38:49 -0800
Subject: [PATCH 09/22] core: Remove default aspect ratio limit for old apps
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I have never encountered a single app that this aspect ratio limit is
actually helpful for. Most legacy apps are able to cope with longer
aspect ratios fine — perhaps not optimally, but it looks better than
having a big black box at the bottom of the screen.
Instead of limiting older apps' screen space unconditionally or exposing
it in Settings, remove the limit entirely so the user doesn't have to go
through the trouble to begin with. Note that apps explicitly declaring a
shorter aspect ratio will still get their constraint satisfied.
Change-Id: Ic415288b24129a634476b5cc01a6f202588f4b89
---
core/java/android/content/pm/PackageParser.java | 6 ++----
.../android/content/pm/parsing/ParsingPackageUtils.java | 5 ++---
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 9379a634afa8..6bf772b008a7 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -4672,10 +4672,8 @@ public class PackageParser {
* ratio set.
*/
private void setMaxAspectRatio(Package owner) {
- // Default to (1.86) 16.7:9 aspect ratio for pre-O apps and unset for O and greater.
- // NOTE: 16.7:9 was the max aspect ratio Android devices can support pre-O per the CDD.
- float maxAspectRatio = owner.applicationInfo.targetSdkVersion < O
- ? DEFAULT_PRE_O_MAX_ASPECT_RATIO : 0;
+ // Start at an unlimited aspect ratio unless we get a more restrictive one
+ float maxAspectRatio = 0;
if (owner.applicationInfo.maxAspectRatio != 0) {
// Use the application max aspect ration as default if set.
diff --git a/core/java/android/content/pm/parsing/ParsingPackageUtils.java b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
index dce242c9d87c..5ea07db54eb7 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageUtils.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
@@ -2584,9 +2584,8 @@ public class ParsingPackageUtils {
* ratio set.
*/
private static void setMaxAspectRatio(ParsingPackage pkg) {
- // Default to (1.86) 16.7:9 aspect ratio for pre-O apps and unset for O and greater.
- // NOTE: 16.7:9 was the max aspect ratio Android devices can support pre-O per the CDD.
- float maxAspectRatio = pkg.getTargetSdkVersion() < O ? DEFAULT_PRE_O_MAX_ASPECT_RATIO : 0;
+ // Start at an unlimited aspect ratio unless we get a more restrictive one
+ float maxAspectRatio = 0;
float packageMaxAspectRatio = pkg.getMaxAspectRatio();
if (packageMaxAspectRatio != 0) {
--
2.25.1

View File

@ -0,0 +1,31 @@
From 4247002faaf6768550040aec3132ca2015c6543c Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 3 Nov 2020 22:43:12 -0800
Subject: [PATCH 10/21] 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
newer version if one existed. Sometimes, using an old app is necessary
for one reason or another, so remove this annoyance and let the user use
their old app in peace.
Change-Id: I1a3021f0f9bec1ab6ff7641776391e1bd4c3cc49
---
services/core/java/com/android/server/wm/AppWarnings.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/services/core/java/com/android/server/wm/AppWarnings.java b/services/core/java/com/android/server/wm/AppWarnings.java
index 994f07959f3b..6749ae78c09c 100644
--- a/services/core/java/com/android/server/wm/AppWarnings.java
+++ b/services/core/java/com/android/server/wm/AppWarnings.java
@@ -168,7 +168,6 @@ class AppWarnings {
public void onStartActivity(ActivityRecord r) {
showUnsupportedCompileSdkDialogIfNeeded(r);
showUnsupportedDisplaySizeDialogIfNeeded(r);
- showDeprecatedTargetDialogIfNeeded(r);
}
/**
--
2.25.1

View File

@ -1,7 +1,7 @@
From c1d673a010c19018d37ec21c2bbed09480c4dce9 Mon Sep 17 00:00:00 2001 From 5403541355fe9d511591a10850d4e141f038a30b Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 5 Oct 2021 21:01:15 -0700 Date: Tue, 5 Oct 2021 21:01:15 -0700
Subject: [PATCH 10/22] SystemUI: Always refresh power menu on UI mode change Subject: [PATCH 11/21] SystemUI: Always refresh power menu on UI mode change
This is necessary for reliably theming the global actions dialog with This is necessary for reliably theming the global actions dialog with
dynamic colors and adapting it to light/dark themes. dynamic colors and adapting it to light/dark themes.
@ -15,10 +15,10 @@ Change-Id: Id6f6623096ed231e841ca3794b47f8a0ab54dae6
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
index 9ada54b9ef6f..1ae3b31fd836 100644 index 65c520ef2ff4..43a1084540f6 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java --- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java +++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java
@@ -703,7 +703,7 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene @@ -762,7 +762,7 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene
@Override @Override
public void onUiModeChanged() { public void onUiModeChanged() {
mContext.getTheme().applyStyle(mContext.getThemeResId(), true); mContext.getTheme().applyStyle(mContext.getThemeResId(), true);

View File

@ -1,7 +1,7 @@
From 314462d52502de4c850b3e657bdca280679188e1 Mon Sep 17 00:00:00 2001 From 19c047cf3be7c3bcd1254c0b62fa3e9d5d0ae733 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Sat, 9 Oct 2021 14:39:38 -0700 Date: Sat, 9 Oct 2021 14:39:38 -0700
Subject: [PATCH 11/22] SystemUI: Use Monet colors for power menu Subject: [PATCH 12/21] SystemUI: Use Monet colors for power menu
It's odd that the power menu doesn't use Monet colors, unlike most of It's odd that the power menu doesn't use Monet colors, unlike most of
System UI. This makes it feel more integrated with the rest of the System UI. This makes it feel more integrated with the rest of the

View File

@ -1,7 +1,7 @@
From d6a215d67f767fe6a793dd66f5bf8dcd02f48d57 Mon Sep 17 00:00:00 2001 From a3d2feb6e711e9a96cec4fa19276be18bdda118c Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Wed, 6 Oct 2021 18:40:30 -0700 Date: Wed, 6 Oct 2021 18:40:30 -0700
Subject: [PATCH 12/22] Revert "Make QS always use dark theme colors" Subject: [PATCH 13/21] Revert "Make QS always use dark theme colors"
This reverts commit d62f7249f9e3222da95ecf6816601c408aac6be5. This reverts commit d62f7249f9e3222da95ecf6816601c408aac6be5.

View File

@ -1,7 +1,7 @@
From 1ed0fb3e67d9d1f41435e7e60b801837a83c2c64 Mon Sep 17 00:00:00 2001 From aadd3892d31154fd43307f3ac1293b9a1ed011b6 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Wed, 6 Oct 2021 18:41:11 -0700 Date: Wed, 6 Oct 2021 18:41:11 -0700
Subject: [PATCH 13/22] Revert "Do not re-inflate QS and SB when Subject: [PATCH 14/21] Revert "Do not re-inflate QS and SB when
CONFIG_UI_MODE" CONFIG_UI_MODE"
This reverts commit 8a40ff855b86bc86e23367017002289920855a4e. This reverts commit 8a40ff855b86bc86e23367017002289920855a4e.

View File

@ -1,7 +1,7 @@
From c0aadaca1ab833a13ecacc48cf5c458427f8f6b4 Mon Sep 17 00:00:00 2001 From a9bd8968c9baae389fd4e5cc54d2c4403d603690 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:24:58 -0700 Date: Mon, 11 Oct 2021 19:24:58 -0700
Subject: [PATCH 14/22] SystemUI: Follow light/dark theme in quick settings Subject: [PATCH 15/21] SystemUI: Follow light/dark theme in quick settings
Android 12's dual-tone style where the quick settings panel is always Android 12's dual-tone style where the quick settings panel is always
dark makes the light theme look like a second-class citizen. Pure black dark makes the light theme look like a second-class citizen. Pure black
@ -25,15 +25,15 @@ https://twitter.com/kdrag0n/status/1445922541218922496
Change-Id: I3d45b72f0f119e100505409d178ab8f698993881 Change-Id: I3d45b72f0f119e100505409d178ab8f698993881
--- ---
.../brightness_progress_full_drawable.xml | 2 +- .../brightness_progress_full_drawable.xml | 2 +-
.../qs_footer_action_chip_background.xml | 8 +------- .../qs_footer_action_chip_background.xml | 8 +----
.../qs_security_footer_background.xml | 3 +-- .../qs_security_footer_background.xml | 3 +-
packages/SystemUI/res/values-night/styles.xml | 12 +++++++++++ packages/SystemUI/res/values-night/styles.xml | 12 ++++++++
packages/SystemUI/res/values/styles.xml | 10 +++++----- packages/SystemUI/res/values/styles.xml | 10 +++----
.../systemui/privacy/OngoingPrivacyChip.kt | 4 ++-- .../systemui/privacy/OngoingPrivacyChip.kt | 4 +--
.../systemui/qs/tileimpl/QSTileViewImpl.kt | 2 +- .../systemui/qs/tileimpl/QSTileViewImpl.kt | 2 +-
.../statusbar/phone/ScrimController.java | 2 +- .../statusbar/phone/ScrimController.java | 2 +-
.../systemui/statusbar/phone/ScrimState.java | 20 +++++++++---------- .../systemui/statusbar/phone/ScrimState.java | 30 +++++++++----------
9 files changed, 34 insertions(+), 29 deletions(-) 9 files changed, 39 insertions(+), 34 deletions(-)
diff --git a/packages/SystemUI/res/drawable/brightness_progress_full_drawable.xml b/packages/SystemUI/res/drawable/brightness_progress_full_drawable.xml diff --git a/packages/SystemUI/res/drawable/brightness_progress_full_drawable.xml b/packages/SystemUI/res/drawable/brightness_progress_full_drawable.xml
index 4d9188c40822..1eae667c6e79 100644 index 4d9188c40822..1eae667c6e79 100644
@ -176,7 +176,7 @@ index 27c129ad34c5..6bdf82a60e40 100644
mBehindAlpha = behindAlpha; mBehindAlpha = behindAlpha;
if (mState == ScrimState.SHADE_LOCKED) { if (mState == ScrimState.SHADE_LOCKED) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
index 15b8c67fd4ba..577e33c3c8d6 100644 index 15b8c67fd4ba..e81642f7d491 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
@@ -88,7 +88,7 @@ public enum ScrimState { @@ -88,7 +88,7 @@ public enum ScrimState {
@ -250,6 +250,39 @@ index 15b8c67fd4ba..577e33c3c8d6 100644
} }
} }
}, },
@@ -290,27 +290,27 @@ public enum ScrimState {
mAnimateChange = !mLaunchingAffordanceWithPreview;
mFrontTint = Color.TRANSPARENT;
- mBehindTint = Color.BLACK;
- mBubbleTint = Color.BLACK;
+ mBehindTint = Color.TRANSPARENT;
+ mBubbleTint = Color.TRANSPARENT;
mBlankScreen = false;
if (previousState == ScrimState.AOD) {
// Set all scrims black, before they fade transparent.
updateScrimColor(mScrimInFront, 1f /* alpha */, Color.BLACK /* tint */);
- updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK /* tint */);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT /* tint */);
if (mScrimForBubble != null) {
updateScrimColor(mScrimForBubble, 1f /* alpha */, Color.BLACK /* tint */);
}
// Scrims should still be black at the end of the transition.
mFrontTint = Color.BLACK;
- mBehindTint = Color.BLACK;
+ mBehindTint = Color.TRANSPARENT;
mBubbleTint = Color.BLACK;
mBlankScreen = true;
}
if (mClipQsScrim) {
- updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
+ updateScrimColor(mScrimBehind, 1f /* alpha */, Color.TRANSPARENT);
}
mAnimationDuration = ScrimController.ANIMATION_DURATION;
@@ -468,4 +468,4 @@ public enum ScrimState { @@ -468,4 +468,4 @@ public enum ScrimState {
public void setClipQsScrim(boolean clipsQsScrim) { public void setClipQsScrim(boolean clipsQsScrim) {
mClipQsScrim = clipsQsScrim; mClipQsScrim = clipsQsScrim;

View File

@ -1,7 +1,7 @@
From a49d127bf72839cdbeb1bea6e1b7e21612ae91a9 Mon Sep 17 00:00:00 2001 From 18493a29e0c14b70e112e2e4f9ced0eca413bad7 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:25:02 -0700 Date: Mon, 11 Oct 2021 19:25:02 -0700
Subject: [PATCH 15/22] SystemUI: Initialize QS tiles in inactive state Subject: [PATCH 16/21] SystemUI: Initialize QS tiles in inactive state
Now that the QS fragment is recreated when changing the UI mode (so that Now that the QS fragment is recreated when changing the UI mode (so that
it follows light/dark themes), all tiles flash with active color briefly it follows light/dark themes), all tiles flash with active color briefly

View File

@ -1,7 +1,7 @@
From 798b251cd278e00d214e99f4d35bdd81140e973b Mon Sep 17 00:00:00 2001 From 2d092c73ebc947960e09ba5a1a1a884224206c4b Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:25:08 -0700 Date: Mon, 11 Oct 2021 19:25:08 -0700
Subject: [PATCH 16/22] SystemUI: Add dual-tone light and dark themes for QS Subject: [PATCH 17/21] SystemUI: Add dual-tone light and dark themes for QS
Google's dual-tone QS design where the notification panel has a Google's dual-tone QS design where the notification panel has a
semantically higher elevation adds depth to the notification+QS shade, semantically higher elevation adds depth to the notification+QS shade,

View File

@ -1,7 +1,7 @@
From 02806d68e92827a0799395338d3b29c055e176ef Mon Sep 17 00:00:00 2001 From e9e767ef589530c378b9233ae3d3c5aa37f500ec Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 11 Oct 2021 19:25:11 -0700 Date: Mon, 11 Oct 2021 19:25:11 -0700
Subject: [PATCH 17/22] SystemUI: Remove nav bar background in QS customizer Subject: [PATCH 18/21] SystemUI: Remove nav bar background in QS customizer
This looks outdated, since most apps are edge-to-edge nowadays. This looks outdated, since most apps are edge-to-edge nowadays.

View File

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

View File

@ -1,31 +0,0 @@
From 7850ab773ef48f6fddb166e1af10fce56ba06648 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Sat, 16 Oct 2021 03:27:23 -0700
Subject: [PATCH 20/22] SystemUI: Expose legacy Wi-Fi and cellular data QS
tiles
We'll still use Android 12's unified internet settings and the Internet
tile by default, but expose the legacy Wi-Fi and cellular data tiles so
that users can add them with the QS customizer.
Change-Id: I65902b38c99f61782bd9aa0ea604848fbd068bda
---
packages/SystemUI/res/values/config.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 14276754e450..c99ab8bf5e9a 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -107,7 +107,7 @@
<!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" -->
<string name="quick_settings_tiles_stock" translatable="false">
- internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness
+ internet,wifi,cell,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness
</string>
<!-- The tiles to display in QuickSettings -->
--
2.25.1

View File

@ -1,7 +1,7 @@
From 00373ab57fc28c8f1e5320748879d99b30d49112 Mon Sep 17 00:00:00 2001 From 4cafce4750d1834d48d806623d84f9625c0ba3a9 Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Tue, 5 Oct 2021 21:02:12 -0700 Date: Tue, 5 Oct 2021 21:02:12 -0700
Subject: [PATCH 19/22] SystemUI: Fix QS status font weight mismatch in dark Subject: [PATCH 20/21] SystemUI: Fix QS status font weight mismatch in dark
mode mode
Text in the QS status bar is medium in light mode and regular in dark Text in the QS status bar is medium in light mode and regular in dark

View File

@ -1,13 +1,15 @@
From 00463f495ad23afddbf5bc0b4c227e63d09bc8e4 Mon Sep 17 00:00:00 2001 From d219b7a9aefd4a744e66ea331dc5ac127c9b3ab3 Mon Sep 17 00:00:00 2001
From: SagarMakhar <sagarmakhar@gmail.com> From: SagarMakhar <sagarmakhar@gmail.com>
Date: Sat, 6 Nov 2021 13:16:24 +0000 Date: Sat, 6 Nov 2021 13:16:24 +0000
Subject: [PATCH 22/22] Fix QS clock being white on light theme Subject: [PATCH 21/21] Fix QS clock being white on light theme
Steps to reproduce without this commit: Steps to reproduce without this commit:
- Turn off dark theme - Turn off dark theme
- Play a song and wait for media player to show in QS - Play a song and wait for media player to show in QS
- Confirm clock text color is white - Confirm clock text color is white
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Change-Id: I62aeba57e1ce458c73752faa1c9d80d26a63f625
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com> Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
--- ---
.../systemui/qs/QuickStatusBarHeaderController.java | 13 ------------- .../systemui/qs/QuickStatusBarHeaderController.java | 13 -------------

View File

@ -1,245 +0,0 @@
From 6ec18b7fe383ba54de08df6d6d76b74361491ddd Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev>
Date: Mon, 25 Oct 2021 19:32:33 -0700
Subject: [PATCH 21/22] SystemUI: Allow Wi-Fi/cell tiles to co-exist with
provider model
The dedicated Wi-Fi/cellular data QS tiles are partially working now
that we've exposed them in the list of tile options, but they're very
buggy and somewhat broken when the provider model (unified internet) is
enabled.
Allow the tiles to co-exist with InternetTile and the provider model
(including both settings_provider_model and combined signal icons) by
always including QS icons in Wi-Fi/data indicator callbacks, and add
a new flag to indicate whether they should be shown in the internet
tile.
Change-Id: I10af134b35dfabdb9275f1aca8ca8512e1db6d27
---
.../systemui/qs/tiles/InternetTile.java | 4 +-
.../policy/MobileSignalController.java | 32 ++++--------
.../statusbar/policy/NetworkController.java | 10 +++-
.../policy/WifiSignalController.java | 49 +++++++------------
4 files changed, 37 insertions(+), 58 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java
index cc9e7485dcff..4bf8053017f1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java
@@ -255,7 +255,7 @@ public class InternetTile extends QSTileImpl<SignalState> {
Log.d(TAG, "setWifiIndicators: " + indicators);
}
mWifiInfo.mEnabled = indicators.enabled;
- if (indicators.qsIcon == null) {
+ if (indicators.qsIcon == null || !indicators.isDefault) {
return;
}
mWifiInfo.mConnected = indicators.qsIcon.visible;
@@ -275,7 +275,7 @@ public class InternetTile extends QSTileImpl<SignalState> {
if (DEBUG) {
Log.d(TAG, "setMobileDataIndicators: " + indicators);
}
- if (indicators.qsIcon == null) {
+ if (indicators.qsIcon == null || !indicators.isDefault) {
// Not data sim, don't display.
return;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 43781f3941ba..cf89cabf6ab9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -397,7 +397,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
IconState qsIcon = null;
CharSequence description = null;
// Only send data sim callbacks to QS.
- if (mCurrentState.dataSim && mCurrentState.isDefault) {
+ if (mCurrentState.dataSim) {
qsTypeIcon =
(showDataIcon || mConfig.alwaysShowDataRatIcon) ? icons.qsDataType : 0;
qsIcon = new IconState(mCurrentState.enabled
@@ -420,7 +420,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
statusIcon, qsIcon, typeIcon, qsTypeIcon,
activityIn, activityOut, dataContentDescription, dataContentDescriptionHtml,
description, icons.isWide, mSubscriptionInfo.getSubscriptionId(),
- mCurrentState.roaming, showTriangle);
+ mCurrentState.roaming, showTriangle, mCurrentState.isDefault);
callback.setMobileDataIndicators(mobileDataIndicators);
} else {
boolean showDataIcon = mCurrentState.dataConnected || dataDisabled;
@@ -431,25 +431,13 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
int qsTypeIcon = 0;
IconState qsIcon = null;
CharSequence description = null;
- // Only send data sim callbacks to QS.
- if (mProviderModelSetting) {
- if (mCurrentState.dataSim && mCurrentState.isDefault) {
- qsTypeIcon =
- (showDataIcon || mConfig.alwaysShowDataRatIcon) ? icons.qsDataType : 0;
- qsIcon = new IconState(
- mCurrentState.enabled && !mCurrentState.isEmergency,
- getQsCurrentIconId(), contentDescription);
- description = mCurrentState.isEmergency ? null : mCurrentState.networkName;
- }
- } else {
- if (mCurrentState.dataSim) {
- qsTypeIcon =
- (showDataIcon || mConfig.alwaysShowDataRatIcon) ? icons.qsDataType : 0;
- qsIcon = new IconState(
- mCurrentState.enabled && !mCurrentState.isEmergency,
- getQsCurrentIconId(), contentDescription);
- description = mCurrentState.isEmergency ? null : mCurrentState.networkName;
- }
+ if (mCurrentState.dataSim) {
+ qsTypeIcon =
+ (showDataIcon || mConfig.alwaysShowDataRatIcon) ? icons.qsDataType : 0;
+ qsIcon = new IconState(
+ mCurrentState.enabled && !mCurrentState.isEmergency,
+ getQsCurrentIconId(), contentDescription);
+ description = mCurrentState.isEmergency ? null : mCurrentState.networkName;
}
boolean activityIn = mCurrentState.dataConnected
@@ -465,7 +453,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
statusIcon, qsIcon, typeIcon, qsTypeIcon,
activityIn, activityOut, dataContentDescription, dataContentDescriptionHtml,
description, icons.isWide, mSubscriptionInfo.getSubscriptionId(),
- mCurrentState.roaming, showTriangle);
+ mCurrentState.roaming, showTriangle, mCurrentState.isDefault);
callback.setMobileDataIndicators(mobileDataIndicators);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
index eeea699a0b74..4a25d1bd7661 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -59,10 +59,11 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
public String description;
public boolean isTransient;
public String statusLabel;
+ public boolean isDefault;
public WifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
boolean activityIn, boolean activityOut, String description,
- boolean isTransient, String statusLabel) {
+ boolean isTransient, String statusLabel, boolean isDefault) {
this.enabled = enabled;
this.statusIcon = statusIcon;
this.qsIcon = qsIcon;
@@ -71,6 +72,7 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
this.description = description;
this.isTransient = isTransient;
this.statusLabel = statusLabel;
+ this.isDefault = isDefault;
}
@Override
@@ -84,6 +86,7 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
.append(",description=").append(description)
.append(",isTransient=").append(isTransient)
.append(",statusLabel=").append(statusLabel)
+ .append(",isDefault=").append(isDefault)
.append(']').toString();
}
}
@@ -105,12 +108,13 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
public int subId;
public boolean roaming;
public boolean showTriangle;
+ public boolean isDefault;
public MobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
int qsType, boolean activityIn, boolean activityOut,
CharSequence typeContentDescription, CharSequence typeContentDescriptionHtml,
CharSequence description, boolean isWide, int subId, boolean roaming,
- boolean showTriangle) {
+ boolean showTriangle, boolean isDefault) {
this.statusIcon = statusIcon;
this.qsIcon = qsIcon;
this.statusType = statusType;
@@ -124,6 +128,7 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
this.subId = subId;
this.roaming = roaming;
this.showTriangle = showTriangle;
+ this.isDefault = isDefault;
}
@Override
@@ -142,6 +147,7 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
.append(",subId=").append(subId)
.append(",roaming=").append(roaming)
.append(",showTriangle=").append(showTriangle)
+ .append(",isDefault=").append(isDefault)
.append(']').toString();
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
index f8e36476c4a6..1513544eb22b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
@@ -112,37 +112,21 @@ public class WifiSignalController extends
if (mCurrentState.inetCondition == 0) {
contentDescription += ("," + mContext.getString(R.string.data_connection_no_internet));
}
- if (mProviderModelSetting) {
- IconState statusIcon = new IconState(
- wifiVisible, getCurrentIconId(), contentDescription);
- IconState qsIcon = null;
- if (mCurrentState.isDefault || (!mNetworkController.isRadioOn()
- && !mNetworkController.isEthernetDefault())) {
- qsIcon = new IconState(mCurrentState.connected,
- mWifiTracker.isCaptivePortal ? R.drawable.ic_qs_wifi_disconnected
- : getQsCurrentIconId(), contentDescription);
- }
- WifiIndicators wifiIndicators = new WifiIndicators(
- mCurrentState.enabled, statusIcon, qsIcon,
- ssidPresent && mCurrentState.activityIn,
- ssidPresent && mCurrentState.activityOut,
- wifiDesc, mCurrentState.isTransient, mCurrentState.statusLabel
- );
- callback.setWifiIndicators(wifiIndicators);
- } else {
- IconState statusIcon = new IconState(
- wifiVisible, getCurrentIconId(), contentDescription);
- IconState qsIcon = new IconState(mCurrentState.connected,
- mWifiTracker.isCaptivePortal ? R.drawable.ic_qs_wifi_disconnected
- : getQsCurrentIconId(), contentDescription);
- WifiIndicators wifiIndicators = new WifiIndicators(
- mCurrentState.enabled, statusIcon, qsIcon,
- ssidPresent && mCurrentState.activityIn,
- ssidPresent && mCurrentState.activityOut,
- wifiDesc, mCurrentState.isTransient, mCurrentState.statusLabel
- );
- callback.setWifiIndicators(wifiIndicators);
- }
+ IconState statusIcon = new IconState(
+ wifiVisible, getCurrentIconId(), contentDescription);
+ IconState qsIcon = new IconState(mCurrentState.connected,
+ mWifiTracker.isCaptivePortal ? R.drawable.ic_qs_wifi_disconnected
+ : getQsCurrentIconId(), contentDescription);
+ boolean isDefault = mCurrentState.isDefault ||
+ (!mNetworkController.isRadioOn() && !mNetworkController.isEthernetDefault());
+ WifiIndicators wifiIndicators = new WifiIndicators(
+ mCurrentState.enabled, statusIcon, qsIcon,
+ ssidPresent && mCurrentState.activityIn,
+ ssidPresent && mCurrentState.activityOut,
+ wifiDesc, mCurrentState.isTransient, mCurrentState.statusLabel,
+ isDefault
+ );
+ callback.setWifiIndicators(wifiIndicators);
}
private void notifyListenersForCarrierWifi(SignalCallback callback) {
@@ -173,7 +157,8 @@ public class WifiSignalController extends
statusIcon, qsIcon, typeIcon, qsTypeIcon,
mCurrentState.activityIn, mCurrentState.activityOut, dataContentDescription,
dataContentDescriptionHtml, description, icons.isWide,
- mCurrentState.subId, /* roaming= */ false, /* showTriangle= */ true
+ mCurrentState.subId, /* roaming= */ false, /* showTriangle= */ true,
+ /* isDefault= */ qsIcon != null
);
callback.setMobileDataIndicators(mobileDataIndicators);
}
--
2.25.1

View File

@ -0,0 +1,26 @@
From 95ef97f5aa82c15e47f9313eca4899d89dba5dd0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 4 Jul 2018 17:59:14 +0800
Subject: [PATCH] sdk: Invert per-app stretch-to-fullscreen implementation
Change-Id: Idf7dab4e1e0c79953fa672f33ec65fecffb37c83
---
sdk/src/java/org/lineageos/internal/applications/LongScreen.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
index 7fe0d68..26ea349 100644
--- a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
+++ b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java
@@ -57,7 +57,7 @@ public class LongScreen {
}
public boolean shouldForceLongScreen(String packageName) {
- return isSupported() && mApps.contains(packageName);
+ return isSupported() && !(mApps.contains(packageName));
}
public Set<String> getApps() {
--
2.7.4

View File

@ -0,0 +1,105 @@
From 9fd08fb7ecb602afd3a5f1f19ccc1b20d1cbbe9c Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Sun, 13 Jan 2019 21:44:48 +0800
Subject: [PATCH] LineageParts: Invert per-app stretch-to-fullscreen
Change-Id: Icb02c8dfd84882f736e37d6cd92c35e5eb288faa
---
res/layout/long_screen_layout.xml | 2 +-
res/values-zh-rCN/strings.xml | 6 +++---
res/values/strings.xml | 6 +++---
res/xml/long_screen_prefs.xml | 2 +-
res/xml/parts_catalog.xml | 4 ++--
.../lineageparts/applications/LongScreenSettings.java | 2 +-
6 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/res/layout/long_screen_layout.xml b/res/layout/long_screen_layout.xml
index 40d0938..1119cef 100644
--- a/res/layout/long_screen_layout.xml
+++ b/res/layout/long_screen_layout.xml
@@ -36,7 +36,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:text="@string/long_screen_settings_no_apps"
+ android:text="@string/inverse_long_screen_settings_no_apps"
android:textSize="18dp"
android:visibility="gone" />
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 37d129d..97600b8 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -446,9 +446,9 @@
<string name="auto_power_save_summary_on">电量 %s 时自动启用省电</string>
<string name="auto_power_save_summary_off">不要自动启用省电</string>
<string name="auto_power_save_never">永不</string>
- <string name="long_screen_settings_title">全屏应用</string>
- <string name="long_screen_settings_summary">强制旧式应用程序使用全屏长宽比</string>
- <string name="long_screen_settings_no_apps">无应用</string>
+ <string name="inverse_long_screen_settings_title">禁用拉伸全屏</string>
+ <string name="inverse_long_screen_settings_summary">对选定的应用禁用拉伸全屏</string>
+ <string name="inverse_long_screen_settings_no_apps">无应用</string>
<string name="charging_sounds_settings_title">充电提示音</string>
<string name="charging_sounds_enable_title">启用充电提示音</string>
<string name="charging_sounds_summary">连接或断开电源时发出声音</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8421fce..b9f140a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -575,9 +575,9 @@
<string name="auto_power_save_never">Never</string>
<!-- Applications: Long screen -->
- <string name="long_screen_settings_title">Full screen apps</string>
- <string name="long_screen_settings_summary">Force legacy apps to use full screen aspect ratio</string>
- <string name="long_screen_settings_no_apps">No apps</string>
+ <string name="inverse_long_screen_settings_title">Disable stretch-to-fullscreen</string>
+ <string name="inverse_long_screen_settings_summary">Prevent selected apps from utilizing stretch-to-fullscreen</string>
+ <string name="inverse_long_screen_settings_no_apps">No apps</string>
<!-- Sounds: Charging sounds -->
<string name="charging_sounds_settings_title">Charging sounds</string>
diff --git a/res/xml/long_screen_prefs.xml b/res/xml/long_screen_prefs.xml
index ec947fa..20da90a 100644
--- a/res/xml/long_screen_prefs.xml
+++ b/res/xml/long_screen_prefs.xml
@@ -18,6 +18,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:lineage="http://schemas.android.com/apk/res/org.lineageos.lineageparts"
android:key="long_screen_settings"
- android:title="@string/long_screen_settings_title">
+ android:title="@string/inverse_long_screen_settings_title">
</PreferenceScreen>
diff --git a/res/xml/parts_catalog.xml b/res/xml/parts_catalog.xml
index 2d8dca7..1e6ace4 100644
--- a/res/xml/parts_catalog.xml
+++ b/res/xml/parts_catalog.xml
@@ -87,8 +87,8 @@
lineage:xmlRes="@xml/perf_profile_settings" />
<part android:key="long_screen_settings"
- android:title="@string/long_screen_settings_title"
- android:summary="@string/long_screen_settings_summary"
+ android:title="@string/inverse_long_screen_settings_title"
+ android:summary="@string/inverse_long_screen_settings_summary"
android:fragment="org.lineageos.lineageparts.applications.LongScreenSettings"
lineage:xmlRes="@xml/long_screen_prefs" />
diff --git a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
index ac04058..50ff8f6 100644
--- a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
+++ b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java
@@ -246,7 +246,7 @@ public class LongScreenSettings extends SettingsPreferenceFragment
mApplicationsState.ensureIcon(entry);
holder.icon.setImageDrawable(entry.icon);
holder.state.setTag(entry);
- holder.state.setChecked(mLongScreen.shouldForceLongScreen(entry.info.packageName));
+ holder.state.setChecked(!(mLongScreen.shouldForceLongScreen(entry.info.packageName)));
return holder.rootView;
}
--
2.25.1

View File

@ -0,0 +1,36 @@
From 5786216ada9a7351acf816b126df7f428f80128b Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 13 Jan 2022 02:24:07 +0000
Subject: [PATCH] [TEMP] LineageParts: Fix DisplayColor dialog
Change-Id: I5cc300037286d34f03f511d935d26361b029817a
---
.../lineageparts/livedisplay/DisplayColor.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/org/lineageos/lineageparts/livedisplay/DisplayColor.java b/src/org/lineageos/lineageparts/livedisplay/DisplayColor.java
index a000ba9..334055a 100644
--- a/src/org/lineageos/lineageparts/livedisplay/DisplayColor.java
+++ b/src/org/lineageos/lineageparts/livedisplay/DisplayColor.java
@@ -79,6 +79,18 @@ public class DisplayColor extends CustomDialogPreference<AlertDialog> {
public void onClick(DialogInterface dialog, int which) {
}
});
+ builder.setNegativeButton(R.string.cancel,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ });
+ builder.setPositiveButton(R.string.dlg_ok,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ }
+ });
}
@Override
--
2.25.1

View File

@ -1,28 +0,0 @@
From 6e0b68e9e9da6bcb33eac9e91402a9479419bb86 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 26 Oct 2021 08:03:39 +0000
Subject: [PATCH] Settings: Hack in LiveDisplay entrypoint
Change-Id: Icec153e3d9203bba8bb5b000ecf537397058b349
---
res/xml/display_settings.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 7bd370816e..9cf7afe0a5 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -86,6 +86,10 @@
<PreferenceCategory
android:title="@string/category_name_color">
+ <org.lineageos.internal.lineageparts.LineagePartsPreference
+ android:key="livedisplay"
+ lineage:requiresConfig="@*lineageos.platform:bool/config_enableLiveDisplay" />
+
<com.android.settings.widget.PrimarySwitchPreference
android:key="night_display"
android:title="@string/night_display_title"
--
2.25.1

View File

@ -1,4 +1,4 @@
From 72efb86a4e4e42b9d20c8d8ac30beb6471f96ad2 Mon Sep 17 00:00:00 2001 From d72fc12143501bfa376db5fd888b9115e0c279e7 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 27 Oct 2021 14:38:37 +0000 Date: Wed, 27 Oct 2021 14:38:37 +0000
Subject: [PATCH 01/16] Add LineageMonetAccentOverlay Subject: [PATCH 01/16] Add LineageMonetAccentOverlay
@ -17,7 +17,7 @@ Change-Id: Ib93b2bc68a08dfe12a7c3f503dcc62cce098b459
create mode 100644 packages/overlays/LineageMonetAccentOverlay/res/values/config.xml create mode 100644 packages/overlays/LineageMonetAccentOverlay/res/values/config.xml
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index 928892c60e47..d90aae92e1c5 100644 index 3a114bc8ec79..15c55d3d588e 100644
--- a/packages/overlays/Android.mk --- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk +++ b/packages/overlays/Android.mk
@@ -26,6 +26,7 @@ LOCAL_REQUIRED_MODULES := \ @@ -26,6 +26,7 @@ LOCAL_REQUIRED_MODULES := \

View File

@ -1,11 +1,11 @@
From 131d58227278ec7d36fe16223335368d4674ce46 Mon Sep 17 00:00:00 2001 From 9b99205d455b3628d4ab017c77649e116fff182a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 20 Jun 2021 03:39:32 +0000 Date: Sun, 20 Jun 2021 03:39:32 +0000
Subject: [PATCH 02/16] Add MiuiNavbarOverlay Subject: [PATCH 02/16] Add MiuiNavbarOverlay
Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9 Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
--- ---
packages/overlays/Android.mk | 3 +- packages/overlays/Android.mk | 1 +
.../overlays/MiuiNavbarOverlay/Android.bp | 28 ++++++++++++++++++ .../overlays/MiuiNavbarOverlay/Android.bp | 28 ++++++++++++++++++
.../MiuiNavbarOverlay/AndroidManifest.xml | 22 ++++++++++++++ .../MiuiNavbarOverlay/AndroidManifest.xml | 22 ++++++++++++++
.../res/drawable-440dpi-v4/ic_sysbar_back.png | Bin 0 -> 2756 bytes .../res/drawable-440dpi-v4/ic_sysbar_back.png | Bin 0 -> 2756 bytes
@ -16,7 +16,7 @@ Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
.../ic_sysbar_home_darkmode.png | Bin 0 -> 980 bytes .../ic_sysbar_home_darkmode.png | Bin 0 -> 980 bytes
.../drawable-440dpi-v4/ic_sysbar_recent.png | Bin 0 -> 278 bytes .../drawable-440dpi-v4/ic_sysbar_recent.png | Bin 0 -> 278 bytes
.../ic_sysbar_recent_darkmode.png | Bin 0 -> 205 bytes .../ic_sysbar_recent_darkmode.png | Bin 0 -> 205 bytes
11 files changed, 52 insertions(+), 1 deletion(-) 11 files changed, 51 insertions(+)
create mode 100644 packages/overlays/MiuiNavbarOverlay/Android.bp create mode 100644 packages/overlays/MiuiNavbarOverlay/Android.bp
create mode 100644 packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml create mode 100644 packages/overlays/MiuiNavbarOverlay/AndroidManifest.xml
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_back.png
@ -29,10 +29,10 @@ Change-Id: I0e6791abc3c9521d7dc612df2fec2b041affe7e9
create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png create mode 100644 packages/overlays/MiuiNavbarOverlay/res/drawable-440dpi-v4/ic_sysbar_recent_darkmode.png
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index d90aae92e1c5..2e53fed86f15 100644 index 15c55d3d588e..ff20a7a30092 100644
--- a/packages/overlays/Android.mk --- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk +++ b/packages/overlays/Android.mk
@@ -27,12 +27,13 @@ LOCAL_REQUIRED_MODULES := \ @@ -27,6 +27,7 @@ LOCAL_REQUIRED_MODULES := \
DisplayCutoutEmulationWaterfallOverlay \ DisplayCutoutEmulationWaterfallOverlay \
FontNotoSerifSourceOverlay \ FontNotoSerifSourceOverlay \
LineageMonetAccentOverlay \ LineageMonetAccentOverlay \
@ -40,13 +40,6 @@ index d90aae92e1c5..2e53fed86f15 100644
NavigationBarMode3ButtonOverlay \ NavigationBarMode3ButtonOverlay \
NavigationBarModeGesturalOverlay \ NavigationBarModeGesturalOverlay \
NavigationBarModeGesturalOverlayNarrowBack \ NavigationBarModeGesturalOverlayNarrowBack \
NavigationBarModeGesturalOverlayWideBack \
NavigationBarModeGesturalOverlayExtraWideBack \
- OneHandedModeGesturalOverlay \
+ OneHandedModeGesturalOverlay \
preinstalled-packages-platform-overlays.xml
include $(BUILD_PHONY_PACKAGE)
diff --git a/packages/overlays/MiuiNavbarOverlay/Android.bp b/packages/overlays/MiuiNavbarOverlay/Android.bp diff --git a/packages/overlays/MiuiNavbarOverlay/Android.bp b/packages/overlays/MiuiNavbarOverlay/Android.bp
new file mode 100644 new file mode 100644
index 000000000000..fc724fb7a686 index 000000000000..fc724fb7a686

View File

@ -1,4 +1,4 @@
From 98145d7967512d9e294c9eaf5b4782efd34a1f8d Mon Sep 17 00:00:00 2001 From a18c07c4fa6a3a3e776b40b13c1e666958fa0549 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 27 Sep 2021 16:30:00 +0000 Date: Mon, 27 Sep 2021 16:30:00 +0000
Subject: [PATCH 03/16] Disable cursor drag by default for editable TextViews Subject: [PATCH 03/16] Disable cursor drag by default for editable TextViews

View File

@ -1,4 +1,4 @@
From 54dcd5497db5593a77aa8c6eacf6b6ed693338cb Mon Sep 17 00:00:00 2001 From 6b4d66980ecb2a61e959bf256ae3f72ec448945e Mon Sep 17 00:00:00 2001
From: AndyCGYan <GeForce8800Ultra@gmail.com> From: AndyCGYan <GeForce8800Ultra@gmail.com>
Date: Fri, 22 Mar 2019 00:41:20 +0800 Date: Fri, 22 Mar 2019 00:41:20 +0800
Subject: [PATCH 04/16] Disable FP lockouts Subject: [PATCH 04/16] Disable FP lockouts

View File

@ -1,4 +1,4 @@
From ae4b40705428d23abf321050a64e7793c591ae2b Mon Sep 17 00:00:00 2001 From 80f4784fd42852d15b2bf815e8f068bc5c4977dd Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 2 Sep 2021 16:15:19 +0000 Date: Thu, 2 Sep 2021 16:15:19 +0000
Subject: [PATCH 05/16] Keyguard: Adjust clock style Subject: [PATCH 05/16] Keyguard: Adjust clock style

View File

@ -1,4 +1,4 @@
From 2f8ba4aa72d1c8941f1f6060a0c3a11b179d9447 Mon Sep 17 00:00:00 2001 From cd9ff5604ed0420eb6e4317370a22293a40f2800 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 06:41:03 +0000 Date: Sat, 2 Nov 2019 06:41:03 +0000
Subject: [PATCH 06/16] Keyguard: Hide padlock unless UDFPS is in use Subject: [PATCH 06/16] Keyguard: Hide padlock unless UDFPS is in use

View File

@ -1,4 +1,4 @@
From 9e81c9791a5c6fae799bf8d916ed70b62ea23f13 Mon Sep 17 00:00:00 2001 From 87bc53364912c939e19465304593cf7f03b96b54 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:41:53 +0000 Date: Wed, 1 Sep 2021 14:41:53 +0000
Subject: [PATCH 07/16] Keyguard: Never switch to large clock Subject: [PATCH 07/16] Keyguard: Never switch to large clock

View File

@ -1,4 +1,4 @@
From adc13dccc4a4a1f0c59f6d53630d8cd48210b7de Mon Sep 17 00:00:00 2001 From ce11b93da782f5bd95c0f5c7ce02aa6ace01e6eb Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 2 Nov 2019 08:31:36 +0000 Date: Sat, 2 Nov 2019 08:31:36 +0000
Subject: [PATCH 08/16] Keyguard: Refine indication text Subject: [PATCH 08/16] Keyguard: Refine indication text
@ -39,7 +39,7 @@ index 8dbd59d42ab7..68cba51e07fa 100644
android:paddingEnd="@dimen/keyguard_indication_text_padding" android:paddingEnd="@dimen/keyguard_indication_text_padding"
android:textAppearance="@style/TextAppearance.Keyguard.BottomArea" android:textAppearance="@style/TextAppearance.Keyguard.BottomArea"
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index c231afc41953..1485f3a936ca 100644 index 5d4e4a6ad3c4..cd11fb7d81ac 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -920,7 +920,7 @@ @@ -920,7 +920,7 @@

View File

@ -1,4 +1,4 @@
From c7a8da0bbddfb96af36f8c62caef774a027ed4a0 Mon Sep 17 00:00:00 2001 From 3ead32747cd79901a272ed399e88ce957370f0e0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 20 Mar 2021 10:35:14 +0000 Date: Sat, 20 Mar 2021 10:35:14 +0000
Subject: [PATCH 09/16] Keyguard/UI: Fix status bar / quick settings margins Subject: [PATCH 09/16] Keyguard/UI: Fix status bar / quick settings margins
@ -136,7 +136,7 @@ index 0a34dfd71c7e..3d590d752a7b 100644
<dimen name="screen_pinning_request_width">400dp</dimen> <dimen name="screen_pinning_request_width">400dp</dimen>
<!-- Screen pinning request bottom button circle widths --> <!-- Screen pinning request bottom button circle widths -->
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 1485f3a936ca..b3941ff7f82b 100644 index cd11fb7d81ac..786b21f7595a 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -449,7 +449,7 @@ @@ -449,7 +449,7 @@
@ -167,10 +167,10 @@ index 1485f3a936ca..b3941ff7f82b 100644
<!-- Additional translation (downwards) for appearing notifications when going to the full shade <!-- Additional translation (downwards) for appearing notifications when going to the full shade
from Keyguard. --> from Keyguard. -->
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index a5150000f47c..8ef433c7af17 100644 index 3478ec463573..386b4e007a90 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -88,6 +88,10 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -91,6 +91,10 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
private QSExpansionPathInterpolator mQSExpansionPathInterpolator; private QSExpansionPathInterpolator mQSExpansionPathInterpolator;
private int mRoundedCornerPadding = 0; private int mRoundedCornerPadding = 0;
@ -181,7 +181,7 @@ index a5150000f47c..8ef433c7af17 100644
private int mWaterfallTopInset; private int mWaterfallTopInset;
private int mCutOutPaddingLeft; private int mCutOutPaddingLeft;
private int mCutOutPaddingRight; private int mCutOutPaddingRight;
@@ -99,6 +103,8 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -102,6 +106,8 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
private List<String> mRssiIgnoredSlots; private List<String> mRssiIgnoredSlots;
private boolean mIsSingleCarrier; private boolean mIsSingleCarrier;
@ -190,7 +190,7 @@ index a5150000f47c..8ef433c7af17 100644
private boolean mHasCenterCutout; private boolean mHasCenterCutout;
private boolean mConfigShowBatteryEstimate; private boolean mConfigShowBatteryEstimate;
@@ -240,6 +246,11 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -244,6 +250,11 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
mRoundedCornerPadding = resources.getDimensionPixelSize( mRoundedCornerPadding = resources.getDimensionPixelSize(
R.dimen.rounded_corner_content_padding); R.dimen.rounded_corner_content_padding);
@ -202,7 +202,7 @@ index a5150000f47c..8ef433c7af17 100644
int qsOffsetHeight = resources.getDimensionPixelSize( int qsOffsetHeight = resources.getDimensionPixelSize(
com.android.internal.R.dimen.quick_qs_offset_height); com.android.internal.R.dimen.quick_qs_offset_height);
@@ -320,6 +331,9 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -324,6 +335,9 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
.addFloat(mDateView, "alpha", 0, 0, 1) .addFloat(mDateView, "alpha", 0, 0, 1)
.addFloat(mClockDateView, "alpha", 1, 0, 0) .addFloat(mClockDateView, "alpha", 1, 0, 0)
.addFloat(mQSCarriers, "alpha", 0, 1) .addFloat(mQSCarriers, "alpha", 0, 1)
@ -212,7 +212,7 @@ index a5150000f47c..8ef433c7af17 100644
.setListener(new TouchAnimator.ListenerAdapter() { .setListener(new TouchAnimator.ListenerAdapter() {
@Override @Override
public void onAnimationAtEnd() { public void onAnimationAtEnd() {
@@ -426,8 +440,6 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -430,8 +444,6 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
Pair<Integer, Integer> padding = Pair<Integer, Integer> padding =
StatusBarWindowView.paddingNeededForCutoutAndRoundedCorner( StatusBarWindowView.paddingNeededForCutoutAndRoundedCorner(
cutout, cornerCutoutPadding, -1); cutout, cornerCutoutPadding, -1);
@ -221,7 +221,7 @@ index a5150000f47c..8ef433c7af17 100644
LinearLayout.LayoutParams datePrivacySeparatorLayoutParams = LinearLayout.LayoutParams datePrivacySeparatorLayoutParams =
(LinearLayout.LayoutParams) mDatePrivacySeparator.getLayoutParams(); (LinearLayout.LayoutParams) mDatePrivacySeparator.getLayoutParams();
LinearLayout.LayoutParams mClockIconsSeparatorLayoutParams = LinearLayout.LayoutParams mClockIconsSeparatorLayoutParams =
@@ -442,6 +454,12 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -446,6 +458,12 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
mClockIconsSeparatorLayoutParams.width = 0; mClockIconsSeparatorLayoutParams.width = 0;
setSeparatorVisibility(false); setSeparatorVisibility(false);
mShowClockIconsSeparator = false; mShowClockIconsSeparator = false;
@ -234,7 +234,7 @@ index a5150000f47c..8ef433c7af17 100644
mHasCenterCutout = false; mHasCenterCutout = false;
} else { } else {
datePrivacySeparatorLayoutParams.width = topCutout.width(); datePrivacySeparatorLayoutParams.width = topCutout.width();
@@ -449,6 +467,8 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -453,6 +471,8 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
mClockIconsSeparatorLayoutParams.width = topCutout.width(); mClockIconsSeparatorLayoutParams.width = topCutout.width();
mShowClockIconsSeparator = true; mShowClockIconsSeparator = true;
setSeparatorVisibility(mKeyguardExpansionFraction == 0f); setSeparatorVisibility(mKeyguardExpansionFraction == 0f);
@ -243,7 +243,7 @@ index a5150000f47c..8ef433c7af17 100644
mHasCenterCutout = true; mHasCenterCutout = true;
} }
} }
@@ -493,34 +513,37 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -497,34 +517,37 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
private void updateHeadersPadding() { private void updateHeadersPadding() {
setContentMargins(mDatePrivacyView, 0, 0); setContentMargins(mDatePrivacyView, 0, 0);
setContentMargins(mClockIconsView, 0, 0); setContentMargins(mClockIconsView, 0, 0);
@ -299,10 +299,10 @@ index a5150000f47c..8ef433c7af17 100644
} }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 7b4dc47a7b48..f3cd8daf8d03 100644 index efc02548763a..ce5719c674dd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -165,14 +165,7 @@ public class KeyguardStatusBarView extends RelativeLayout implements @@ -164,14 +164,7 @@ public class KeyguardStatusBarView extends RelativeLayout implements
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize( getResources().getDimensionPixelSize(
com.android.internal.R.dimen.text_size_small_material)); com.android.internal.R.dimen.text_size_small_material));

View File

@ -1,21 +1,76 @@
From 083ce1f8d7cd3baa0aa97940b2d53d0b65ced059 Mon Sep 17 00:00:00 2001 From 9fa5b43574c485faebf2806584f82311fa220b16 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 19 Oct 2021 12:11:24 +0000 Date: Tue, 19 Oct 2021 12:11:24 +0000
Subject: [PATCH 10/16] Revert "monet: Add support for monet (cam16)" Subject: [PATCH 10/16] Revert "monet: Add support for monet (cam16)"
This reverts commit f4460c9cb0494ddcc1829b05298d140fa1afc526. This reverts commit f4460c9cb0494ddcc1829b05298d140fa1afc526.
Change-Id: I94ca83b2c147a32afeb4fbddbc5d6dbcfd804199
--- ---
packages/SystemUI/Android.bp | 2 -
packages/SystemUI/monet/Android.bp | 12 --
packages/SystemUI/monet/AndroidManifest.xml | 4 -
.../com/android/systemui/monet/ColorScheme.kt | 168 ------------------ .../com/android/systemui/monet/ColorScheme.kt | 168 ------------------
.../com/android/systemui/monet/Shades.java | 19 -- .../com/android/systemui/monet/Shades.java | 19 --
.../theme/ThemeOverlayController.java | 55 ++---- .../theme/ThemeOverlayController.java | 56 ++----
3 files changed, 10 insertions(+), 232 deletions(-) 6 files changed, 10 insertions(+), 251 deletions(-)
delete mode 100644 packages/SystemUI/src/com/android/systemui/monet/ColorScheme.kt delete mode 100644 packages/SystemUI/monet/Android.bp
delete mode 100644 packages/SystemUI/src/com/android/systemui/monet/Shades.java delete mode 100644 packages/SystemUI/monet/AndroidManifest.xml
delete mode 100644 packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
delete mode 100644 packages/SystemUI/monet/src/com/android/systemui/monet/Shades.java
diff --git a/packages/SystemUI/src/com/android/systemui/monet/ColorScheme.kt b/packages/SystemUI/src/com/android/systemui/monet/ColorScheme.kt diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index e677b10295f6..e86486dbc6bc 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -97,7 +97,6 @@ android_library {
"lottie",
"org.lineageos.platform.internal",
"vendor.lineage.powershare-V1.0-java",
- "monet",
],
manifest: "AndroidManifest.xml",
additional_manifests: ["LineageManifest.xml"],
@@ -188,7 +187,6 @@ android_library {
"WindowManager-Shell",
"org.lineageos.platform.internal",
"vendor.lineage.powershare-V1.0-java",
- "monet",
],
libs: [
"android.test.runner",
diff --git a/packages/SystemUI/monet/Android.bp b/packages/SystemUI/monet/Android.bp
deleted file mode 100644
index 42563765b077..000000000000
--- a/packages/SystemUI/monet/Android.bp
+++ /dev/null
@@ -1,12 +0,0 @@
-java_library {
- name: "monet",
- platform_apis: true,
- static_libs: [
- "androidx.annotation_annotation",
- "androidx.core_core",
- ],
- srcs: [
- "src/**/*.java",
- "src/**/*.kt",
- ],
-}
diff --git a/packages/SystemUI/monet/AndroidManifest.xml b/packages/SystemUI/monet/AndroidManifest.xml
deleted file mode 100644
index 37f0050ee949..000000000000
--- a/packages/SystemUI/monet/AndroidManifest.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.systemui.monet">
-</manifest>
diff --git a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt b/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
deleted file mode 100644 deleted file mode 100644
index 56a9c805ca81..000000000000 index 56a9c805ca81..000000000000
--- a/packages/SystemUI/src/com/android/systemui/monet/ColorScheme.kt --- a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt
+++ /dev/null +++ /dev/null
@@ -1,168 +0,0 @@ @@ -1,168 +0,0 @@
-package com.android.systemui.monet -package com.android.systemui.monet
@ -186,10 +241,10 @@ index 56a9c805ca81..000000000000
- } - }
- } - }
-} -}
diff --git a/packages/SystemUI/src/com/android/systemui/monet/Shades.java b/packages/SystemUI/src/com/android/systemui/monet/Shades.java diff --git a/packages/SystemUI/monet/src/com/android/systemui/monet/Shades.java b/packages/SystemUI/monet/src/com/android/systemui/monet/Shades.java
deleted file mode 100644 deleted file mode 100644
index 5ab00a1afcb4..000000000000 index 5ab00a1afcb4..000000000000
--- a/packages/SystemUI/src/com/android/systemui/monet/Shades.java --- a/packages/SystemUI/monet/src/com/android/systemui/monet/Shades.java
+++ /dev/null +++ /dev/null
@@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
-package com.android.systemui.monet; -package com.android.systemui.monet;
@ -212,7 +267,7 @@ index 5ab00a1afcb4..000000000000
- } - }
-} -}
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
index 7cd3ae1f8062..81999b534046 100644 index 1e35c9e51150..81999b534046 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java --- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
@@ -37,7 +37,6 @@ import android.content.IntentFilter; @@ -37,7 +37,6 @@ import android.content.IntentFilter;
@ -235,14 +290,14 @@ index 7cd3ae1f8062..81999b534046 100644
import com.android.systemui.Dumpable; import com.android.systemui.Dumpable;
import com.android.systemui.SystemUI; import com.android.systemui.SystemUI;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -62,7 +59,6 @@ import com.android.systemui.dagger.qualifiers.Main; @@ -61,7 +58,6 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager; import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.settings.UserTracker;
-import com.android.systemui.monet.ColorScheme; -import com.android.systemui.monet.ColorScheme;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
@@ -75,7 +71,6 @@ import java.io.FileDescriptor; @@ -75,7 +71,6 @@ import java.io.FileDescriptor;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.Collection; import java.util.Collection;
@ -251,7 +306,7 @@ index 7cd3ae1f8062..81999b534046 100644
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@@ -408,55 +403,25 @@ public class ThemeOverlayController extends SystemUI implements Dumpable { @@ -408,56 +403,25 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
* Return the main theme color from a given {@link WallpaperColors} instance. * Return the main theme color from a given {@link WallpaperColors} instance.
*/ */
protected int getNeutralColor(@NonNull WallpaperColors wallpaperColors) { protected int getNeutralColor(@NonNull WallpaperColors wallpaperColors) {
@ -293,19 +348,20 @@ index 7cd3ae1f8062..81999b534046 100644
- } - }
- -
- int size = colorScheme.getAccent1().size(); - int size = colorScheme.getAccent1().size();
- FabricatedOverlay.Builder builder = new FabricatedOverlay.Builder(mContext.getPackageName(), name, "android"); - FabricatedOverlay.Builder builder =
- new FabricatedOverlay.Builder(mContext.getPackageName(), name, "android");
- -
- for (int i = 0; i < colors.size(); i++) { - for (int i = 0; i < colors.size(); i++) {
- int lightness = i % size; - int lightness = i % size;
- int shade = i / size + 1; - int shade = i / size + 1;
- -
- String targetResource; - String targetResource = "android:color/system_";
- if (lightness == 0) { - if (lightness == 0) {
- targetResource = "android:color/system_" + name + shade + "_10"; - targetResource += name + shade + "_10";
- } else if (lightness == 1) { - } else if (lightness == 1) {
- targetResource = "android:color/system_" + name + shade + "_50"; - targetResource += name + shade + "_50";
- } else { - } else {
- targetResource = "android:color/system_" + name + shade + "_" + (lightness - 1) + "00"; - targetResource += name + shade + "_" + (lightness - 1) + "00";
- } - }
- -
- builder.setResourceValue(targetResource, TypedValue.TYPE_INT_COLOR_ARGB8, - builder.setResourceValue(targetResource, TypedValue.TYPE_INT_COLOR_ARGB8,

View File

@ -1,4 +1,4 @@
From 9acde8c9886310dbbfe63e7cd6f30d4656d66b72 Mon Sep 17 00:00:00 2001 From a1a23648cb1a916a9a6da88d68a41a01f6eceb06 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 5 Sep 2021 01:20:12 +0000 Date: Sun, 5 Sep 2021 01:20:12 +0000
Subject: [PATCH 11/16] Revert "Update RAT icons to match Silk design" Subject: [PATCH 11/16] Revert "Update RAT icons to match Silk design"

View File

@ -1,4 +1,4 @@
From 2377ef0cd6f3fb4abd5038b84c5bf785035ce738 Mon Sep 17 00:00:00 2001 From 1d8c1d751b1bb0b5d36a00eceec1308d6e83523d Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 7 Oct 2020 14:00:35 +0000 Date: Wed, 7 Oct 2020 14:00:35 +0000
Subject: [PATCH 12/16] UI: Always render windows into cutouts Subject: [PATCH 12/16] UI: Always render windows into cutouts
@ -55,10 +55,10 @@ index 32e43ca4e56c..18c28ae674f9 100644
} }
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 10b36fe67daf..2a1817269446 100644 index 41247363146d..554dea8efb33 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java --- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -1616,7 +1616,7 @@ public class DisplayPolicy { @@ -1655,7 +1655,7 @@ public class DisplayPolicy {
pf.set((fl & FLAG_LAYOUT_IN_SCREEN) == 0 ? attached.getFrame() : df); pf.set((fl & FLAG_LAYOUT_IN_SCREEN) == 0 ? attached.getFrame() : df);
} }

View File

@ -1,4 +1,4 @@
From cb0906eadc39915aae89e82b32905fc1e3925359 Mon Sep 17 00:00:00 2001 From e79fe0c08cb680f1c2855caa877acacdf0bdb3dd Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Wed, 1 Sep 2021 14:10:50 +0000 Date: Wed, 1 Sep 2021 14:10:50 +0000
Subject: [PATCH 13/16] UI: Kill rounded corners in notification scrim Subject: [PATCH 13/16] UI: Kill rounded corners in notification scrim
@ -11,7 +11,7 @@ Change-Id: I09ed59e0e658ebd512a9d02a8ef3edfe2c9888da
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index b3941ff7f82b..140043673612 100644 index 786b21f7595a..7217156d8972 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -757,7 +757,7 @@ @@ -757,7 +757,7 @@

View File

@ -1,4 +1,4 @@
From f81da8f238f0ddf872ce900bade1783482bac0cb Mon Sep 17 00:00:00 2001 From f0d1748dc95cb747329c816153d68954255be322 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 26 Oct 2020 14:06:56 +0000 Date: Mon, 26 Oct 2020 14:06:56 +0000
Subject: [PATCH 14/16] UI: Reconfigure power menu items Subject: [PATCH 14/16] UI: Reconfigure power menu items
@ -11,10 +11,10 @@ Change-Id: I32cca6e2c6bb64d891efee959127edf7c0802cbc
1 file changed, 5 deletions(-) 1 file changed, 5 deletions(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 1319c26bb1be..e294223c9066 100644 index 3a62b51d3cbc..5e9c9988e946 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -2961,13 +2961,8 @@ @@ -2963,13 +2963,8 @@
"logout" = Logout the current user "logout" = Logout the current user
--> -->
<string-array translatable="false" name="config_globalActionsList"> <string-array translatable="false" name="config_globalActionsList">

View File

@ -1,4 +1,4 @@
From 48705c6c69f2f3f6c8e8005b3c9b50883fe178d4 Mon Sep 17 00:00:00 2001 From ec1007b99324812eebc112d12f6f56666cd54cae Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 29 Jun 2021 22:57:01 +0000 Date: Tue, 29 Jun 2021 22:57:01 +0000
Subject: [PATCH 15/16] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT Subject: [PATCH 15/16] UI: Relax requirement for HINT_SUPPORTS_DARK_TEXT

View File

@ -1,4 +1,4 @@
From 934dfff90102f46f097c5912ab9994d6796d9c63 Mon Sep 17 00:00:00 2001 From ac98eee7ee113a71ae05e00c23b14e94c3539f73 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 19 Oct 2021 12:09:34 +0000 Date: Tue, 19 Oct 2021 12:09:34 +0000
Subject: [PATCH 16/16] UI: Remove privacy dot padding Subject: [PATCH 16/16] UI: Remove privacy dot padding
@ -9,7 +9,7 @@ Change-Id: I5d2e2b3e36f027b4348a83030d4b4d3c4f0209d1
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 140043673612..51d4ffbc2d49 100644 index 7217156d8972..4354442fb51d 100644
--- a/packages/SystemUI/res/values/dimens.xml --- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -1265,7 +1265,7 @@ @@ -1265,7 +1265,7 @@

View File

@ -0,0 +1,260 @@
From 54374a8c7cdb6df7657090ff849cce25d051ee52 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 10 Jan 2022 04:44:58 +0000
Subject: [PATCH] Revert "Implement LocalColorExtractor using monet theme
engine"
This reverts commit 43594af5b025d2223f9eab97e9226541b2851419.
---
Android.bp | 1 -
res/values/config.xml | 2 +-
.../widget/LocalWallpaperColorsExtractor.java | 212 ------------------
3 files changed, 1 insertion(+), 214 deletions(-)
delete mode 100644 src/com/android/launcher3/widget/LocalWallpaperColorsExtractor.java
diff --git a/Android.bp b/Android.bp
index 621eaf0a1e..f700dedf03 100644
--- a/Android.bp
+++ b/Android.bp
@@ -122,7 +122,6 @@ android_library {
"com.google.android.material_material",
"iconloader_base",
"libGoogleFeed",
- "monet",
],
manifest: "AndroidManifest-common.xml",
sdk_version: "current",
diff --git a/res/values/config.xml b/res/values/config.xml
index 95f94af904..0ac0f9c588 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -87,7 +87,7 @@
<!-- Default packages -->
<string name="wallpaper_picker_package" translatable="false"></string>
- <string name="local_colors_extraction_class" translatable="false">com.android.launcher3.widget.LocalWallpaperColorsExtractor</string>
+ <string name="local_colors_extraction_class" translatable="false"></string>
<!-- Accessibility actions -->
<item type="id" name="action_remove" />
diff --git a/src/com/android/launcher3/widget/LocalWallpaperColorsExtractor.java b/src/com/android/launcher3/widget/LocalWallpaperColorsExtractor.java
deleted file mode 100644
index 29d464826e..0000000000
--- a/src/com/android/launcher3/widget/LocalWallpaperColorsExtractor.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package com.android.launcher3.widget;
-
-import android.app.WallpaperColors;
-import android.app.WallpaperManager;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.util.SparseIntArray;
-import android.view.View;
-import android.widget.RemoteViews;
-
-import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.Launcher;
-import com.android.launcher3.Utilities;
-import com.android.launcher3.widget.LocalColorExtractor;
-import com.android.systemui.monet.ColorScheme;
-
-import java.util.List;
-
-public class LocalWallpaperColorsExtractor extends LocalColorExtractor implements
- WallpaperManager.LocalWallpaperColorConsumer {
-
- private final WallpaperManager wallpaperManager;
- private Listener listener;
- private Context mContext;
-
- // For calculating and returning bounds
- private final float[] tempFloatArray = new float[4];
- private final Rect tempRect = new Rect();
- private final RectF tempRectF = new RectF();
-
- public static final int[] accent = {
- android.R.color.system_accent1_10,
- android.R.color.system_accent1_50,
- android.R.color.system_accent1_100,
- android.R.color.system_accent1_200,
- android.R.color.system_accent1_300,
- android.R.color.system_accent1_400,
- android.R.color.system_accent1_500,
- android.R.color.system_accent1_600,
- android.R.color.system_accent1_700,
- android.R.color.system_accent1_800,
- android.R.color.system_accent1_900,
- android.R.color.system_accent1_1000,
- android.R.color.system_accent2_10,
- android.R.color.system_accent2_50,
- android.R.color.system_accent2_100,
- android.R.color.system_accent2_200,
- android.R.color.system_accent2_300,
- android.R.color.system_accent2_400,
- android.R.color.system_accent2_500,
- android.R.color.system_accent2_600,
- android.R.color.system_accent2_700,
- android.R.color.system_accent2_800,
- android.R.color.system_accent2_900,
- android.R.color.system_accent2_1000,
- android.R.color.system_accent3_10,
- android.R.color.system_accent3_50,
- android.R.color.system_accent3_100,
- android.R.color.system_accent3_200,
- android.R.color.system_accent3_300,
- android.R.color.system_accent3_400,
- android.R.color.system_accent3_500,
- android.R.color.system_accent3_600,
- android.R.color.system_accent3_700,
- android.R.color.system_accent3_800,
- android.R.color.system_accent3_900,
- android.R.color.system_accent3_1000
- };
-
- public static final int[] neutral = {
- android.R.color.system_neutral1_10,
- android.R.color.system_neutral1_50,
- android.R.color.system_neutral1_100,
- android.R.color.system_neutral1_200,
- android.R.color.system_neutral1_300,
- android.R.color.system_neutral1_400,
- android.R.color.system_neutral1_500,
- android.R.color.system_neutral1_600,
- android.R.color.system_neutral1_700,
- android.R.color.system_neutral1_800,
- android.R.color.system_neutral1_900,
- android.R.color.system_neutral1_1000,
- android.R.color.system_neutral2_10,
- android.R.color.system_neutral2_50,
- android.R.color.system_neutral2_100,
- android.R.color.system_neutral2_200,
- android.R.color.system_neutral2_300,
- android.R.color.system_neutral2_400,
- android.R.color.system_neutral2_500,
- android.R.color.system_neutral2_600,
- android.R.color.system_neutral2_700,
- android.R.color.system_neutral2_800,
- android.R.color.system_neutral2_900,
- android.R.color.system_neutral2_1000
- };
-
- public LocalWallpaperColorsExtractor(Context context) {
- mContext = context;
- wallpaperManager = (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE);
- }
-
- private static void addColorsToArray(List<Integer> list, int[] resArray, SparseIntArray array) {
- for (int i = 0; i < resArray.length; i++) {
- array.put(resArray[i], -16777216 | list.get(i));
- }
- }
-
- @Override
- public void setListener(Listener listener) {
- this.listener = listener;
- }
-
- @Override
- public void addLocation(List<RectF> locations) {
- wallpaperManager.addOnColorsChangedListener(this, locations);
- }
-
- @Override
- public void removeLocations() {
- wallpaperManager.removeOnColorsChangedListener(this);
- }
-
- @Override
- public SparseIntArray generateColorsOverride(WallpaperColors colors) {
- SparseIntArray colorRes = new SparseIntArray(5 * 13);
- boolean nightMode = (mContext.getResources().getConfiguration().uiMode
- & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
-
- ColorScheme colorScheme = new ColorScheme(ColorScheme.getSeedColor(colors), nightMode);
-
- addColorsToArray(colorScheme.getAllAccentColors(), accent, colorRes);
- addColorsToArray(colorScheme.getAllNeutralColors(), neutral, colorRes);
-
- return colorRes;
- }
-
- @Override
- public void applyColorsOverride(Context base, WallpaperColors colors) {
- RemoteViews.ColorResources res =
- RemoteViews.ColorResources.create(base, generateColorsOverride(colors));
- if (res != null) {
- res.apply(base);
- }
- }
-
- @Override
- public void getExtractedRectForView(Launcher launcher, int pageId, View v,
- RectF colorExtractionRectOut) {
- Rect viewRect = tempRect;
- viewRect.set(0, 0, v.getWidth(), v.getHeight());
- Utilities.getBoundsForViewInDragLayer(launcher.getDragLayer(), v, viewRect, false,
- tempFloatArray, tempRectF);
- Utilities.setRect(tempRectF, viewRect);
- getExtractedRectForViewRect(launcher, pageId, viewRect, colorExtractionRectOut);
- }
-
- @Override
- public void getExtractedRectForViewRect(Launcher launcher, int pageId, Rect rectInDragLayer,
- RectF colorExtractionRectOut) {
- // If the view hasn't been measured and laid out, we cannot do this.
- if (rectInDragLayer.isEmpty()) {
- colorExtractionRectOut.setEmpty();
- return;
- }
-
- Resources res = launcher.getResources();
- DeviceProfile dp = launcher.getDeviceProfile().inv.getDeviceProfile(launcher);
- float screenWidth = dp.widthPx;
- float screenHeight = dp.heightPx;
- int numScreens = launcher.getWorkspace().getNumPagesForWallpaperParallax();
- pageId = Utilities.isRtl(res) ? numScreens - pageId - 1 : pageId;
- float relativeScreenWidth = 1f / numScreens;
-
- int[] dragLayerBounds = new int[2];
- launcher.getDragLayer().getLocationOnScreen(dragLayerBounds);
- // Translate from drag layer coordinates to screen coordinates.
- int screenLeft = rectInDragLayer.left + dragLayerBounds[0];
- int screenTop = rectInDragLayer.top + dragLayerBounds[1];
- int screenRight = rectInDragLayer.right + dragLayerBounds[0];
- int screenBottom = rectInDragLayer.bottom + dragLayerBounds[1];
-
- // This is the position of the view relative to the wallpaper, as expected by the
- // local color extraction of the WallpaperManager.
- // The coordinate system is such that, on the horizontal axis, each screen has a
- // distinct range on the [0,1] segment. So if there are 3 screens, they will have the
- // ranges [0, 1/3], [1/3, 2/3] and [2/3, 1]. The position on the subrange should be
- // the position of the view relative to the screen. For the vertical axis, this is
- // simply the location of the view relative to the screen.
- // Translate from drag layer coordinates to screen coordinates
- colorExtractionRectOut.left = (screenLeft / screenWidth + pageId) * relativeScreenWidth;
- colorExtractionRectOut.right = (screenRight / screenWidth + pageId) * relativeScreenWidth;
- colorExtractionRectOut.top = screenTop / screenHeight;
- colorExtractionRectOut.bottom = screenBottom / screenHeight;
-
- if (colorExtractionRectOut.left < 0
- || colorExtractionRectOut.right > 1
- || colorExtractionRectOut.top < 0
- || colorExtractionRectOut.bottom > 1) {
- colorExtractionRectOut.setEmpty();
- }
- }
-
- @Override
- public void onColorsChanged(RectF area, WallpaperColors colors) {
- if (listener != null) {
- listener.onColorsChanged(area, generateColorsOverride(colors));
- }
- }
-}
--
2.25.1

View File

@ -1,4 +1,4 @@
From 52882c890900516ce50dcd09d8f5de9d672191df Mon Sep 17 00:00:00 2001 From d18f52a69d550666acab021aa3d6261c83cf9299 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 22 Jun 2021 13:38:31 +0000 Date: Tue, 22 Jun 2021 13:38:31 +0000
Subject: [PATCH 1/4] Add Meizu 18 vibrator support Subject: [PATCH 1/4] Add Meizu 18 vibrator support
@ -27,12 +27,12 @@ Change-Id: Iecf12cd814e8773abfd78a19f98e31125a73761a
create mode 100644 hal/meizu-vibrator/service.cpp create mode 100644 hal/meizu-vibrator/service.cpp
diff --git a/base.mk b/base.mk diff --git a/base.mk b/base.mk
index 0bd6bf0..409bb1d 100644 index a372603..a537411 100644
--- a/base.mk --- a/base.mk
+++ b/base.mk +++ b/base.mk
@@ -209,4 +209,7 @@ PRODUCT_PACKAGES += \ @@ -218,4 +218,7 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \ device/phh/treble/proprietary-files/gome/fs16xx_01s_right.preset:system/phh/gome/fs16xx_01s_right.preset \
oplus-alert-slider device/phh/treble/proprietary-files/umidigi/fs16xx_01s_mono.preset:system/phh/umidigi/fs16xx_01s_mono.preset
+PRODUCT_PACKAGES += \ +PRODUCT_PACKAGES += \
+ android.hardware.vibrator@1.3-service.meizu + android.hardware.vibrator@1.3-service.meizu

View File

@ -1,4 +1,4 @@
From fd5e5139356c792a17328692a90abc6b2c40677e Mon Sep 17 00:00:00 2001 From 0cca559de53a92eac0e6810ebed31967d70d4ca0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 27 Jun 2021 05:21:38 +0000 Date: Sun, 27 Jun 2021 05:21:38 +0000
Subject: [PATCH 2/4] Only use meizu-vibrator on Meizu 18 Subject: [PATCH 2/4] Only use meizu-vibrator on Meizu 18
@ -76,10 +76,10 @@ index 0000000..b34a10b
+<manifest version="1.0" type="framework"> +<manifest version="1.0" type="framework">
+</manifest> +</manifest>
diff --git a/rw-system.sh b/rw-system.sh diff --git a/rw-system.sh b/rw-system.sh
index a49e8f5..434be7c 100644 index ee4df70..3ed1cdd 100644
--- a/rw-system.sh --- a/rw-system.sh
+++ b/rw-system.sh +++ b/rw-system.sh
@@ -325,6 +325,12 @@ if [ "$foundFingerprint" = false ];then @@ -356,6 +356,12 @@ if [ "$foundFingerprint" = false ];then
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml
fi fi
@ -92,7 +92,7 @@ index a49e8f5..434be7c 100644
if ! grep android.hardware.bluetooth /vendor/manifest.xml && ! grep android.hardware.bluetooth /vendor/etc/vintf/manifest.xml; then if ! grep android.hardware.bluetooth /vendor/manifest.xml && ! grep android.hardware.bluetooth /vendor/etc/vintf/manifest.xml; then
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth.xml mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth.xml
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth_le.xml mount -o bind system/phh/empty /system/etc/permissions/android.hardware.bluetooth_le.xml
@@ -396,7 +402,7 @@ if getprop ro.build.overlay.deviceid |grep -q -e CPH1859 -e CPH1861 -e RMX1811 - @@ -427,7 +433,7 @@ if getprop ro.build.overlay.deviceid |grep -q -e CPH1859 -e CPH1861 -e RMX1811 -
setprop persist.sys.qcom-brightness "$(cat /sys/class/leds/lcd-backlight/max_brightness)" setprop persist.sys.qcom-brightness "$(cat /sys/class/leds/lcd-backlight/max_brightness)"
fi fi
@ -101,7 +101,7 @@ index a49e8f5..434be7c 100644
setprop persist.sys.qcom-brightness 2047 setprop persist.sys.qcom-brightness 2047
setprop persist.sys.overlay.devinputjack true setprop persist.sys.overlay.devinputjack true
setprop persist.sys.phh.fingerprint.nocleanup true setprop persist.sys.phh.fingerprint.nocleanup true
@@ -891,7 +897,7 @@ if getprop ro.build.overlay.deviceid |grep -qiE -e '^RMX' -e '^CPH';then @@ -940,7 +946,7 @@ if (getprop ro.vendor.build.fingerprint;getprop ro.odm.build.fingerprint) |grep
setprop persist.sys.phh.fod.bbk true setprop persist.sys.phh.fod.bbk true
fi fi

View File

@ -1,4 +1,4 @@
From dd31f491d59f77fe6451de89882d17d432cacdaf Mon Sep 17 00:00:00 2001 From 0ff36ed6acdc7addbc61fff048b6f2b028f615c0 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 28 Oct 2021 01:51:27 +0000 Date: Thu, 28 Oct 2021 01:51:27 +0000
Subject: [PATCH 3/4] Revert "Include sim toolkit app" Subject: [PATCH 3/4] Revert "Include sim toolkit app"
@ -11,10 +11,10 @@ Change-Id: I1eb7f4bb070eea649b4cea6280299e629d1edb3d
1 file changed, 3 deletions(-) 1 file changed, 3 deletions(-)
diff --git a/base.mk b/base.mk diff --git a/base.mk b/base.mk
index 409bb1d..b8b078e 100644 index a537411..bc5ba37 100644
--- a/base.mk --- a/base.mk
+++ b/base.mk +++ b/base.mk
@@ -156,9 +156,6 @@ PRODUCT_PACKAGES += \ @@ -157,9 +157,6 @@ PRODUCT_PACKAGES += \
xiaomi-motor \ xiaomi-motor \
oneplus-motor oneplus-motor

View File

@ -1,4 +1,4 @@
From 45739cc78ffe6af2124211ef108fef17bdc56baa Mon Sep 17 00:00:00 2001 From dfb80c5cb89c33b2be845fec1cca084399a7f71f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sun, 8 Aug 2021 09:31:01 +0000 Date: Sun, 8 Aug 2021 09:31:01 +0000
Subject: [PATCH 4/4] Revert "treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS Subject: [PATCH 4/4] Revert "treble: Set BOARD_EXT4_SHARE_DUP_BLOCKS

View File

@ -1,7 +1,7 @@
From ed69eff0e245bc8a8b7c3334b5c30323a09dbfc3 Mon Sep 17 00:00:00 2001 From 6a586c8d51eddc005f1215e73327321296c047fd Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 5 Oct 2021 17:59:16 -0400 Date: Tue, 5 Oct 2021 17:59:16 -0400
Subject: [PATCH 01/24] Fallback to stupid autobrightness if brightness values Subject: [PATCH 01/28] Fallback to stupid autobrightness if brightness values
are broken are broken
This is needed because of: This is needed because of:

View File

@ -1,7 +1,7 @@
From c3bc53d43b9c4789bab8c532c44cc6f423810801 Mon Sep 17 00:00:00 2001 From 19e1c2ec405a3a378fd80b86716d65692da7a1cd Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 28 Nov 2017 18:28:04 +0100 Date: Tue, 28 Nov 2017 18:28:04 +0100
Subject: [PATCH 02/24] Relax requirement for visible flag to sdcards Subject: [PATCH 02/28] Relax requirement for visible flag to sdcards
The vast majority of sdcard readers are stable enough to be declared by The vast majority of sdcard readers are stable enough to be declared by
the API. (I see no counter-example) the API. (I see no counter-example)

View File

@ -1,7 +1,7 @@
From 9dda80f5f617988755425931377956386d70a703 Mon Sep 17 00:00:00 2001 From 52c14e64a80eede9b3e82afd54fd4e6cf5862cf1 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 17 May 2018 20:28:35 +0200 Date: Thu, 17 May 2018 20:28:35 +0200
Subject: [PATCH 03/24] Don't crash if there is IR HAL is not declared Subject: [PATCH 03/28] Don't crash if there is IR HAL is not declared
Change-Id: I3afded27441bbee8244d5fda544b3e6d1238dc1b Change-Id: I3afded27441bbee8244d5fda544b3e6d1238dc1b
--- ---

View File

@ -1,7 +1,7 @@
From 639661b3368671a56a3a2b114d6ffb5c1e6ee95f Mon Sep 17 00:00:00 2001 From 33fb74d694502c95ee26f331ea308114f8506b90 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 6 Aug 2018 12:49:00 +0200 Date: Mon, 6 Aug 2018 12:49:00 +0200
Subject: [PATCH 04/24] Show APN Settings for CDMA carriers Subject: [PATCH 04/28] Show APN Settings for CDMA carriers
--- ---
telephony/java/android/telephony/CarrierConfigManager.java | 2 +- telephony/java/android/telephony/CarrierConfigManager.java | 2 +-

View File

@ -1,7 +1,7 @@
From a80899cb43a7a0876e2484807dea69c7ddb0b3be Mon Sep 17 00:00:00 2001 From b9d12e89208f1b10efbf6d64b9c1b8613b6b336c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 8 Nov 2018 23:04:03 +0100 Date: Thu, 8 Nov 2018 23:04:03 +0100
Subject: [PATCH 05/24] Re-order services so that it works even without qtaguid Subject: [PATCH 05/28] Re-order services so that it works even without qtaguid
Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
--- ---
@ -9,10 +9,10 @@ Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
1 file changed, 4 insertions(+), 4 deletions(-) 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 diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index cfefffcdd2e8..197fed7c8834 100644 index 9c664b6da4f2..8ebcfb667161 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -845,6 +845,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @@ -878,6 +878,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady"); Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady");
final int oldPriority = Process.getThreadPriority(Process.myTid()); final int oldPriority = Process.getThreadPriority(Process.myTid());
try { try {
@ -23,7 +23,7 @@ index cfefffcdd2e8..197fed7c8834 100644
// Boost thread's priority during system server init // Boost thread's priority during system server init
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND); Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
if (!isBandwidthControlEnabled()) { if (!isBandwidthControlEnabled()) {
@@ -852,10 +856,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @@ -885,10 +889,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
return; return;
} }

View File

@ -1,7 +1,7 @@
From b16ff9568fb76c327e71d32878c6b182a3d8acd4 Mon Sep 17 00:00:00 2001 From 073b07985a88b4ab54a9451503d58070de0f0721 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 24 Mar 2019 23:05:14 +0100 Date: Sun, 24 Mar 2019 23:05:14 +0100
Subject: [PATCH 06/24] Support samsung Pie and Q light hal Subject: [PATCH 06/28] Support samsung Pie and Q light hal
Change-Id: I01f94acd7d0672733e48854d80368f9ac6f861c6 Change-Id: I01f94acd7d0672733e48854d80368f9ac6f861c6
--- ---
@ -23,10 +23,10 @@ index 81532bcba0ae..8ddc16aae3d7 100644
static_libs: [ static_libs: [
diff --git a/services/core/jni/com_android_server_lights_LightsService.cpp b/services/core/jni/com_android_server_lights_LightsService.cpp diff --git a/services/core/jni/com_android_server_lights_LightsService.cpp b/services/core/jni/com_android_server_lights_LightsService.cpp
index 26f6d7428fcc..268b59a58010 100644 index 35d8219651d7..b45b2137d0e6 100644
--- a/services/core/jni/com_android_server_lights_LightsService.cpp --- a/services/core/jni/com_android_server_lights_LightsService.cpp
+++ b/services/core/jni/com_android_server_lights_LightsService.cpp +++ b/services/core/jni/com_android_server_lights_LightsService.cpp
@@ -22,6 +22,10 @@ @@ -23,6 +23,10 @@
#include <android/hardware/light/2.0/ILight.h> #include <android/hardware/light/2.0/ILight.h>
#include <android/hardware/light/2.0/types.h> #include <android/hardware/light/2.0/types.h>
@ -37,7 +37,7 @@ index 26f6d7428fcc..268b59a58010 100644
#include <android-base/chrono_utils.h> #include <android-base/chrono_utils.h>
#include <utils/misc.h> #include <utils/misc.h>
#include <utils/Log.h> #include <utils/Log.h>
@@ -39,8 +43,17 @@ using Type = ::android::hardware::light::V2_0::Type; @@ -40,8 +44,17 @@ using Type = ::android::hardware::light::V2_0::Type;
template<typename T> template<typename T>
using Return = ::android::hardware::Return<T>; using Return = ::android::hardware::Return<T>;
@ -55,8 +55,8 @@ index 26f6d7428fcc..268b59a58010 100644
static bool validate(jint light, jint flash, jint brightness) { static bool validate(jint light, jint flash, jint brightness) {
bool valid = true; bool valid = true;
@@ -141,6 +154,44 @@ static void setLight_native( @@ -152,6 +165,44 @@ static void setLight_native(
return; colorARGB = (colorAlpha << 24) + (colorARGB & 0x00FFFFFF);
} }
+ if(!sSecTried) { + if(!sSecTried) {

View File

@ -1,7 +1,7 @@
From 14f642d18be9bb7de7ea4409021880d8ae0c279b Mon Sep 17 00:00:00 2001 From 489e8a00a23c0dd6fbef5f1e69b2f7ed3fbc04d7 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 12 Aug 2019 23:08:26 +0200 Date: Mon, 12 Aug 2019 23:08:26 +0200
Subject: [PATCH 07/24] Add support for samsung touch, physical and hover Subject: [PATCH 07/28] Add support for samsung touch, physical and hover
proximity sensor as fallback to real proximity sensor proximity sensor as fallback to real proximity sensor
Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865 Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865
@ -10,10 +10,10 @@ Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865
1 file changed, 35 insertions(+) 1 file changed, 35 insertions(+)
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 1224902aa7be..00fab25350dc 100644 index f543a562687c..82b1260e79dc 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java --- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -1700,6 +1700,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @@ -1726,6 +1726,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
? Sensor.TYPE_PROXIMITY : SensorUtils.NO_FALLBACK; ? Sensor.TYPE_PROXIMITY : SensorUtils.NO_FALLBACK;
mProximitySensor = SensorUtils.findSensor(mSensorManager, proxSensor.type, proxSensor.name, mProximitySensor = SensorUtils.findSensor(mSensorManager, proxSensor.type, proxSensor.name,
fallbackType); fallbackType);
@ -41,7 +41,7 @@ index 1224902aa7be..00fab25350dc 100644
if (mProximitySensor != null) { if (mProximitySensor != null) {
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(), mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
TYPICAL_PROXIMITY_THRESHOLD); TYPICAL_PROXIMITY_THRESHOLD);
@@ -2465,6 +2486,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @@ -2491,6 +2512,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
public void onSensorChanged(SensorEvent event) { public void onSensorChanged(SensorEvent event) {
if (mProximitySensorEnabled) { if (mProximitySensorEnabled) {
final long time = SystemClock.uptimeMillis(); final long time = SystemClock.uptimeMillis();

View File

@ -1,7 +1,7 @@
From 433f76bd4145480f67496d409e01a0f8b235879f Mon Sep 17 00:00:00 2001 From e69df4088c108effd45e8741047ee1afd8ca2ce5 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 5 Apr 2020 16:32:46 +0200 Date: Sun, 5 Apr 2020 16:32:46 +0200
Subject: [PATCH 08/24] Always allow overriding the number of work profiles Subject: [PATCH 08/28] Always allow overriding the number of work profiles
Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a
--- ---

View File

@ -1,7 +1,7 @@
From 2e867d814f8f7675058085aea23b5cb95f8588f9 Mon Sep 17 00:00:00 2001 From 901baaf78da74754054309406fb5211170a38552 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 6 Jun 2020 18:21:56 +0200 Date: Sat, 6 Jun 2020 18:21:56 +0200
Subject: [PATCH 09/24] HOME deserves to wake-up devices just as well as back Subject: [PATCH 09/28] HOME deserves to wake-up devices just as well as back
and menu and menu
Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a
@ -10,12 +10,12 @@ Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index cda9b233576c..bb35e3172165 100644 index 63fa3323b5b5..b1a845990df3 100644
--- a/core/java/android/view/KeyEvent.java --- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java
@@ -1988,6 +1988,7 @@ public class KeyEvent extends InputEvent implements Parcelable { @@ -1995,6 +1995,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
switch (keyCode) {
case KeyEvent.KEYCODE_CAMERA: case KeyEvent.KEYCODE_CAMERA:
case KeyEvent.KEYCODE_FOCUS:
case KeyEvent.KEYCODE_MENU: case KeyEvent.KEYCODE_MENU:
+ case KeyEvent.KEYCODE_HOME: + case KeyEvent.KEYCODE_HOME:
case KeyEvent.KEYCODE_PAIRING: case KeyEvent.KEYCODE_PAIRING:

View File

@ -1,7 +1,7 @@
From acf92f0e0d9efaf2453aacb16b58eccb914094c4 Mon Sep 17 00:00:00 2001 From 14e1ced9fe14016d081618bb41a451227cd538d8 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 29 Sep 2020 22:39:47 +0200 Date: Tue, 29 Sep 2020 22:39:47 +0200
Subject: [PATCH 10/24] Some devices have proximity sensor reporting NaN as max Subject: [PATCH 10/28] Some devices have proximity sensor reporting NaN as max
range for some reason. Make them behave standard way by setting 5 cm range for some reason. Make them behave standard way by setting 5 cm
Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612 Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
@ -10,10 +10,10 @@ Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 00fab25350dc..3c49a01e00b4 100644 index 82b1260e79dc..a9de9e1ff19a 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java --- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -1724,6 +1724,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @@ -1750,6 +1750,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
if (mProximitySensor != null) { if (mProximitySensor != null) {
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(), mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
TYPICAL_PROXIMITY_THRESHOLD); TYPICAL_PROXIMITY_THRESHOLD);

View File

@ -1,7 +1,7 @@
From cc5cb64f17283c81d884e75ee38ef6c292d3ca46 Mon Sep 17 00:00:00 2001 From f8fb9e614a976c475edc26770347f9eee623d85c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 29 Sep 2020 22:40:10 +0200 Date: Tue, 29 Sep 2020 22:40:10 +0200
Subject: [PATCH 11/24] Fix brightness range not being complete on Samsung Subject: [PATCH 11/28] Fix brightness range not being complete on Samsung
devices devices
On some devices, minimum brightness is 0, which totally messes with On some devices, minimum brightness is 0, which totally messes with
@ -15,10 +15,10 @@ Change-Id: I4d97cbc32490949e83272b81ec6320a5483310b1
1 file changed, 4 insertions(+), 2 deletions(-) 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index f0ebe290c837..76af7630819c 100644 index 62d9991254bd..24932bd4d201 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java --- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -993,9 +993,11 @@ public final class PowerManagerService extends SystemService @@ -1040,9 +1040,11 @@ public final class PowerManagerService extends SystemService
if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG
|| def == INVALID_BRIGHTNESS_IN_CONFIG) { || def == INVALID_BRIGHTNESS_IN_CONFIG) {

View File

@ -1,7 +1,7 @@
From 42ab9d35ed55b576d7e7257a18fd984c79d63b9b Mon Sep 17 00:00:00 2001 From ccb4d4cf65dcb79d237caa9192bb863ef5809edd Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 25 Oct 2020 23:57:26 +0100 Date: Sun, 25 Oct 2020 23:57:26 +0100
Subject: [PATCH 12/24] Re-implement fnmatch-like behaviour for RRO java-side Subject: [PATCH 12/28] Re-implement fnmatch-like behaviour for RRO java-side
Change-Id: Id38292a9a1453aa87b8401c1fdb390fa4e63c7d1 Change-Id: Id38292a9a1453aa87b8401c1fdb390fa4e63c7d1
--- ---

View File

@ -1,7 +1,7 @@
From 2319811d1b5e5055c236807ce0ff8be759056741 Mon Sep 17 00:00:00 2001 From 924e19514d9bc0c67c64560fba9d7fc3432e8981 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 6 Dec 2020 12:20:08 +0100 Date: Sun, 6 Dec 2020 12:20:08 +0100
Subject: [PATCH 13/24] Make rounded corners padding overridable with Subject: [PATCH 13/28] Make rounded corners padding overridable with
persist.sys.phh.rounded_corners_padding persist.sys.phh.rounded_corners_padding
Change-Id: I481c1c8849b2f22a7cdfb2896a6d3c2e7e3b44d9 Change-Id: I481c1c8849b2f22a7cdfb2896a6d3c2e7e3b44d9
@ -12,7 +12,7 @@ Change-Id: I481c1c8849b2f22a7cdfb2896a6d3c2e7e3b44d9
3 files changed, 14 insertions(+), 5 deletions(-) 3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index 84b961e7c48a..a5150000f47c 100644 index d2af6f88915f..3478ec463573 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -22,6 +22,7 @@ import android.content.res.Configuration; @@ -22,6 +22,7 @@ import android.content.res.Configuration;
@ -23,7 +23,7 @@ index 84b961e7c48a..a5150000f47c 100644
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Pair; import android.util.Pair;
import android.view.DisplayCutout; import android.view.DisplayCutout;
@@ -234,8 +235,10 @@ public class QuickStatusBarHeader extends FrameLayout { @@ -238,8 +239,10 @@ public class QuickStatusBarHeader extends FrameLayout implements TunerService.Tu
mConfigShowBatteryEstimate = resources.getBoolean(R.bool.config_showBatteryEstimateQSBH); mConfigShowBatteryEstimate = resources.getBoolean(R.bool.config_showBatteryEstimateQSBH);
@ -37,7 +37,7 @@ index 84b961e7c48a..a5150000f47c 100644
int qsOffsetHeight = resources.getDimensionPixelSize( int qsOffsetHeight = resources.getDimensionPixelSize(
com.android.internal.R.dimen.quick_qs_offset_height); com.android.internal.R.dimen.quick_qs_offset_height);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 788665269edb..f9c6ebbd26e3 100644 index c1191aa71ef4..a32e7c4765ef 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -30,6 +30,7 @@ import android.graphics.Color; @@ -30,6 +30,7 @@ import android.graphics.Color;
@ -48,10 +48,10 @@ index 788665269edb..f9c6ebbd26e3 100644
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Pair; import android.util.Pair;
import android.util.TypedValue; import android.util.TypedValue;
@@ -196,8 +197,10 @@ public class KeyguardStatusBarView extends RelativeLayout implements @@ -193,8 +194,10 @@ public class KeyguardStatusBarView extends RelativeLayout implements
R.dimen.ongoing_appops_dot_min_padding);
mCutoutSideNudge = getResources().getDimensionPixelSize(
R.dimen.display_cutout_margin_consumption); R.dimen.display_cutout_margin_consumption);
mShowPercentAvailable = getContext().getResources().getBoolean(
com.android.internal.R.bool.config_battery_percentage_setting_available);
- mRoundedCornerPadding = res.getDimensionPixelSize( - mRoundedCornerPadding = res.getDimensionPixelSize(
- R.dimen.rounded_corner_content_padding); - R.dimen.rounded_corner_content_padding);
+ mRoundedCornerPadding = SystemProperties.getInt("persist.sys.phh.rounded_corners_padding", -1); + mRoundedCornerPadding = SystemProperties.getInt("persist.sys.phh.rounded_corners_padding", -1);

View File

@ -1,7 +1,7 @@
From 3e636d6cf6d3f10c5578ba79f8246278b5b1205f Mon Sep 17 00:00:00 2001 From dd87ec1187b8be38995b734dbdfe3598dfd59cdb Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 11 Dec 2020 14:41:09 +0100 Date: Fri, 11 Dec 2020 14:41:09 +0100
Subject: [PATCH 14/24] Remove useless notification about "console" service Subject: [PATCH 14/28] Remove useless notification about "console" service
being running being running
--- ---

View File

@ -1,7 +1,7 @@
From b78db2908f199c2ecdbb2c9e8f08cc96c399d986 Mon Sep 17 00:00:00 2001 From bdffa8303310e05d4fba777d5f1e00b62d20db19 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net> From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 21:24:12 +0800 Date: Wed, 16 Dec 2020 21:24:12 +0800
Subject: [PATCH 15/24] Revert "Remove unused SystemProperties.set" Subject: [PATCH 15/28] Revert "Remove unused SystemProperties.set"
This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f. This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f.

View File

@ -1,7 +1,7 @@
From 557bd0cca4cee3c3137cba9035eb254772436eae Mon Sep 17 00:00:00 2001 From 6384008d3e04db21fe384cba9879b915cded98ab Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net> From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 13:46:15 +0800 Date: Wed, 16 Dec 2020 13:46:15 +0800
Subject: [PATCH 16/24] TelephonyManager: bring back getNetworkClass() Subject: [PATCH 16/28] TelephonyManager: bring back getNetworkClass()
This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf. This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf.

View File

@ -1,7 +1,7 @@
From b51669eff63818a15122ee274e50792b2772ecba Mon Sep 17 00:00:00 2001 From 3026abf6ca577e885c2481c39826b16104a49ac2 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net> From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 21:26:45 +0800 Date: Wed, 16 Dec 2020 21:26:45 +0800
Subject: [PATCH 17/24] TelephonyManager: add API annotations for Subject: [PATCH 17/28] TelephonyManager: add API annotations for
setTelephonyProperty setTelephonyProperty
* This method was added back by reverting commit * This method was added back by reverting commit

View File

@ -1,7 +1,7 @@
From 9b926fe1972bf2f8139a8a00b2f452d4e3cabdea Mon Sep 17 00:00:00 2001 From 78a5652a8d86f51f479ced7b08864fe71f630905 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com> From: Alberto Ponces <ponces26@gmail.com>
Date: Tue, 2 Feb 2021 10:20:51 +0000 Date: Tue, 2 Feb 2021 10:20:51 +0000
Subject: [PATCH 18/24] Fix Wakelock issue Subject: [PATCH 18/28] Fix Wakelock issue
Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only releasing a wakelock that was not already released Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only releasing a wakelock that was not already released
--- ---

View File

@ -1,7 +1,7 @@
From ec9c979cb9c2399380292d775d068ce596ba855d Mon Sep 17 00:00:00 2001 From 2cb4389377b69c5e53101536333838c6aa63d4fa Mon Sep 17 00:00:00 2001
From: Arne Coucheron <arco68@gmail.com> From: Arne Coucheron <arco68@gmail.com>
Date: Thu, 5 Nov 2020 05:38:44 +0100 Date: Thu, 5 Nov 2020 05:38:44 +0100
Subject: [PATCH 19/24] SystemUI: Use AVCProfileMain for screen recorder Subject: [PATCH 19/28] SystemUI: Use AVCProfileMain for screen recorder
Some devices don't support the High profile very well. Some devices don't support the High profile very well.
Use Main profile, which is more compatible, so they Use Main profile, which is more compatible, so they

View File

@ -1,7 +1,7 @@
From e63f6286978d095c26a24253b503c3964db6ab68 Mon Sep 17 00:00:00 2001 From 357f0fac32fc59b8f6349febd3a65f2ffb820279 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 20 Mar 2021 14:31:01 +0100 Date: Sat, 20 Mar 2021 14:31:01 +0100
Subject: [PATCH 20/24] Automatically detect pick up sensor, so that an overlay Subject: [PATCH 20/28] Automatically detect pick up sensor, so that an overlay
is required for the sole purpose of enabling pulse doze on pick up sensor is required for the sole purpose of enabling pulse doze on pick up sensor
--- ---

View File

@ -1,7 +1,7 @@
From 69a948909ec0ac6d2fb89fdfeadee0df09437df0 Mon Sep 17 00:00:00 2001 From f4f5e6173024f2057f4d4ffcdc77028d03b004e2 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 23 Mar 2021 19:43:26 +0100 Date: Tue, 23 Mar 2021 19:43:26 +0100
Subject: [PATCH 21/24] Catch broken mainBuiltInDisplayCutoutRectApproximation Subject: [PATCH 21/28] Catch broken mainBuiltInDisplayCutoutRectApproximation
Some devices (Redmi Note 9T) have: Some devices (Redmi Note 9T) have:
mainBuiltInDisplayCutoutRectApproximation = @android:mainBuiltInDisplayCutout mainBuiltInDisplayCutoutRectApproximation = @android:mainBuiltInDisplayCutout

View File

@ -1,7 +1,7 @@
From 97d62e3f56c39729d3756166599999216fbc2639 Mon Sep 17 00:00:00 2001 From 0935d80aa90b9575b77bd55a37432a5f4a6c3747 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 24 Mar 2018 08:01:48 +0100 Date: Sat, 24 Mar 2018 08:01:48 +0100
Subject: [PATCH 22/24] backlight: Fix backlight control on Galaxy S9(+) Subject: [PATCH 22/28] backlight: Fix backlight control on Galaxy S9(+)
Change-Id: I1fbbb47939c377597ef8ad6b88b2acea5f4acaa6 Change-Id: I1fbbb47939c377597ef8ad6b88b2acea5f4acaa6
@ -53,10 +53,10 @@ Change-Id: I4e85178327d2bb63d5d0a37786058843662a89ba
1 file changed, 46 insertions(+) 1 file changed, 46 insertions(+)
diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
index 91f14de040fe..8fa9c4f3a698 100644 index fea6b29d9260..caf9eba7d9a8 100644
--- a/services/core/java/com/android/server/lights/LightsService.java --- a/services/core/java/com/android/server/lights/LightsService.java
+++ b/services/core/java/com/android/server/lights/LightsService.java +++ b/services/core/java/com/android/server/lights/LightsService.java
@@ -31,6 +31,7 @@ import android.os.IBinder; @@ -32,6 +32,7 @@ import android.os.IBinder;
import android.os.Looper; import android.os.Looper;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
@ -64,7 +64,7 @@ index 91f14de040fe..8fa9c4f3a698 100644
import android.os.Trace; import android.os.Trace;
import android.provider.Settings; import android.provider.Settings;
import android.util.Slog; import android.util.Slog;
@@ -294,6 +295,51 @@ public class LightsService extends SystemService { @@ -295,6 +296,51 @@ public class LightsService extends SystemService {
return; return;
} }
int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness); int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness);

View File

@ -1,7 +1,7 @@
From 38da0b29efb2577ebd9295a45617160e3caec696 Mon Sep 17 00:00:00 2001 From 7b0c25ae3dfe6af5d9d9a2b2518964f7c5f034bf Mon Sep 17 00:00:00 2001
From: Danny Lin <danny@kdrag0n.dev> From: Danny Lin <danny@kdrag0n.dev>
Date: Sat, 16 Oct 2021 05:27:57 -0700 Date: Sat, 16 Oct 2021 05:27:57 -0700
Subject: [PATCH 23/24] Add support for app signature spoofing Subject: [PATCH 23/28] Add support for app signature spoofing
This is needed by microG GmsCore to pretend to be the official Google This is needed by microG GmsCore to pretend to be the official Google
Play Services package, because client apps check the package signature Play Services package, because client apps check the package signature
@ -56,10 +56,10 @@ index 1de47b548a5c..52c7ea2e1321 100644
field public static final String MICROPHONE = "android.permission-group.MICROPHONE"; field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES"; field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index cd6af189a04a..318a7f06494e 100644 index 76b8547cea2a..8bd3206d1e3a 100644
--- a/core/res/AndroidManifest.xml --- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml
@@ -3189,6 +3189,21 @@ @@ -3199,6 +3199,21 @@
android:description="@string/permdesc_getPackageSize" android:description="@string/permdesc_getPackageSize"
android:protectionLevel="normal" /> android:protectionLevel="normal" />
@ -105,7 +105,7 @@ index b58638cc3ade..8cf98fa56bf6 100644
<string name="permlab_statusBar">disable or modify status bar</string> <string name="permlab_statusBar">disable or modify status bar</string>
<!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index b77483012ee8..04f55ae83ef0 100644 index f69922f64787..7d0ba265ff7e 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java --- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -3325,6 +3325,29 @@ public class PackageManagerService extends IPackageManager.Stub @@ -3325,6 +3325,29 @@ public class PackageManagerService extends IPackageManager.Stub

View File

@ -1,7 +1,7 @@
From 4881811426c4f2f28d1f053ef73441c53d1238a5 Mon Sep 17 00:00:00 2001 From 7003808f45a75893726d4073da9132c314091e98 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com> From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 4 Sep 2021 08:26:30 +0000 Date: Sat, 4 Sep 2021 08:26:30 +0000
Subject: [PATCH 24/24] Revert "Switch long-press power behavior in AOSP." Subject: [PATCH 24/28] Revert "Switch long-press power behavior in AOSP."
This reverts commit 803c77a0a24624111944832098c6f65158051dc4. This reverts commit 803c77a0a24624111944832098c6f65158051dc4.
--- ---
@ -9,19 +9,19 @@ This reverts commit 803c77a0a24624111944832098c6f65158051dc4.
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 0abeff91e511..b7dfd49b7b78 100644 index 380f2b362668..3ce1886fef6d 100644
--- a/core/res/res/values/config.xml --- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml
@@ -955,7 +955,7 @@ @@ -956,7 +956,7 @@
4 - Go to voice assist
5 - Go to assistant (Settings.Secure.ASSISTANT) 5 - Go to assistant (Settings.Secure.ASSISTANT)
6 - Toggle torch on / off (if screen is off)
--> -->
- <integer name="config_longPressOnPowerBehavior">5</integer> - <integer name="config_longPressOnPowerBehavior">5</integer>
+ <integer name="config_longPressOnPowerBehavior">1</integer> + <integer name="config_longPressOnPowerBehavior">1</integer>
<!-- The time in milliseconds after which a press on power button is considered "long". --> <!-- The time in milliseconds after which a press on power button is considered "long". -->
<integer name="config_longPressOnPowerDurationMs">500</integer> <integer name="config_longPressOnPowerDurationMs">500</integer>
@@ -987,7 +987,7 @@ @@ -988,7 +988,7 @@
1 - Mute toggle 1 - Mute toggle
2 - Global actions menu 2 - Global actions menu
--> -->

View File

@ -0,0 +1,28 @@
From 72faf5ce1446d48e39961177519c92359e066312 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 17 Dec 2021 17:16:14 -0500
Subject: [PATCH 25/28] Reduce the size of udfps enroll progress bar. Some
devices have their udfps pretty low, and the progress bar would make the icon
at the wrong place
Change-Id: I1609ad9ca316293dcaaf07f7e681d11aadfcd29c
---
packages/SystemUI/res/values/config.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index dbbb54f7ad6e..d0098b32f384 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -637,7 +637,7 @@
<!-- The radius of the enrollment progress bar, in dp -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">
- 280
+ 70
</integer>
<!-- package name of a built-in camera app to use to restrict implicit intent resolution
--
2.25.1

View File

@ -0,0 +1,592 @@
From 380896691e59acbc1af203a2433adaba68c1b5ee Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 19 Dec 2021 17:08:22 -0500
Subject: [PATCH 26/28] Add UDFPS support for various devices
Successfully tested on Galaxy A51, Xiaomi Mi 9, and OnePlus Nord 2
- Detect UDFPS properties (udfps support and x/y/r) based on
OEM-specific methods
- Hardcode UDFPS properties for some devices
- Call OEM-specific functions on touchDown/touchUp
Change-Id: I9448f06a46c178652f5b216717d914b8db55c993
---
.../systemui/biometrics/UdfpsSurfaceView.java | 2 +-
.../systemui/biometrics/UdfpsView.java | 53 +++-
services/core/Android.bp | 4 +
.../server/biometrics/AuthService.java | 262 +++++++++++++++++-
.../sensors/fingerprint/UdfpsHelper.java | 115 +++++++-
5 files changed, 418 insertions(+), 18 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java
index 77fad35d32d4..51409b9c533a 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java
@@ -69,7 +69,7 @@ public class UdfpsSurfaceView extends SurfaceView implements SurfaceHolder.Callb
mSensorPaint = new Paint(0 /* flags */);
mSensorPaint.setAntiAlias(true);
- mSensorPaint.setARGB(255, 255, 255, 255);
+ mSensorPaint.setARGB(255, 0, 255, 0);
mSensorPaint.setStyle(Paint.Style.FILL);
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java
index 8a213ec502e4..335edf4819de 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java
@@ -41,6 +41,12 @@ import com.android.systemui.R;
import com.android.systemui.biometrics.UdfpsHbmTypes.HbmType;
import com.android.systemui.doze.DozeReceiver;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.PrintWriter;
+
+
/**
* A view containing 1) A SurfaceView for HBM, and 2) A normal drawable view for all other
* animations.
@@ -50,7 +56,7 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin
private static final String SETTING_HBM_TYPE =
"com.android.systemui.biometrics.UdfpsSurfaceView.hbmType";
- private static final @HbmType int DEFAULT_HBM_TYPE = UdfpsHbmTypes.LOCAL_HBM;
+ private static final @HbmType int DEFAULT_HBM_TYPE = UdfpsHbmTypes.GLOBAL_HBM;
private static final int DEBUG_TEXT_SIZE_PX = 32;
@@ -70,6 +76,49 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin
@Nullable private String mDebugMessage;
private boolean mIlluminationRequested;
+ public static void samsungCmd(String cmd) {
+ try {
+ writeFile("/sys/devices/virtual/sec/tsp/cmd", cmd);
+
+ String status = readFile("/sys/devices/virtual/sec/tsp/cmd_status");
+ String ret = readFile("/sys/devices/virtual/sec/tsp/cmd_result");
+
+ android.util.Log.d("PHH", "Sending command " + cmd + " returned " + ret + ":" + status);
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed sending command " + cmd, e);
+ }
+ }
+ private static void writeFile(String path, String value) {
+ try {
+ PrintWriter writer = new PrintWriter(path, "UTF-8");
+ writer.println(value);
+ writer.close();
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed writing to " + path + ": " + value);
+ }
+ }
+
+ private static void writeFile(File file, String value) {
+ try {
+ PrintWriter writer = new PrintWriter(file, "UTF-8");
+ writer.println(value);
+ writer.close();
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed writing to " + file + ": " + value);
+ }
+ }
+ private static String readFile(String path) {
+ try {
+ File f = new File(path);
+
+ BufferedReader b = new BufferedReader(new FileReader(f));
+ return b.readLine();
+ } catch(Exception e) {
+ return null;
+ }
+ }
+
+
public UdfpsView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -252,6 +301,8 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin
Log.w(TAG, "doIlluminate | onIlluminatedRunnable is null");
}
});
+ } else if (mGhbmView != null) {
+ mGhbmView.drawIlluminationDot(mSensorRect);
}
}
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 89e4b02e7944..9270e81cb4b5 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -157,6 +157,10 @@ java_library_static {
"android.hardware.soundtrigger-V2.3-java",
"android.hardware.power.stats-V1-java",
"android.hidl.manager-V1.2-java",
+ "vendor.goodix.hardware.biometrics.fingerprint-V2.1-java",
+ "vendor.samsung.hardware.biometrics.fingerprint-V3.0-java",
+ "vendor.oplus.hardware.biometrics.fingerprint-V2.1-java",
+ "vendor.oppo.hardware.biometrics.fingerprint-V2.1-java",
"capture_state_listener-aidl-java",
"icu4j_calendar_astronomer",
"netd-client",
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
index b42f8980d1c0..41a04b8b5056 100644
--- a/services/core/java/com/android/server/biometrics/AuthService.java
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
@@ -72,6 +72,21 @@ import com.android.server.SystemService;
import java.util.ArrayList;
import java.util.List;
+import android.hardware.display.DisplayManager;
+
+import android.graphics.Point;
+import android.util.DisplayMetrics;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.PrintWriter;
+
+import android.os.FileObserver;
+import android.os.Build;
+
+import vendor.samsung.hardware.biometrics.fingerprint.V3_0.ISehBiometricsFingerprint;
+import vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon;
+
/**
* System service that provides an interface for authenticating with biometrics and
* PIN/pattern/password to BiometricPrompt and lock screen.
@@ -88,6 +103,9 @@ public class AuthService extends SystemService {
@VisibleForTesting
final IAuthService.Stub mImpl;
+ private FileObserver fodFileObserver = null;
+ private ISehBiometricsFingerprint mSamsungFingerprint = null;
+
/**
* Class for injecting dependencies into AuthService.
* TODO(b/141025588): Replace with a dependency injection framework (e.g. Guice, Dagger).
@@ -636,6 +654,68 @@ public class AuthService extends SystemService {
registerAuthenticators(hidlConfigs);
mInjector.publishBinderService(this, mImpl);
+ try {
+ mSamsungFingerprint = ISehBiometricsFingerprint.getService();
+ android.util.Log.e("PHH", "Got samsung fingerprint HAL");
+ } catch(Exception e) {
+ android.util.Log.e("PHH", "Failed getting Samsung fingerprint HAL", e);
+ }
+ if(samsungHasCmd("fod_enable") && mSamsungFingerprint != null) {
+ samsungCmd("fod_enable,1,1,0");
+ String actualMaskBrightnessPath = "/sys/class/lcd/panel/actual_mask_brightness";
+ android.util.Log.e("PHH-Enroll", "Reading actual brightness file gives " + readFile(actualMaskBrightnessPath));
+ fodFileObserver = new FileObserver(actualMaskBrightnessPath, FileObserver.MODIFY) {
+ @Override
+ public void onEvent(int event, String path) {
+ String actualMask = readFile(actualMaskBrightnessPath);
+ try {
+ mSamsungFingerprint = ISehBiometricsFingerprint.getService();
+ } catch(Exception e) {}
+ Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask);
+ try {
+ int eventReq = 0;
+ if("0".equals(actualMask)) {
+ eventReq = 1; //released
+ } else {
+ eventReq = 2; //pressed
+ }
+ if(mSamsungFingerprint != null) {
+ mSamsungFingerprint.sehRequest(22 /* SEM_FINGER_STATE */, eventReq, new java.util.ArrayList<Byte>(),
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
+ }
+ } catch(Exception e) {
+ Slog.d("PHH-Enroll", "Failed setting samsung event for mask observer", e);
+ }
+ }
+ };
+ fodFileObserver.startWatching();
+ }
+ String asusSpotOnAchieved = "/sys/class/drm/spot_on_achieved";
+ if( (new File(asusSpotOnAchieved)).exists()) {
+ fodFileObserver = new FileObserver(asusSpotOnAchieved, FileObserver.MODIFY) {
+ boolean wasOn = false;
+ @Override
+ public void onEvent(int event, String path) {
+ String spotOn = readFile(asusSpotOnAchieved);
+ if("1".equals(spotOn)) {
+ if(!wasOn) {
+ try {
+ IGoodixFingerprintDaemon goodixDaemon = IGoodixFingerprintDaemon.getService();
+ goodixDaemon.sendCommand(200002, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code "+ returnCode);
+ });
+ } catch(Throwable t) {
+ Slog.d("PHH-Enroll", "Failed sending goodix command", t);
+ }
+ }
+ wasOn = true;
+ } else {
+ wasOn = false;
+ }
+ }
+ };
+ fodFileObserver.startWatching();
+ }
}
/**
@@ -734,19 +814,197 @@ public class AuthService extends SystemService {
? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL);
}
+ private static String readFile(String path) {
+ try {
+ File f = new File(path);
+
+ BufferedReader b = new BufferedReader(new FileReader(f));
+ return b.readLine();
+ } catch(Exception e) {
+ return null;
+ }
+ }
+
+ private static boolean samsungHasCmd(String cmd) {
+ try {
+ File f = new File("/sys/devices/virtual/sec/tsp/cmd_list");
+ if(!f.exists()) return false;
+
+ android.util.Log.d("PHH", "Managed to grab cmd list, checking...");
+ BufferedReader b = new BufferedReader(new FileReader(f));
+ String line = null;
+ while( (line = b.readLine()) != null) {
+ if(line.equals(cmd)) return true;
+ }
+ android.util.Log.d("PHH", "... nope");
+ return false;
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed reading cmd_list", e);
+ return false;
+ }
+ }
+
+ public static void samsungCmd(String cmd) {
+ try {
+ writeFile("/sys/devices/virtual/sec/tsp/cmd", cmd);
+
+ String status = readFile("/sys/devices/virtual/sec/tsp/cmd_status");
+ String ret = readFile("/sys/devices/virtual/sec/tsp/cmd_result");
+
+ android.util.Log.d("PHH", "Sending command " + cmd + " returned " + ret + ":" + status);
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed sending command " + cmd, e);
+ }
+ }
+
+ private static void writeFile(String path, String value) {
+ try {
+ PrintWriter writer = new PrintWriter(path, "UTF-8");
+ writer.println(value);
+ writer.close();
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed writing to " + path + ": " + value);
+ }
+ }
+
+ private static void writeFile(File file, String value) {
+ try {
+ PrintWriter writer = new PrintWriter(file, "UTF-8");
+ writer.println(value);
+ writer.close();
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed writing to " + file + ": " + value);
+ }
+ }
private FingerprintSensorPropertiesInternal getHidlFingerprintSensorProps(int sensorId,
@BiometricManager.Authenticators.Types int strength) {
// The existence of config_udfps_sensor_props indicates that the sensor is UDFPS.
- final int[] udfpsProps = getContext().getResources().getIntArray(
+ int[] udfpsProps = getContext().getResources().getIntArray(
com.android.internal.R.array.config_udfps_sensor_props);
- final boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps);
+ boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps);
// config_is_powerbutton_fps indicates whether device has a power button fingerprint sensor.
final boolean isPowerbuttonFps = getContext().getResources().getBoolean(
R.bool.config_is_powerbutton_fps);
+ DisplayManager mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE);
+ Point displayRealSize = new Point();
+ DisplayMetrics displayMetrics = new DisplayMetrics();
+ mDM.getDisplay(0).getRealSize(displayRealSize);
+ mDM.getDisplay(0).getMetrics(displayMetrics);
+
+ String[] xiaomiLocation = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.location.X_Y", "").split(",");
+ if(xiaomiLocation.length != 2)
+ xiaomiLocation = android.os.SystemProperties.get("persist.sys.fp.fod.location.X_Y", "").split(",");
+ String[] xiaomiSize = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.size.width_height", "").split(",");
+ if(xiaomiSize.length != 2)
+ xiaomiSize = android.os.SystemProperties.get("persist.sys.fp.fod.size.width_height", "").split(",");
+ if(xiaomiSize.length == 2 && xiaomiLocation.length == 2) {
+ udfpsProps = new int[3];
+ udfpsProps[0] = (int)displayRealSize.x/2;
+ udfpsProps[1] = Integer.parseInt(xiaomiLocation[1]);
+ udfpsProps[2] = Integer.parseInt(xiaomiSize[0])/2;
+ udfpsProps[1] += udfpsProps[2];
+ isUdfps = true;
+ }
+
+ if(readFile("/sys/class/fingerprint/fingerprint/position") != null) {
+ android.util.Log.d("PHH", "Samsung fingerprint");
+ String[] fodPositionArray = readFile("/sys/class/fingerprint/fingerprint/position").split(",");
+ float bottomMM = Float.parseFloat(fodPositionArray[0]);
+ float areaSizeMM = Float.parseFloat(fodPositionArray[5]);
+ float bottomInch = bottomMM * 0.0393700787f;
+ float areaSizeInch = areaSizeMM * 0.0393700787f;
+ int bottomPx = (int)(bottomInch * displayMetrics.ydpi);
+ int areaSizePx = (int)(areaSizeInch * displayMetrics.ydpi);
+ float mW = areaSizePx/2;
+ float mH = areaSizePx/2;
+ float mX = displayRealSize.x/2;
+ float mY = displayRealSize.y - bottomPx - mH;
+
+ samsungCmd(String.format("fod_rect,%d,%d,%d,%d", (int)(mX - mW/2), (int)(mY - mW/2), (int)(mX + mW/2), (int)(mY + mW/2)));
+
+ udfpsProps = new int[3];
+ udfpsProps[0] = (int)mX;
+ udfpsProps[1] = (int)mY;
+ udfpsProps[2] = (int)mW;
+ isUdfps = true;
+
+ try {
+ mSamsungFingerprint = ISehBiometricsFingerprint.getService();
+ Slog.d("PHH-Enroll", "Samsung ask for sensor status");
+ mSamsungFingerprint.sehRequest(6, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
+ Slog.d("PHH-Enroll", "Result is " + retval);
+ for(int i=0; i<out.size(); i++) {
+ Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
+ }
+ } );
+ Slog.d("PHH-Enroll", "Samsung ask for sensor brightness value");
+ mSamsungFingerprint.sehRequest(32, 0, new java.util.ArrayList(), (int retval, java.util.ArrayList<Byte> out) -> {
+ Slog.d("PHH-Enroll", "Result is " + retval);
+ for(int i=0; i<out.size(); i++) {
+ Slog.d("PHH-Enroll", "\t" + i + ":" + out.get(i));
+ }
+ } );
+
+ } catch(Exception e) {
+ Slog.d("PHH-Enroll", "Failed setting samsung3.0 fingerprint recognition", e);
+ }
+ }
+
+ int oppoSize = android.os.SystemProperties.getInt("persist.vendor.fingerprint.optical.iconsize", 0);
+ int oppoLocation = android.os.SystemProperties.getInt("persist.vendor.fingerprint.optical.iconlocation", 0);
+ if(oppoLocation > 0 && oppoSize > 0) {
+ int mW = oppoSize/2;
+ int mH = oppoSize/2;
+
+ Slog.d("PHH-Enroll", "Got Oppo icon location " + oppoLocation);
+ Slog.d("PHH-Enroll", "\tscreen size " + displayRealSize.x + ", " + displayRealSize.y);
+ int mX = displayRealSize.x/2;
+ //int mY = displayRealSize.y - oppoLocation + mW;
+ int mY = displayRealSize.y - oppoLocation;
+
+ Slog.d("PHH-Enroll", "\tfacola at " + mX + ", " + mY);
+ udfpsProps = new int[3];
+ udfpsProps[0] = (int)mX;
+ udfpsProps[1] = (int)mY;
+ udfpsProps[2] = (int)mW;
+ isUdfps = true;
+ }
+
+ // Asus ZF8
+ if(android.os.SystemProperties.get("ro.vendor.build.fingerprint").contains("ASUS_I006D")) {
+ udfpsProps = new int[3];
+ udfpsProps[0] = displayRealSize.x/2;;
+ udfpsProps[1] = 1741;
+ udfpsProps[2] = 110;
+ isUdfps = true;
+ }
+
+ // ROG Phone 3
+ if(android.os.SystemProperties.get("ro.vendor.build.fingerprint").contains("ASUS_I003")) {
+ udfpsProps = new int[3];
+ udfpsProps[0] = displayRealSize.x/2;;
+ udfpsProps[1] = 1752;
+ udfpsProps[2] = 110;
+ isUdfps = true;
+ }
+
+ // Redmagic 5g
+ if("NX659J".equals(android.os.SystemProperties.get("ro.product.vendor.model"))) {
+ udfpsProps = new int[3];
+ udfpsProps[0] = displayRealSize.x/2;;
+ udfpsProps[1] = 1984;
+ udfpsProps[2] = 95;
+ isUdfps = true;
+ }
+
+ if(udfpsProps.length > 0) {
+ Slog.d("PHH-Enroll", "Samsung got udfps infos " + udfpsProps[0] + ", " + udfpsProps[1] + ", " + udfpsProps[2]);
+ }
+
final @FingerprintSensorProperties.SensorType int sensorType;
if (isUdfps) {
sensorType = FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java
index 879c8a0317d7..d288acdc2ef5 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java
@@ -28,6 +28,10 @@ import android.util.Slog;
import com.android.server.biometrics.sensors.AcquisitionClient;
+import vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon;
+
+import java.io.PrintWriter;
+
/**
* Contains helper methods for under-display fingerprint HIDL.
*/
@@ -35,37 +39,120 @@ public class UdfpsHelper {
private static final String TAG = "UdfpsHelper";
+ private static void writeFile(String path, String value) {
+ try {
+ PrintWriter writer = new PrintWriter(path, "UTF-8");
+ writer.println(value);
+ writer.close();
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed writing to " + path + ": " + value);
+ }
+ }
+
+
public static void onFingerDown(IBiometricsFingerprint daemon, int x, int y, float minor,
float major) {
android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint extension =
- android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
- daemon);
- if (extension == null) {
- Slog.v(TAG, "onFingerDown | failed to cast the HIDL to V2_3");
+ android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
+ daemon);
+ if (extension != null) {
+ try {
+ extension.onFingerDown(x, y, minor, major);
+ return;
+ } catch (RemoteException e) {
+ Slog.e(TAG, "onFingerDown | RemoteException: ", e);
+ }
+ }
+
+ try {
+ // Asus goodix commands
+ IGoodixFingerprintDaemon goodixDaemon = IGoodixFingerprintDaemon.getService();
+ if(android.os.SystemProperties.get("ro.vendor.build.fingerprint").contains("ASUS")) {
+ goodixDaemon.sendCommand(200001, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code "+ returnCode);
+ });
+ } else {
+ //UI READY
+ goodixDaemon.sendCommand(0x600, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code "+ returnCode);
+ });
+ goodixDaemon.sendCommand(1607, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code "+ returnCode);
+ });
+ }
return;
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending goodix daemon cmd failed", t);
}
try {
- extension.onFingerDown(x, y, minor, major);
- } catch (RemoteException e) {
- Slog.e(TAG, "onFingerDown | RemoteException: ", e);
+ vendor.oplus.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint fp = vendor.oplus.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService();
+ writeFile("/sys/kernel/oppo_display/notify_fppress", "1");
+ writeFile("/sys/kernel/oplus_display/oplus_notify_fppress", "1");
+ fp.touchDown();
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending oplus daemon cmd failed", t);
}
+
+ try {
+ vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint fp = vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService();
+ writeFile("/sys/kernel/oppo_display/notify_fppress", "1");
+ writeFile("/sys/kernel/oplus_display/oplus_notify_fppress", "1");
+ fp.touchDown();
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending oplus daemon cmd failed", t);
+ }
+
+ Slog.v(TAG, "onFingerDown | failed to cast the HIDL to V2_3");
}
public static void onFingerUp(IBiometricsFingerprint daemon) {
android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint extension =
- android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
- daemon);
- if (extension == null) {
- Slog.v(TAG, "onFingerUp | failed to cast the HIDL to V2_3");
+ android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
+ daemon);
+ if (extension != null) {
+ try {
+ extension.onFingerUp();
+ return;
+ } catch (RemoteException e) {
+ Slog.e(TAG, "onFingerUp | RemoteException: ", e);
+ }
+ }
+
+ try {
+ IGoodixFingerprintDaemon goodixDaemon = IGoodixFingerprintDaemon.getService();
+ if(android.os.SystemProperties.get("ro.vendor.build.fingerprint").contains("ASUS")) {
+ goodixDaemon.sendCommand(200003, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code " + returnCode);
+ });
+ } else {
+ goodixDaemon.sendCommand(0x601, new java.util.ArrayList<Byte>(), (returnCode, resultData) -> {
+ Slog.e(TAG, "Goodix send command returned code "+ returnCode);
+ });
+ }
return;
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending goodix daemon cmd failed", t);
}
try {
- extension.onFingerUp();
- } catch (RemoteException e) {
- Slog.e(TAG, "onFingerUp | RemoteException: ", e);
+ vendor.oplus.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint fp = vendor.oplus.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService();
+ writeFile("/sys/kernel/oppo_display/notify_fppress", "0");
+ writeFile("/sys/kernel/oplus_display/oplus_notify_fppress", "0");
+ fp.touchUp();
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending oplus daemon cmd failed", t);
+ }
+
+ try {
+ vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint fp = vendor.oppo.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService();
+ writeFile("/sys/kernel/oppo_display/notify_fppress", "0");
+ writeFile("/sys/kernel/oplus_display/oplus_notify_fppress", "0");
+ fp.touchUp();
+ } catch(Throwable t) {
+ Slog.e(TAG, "Tried sending oplus daemon cmd failed", t);
}
+ Slog.v(TAG, "onFingerUp | failed to cast the HIDL to V2_3");
}
public static int getReasonFromEnrollReason(@FingerprintManager.EnrollReason int reason) {
--
2.25.1

View File

@ -0,0 +1,44 @@
From 8bee76c6e7f4524183ea134f59fd0254f958e07e Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 20 Dec 2021 15:01:41 -0500
Subject: [PATCH 27/28] Dynamically resize boot animation to match screen size
Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205
---
cmds/bootanimation/BootAnimation.cpp | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index 6c8cab7783b6..e4335cc03c23 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -583,6 +583,26 @@ status_t BootAnimation::readyToRun() {
mFlingerSurface = s;
mTargetInset = -1;
+ SLOGE("Got screen size %d, animation size %d", mWidth, mAnimation->width);
+ int origWidth = mAnimation->width;
+ if ( mAnimation->width*2 < mWidth ) {
+ SLOGE("Making animation bigger");
+ mAnimation->width *= 2;
+ mAnimation->height *= 2;
+ } else if ( mWidth < mAnimation->width ) {
+ SLOGE("Making animation smaller");
+ mAnimation->width /= 2;
+ mAnimation->height /= 2;
+ }
+ for (Animation::Part& part : mAnimation->parts) {
+ for(auto& frame: part.frames) {
+ if(frame.trimWidth == origWidth && frame.trimX == 0 && frame.trimY == 0) {
+ frame.trimWidth = mAnimation->width;
+ frame.trimHeight = mAnimation->height;
+ }
+ }
+ }
+
projectSceneToWindow();
// Register a display event receiver
--
2.25.1

View File

@ -0,0 +1,27 @@
From 16f900d9c0342636db048c22685d2a104a2a4e1f Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 27 Dec 2021 17:57:11 -0500
Subject: [PATCH 28/28] Once we integrate Samsung Power hal in libpowermanager,
libpowermanager and its deps require linking against
vendor.samsung.hardware.miscpower@2.0
Change-Id: I9084f64e505009abe9420d28b44199605cee52d8
---
services/core/jni/Android.bp | 1 +
1 file changed, 1 insertion(+)
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index 8ddc16aae3d7..806b92bcbdab 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -186,6 +186,7 @@ cc_defaults {
"vendor.lineage.power-V1-cpp",
"vendor.samsung.hardware.light@2.0",
"vendor.samsung.hardware.light@3.0",
+ "vendor.samsung.hardware.miscpower@2.0",
],
static_libs: [
--
2.25.1

View File

@ -1,8 +1,8 @@
From 0153bec21c46eab87c37fb0f5c3139567460f546 Mon Sep 17 00:00:00 2001 From 8a382e0be8155b21e0e99d03311476b8f0194736 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 14 Aug 2019 23:37:10 +0200 Date: Wed, 14 Aug 2019 23:37:10 +0200
Subject: [PATCH 1/7] On Samsung, we need to send a hack-message to HAL to get Subject: [PATCH 01/13] On Samsung, we need to send a hack-message to HAL to
all Sensors get all Sensors
Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376 Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376
--- ---
@ -33,5 +33,5 @@ index c233bf06cf..623ba66364 100644
[&](const auto &list) { [&](const auto &list) {
const size_t count = list.size(); const size_t count = list.size();
-- --
2.29.2 2.25.1

View File

@ -1,7 +1,8 @@
From d206a6984ac2d40d182a2b89abbb263d022cdf93 Mon Sep 17 00:00:00 2001 From dbad169717d4780128085b04ca5a6d39a2f0c5f0 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 10 Mar 2020 23:26:55 +0100 Date: Tue, 10 Mar 2020 23:26:55 +0100
Subject: [PATCH 2/7] Use BKK's hwcomposer hacks to properly display FOD layers Subject: [PATCH 02/13] Use BKK's hwcomposer hacks to properly display FOD
layers
Insecure hack: Set FOD layers to magical Z values to trigger Insecure hack: Set FOD layers to magical Z values to trigger
OPPO/Realme/Oneplus' whole blitter behaviours: OPPO/Realme/Oneplus' whole blitter behaviours:
@ -35,5 +36,5 @@ index 56e9d27f14..f804383fed 100644
ALOGE("[%s] Failed to set Z %u: %s (%d)", getLayerFE().getDebugName(), z, ALOGE("[%s] Failed to set Z %u: %s (%d)", getLayerFE().getDebugName(), z,
to_string(error).c_str(), static_cast<int32_t>(error)); to_string(error).c_str(), static_cast<int32_t>(error));
-- --
2.29.2 2.25.1

View File

@ -1,7 +1,7 @@
From 2579f0a4d5f45d8f6d4edcaa1727c06649b26c5a Mon Sep 17 00:00:00 2001 From dfc8b5d9b4b9011de99a6b61dc2469a0fe71fe7f Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 20 May 2020 21:16:56 +0200 Date: Wed, 20 May 2020 21:16:56 +0200
Subject: [PATCH 3/7] Samsung + Xiaomi new FOD HBM controls Subject: [PATCH 03/13] Samsung + Xiaomi new FOD HBM controls
Change-Id: I5ab27fa70882efa85f0c917bf31bb32adaa09bb1 Change-Id: I5ab27fa70882efa85f0c917bf31bb32adaa09bb1
--- ---
@ -117,5 +117,5 @@ index f804383fed..2b7bf25dc7 100644
if (auto error = hwcLayer->setZOrder(z); error != hal::Error::NONE) { if (auto error = hwcLayer->setZOrder(z); error != hal::Error::NONE) {
-- --
2.29.2 2.25.1

View File

@ -1,7 +1,7 @@
From 1cc2bcbb73c4664c9731260ebe39a776fab9e46e Mon Sep 17 00:00:00 2001 From 3da3fd1c7f9302110cf747e717d2d60307c023bf Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 22 Oct 2020 23:22:46 +0200 Date: Thu, 22 Oct 2020 23:22:46 +0200
Subject: [PATCH 4/7] Matching an input with a display uses uniqueId Subject: [PATCH 04/13] Matching an input with a display uses uniqueId
Not all devices have a `location`, notably bluetooth devices. Not all devices have a `location`, notably bluetooth devices.
However, we might still want to associate them with a screen, However, we might still want to associate them with a screen,
@ -31,5 +31,5 @@ index 7af014cb34..53ef86f1c9 100644
const std::unordered_map<std::string, uint8_t>& ports = config->portAssociations; const std::unordered_map<std::string, uint8_t>& ports = config->portAssociations;
const auto& displayPort = ports.find(inputPort); const auto& displayPort = ports.find(inputPort);
-- --
2.29.2 2.25.1

View File

@ -1,8 +1,8 @@
From 53d1d85b857bc668da93b6b264c3fa3093eb1e58 Mon Sep 17 00:00:00 2001 From 5f8dd3a2351d262cea42d7b17746349d20649271 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 5 Jan 2021 23:44:00 +0100 Date: Tue, 5 Jan 2021 23:44:00 +0100
Subject: [PATCH 5/7] unshared_oob didn't exist in O/P, so detect its supported Subject: [PATCH 05/13] unshared_oob didn't exist in O/P, so detect its
based on vndk version supported based on vndk version
--- ---
cmds/installd/migrate_legacy_obb_data.sh | 2 +- cmds/installd/migrate_legacy_obb_data.sh | 2 +-
@ -22,5 +22,5 @@ index 7399681c3e..9d5b73eae2 100644
rm -rf /data/media/0/Android/obb/test_probe rm -rf /data/media/0/Android/obb/test_probe
exit 0 exit 0
-- --
2.29.2 2.25.1

View File

@ -1,7 +1,7 @@
From 9c752c1b718a7f027da3cd647b88d1dc3af202f7 Mon Sep 17 00:00:00 2001 From dfd43b7f2773b8e413b41fac4d3b916658a55f6e Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 31 Mar 2021 23:36:03 +0200 Date: Wed, 31 Mar 2021 23:36:03 +0200
Subject: [PATCH 6/7] Remove Samsung system permission on sensors Subject: [PATCH 06/13] Remove Samsung system permission on sensors
--- ---
libs/sensor/Sensor.cpp | 1 + libs/sensor/Sensor.cpp | 1 +
@ -33,5 +33,5 @@ index 374b68fab5..ffc715fc07 100644
int32_t mRequiredAppOp; int32_t mRequiredAppOp;
int32_t mMaxDelay; int32_t mMaxDelay;
-- --
2.29.2 2.25.1

View File

@ -1,7 +1,7 @@
From 9b3166a5bdba49f210b1a9dac1c7a27f5e2cfdd2 Mon Sep 17 00:00:00 2001 From 3f8be28fc09a5d3dba6528be7f6144cecc804b17 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 20 Oct 2021 09:39:47 -0400 Date: Wed, 20 Oct 2021 09:39:47 -0400
Subject: [PATCH 7/7] Try to fallback mCallingSid to getpidcon Subject: [PATCH 07/13] Try to fallback mCallingSid to getpidcon
This is needed because old vendors (before April 2019 ~) don't support This is needed because old vendors (before April 2019 ~) don't support
reporting SELinux context of the caller. reporting SELinux context of the caller.
@ -14,7 +14,7 @@ Change-Id: I3b6c4dac9d0e20a3d66f931b283e3a535ab499cd
1 file changed, 21 insertions(+) 1 file changed, 21 insertions(+)
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index 445df9eeff..a5c4a7e106 100644 index c415ea02e2..66d790af4b 100644
--- a/libs/binder/IPCThreadState.cpp --- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp +++ b/libs/binder/IPCThreadState.cpp
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
@ -60,5 +60,5 @@ index 445df9eeff..a5c4a7e106 100644
mCallingUid = origUid; mCallingUid = origUid;
mStrictModePolicy = origStrictModePolicy; mStrictModePolicy = origStrictModePolicy;
-- --
2.29.2 2.25.1

View File

@ -0,0 +1,38 @@
From bcef77e6159b832ff4fccd6968b3f8c1fd9f24e1 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 12 Dec 2021 08:45:36 -0500
Subject: [PATCH 08/13] Mark accelerometer input as sensor exclusively if there
are ABS axis
The reason this is needed is that on -fucked up- Xiami Mi A2 Lite and
Galaxy J8, the input device reporting power button/vol- reports ACCELEROMETER
input prop.
This leads to wrong timestamping ioctl, leading to crashes and broken UI
Change-Id: I491ab89724c908ef09a23a6427d24a8889bf806a
---
services/inputflinger/reader/EventHub.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp
index b19b4195d1..7dd8eecdaf 100644
--- a/services/inputflinger/reader/EventHub.cpp
+++ b/services/inputflinger/reader/EventHub.cpp
@@ -2042,7 +2042,13 @@ void EventHub::openDeviceLocked(const std::string& devicePath) {
// Check whether this device is an accelerometer.
if (device->propBitmask.test(INPUT_PROP_ACCELEROMETER)) {
- device->classes |= InputDeviceClass::SENSOR;
+ bool hasAxis = false;
+ for (int i = 0; i <= ABS_MAX; i++) {
+ if (device->absBitmask.test(i)) hasAxis = true;
+ }
+ if(hasAxis) {
+ device->classes |= InputDeviceClass::SENSOR;
+ }
}
// Check whether this device has switches.
--
2.25.1

View File

@ -0,0 +1,96 @@
From 16f193c5d1d5a358a4d08432254477bdb69724ea Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 17 Dec 2021 17:18:20 -0500
Subject: [PATCH 09/13] On Samsung devices for FOD HBM, set specific usage bits
Change-Id: Ibe71e291c6fba9ce48e83a5fd93f1beae3a63bc7
---
libs/gui/BLASTBufferQueue.cpp | 19 +++++++++++++++++--
libs/ui/Gralloc2.cpp | 2 +-
libs/ui/Gralloc3.cpp | 2 +-
libs/ui/Gralloc4.cpp | 2 +-
4 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp
index 94e1ae1c74..d23fb53703 100644
--- a/libs/gui/BLASTBufferQueue.cpp
+++ b/libs/gui/BLASTBufferQueue.cpp
@@ -32,9 +32,19 @@
#include <utils/Trace.h>
#include <private/gui/ComposerService.h>
+#include <cutils/properties.h>
#include <chrono>
+
+static bool sCheckedProps = false;
+static bool sSamsungFod = false;
+static void init_fod_props() {
+ if(sCheckedProps) return;
+ sCheckedProps = true;
+ sSamsungFod = property_get_bool("persist.sys.phh.fod.samsung", false);
+}
+
using namespace std::chrono_literals;
namespace {
@@ -144,9 +154,14 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont
// safe default, most producers are expected to override this
mProducer->setMaxDequeuedBufferCount(2);
+ uint64_t usage = GraphicBuffer::USAGE_HW_COMPOSER |
+ GraphicBuffer::USAGE_HW_TEXTURE;
+ init_fod_props();
+ if(sSamsungFod && name.find("SurfaceView[UdfpsController]") != std::string::npos) {
+ usage |= 0x400000000LL;
+ }
mBufferItemConsumer = new BLASTBufferItemConsumer(mConsumer,
- GraphicBuffer::USAGE_HW_COMPOSER |
- GraphicBuffer::USAGE_HW_TEXTURE,
+ usage,
1, false);
static int32_t id = 0;
mName = name + "#" + std::to_string(id);
diff --git a/libs/ui/Gralloc2.cpp b/libs/ui/Gralloc2.cpp
index 224caf7216..c543b4e60e 100644
--- a/libs/ui/Gralloc2.cpp
+++ b/libs/ui/Gralloc2.cpp
@@ -115,7 +115,7 @@ status_t Gralloc2Mapper::validateBufferDescriptorInfo(
if (descriptorInfo->usage & ~validUsageBits) {
ALOGE("buffer descriptor contains invalid usage bits 0x%" PRIx64,
descriptorInfo->usage & ~validUsageBits);
- return BAD_VALUE;
+ return NO_ERROR;;
}
return NO_ERROR;
}
diff --git a/libs/ui/Gralloc3.cpp b/libs/ui/Gralloc3.cpp
index 4a8a4d09d3..4b1c974db1 100644
--- a/libs/ui/Gralloc3.cpp
+++ b/libs/ui/Gralloc3.cpp
@@ -106,7 +106,7 @@ status_t Gralloc3Mapper::validateBufferDescriptorInfo(
if (descriptorInfo->usage & ~validUsageBits) {
ALOGE("buffer descriptor contains invalid usage bits 0x%" PRIx64,
descriptorInfo->usage & ~validUsageBits);
- return BAD_VALUE;
+ return NO_ERROR;
}
return NO_ERROR;
}
diff --git a/libs/ui/Gralloc4.cpp b/libs/ui/Gralloc4.cpp
index 4f5e098988..baf557bad8 100644
--- a/libs/ui/Gralloc4.cpp
+++ b/libs/ui/Gralloc4.cpp
@@ -116,7 +116,7 @@ status_t Gralloc4Mapper::validateBufferDescriptorInfo(
if (descriptorInfo->usage & ~validUsageBits) {
ALOGE("buffer descriptor contains invalid usage bits 0x%" PRIx64,
descriptorInfo->usage & ~validUsageBits);
- return BAD_VALUE;
+ return NO_ERROR;
}
return NO_ERROR;
}
--
2.25.1

View File

@ -0,0 +1,54 @@
From 215af0d1a309c8bf2f6e8b474fa5f99c4c09ef15 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 19 Dec 2021 16:54:31 -0500
Subject: [PATCH 10/13] Update FOD/HBM method Xiaomi/Oplus
Change-Id: If99362db18d8eace487e52716a138e15d1dcfab4
---
.../CompositionEngine/src/OutputLayer.cpp | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
index 2b7bf25dc7..f605b0271b 100644
--- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
@@ -38,6 +38,7 @@
static bool sCheckedProps = false;
static bool sBBKFod = false;
static bool sXiaomiFod = false;
+static bool sAsusFod = false;
namespace android::compositionengine {
@@ -414,11 +415,15 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
sCheckedProps = true;
sBBKFod = property_get_bool("persist.sys.phh.fod.bbk", false);
sXiaomiFod = property_get_bool("persist.sys.phh.fod.xiaomi", false);
+ sAsusFod = property_get_bool("persist.sys.phh.fod.asus", false);
}
- if(strstr(getLayerFE().getDebugName(), "Fingerprint on display") != nullptr) {
+#define UDFPS_BIOMETRIC_PROMPT_LAYER_NAME "BiometricPrompt#0"
+#define UDFPS_LAYER_NAME "UdfpsController#0"
+#define UDFPS_TOUCHED_LAYER_NAME "SurfaceView[UdfpsController](BLAST)#0"
+ if ((strcmp(getLayerFE().getDebugName(), UDFPS_LAYER_NAME) == 0)
+ || (strcmp(getLayerFE().getDebugName(), UDFPS_BIOMETRIC_PROMPT_LAYER_NAME) == 0)) {
ALOGE("Found fingerprint on display!");
- z = 0x41000031;
if(sBBKFod) {
z = 0x41000031;
} else if(sXiaomiFod) {
@@ -426,9 +431,8 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
}
}
- if(strstr(getLayerFE().getDebugName(), "Fingerprint on display.touched") != nullptr) {
+ if (strcmp(getLayerFE().getDebugName(), UDFPS_TOUCHED_LAYER_NAME) == 0) {
ALOGE("Found fingerprint on display touched!");
- z = 0x41000033;
if(sBBKFod) {
z = 0x41000033;
} else if(sXiaomiFod) {
--
2.25.1

View File

@ -0,0 +1,129 @@
From 1636cbb066d3a7f835588dad5aee9c2e764117d1 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 19 Dec 2021 17:04:51 -0500
Subject: [PATCH 11/13] For FOD/HBM on Asus devices, call the HWC extended call
setLayerClass
Change-Id: Id8773fc3d2fb6d2bd228503b1ee0d77864b2eb05
---
.../CompositionEngine/src/OutputLayer.cpp | 4 ++++
.../surfaceflinger/DisplayHardware/ComposerHal.cpp | 7 +++++++
services/surfaceflinger/DisplayHardware/ComposerHal.h | 6 ++++++
services/surfaceflinger/DisplayHardware/HWC2.cpp | 10 ++++++++++
services/surfaceflinger/DisplayHardware/HWC2.h | 4 ++++
5 files changed, 31 insertions(+)
diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
index f605b0271b..cd81a5e5d0 100644
--- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
@@ -428,6 +428,8 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
z = 0x41000031;
} else if(sXiaomiFod) {
z |= 0x1000000;
+ } else if(sAsusFod) {
+ hwcLayer->setLayerClass(4);
}
}
@@ -437,6 +439,8 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
z = 0x41000033;
} else if(sXiaomiFod) {
z |= 0x2000000;
+ } else if(sAsusFod) {
+ hwcLayer->setLayerClass(5);
}
}
diff --git a/services/surfaceflinger/DisplayHardware/ComposerHal.cpp b/services/surfaceflinger/DisplayHardware/ComposerHal.cpp
index caf0294a56..ff5039f75b 100644
--- a/services/surfaceflinger/DisplayHardware/ComposerHal.cpp
+++ b/services/surfaceflinger/DisplayHardware/ComposerHal.cpp
@@ -1220,6 +1220,13 @@ V2_4::Error Composer::setLayerGenericMetadata(Display display, Layer layer, cons
return Error::NONE;
}
+Error Composer::setLayerClass(Display display, Layer layer, uint32_t layerClass) {
+ mWriter.selectDisplay(display);
+ mWriter.selectLayer(layer);
+ mWriter.vendor800_1(layerClass);
+ return Error::NONE;
+}
+
V2_4::Error Composer::getLayerGenericMetadataKeys(
std::vector<IComposerClient::LayerGenericMetadataKey>* outKeys) {
using Error = V2_4::Error;
diff --git a/services/surfaceflinger/DisplayHardware/ComposerHal.h b/services/surfaceflinger/DisplayHardware/ComposerHal.h
index b525e63c66..2eb63f3c2e 100644
--- a/services/surfaceflinger/DisplayHardware/ComposerHal.h
+++ b/services/surfaceflinger/DisplayHardware/ComposerHal.h
@@ -231,6 +231,9 @@ public:
std::vector<IComposerClient::LayerGenericMetadataKey>* outKeys) = 0;
virtual Error getClientTargetProperty(
Display display, IComposerClient::ClientTargetProperty* outClientTargetProperty) = 0;
+
+ // Asus proprietary
+ virtual Error setLayerClass(Display display, Layer layer, uint32_t layerClass);
};
namespace impl {
@@ -467,10 +470,13 @@ public:
bool mandatory, const std::vector<uint8_t>& value) override;
V2_4::Error getLayerGenericMetadataKeys(
std::vector<IComposerClient::LayerGenericMetadataKey>* outKeys) override;
+
Error getClientTargetProperty(
Display display,
IComposerClient::ClientTargetProperty* outClientTargetProperty) override;
+ // Asus proprietary
+ Error setLayerClass(Display display, Layer layer, uint32_t layerClass);
private:
class CommandWriter : public CommandWriterBase {
public:
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp
index 27146ab79c..474c3eade5 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp
@@ -872,6 +872,16 @@ Error Layer::setZOrder(uint32_t z)
return static_cast<Error>(intError);
}
+Error Layer::setLayerClass(uint32_t val)
+{
+ if (CC_UNLIKELY(!mDisplay)) {
+ return Error::BAD_DISPLAY;
+ }
+
+ auto intError = mComposer.setLayerClass(mDisplay->getId(), mId, val);
+ return static_cast<Error>(intError);
+}
+
// Composer HAL 2.3
Error Layer::setColorTransform(const android::mat4& matrix) {
if (CC_UNLIKELY(!mDisplay)) {
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.h b/services/surfaceflinger/DisplayHardware/HWC2.h
index 871465d717..7a04047407 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.h
+++ b/services/surfaceflinger/DisplayHardware/HWC2.h
@@ -287,6 +287,8 @@ public:
// Composer HAL 2.4
[[clang::warn_unused_result]] virtual hal::Error setLayerGenericMetadata(
const std::string& name, bool mandatory, const std::vector<uint8_t>& value) = 0;
+
+ virtual hal::Error setLayerClass(uint32_t layerClass) = 0;
};
namespace impl {
@@ -330,6 +332,8 @@ public:
hal::Error setLayerGenericMetadata(const std::string& name, bool mandatory,
const std::vector<uint8_t>& value) override;
+ hal::Error setLayerClass(uint32_t layerClass);
+
private:
// These are references to data owned by HWC2::Device, which will outlive
// this HWC2::Layer, so these references are guaranteed to be valid for
--
2.25.1

View File

@ -0,0 +1,303 @@
From e33af0dcd960fdbcc14b31ce22e21ce8297fad69 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 27 Dec 2021 18:00:43 -0500
Subject: [PATCH 12/13] powermanager: Add support Samsung miscpower HAL
Several various configurations need to be supported:
- Android Pie vendors have a android.hardware.power HIDL default + "miscpower"
- Android Q vendors have default HIDL android.hardware.power +
ISehMiscPower
- Android R vendors have default AIDL android.hardware.power +
ISehMiscPower
ISehMiscPower is always in addition to android.hardware.power, not as a
substituion
Only tested configuration ATM is the latest one
Change-Id: I182a91ccb0a89f9d0d7d41f36eccab218b553bbc
---
include/powermanager/PowerHalLoader.h | 3 +
include/powermanager/PowerHalWrapper.h | 35 ++++++++-
services/powermanager/Android.bp | 1 +
services/powermanager/PowerHalController.cpp | 7 +-
services/powermanager/PowerHalLoader.cpp | 16 ++++-
services/powermanager/PowerHalWrapper.cpp | 75 ++++++++++++++++++++
6 files changed, 134 insertions(+), 3 deletions(-)
diff --git a/include/powermanager/PowerHalLoader.h b/include/powermanager/PowerHalLoader.h
index 18dfb50cb4..8822658706 100644
--- a/include/powermanager/PowerHalLoader.h
+++ b/include/powermanager/PowerHalLoader.h
@@ -21,6 +21,7 @@
#include <android/hardware/power/1.1/IPower.h>
#include <android/hardware/power/IPower.h>
#include <vendor/lineage/power/IPower.h>
+#include <vendor/samsung/hardware/miscpower/2.0/ISehMiscPower.h>
namespace android {
@@ -35,6 +36,7 @@ public:
static sp<hardware::power::V1_0::IPower> loadHidlV1_0();
static sp<hardware::power::V1_1::IPower> loadHidlV1_1();
static sp<vendor::lineage::power::IPower> loadLineageAidl();
+ static sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> loadHidlSeh();
private:
static std::mutex gHalMutex;
@@ -43,6 +45,7 @@ private:
static sp<hardware::power::V1_0::IPower> gHalHidlV1_0 GUARDED_BY(gHalMutex);
static sp<hardware::power::V1_1::IPower> gHalHidlV1_1 GUARDED_BY(gHalMutex);
static sp<vendor::lineage::power::IPower> gHalLineageAidl GUARDED_BY(gLineageHalMutex);
+ static sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> gHalHidlSeh GUARDED_BY(gHalMutex);
static sp<hardware::power::V1_0::IPower> loadHidlV1_0Locked()
EXCLUSIVE_LOCKS_REQUIRED(gHalMutex);
diff --git a/include/powermanager/PowerHalWrapper.h b/include/powermanager/PowerHalWrapper.h
index d455b74564..8a0623f588 100644
--- a/include/powermanager/PowerHalWrapper.h
+++ b/include/powermanager/PowerHalWrapper.h
@@ -24,6 +24,7 @@
#include <android/hardware/power/IPowerHintSession.h>
#include <android/hardware/power/Mode.h>
#include <vendor/lineage/power/IPower.h>
+#include <vendor/samsung/hardware/miscpower/2.0/ISehMiscPower.h>
namespace android {
@@ -185,7 +186,10 @@ private:
// Wrapper for the AIDL Power HAL.
class AidlHalWrapper : public HalWrapper {
public:
- explicit AidlHalWrapper(sp<hardware::power::IPower> handle) : mHandle(std::move(handle)) {}
+ explicit AidlHalWrapper(sp<hardware::power::IPower> handle,
+ sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> sehHandle)
+ : mHandle(std::move(handle)),
+ mHandleSeh(std::move(sehHandle)) {}
virtual ~AidlHalWrapper() = default;
virtual HalResult<void> setBoost(hardware::power::Boost boost, int32_t durationMs) override;
@@ -201,6 +205,7 @@ private:
std::mutex mBoostMutex;
std::mutex mModeMutex;
sp<hardware::power::IPower> mHandle;
+ sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> mHandleSeh;
// Android framework only sends boost upto DISPLAY_UPDATE_IMMINENT.
// Need to increase the array size if more boost supported.
std::array<std::atomic<HalSupport>,
@@ -231,6 +236,34 @@ private:
sp<vendor::lineage::power::IPower> mHandle;
};
+class HidlHalWrapperSeh : public HalWrapper {
+public:
+ explicit HidlHalWrapperSeh(sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> hal1,
+ sp<android::hardware::power::V1_1::IPower> hal2,
+ sp<android::hardware::power::V1_0::IPower> hal3)
+ : mHandleSeh(std::move(hal1)),
+ mHandle11(std::move(hal2)),
+ mHandle10(std::move(hal3)) {}
+ virtual ~HidlHalWrapperSeh() = default;
+
+ virtual HalResult<void> setBoost(hardware::power::Boost boost, int32_t durationMs) override;
+ virtual HalResult<void> setMode(hardware::power::Mode mode, bool enabled) override;
+ virtual HalResult<sp<hardware::power::IPowerHintSession>> createHintSession(
+ int32_t tgid, int32_t uid, const std::vector<int32_t>& threadIds,
+ int64_t durationNanos) override;
+ virtual HalResult<int64_t> getHintSessionPreferredRate() override;
+ virtual HalResult<int> getFeature(vendor::lineage::power::Feature feature) override;
+
+protected:
+ virtual HalResult<void> sendPowerHint(hardware::power::V1_0::PowerHint hintId, uint32_t data);
+
+private:
+ sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> mHandleSeh;
+ sp<android::hardware::power::V1_1::IPower> mHandle11;
+ sp<android::hardware::power::V1_0::IPower> mHandle10;
+ HalResult<void> setInteractive(bool enabled);
+ HalResult<void> setFeature(hardware::power::V1_0::Feature feature, bool enabled);
+};
}; // namespace power
diff --git a/services/powermanager/Android.bp b/services/powermanager/Android.bp
index e27e620729..e77cdc32b2 100644
--- a/services/powermanager/Android.bp
+++ b/services/powermanager/Android.bp
@@ -40,6 +40,7 @@ cc_library_shared {
"android.hardware.power@1.1",
"android.hardware.power-V2-cpp",
"vendor.lineage.power-V1-cpp",
+ "vendor.samsung.hardware.miscpower@2.0",
],
cflags: [
diff --git a/services/powermanager/PowerHalController.cpp b/services/powermanager/PowerHalController.cpp
index 7a1b5f7c0a..8577c3b931 100644
--- a/services/powermanager/PowerHalController.cpp
+++ b/services/powermanager/PowerHalController.cpp
@@ -20,6 +20,7 @@
#include <android/hardware/power/IPower.h>
#include <android/hardware/power/IPowerHintSession.h>
#include <android/hardware/power/Mode.h>
+#include <vendor/samsung/hardware/miscpower/2.0/ISehMiscPower.h>
#include <powermanager/PowerHalController.h>
#include <powermanager/PowerHalLoader.h>
#include <utils/Log.h>
@@ -35,11 +36,15 @@ namespace power {
std::unique_ptr<HalWrapper> HalConnector::connect() {
sp<IPower> halAidl = PowerHalLoader::loadAidl();
+ sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> halHidlSeh = PowerHalLoader::loadHidlSeh();
if (halAidl) {
- return std::make_unique<AidlHalWrapper>(halAidl);
+ return std::make_unique<AidlHalWrapper>(halAidl, halHidlSeh);
}
sp<V1_0::IPower> halHidlV1_0 = PowerHalLoader::loadHidlV1_0();
sp<V1_1::IPower> halHidlV1_1 = PowerHalLoader::loadHidlV1_1();
+ if (halHidlSeh) {
+ return std::make_unique<HidlHalWrapperSeh>(halHidlSeh, halHidlV1_1, halHidlV1_0);
+ }
if (halHidlV1_1) {
return std::make_unique<HidlHalWrapperV1_1>(halHidlV1_0, halHidlV1_1);
}
diff --git a/services/powermanager/PowerHalLoader.cpp b/services/powermanager/PowerHalLoader.cpp
index e5c636344d..803888dabb 100644
--- a/services/powermanager/PowerHalLoader.cpp
+++ b/services/powermanager/PowerHalLoader.cpp
@@ -18,6 +18,7 @@
#include <android/hardware/power/1.1/IPower.h>
#include <android/hardware/power/IPower.h>
+#include <vendor/samsung/hardware/miscpower/2.0/ISehMiscPower.h>
#include <binder/IServiceManager.h>
#include <hardware/power.h>
#include <hardware_legacy/power.h>
@@ -59,6 +60,7 @@ sp<IPower> PowerHalLoader::gHalAidl = nullptr;
sp<V1_0::IPower> PowerHalLoader::gHalHidlV1_0 = nullptr;
sp<V1_1::IPower> PowerHalLoader::gHalHidlV1_1 = nullptr;
sp<LineageAidl::IPower> PowerHalLoader::gHalLineageAidl = nullptr;
+sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> PowerHalLoader::gHalHidlSeh = nullptr;
void PowerHalLoader::unloadAll() {
std::lock_guard<std::mutex> lock(gHalMutex);
@@ -98,10 +100,22 @@ sp<LineageAidl::IPower> PowerHalLoader::loadLineageAidl() {
return loadHal<LineageAidl::IPower>(gHalExists, gHalLineageAidl, loadFn, "Lineage AIDL");
}
+sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> PowerHalLoader::loadHidlSeh() {
+ std::lock_guard<std::mutex> lock(gHalMutex);
+ static bool gHalExists = true;
+ static auto loadFn = []() { return vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower::getService(); };
+ return loadHal<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower>(gHalExists, gHalHidlSeh, loadFn, "HIDL SEH v1.1");
+}
+
sp<V1_0::IPower> PowerHalLoader::loadHidlV1_0Locked() {
static bool gHalExists = true;
+ static auto loadFnSec = []() { return V1_0::IPower::getService("power"); };
+ auto hal = loadHal<V1_0::IPower>(gHalExists, gHalHidlV1_0, loadFnSec, "HIDL v1.0");
+
static auto loadFn = []() { return V1_0::IPower::getService(); };
- return loadHal<V1_0::IPower>(gHalExists, gHalHidlV1_0, loadFn, "HIDL v1.0");
+ if(hal == nullptr)
+ hal = loadHal<V1_0::IPower>(gHalExists, gHalHidlV1_0, loadFn, "HIDL v1.0");
+ return hal;
}
// -------------------------------------------------------------------------------------------------
diff --git a/services/powermanager/PowerHalWrapper.cpp b/services/powermanager/PowerHalWrapper.cpp
index 49659e796e..775cdcf800 100644
--- a/services/powermanager/PowerHalWrapper.cpp
+++ b/services/powermanager/PowerHalWrapper.cpp
@@ -220,6 +220,10 @@ HalResult<void> AidlHalWrapper::setMode(Mode mode, bool enabled) {
std::unique_lock<std::mutex> lock(mModeMutex);
size_t idx = static_cast<size_t>(mode);
+ if (mHandleSeh != nullptr && mode == Mode::INTERACTIVE) {
+ mHandleSeh->setInteractiveAsync(enabled, false);
+ }
+
// Quick return if mode is not supported by HAL
if (idx >= mModeSupportedArray.size() || mModeSupportedArray[idx] == HalSupport::OFF) {
ALOGV("Skipped setMode %s because Power HAL doesn't support it", toString(mode).c_str());
@@ -296,6 +300,77 @@ HalResult<int> LineageAidlHalWrapper::getFeature(LineageAidl::Feature feature) {
return HalResult<int>::fromStatus(ret, value);
}
+HalResult<void> HidlHalWrapperSeh::setBoost(Boost boost, int32_t durationMs) {
+ if (boost == Boost::INTERACTION) {
+ return sendPowerHint(V1_0::PowerHint::INTERACTION, durationMs);
+ } else {
+ ALOGV("Skipped setBoost %s because Power HAL AIDL not available", toString(boost).c_str());
+ return HalResult<void>::unsupported();
+ }
+}
+
+HalResult<void> HidlHalWrapperSeh::setMode(Mode mode, bool enabled) {
+ uint32_t data = enabled ? 1 : 0;
+ switch (mode) {
+ case Mode::LAUNCH:
+ return sendPowerHint(V1_0::PowerHint::LAUNCH, data);
+ case Mode::LOW_POWER:
+ return sendPowerHint(V1_0::PowerHint::LOW_POWER, data);
+ case Mode::SUSTAINED_PERFORMANCE:
+ return sendPowerHint(V1_0::PowerHint::SUSTAINED_PERFORMANCE, data);
+ case Mode::VR:
+ return sendPowerHint(V1_0::PowerHint::VR_MODE, data);
+ case Mode::INTERACTIVE:
+ return setInteractive(enabled);
+ case Mode::DOUBLE_TAP_TO_WAKE:
+ return setFeature(V1_0::Feature::POWER_FEATURE_DOUBLE_TAP_TO_WAKE, enabled);
+ default:
+ ALOGV("Skipped setMode %s because Power HAL AIDL not available",
+ toString(mode).c_str());
+ return HalResult<void>::unsupported();
+ }
+}
+
+HalResult<void> HidlHalWrapperSeh::sendPowerHint(V1_0::PowerHint hintId, uint32_t data) {
+ if(mHandle11 != nullptr) {
+ auto ret = mHandle11->powerHintAsync(hintId, data);
+ return HalResult<void>::fromReturn(ret);
+ } else {
+ auto ret = mHandle10->powerHint(hintId, data);
+ return HalResult<void>::fromReturn(ret);
+ }
+}
+
+HalResult<void> HidlHalWrapperSeh::setInteractive(bool enabled) {
+ if(mHandleSeh != nullptr) {
+ mHandleSeh->setInteractiveAsync(enabled, false);
+ }
+ auto ret = mHandle10->setInteractive(enabled);
+ return HalResult<void>::fromReturn(ret);
+}
+
+HalResult<void> HidlHalWrapperSeh::setFeature(V1_0::Feature feature, bool enabled) {
+ auto ret = mHandle10->setFeature(feature, enabled);
+ return HalResult<void>::fromReturn(ret);
+}
+
+HalResult<sp<Aidl::IPowerHintSession>> HidlHalWrapperSeh::createHintSession(
+ int32_t, int32_t, const std::vector<int32_t>& threadIds, int64_t) {
+ ALOGV("Skipped createHintSession(task num=%zu) because Power HAL not available",
+ threadIds.size());
+ return HalResult<sp<Aidl::IPowerHintSession>>::unsupported();
+}
+
+HalResult<int64_t> HidlHalWrapperSeh::getHintSessionPreferredRate() {
+ ALOGV("Skipped getHintSessionPreferredRate because Power HAL not available");
+ return HalResult<int64_t>::unsupported();
+}
+
+HalResult<int> HidlHalWrapperSeh::getFeature(LineageAidl::Feature) {
+ ALOGV("Skipped getFeature because Power HAL not available");
+ return HalResult<int>::unsupported();
+}
+
// -------------------------------------------------------------------------------------------------
} // namespace power
--
2.25.1

View File

@ -0,0 +1,31 @@
From 184f59f82b11e4180a12586ab01b926b9187c418 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 12 Jan 2022 04:07:34 -0500
Subject: [PATCH 13/13] Fix loading power hidl v1.0
Change-Id: Ife20a98d2a11c79c7b42f359f30c28e2dede1f25
---
services/powermanager/PowerHalLoader.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/services/powermanager/PowerHalLoader.cpp b/services/powermanager/PowerHalLoader.cpp
index 803888dabb..f04abdcbd0 100644
--- a/services/powermanager/PowerHalLoader.cpp
+++ b/services/powermanager/PowerHalLoader.cpp
@@ -108,10 +108,11 @@ sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> PowerHalLoader::lo
}
sp<V1_0::IPower> PowerHalLoader::loadHidlV1_0Locked() {
- static bool gHalExists = true;
+ static bool gSecHalExists = true;
static auto loadFnSec = []() { return V1_0::IPower::getService("power"); };
- auto hal = loadHal<V1_0::IPower>(gHalExists, gHalHidlV1_0, loadFnSec, "HIDL v1.0");
+ auto hal = loadHal<V1_0::IPower>(gSecHalExists, gHalHidlV1_0, loadFnSec, "HIDL v1.0");
+ static bool gHalExists = true;
static auto loadFn = []() { return V1_0::IPower::getService(); };
if(hal == nullptr)
hal = loadHal<V1_0::IPower>(gHalExists, gHalHidlV1_0, loadFn, "HIDL v1.0");
--
2.25.1

View File

@ -1,7 +1,7 @@
From 2b520b6933e681f69925b6c974742cff29cf47df Mon Sep 17 00:00:00 2001 From cc24a7e886eff42a0e2f160cabb2c11d87c1a384 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 13 Oct 2019 17:21:31 +0800 Date: Sun, 13 Oct 2019 17:21:31 +0800
Subject: [PATCH 1/3] telephony: forward-port support for forceCognitive Subject: [PATCH 1/4] telephony: forward-port support for forceCognitive
* This is needed on some MTK devices. Android 10 refactored some code, * This is needed on some MTK devices. Android 10 refactored some code,
so now the "non-persistent/cognitive" filter is relocated to RIL and so now the "non-persistent/cognitive" filter is relocated to RIL and

View File

@ -1,7 +1,7 @@
From d230672d53c64266bcf699d27c8951975f918d3f Mon Sep 17 00:00:00 2001 From fcfb842f7f35b38c07062f40a344412323317c2e Mon Sep 17 00:00:00 2001
From: Artem Borisov <dedsa2002@gmail.com> From: Artem Borisov <dedsa2002@gmail.com>
Date: Sat, 10 Nov 2018 17:19:17 +0000 Date: Sat, 10 Nov 2018 17:19:17 +0000
Subject: [PATCH 2/3] Telephony: Don not call onUssdRelease for Huawei RIL Subject: [PATCH 2/4] Telephony: Don not call onUssdRelease for Huawei RIL
Huawei RIL doesn't seem to work properly with USSD_MODE_NW_RELEASE, Huawei RIL doesn't seem to work properly with USSD_MODE_NW_RELEASE,
always releasing USSD when it should be finished instead. always releasing USSD when it should be finished instead.

View File

@ -1,7 +1,7 @@
From cc77f6e8d407e9aa7c178c014ce7fb2faf23092a Mon Sep 17 00:00:00 2001 From 467090b06364a3c7874406eac519ef92c425bc82 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me> From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 6 Dec 2021 16:28:22 -0500 Date: Mon, 6 Dec 2021 16:28:22 -0500
Subject: [PATCH 3/3] Fix baseband being too long to fit into a 91 chars Subject: [PATCH 3/4] Fix baseband being too long to fit into a 91 chars
property, preventing telephony subsystem from starting property, preventing telephony subsystem from starting
Change-Id: I1762e4a8cc137626be89f350229d6be162bdaf57 Change-Id: I1762e4a8cc137626be89f350229d6be162bdaf57

View File

@ -0,0 +1,47 @@
From fdf6b444ee616a00e8f2c96817fc94913015ab7d Mon Sep 17 00:00:00 2001
From: ironydelerium <42721860+ironydelerium@users.noreply.github.com>
Date: Fri, 31 Dec 2021 02:20:28 -0800
Subject: [PATCH 4/4] Reintroduce 'public void
TelephonyMetrics.writeRilSendSms(int, int, int, int)'. (#8)
The MediaTek IMS package for Android Q, at the very least (likely for the rest, too)
invoke this method in their `sendSms` method; Google, in their infinite wisdom,
decided that this method needed a message ID passed in as well, changing the signature
to 'public void TelephonyMetrics.writeRilSendSms(int, int, int, int, long)' and resulting
in a MethodNotFoundException being raised in com.mediatek.ims, crashing it.
Fixes https://github.com/phhusson/treble_experimentations/issues/2125.
Co-authored-by: Sarah Vandomelen <sarah@sightworks.com>
Change-Id: Ib7a3a41e049cb9c9f937e8c6f771a29495738223
---
.../telephony/metrics/TelephonyMetrics.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
index 5e43876df8..c375d9c8b6 100644
--- a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
+++ b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
@@ -2311,6 +2311,19 @@ public class TelephonyMetrics {
smsSession.increaseExpectedResponse();
}
+ /**
+ * Write Send SMS event (backwards-compatible method for R and earlier IMS implementations)
+ *
+ * @param phoneId Phone id
+ * @param rilSerial RIL request serial number
+ * @param tech SMS RAT
+ * @param format SMS format. Either {@link SmsMessage#FORMAT_3GPP} or
+ * {@link SmsMessage#FORMAT_3GPP2}.
+ */
+ public void writeRilSendSms(int phoneId, int rilSerial, int tech, int format) {
+ writeRilSendSms(phoneId, rilSerial, tech, format, 0);
+ }
+
/**
* Write Send SMS event using ImsService. Expecting response from
* {@link #writeOnSmsSolicitedResponse}.
--
2.25.1

View File

@ -0,0 +1,31 @@
From eadaea9b045787edb3d2be27fa2cdb1bf29f6763 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 19 Dec 2021 17:03:15 -0500
Subject: [PATCH] Add a vendor800 command, to be able to call vendor-specific
hwc functions
Change-Id: Icbef1e9e3a331ae3bd5a05687d545851d94d88a8
---
.../composer-command-buffer/2.1/ComposerCommandBuffer.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h b/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h
index 499d3b96e..489578468 100644
--- a/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h
+++ b/graphics/composer/2.1/utils/command-buffer/include/composer-command-buffer/2.1/ComposerCommandBuffer.h
@@ -402,6 +402,12 @@ class CommandWriterBase {
endCommand();
}
+ void vendor800_1(uint32_t val) {
+ beginCommand(0x800 << 16, 1);
+ write(val);
+ endCommand();
+ }
+
protected:
template <typename T>
void beginCommand(T command, uint16_t length) {
--
2.25.1

View File

@ -1,54 +0,0 @@
From e408adb5e9f3cf907392b7af9080df588e4e5b26 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Mon, 7 Jun 2021 13:23:02 -0400
Subject: [PATCH] On Samsung devices, we need to tell Audio HAL if we're
running narrow band or wide band
Change-Id: Ibfa0f632d9acbb920a85a613ce4e2f1d26556bd1
---
.../android/bluetooth/hfp/HeadsetStateMachine.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
index 03ba99ac2..20267d08a 100644
--- a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
+++ b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
@@ -87,6 +87,9 @@ public class HeadsetStateMachine extends StateMachine {
private static final String HEADSET_WBS = "bt_wbs";
private static final String HEADSET_AUDIO_FEATURE_ON = "on";
private static final String HEADSET_AUDIO_FEATURE_OFF = "off";
+ private static final String HEADSET_G_SCO_SAMPLERATE = "g_sco_samplerate";
+ private static final String HEADSET_G_WB_SAMPLERATE = "16000";
+ private static final String HEADSET_G_NB_SAMPLERATE = "8000";
static final int CONNECT = 1;
static final int DISCONNECT = 2;
@@ -1549,6 +1552,12 @@ public class HeadsetStateMachine extends StateMachine {
HEADSET_WBS + "=" + mAudioParams.getOrDefault(HEADSET_WBS,
HEADSET_AUDIO_FEATURE_OFF)
});
+ keyValuePairs = keyValuePairs.concat(";"
+ + HEADSET_G_SCO_SAMPLERATE
+ + "="
+ + mAudioParams.getOrDefault(
+ HEADSET_G_SCO_SAMPLERATE,
+ HEADSET_G_NB_SAMPLERATE));
Log.i(TAG, "setAudioParameters for " + mDevice + ": " + keyValuePairs);
mSystemInterface.getAudioManager().setParameters(keyValuePairs);
}
@@ -1689,10 +1698,12 @@ public class HeadsetStateMachine extends StateMachine {
String prevWbs = mAudioParams.getOrDefault(HEADSET_WBS, HEADSET_AUDIO_FEATURE_OFF);
switch (wbsConfig) {
case HeadsetHalConstants.BTHF_WBS_YES:
+ mAudioParams.put(HEADSET_G_SCO_SAMPLERATE, HEADSET_G_WB_SAMPLERATE);
mAudioParams.put(HEADSET_WBS, HEADSET_AUDIO_FEATURE_ON);
break;
case HeadsetHalConstants.BTHF_WBS_NO:
case HeadsetHalConstants.BTHF_WBS_NONE:
+ mAudioParams.put(HEADSET_G_SCO_SAMPLERATE, HEADSET_G_NB_SAMPLERATE);
mAudioParams.put(HEADSET_WBS, HEADSET_AUDIO_FEATURE_OFF);
break;
default:
--
2.29.2

View File

@ -0,0 +1,24 @@
From e3aaba55ee98ad1914f46590292bb0f017bc3149 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 10 Jan 2022 03:31:18 +0000
Subject: [PATCH] Report SCO sample rate by default
Change-Id: I12c14e2206f5dc20fefe30a2197798773a894988
---
res/values/config.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/res/values/config.xml b/res/values/config.xml
index 42ecca47f..952b96510 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -136,5 +136,5 @@
<bool name="enable_gd_up_to_scanning_layer">false</bool>
<!-- If true, SCO sample rate will be reported via g_sco_samplerate audio parameter -->
- <bool name="sco_report_samplerate">false</bool>
+ <bool name="sco_report_samplerate">true</bool>
</resources>
--
2.25.1