Changes for July 2024
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
From 3eca40aa6c2b4ef6e519556a109067d1be82dea0 Mon Sep 17 00:00:00 2001
|
||||
From 019df05a5d610f34f167195a2b69228e99160d6c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 25 Oct 2020 23:57:26 +0100
|
||||
Subject: [PATCH 1/5] Re-implement fnmatch-like behaviour for RRO java-side
|
||||
Subject: [PATCH 1/6] Re-implement fnmatch-like behaviour for RRO java-side
|
||||
|
||||
T: Also apply to FrameworkParsingPackageUtils (@PeterCxy)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From cf5d89e76aa67ca83e682a9e091e6ddc7e43fd41 Mon Sep 17 00:00:00 2001
|
||||
From f2b671435968f7693c6950d58ee06b42c1f38aef Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 24 Mar 2018 08:01:48 +0100
|
||||
Subject: [PATCH 2/5] LightsService: Alternative backlight scale
|
||||
Subject: [PATCH 2/6] LightsService: Alternative backlight scale
|
||||
|
||||
Reserved a manual override just in case
|
||||
|
||||
@@ -11,7 +11,7 @@ Change-Id: I46ae69c758d1a4609d89cf1c293488ea5fc76787
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
|
||||
index 4d26f43307b2..c5e672726d21 100644
|
||||
index 76cf1348d313..91c3c32fe835 100644
|
||||
--- a/services/core/java/com/android/server/lights/LightsService.java
|
||||
+++ b/services/core/java/com/android/server/lights/LightsService.java
|
||||
@@ -32,6 +32,7 @@ import android.os.Looper;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 09e7b9a70cfe3ac0bf4f4791bed3b0dd663f06f1 Mon Sep 17 00:00:00 2001
|
||||
From 5c06aad5517951b1b4f7dcdfb3089d4e147d5d53 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 15 Oct 2022 09:33:56 +0000
|
||||
Subject: [PATCH 3/5] Revert "Remove more FDE methods from StorageManager"
|
||||
Subject: [PATCH 3/6] Revert "Remove more FDE methods from StorageManager"
|
||||
|
||||
This reverts commit bd13f84152449a3ead6fa8604fd31f48c0224676.
|
||||
|
||||
@@ -12,10 +12,10 @@ Change-Id: Ic394934ec27b1a486c60123130825d44dad73412
|
||||
2 files changed, 78 insertions(+)
|
||||
|
||||
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
|
||||
index 78a12f75a508..f9999fa8fde8 100644
|
||||
index d45a17f7194e..6850e261e6ad 100644
|
||||
--- a/core/java/android/os/storage/StorageManager.java
|
||||
+++ b/core/java/android/os/storage/StorageManager.java
|
||||
@@ -1714,6 +1714,15 @@ public class StorageManager {
|
||||
@@ -1709,6 +1709,15 @@ public class StorageManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ index 78a12f75a508..f9999fa8fde8 100644
|
||||
/** {@hide}
|
||||
* Is this device encrypted?
|
||||
* <p>
|
||||
@@ -1738,6 +1747,71 @@ public class StorageManager {
|
||||
@@ -1733,6 +1742,71 @@ public class StorageManager {
|
||||
return RoSystemProperties.CRYPTO_FILE_ENCRYPTED;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From fa3c64ce2e193ccb61517284d66f78cc3d6db13e Mon Sep 17 00:00:00 2001
|
||||
From b1f7c0a4d99d3b14d143980af414d2adca441a4f Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 2 Aug 2023 20:59:53 +0800
|
||||
Subject: [PATCH 4/5] Restore getSimStateForSlotIndex in SubscriptionManager
|
||||
Subject: [PATCH 4/6] Restore getSimStateForSlotIndex in SubscriptionManager
|
||||
|
||||
MTK IMS still needs it here
|
||||
|
||||
@@ -11,10 +11,10 @@ Change-Id: I41bac57c68055f369232359a464642daab94403b
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
|
||||
index 326b6f5af613..b994888362b0 100644
|
||||
index c5f2d42389e5..1324741145bd 100644
|
||||
--- a/telephony/java/android/telephony/SubscriptionManager.java
|
||||
+++ b/telephony/java/android/telephony/SubscriptionManager.java
|
||||
@@ -2693,6 +2693,20 @@ public class SubscriptionManager {
|
||||
@@ -2902,6 +2902,20 @@ public class SubscriptionManager {
|
||||
return TelephonyManager.getDefault().isNetworkRoaming(subId);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 7dbc3c83213b1dacce2eaa90835721b13f504781 Mon Sep 17 00:00:00 2001
|
||||
From 4b4182708a6c183a52f5459d357f341ea6c99e1b Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 19 Nov 2023 23:07:03 +0800
|
||||
Subject: [PATCH 5/5] Restore getPhysicalDisplayIds in SurfaceControl
|
||||
Subject: [PATCH 5/6] Restore getPhysicalDisplayIds in SurfaceControl
|
||||
|
||||
For convenience of accessing DynamicDisplayInfo from Settings
|
||||
Copy over the updated implementation from DisplayControl while we're at it
|
||||
@@ -15,10 +15,10 @@ Change-Id: Ie056ecaf76acbc70d73e1c26cc4542088fcda18d
|
||||
2 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
|
||||
index cbbe7856178d..253eb492bd8b 100644
|
||||
index eff35c0c0f03..5cc1d0817688 100644
|
||||
--- a/core/java/android/view/SurfaceControl.java
|
||||
+++ b/core/java/android/view/SurfaceControl.java
|
||||
@@ -181,6 +181,7 @@ public final class SurfaceControl implements Parcelable {
|
||||
@@ -176,6 +176,7 @@ public final class SurfaceControl implements Parcelable {
|
||||
private static native boolean nativeClearAnimationFrameStats();
|
||||
private static native boolean nativeGetAnimationFrameStats(WindowAnimationFrameStats outStats);
|
||||
|
||||
@@ -26,8 +26,8 @@ index cbbe7856178d..253eb492bd8b 100644
|
||||
private static native void nativeSetDisplaySurface(long transactionObj,
|
||||
IBinder displayToken, long nativeSurfaceObject);
|
||||
private static native void nativeSetDisplayLayerStack(long transactionObj,
|
||||
@@ -2440,6 +2441,13 @@ public final class SurfaceControl implements Parcelable {
|
||||
IVirtualDisplayCallback.Stub.asInterface(displayToken));
|
||||
@@ -2379,6 +2380,13 @@ public final class SurfaceControl implements Parcelable {
|
||||
nativeSetGameContentType(displayToken, on);
|
||||
}
|
||||
|
||||
+ /**
|
||||
@@ -41,7 +41,7 @@ index cbbe7856178d..253eb492bd8b 100644
|
||||
* Returns whether protected content is supported in GPU composition.
|
||||
* @hide
|
||||
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
|
||||
index db42246ca76c..0be04bb380d8 100644
|
||||
index 6fec527aaa16..8c908aa3d451 100644
|
||||
--- a/core/jni/android_view_SurfaceControl.cpp
|
||||
+++ b/core/jni/android_view_SurfaceControl.cpp
|
||||
@@ -36,6 +36,7 @@
|
||||
@@ -52,7 +52,7 @@ index db42246ca76c..0be04bb380d8 100644
|
||||
#include <nativehelper/ScopedUtfChars.h>
|
||||
#include <private/gui/ComposerService.h>
|
||||
#include <stdio.h>
|
||||
@@ -1010,6 +1011,21 @@ static void nativeSetDestinationFrame(JNIEnv* env, jclass clazz, jlong transacti
|
||||
@@ -1075,6 +1076,21 @@ static void nativeSetDestinationFrame(JNIEnv* env, jclass clazz, jlong transacti
|
||||
transaction->setDestinationFrame(ctrl, crop);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ index db42246ca76c..0be04bb380d8 100644
|
||||
static jobject nativeGetDisplayedContentSamplingAttributes(JNIEnv* env, jclass clazz,
|
||||
jobject tokenObj) {
|
||||
sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
|
||||
@@ -2187,6 +2203,8 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
|
||||
@@ -2269,6 +2285,8 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
|
||||
(void*)nativeSetFrameRateCategory},
|
||||
{"nativeSetFrameRateSelectionStrategy", "(JJI)V",
|
||||
(void*)nativeSetFrameRateSelectionStrategy},
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
From 262cf4f5ed67cd8343ccb912bc8d265ea331af3e Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 7 Jul 2024 21:55:42 +0800
|
||||
Subject: [PATCH 6/6] Allow APKs of a certain signature to install/work like
|
||||
platform-signed
|
||||
|
||||
Intended usecase - one authoritative set of signed IMS APKs for any GSI, regardless of their signature
|
||||
|
||||
Change-Id: Ia1a13edec8eb8ecf0ea25fffaee4aeff9c75a5e1
|
||||
---
|
||||
.../android/server/pm/PackageManagerServiceUtils.java | 11 +++++++++++
|
||||
.../core/java/com/android/server/pm/SELinuxMMAC.java | 5 +++++
|
||||
.../java/com/android/server/pm/ScanPackageUtils.java | 5 ++++-
|
||||
3 files changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
index d7e0fca87059..675be60ea412 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
@@ -221,6 +221,8 @@ public class PackageManagerServiceUtils {
|
||||
*/
|
||||
private static final boolean FORCE_PACKAGE_PARSED_CACHE_ENABLED = false;
|
||||
|
||||
+ private static final Signature PHH_SIGNATURE = new Signature("308205fb308203e3a00302010202144cd9cede3ae98180d0c500b979c371be9189d42d300d06092a864886f70d01010b050030818b310b3009060355040613024652310f300d06035504080c064672616e6365310e300c06035504070c05506172697331143012060355040a0c0b547265626c6544726f696431143012060355040b0c0b547265626c6544726f69643114301206035504030c0b547265626c6544726f69643119301706092a864886f70d010901160a706868407068682e6d653020170d3234303731333136313435375a180f32303531313132393136313435375a30818b310b3009060355040613024652310f300d06035504080c064672616e6365310e300c06035504070c05506172697331143012060355040a0c0b547265626c6544726f696431143012060355040b0c0b547265626c6544726f69643114301206035504030c0b547265626c6544726f69643119301706092a864886f70d010901160a706868407068682e6d6530820222300d06092a864886f70d01010105000382020f003082020a0282020100ea313fa144409b3f52c489fb1401f98c0e2c1f66933c67e4f4b3ec1757b33b72d996de4f60fb6316aaab04b1c973e27833f8dca1bd109cb74525c48fda9a2d0f3fe2ff943e69042290f41f36c996b3c3c327a9cc6398ec3b4da7bd4a281005d10b6d022f4d871c113051b685d9e2059b68ffb00c174c2516cfa3c64d3d1e51f7f100fde5bf4a7af00f2c8bbb258f066fa1c4a077ee32ba1a3f56edec8f1e05b609aadb6dbe63487275812b8447881ada997d1ddf278008246565e97f1665943b6cbc6f4fe2f2982894d3b2dfec0eb5bc2f91e6d6d7497aef732b90c82531d7065bbacf234a73d53111cb8f2d117c67c9e873c326117410b9ea7a18d12811db8e2d0b183c37b53b5a4d066b7b5e2a6741748c7082f7fb0d7d8b21ad0c93ded88c71844f54fd25255f9a6eb7a7910475a1a2264110f5e0f267df671ea42d76a3381a632dde6c7f63f5e15d8d573b7f926e3106ead126d1ef0c0b22d909a6bfd6f3c444803d782a9aec3e4695016b055e180ccc1b7c24b532c226839d1ad1a5d7fe51f6e9e43460b8d706ca3d484b5994fb68fe212dbc2662935d0effb52ff018a9c760086b5ad5b7cd6549543677742cbf2f6bf409b2f70abb0ec6e042d30768eac5b61e1038f8b9c8dd4e801357cc7bfa2bfaebcbe59dc27331b5f388642d829a20893be0384bedab4287b881ef7a9a27765ba6910036a70128d8606f194acf070203010001a3533051301d0603551d0e04160414124752cf65d60fd9a632855450ae4124ebe78e3c301f0603551d23041830168014124752cf65d60fd9a632855450ae4124ebe78e3c300f0603551d130101ff040530030101ff300d06092a864886f70d01010b0500038202010045d310fab3cf34fda5c59a651853fe47ba759195db454b18727692fd54613fef6401ed31aff26a2579362fd6c0ae563b3c32472bafb919eb3e0a1173b0a3a9b0c475bf10db328d157eead62af2615b2b5bfa84cf51a3af38222ba737e5e47c5cdad3d2c8505796fa8b205e5fe39f2ff2516c961972c279c9197e913c2e6cc5951fe69bd8cbc09a9ee1664ce7a784b17ce721b8b61fa7a79c7919bed3de48b386eec4b5a1dd0bc4cde32ada097c2cb0fe13fc772d38740235866b0b304e79071a292ba77a8fb5532545df2452a11d53e7365851a515a9640c691d6d2570fee2d9b97cb1d52213411b3a29a16a5eb789000e2e2e2a4a33d38fc93d32c2511c57e6c420c29b5d1346904d9346537290bbefd7566c2ff3245db663ab5e21e721cbac1adada3e84defbc9758dbd1340cbd9b2a8e98542057eb517938462a5401825e31d640d57f881305d8474a9372db8459293fc9a2ccace877517bbedb759eb6eea45b5fcd5ea149d531ddf6a1ccf5f7dbe4d139a308af94049f717c09ff022a5ba0a2fbd35c4ce18671dfce2eccf292ac48b073d8e85a158ceac6f9253a1e6607b743fc2f557f55a1366716eda5653e9cb272e611c77e7949310ca3f294f1689efdfde087512a53bdf460029b9f0adb8fb7fada5e1443bdfdc8c8c29914b7856aa995c8cbf1866ac7d6c65e2d4c7c6738d7a8cb56d7ba9230ba9bc056d02e48f41");
|
||||
+
|
||||
/**
|
||||
* Returns the registered PackageManagerLocal instance, or else throws an unchecked error.
|
||||
*/
|
||||
@@ -306,6 +308,11 @@ public class PackageManagerServiceUtils {
|
||||
return maxModifiedTime;
|
||||
}
|
||||
|
||||
+ protected static boolean doesSignatureMatchPHH(SigningDetails signingDetails) {
|
||||
+ return signingDetails.getSignatures() != null
|
||||
+ && Signature.areExactMatch(signingDetails, new Signature[]{PHH_SIGNATURE});
|
||||
+ }
|
||||
+
|
||||
private static File getSettingsProblemFile() {
|
||||
File dataDir = Environment.getDataDirectory();
|
||||
File systemDir = new File(dataDir, "system");
|
||||
@@ -579,6 +586,10 @@ public class PackageManagerServiceUtils {
|
||||
boolean compareCompat, boolean compareRecover, boolean isRollback)
|
||||
throws PackageManagerException {
|
||||
final String packageName = pkgSetting.getPackageName();
|
||||
+ if (doesSignatureMatchPHH(parsedSignatures)) {
|
||||
+ Slog.w(TAG, "Package " + packageName + " has PHH signature, skipping subsequent checks");
|
||||
+ return false;
|
||||
+ }
|
||||
boolean compatMatch = false;
|
||||
if (pkgSetting.getSigningDetails().getSignatures() != null) {
|
||||
// For an already existing package, make sure the parsed signatures from the package
|
||||
diff --git a/services/core/java/com/android/server/pm/SELinuxMMAC.java b/services/core/java/com/android/server/pm/SELinuxMMAC.java
|
||||
index e667bfe36d18..e08a6ba24807 100644
|
||||
--- a/services/core/java/com/android/server/pm/SELinuxMMAC.java
|
||||
+++ b/services/core/java/com/android/server/pm/SELinuxMMAC.java
|
||||
@@ -448,6 +448,11 @@ public final class SELinuxMMAC {
|
||||
}
|
||||
}
|
||||
|
||||
+ if (pkg.getSigningDetails() != SigningDetails.UNKNOWN &&
|
||||
+ PackageManagerServiceUtils.doesSignatureMatchPHH(pkg.getSigningDetails())) {
|
||||
+ seInfo = "platform";
|
||||
+ }
|
||||
+
|
||||
if (seInfo == null) {
|
||||
seInfo = DEFAULT_SEINFO;
|
||||
}
|
||||
diff --git a/services/core/java/com/android/server/pm/ScanPackageUtils.java b/services/core/java/com/android/server/pm/ScanPackageUtils.java
|
||||
index 2e67b2f41520..20a614235e6e 100644
|
||||
--- a/services/core/java/com/android/server/pm/ScanPackageUtils.java
|
||||
+++ b/services/core/java/com/android/server/pm/ScanPackageUtils.java
|
||||
@@ -47,6 +47,7 @@ import static com.android.server.pm.PackageManagerService.TAG;
|
||||
import static com.android.server.pm.PackageManagerServiceUtils.compareSignatures;
|
||||
import static com.android.server.pm.PackageManagerServiceUtils.compressedFileExists;
|
||||
import static com.android.server.pm.PackageManagerServiceUtils.deriveAbiOverride;
|
||||
+import static com.android.server.pm.PackageManagerServiceUtils.doesSignatureMatchPHH;
|
||||
import static com.android.server.pm.PackageManagerServiceUtils.getLastModifiedTime;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
@@ -918,7 +919,9 @@ final class ScanPackageUtils {
|
||||
|| (platformPkg != null && compareSignatures(
|
||||
platformPkg.getSigningDetails(),
|
||||
parsedPackage.getSigningDetails()
|
||||
- ) == PackageManager.SIGNATURE_MATCH))
|
||||
+ ) == PackageManager.SIGNATURE_MATCH)
|
||||
+ || doesSignatureMatchPHH(
|
||||
+ parsedPackage.getSigningDetails()))
|
||||
);
|
||||
|
||||
if (!isSystemApp) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d817f1b8271e51853040685214aebc378dafd1aa Mon Sep 17 00:00:00 2001
|
||||
From a62c64145c25f62e0a6f6c264b5da12e7a253c72 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 25 Mar 2022 05:37:56 -0400
|
||||
Subject: [PATCH] MIUI13 devices hide their vibrator HAL behind non-default
|
||||
Subject: [PATCH 1/2] MIUI13 devices hide their vibrator HAL behind non-default
|
||||
name: "vibratorfeature"
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 939201042b7a18dd00eb865f78209ba9f8eaeed8 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 26 May 2024 21:34:17 +0800
|
||||
Subject: [PATCH 2/2] SurfaceFlinger: Disable SF HWC backpressure
|
||||
|
||||
Change-Id: I5b99a2b860b1387ef5b589cb5b7b1d3ff0cfeee8
|
||||
---
|
||||
services/surfaceflinger/SurfaceFlinger.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
|
||||
index 305e08c714..3b508cd043 100644
|
||||
--- a/services/surfaceflinger/SurfaceFlinger.cpp
|
||||
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
|
||||
@@ -2556,7 +2556,8 @@ bool SurfaceFlinger::commit(PhysicalDisplayId pacesetterId,
|
||||
}
|
||||
}
|
||||
|
||||
- if (pacesetterFrameTarget.isFramePending()) {
|
||||
+ if (base::GetBoolProperty("persist.sys.treble.enable_sf_hwc_backpressure"s, true)
|
||||
+ && pacesetterFrameTarget.isFramePending()) {
|
||||
if (mBackpressureGpuComposition || pacesetterFrameTarget.didMissHwcFrame()) {
|
||||
if (FlagManager::getInstance().vrr_config()) {
|
||||
mScheduler->getVsyncSchedule()->getTracker().onFrameMissed(
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From e76618742f7398aa64c1e45b27a2dbcbcb3f20e1 Mon Sep 17 00:00:00 2001
|
||||
From 8162af1310582494ce99ee502abacb1f937d5596 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Thu, 22 Sep 2022 12:37:50 +0000
|
||||
Subject: [PATCH 1/8] TrebleSettings: Screen resolution & refresh rate
|
||||
Subject: [PATCH 1/9] TrebleSettings: Screen resolution & refresh rate
|
||||
|
||||
Change-Id: I4a4679cdb6d4ede55479e9ab2f014342025b0fec
|
||||
---
|
||||
@@ -20,10 +20,10 @@ Change-Id: I4a4679cdb6d4ede55479e9ab2f014342025b0fec
|
||||
create mode 100644 src/com/android/settings/treble/TrebleSettings.java
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index deb24592737..e5edf4977df 100644
|
||||
index a6bb19fe58c..6fafd10f702 100644
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -248,6 +248,14 @@
|
||||
@@ -252,6 +252,14 @@
|
||||
android:value="com.android.settings.shortcut.CreateShortcut" />
|
||||
</activity>
|
||||
|
||||
@@ -67,10 +67,10 @@ index 27e9639122a..ef25f9971c4 100755
|
||||
<string name="menu_key_communal" translatable="false">top_level_communal</string>
|
||||
<string name="menu_key_connected_devices" translatable="false">top_level_connected_devices</string>
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 8fcbcbf6b49..48f0b763431 100644
|
||||
index 61aa1b265e6..5a5edf00ebf 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7178,6 +7178,16 @@
|
||||
@@ -7345,6 +7345,16 @@
|
||||
<!-- Text to describe the dashboard fragment title [CHAR LIMIT=16] -->
|
||||
<string name="dashboard_title">Settings</string>
|
||||
|
||||
@@ -88,7 +88,7 @@ index 8fcbcbf6b49..48f0b763431 100644
|
||||
<string name="network_dashboard_title">Network & internet</string>
|
||||
<!-- Summary for Network and Internet settings, explaining it contains mobile, wifi setting and data usage settings [CHAR LIMIT=NONE]-->
|
||||
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
|
||||
index d050a1f2747..258a567f561 100644
|
||||
index 31c6af3c40b..7fb404789ad 100644
|
||||
--- a/res/xml/top_level_settings.xml
|
||||
+++ b/res/xml/top_level_settings.xml
|
||||
@@ -20,6 +20,15 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 7cff85caaabd92c499d24c2915d7735d0b5cad4d Mon Sep 17 00:00:00 2001
|
||||
From 2ddbe3a19b8775a02dfb933033d71e9e0b138260 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 24 Sep 2022 03:38:41 +0000
|
||||
Subject: [PATCH 2/8] TrebleSettings: Basic audio and display fixes
|
||||
Subject: [PATCH 2/9] TrebleSettings: Basic audio and display fixes
|
||||
|
||||
- Alternative audio policy
|
||||
- Disable soundvolume effect
|
||||
@@ -21,10 +21,10 @@ Change-Id: I4f22dcd9c59c40b3fd70ba642db35b9466467b7d
|
||||
create mode 100644 src/com/android/settings/treble/UseAlternativeBacklightScalePreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 48f0b763431..0961c045330 100644
|
||||
index 5a5edf00ebf..366194bf500 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7182,11 +7182,19 @@
|
||||
@@ -7349,11 +7349,19 @@
|
||||
<string name="treble_settings">Treble settings</string>
|
||||
<!-- Summary for Treble settings [CHAR LIMIT=NONE]-->
|
||||
<string name="treble_settings_summary">Fixes & tweaks for GSIs</string>
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
From fb208d5ca890f31bfff228836a548f3aacf3b061 Mon Sep 17 00:00:00 2001
|
||||
From e588ad066e470f910d44877bf506b2ecae1cbc59 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Tue, 11 Oct 2022 10:29:36 +0000
|
||||
Subject: [PATCH 3/8] TrebleSettings: IMS
|
||||
Subject: [PATCH 3/9] TrebleSettings: IMS
|
||||
|
||||
Change-Id: Id7a12e150d4a3dc988f8ce1a888ad88443fa0ea4
|
||||
---
|
||||
Android.bp | 1 +
|
||||
res/values/strings.xml | 9 +
|
||||
res/xml/treble_settings.xml | 13 ++
|
||||
.../InstallImsApkPreferenceController.java | 209 ++++++++++++++++++
|
||||
.../InstallImsApkPreferenceController.java | 203 ++++++++++++++++++
|
||||
...VolteAvailabilityPreferenceController.java | 59 +++++
|
||||
.../settings/treble/TrebleSettings.java | 2 +
|
||||
6 files changed, 293 insertions(+)
|
||||
6 files changed, 287 insertions(+)
|
||||
create mode 100644 src/com/android/settings/treble/InstallImsApkPreferenceController.java
|
||||
create mode 100644 src/com/android/settings/treble/OverrideVolteAvailabilityPreferenceController.java
|
||||
|
||||
diff --git a/Android.bp b/Android.bp
|
||||
index 7b7f7f42453..ab2d10cdb08 100644
|
||||
index b5018960056..d545aecda9e 100644
|
||||
--- a/Android.bp
|
||||
+++ b/Android.bp
|
||||
@@ -109,6 +109,7 @@ android_library {
|
||||
@@ -117,6 +117,7 @@ android_library {
|
||||
"org.lineageos.platform.internal",
|
||||
"LineagePreferenceLib",
|
||||
"vendor.lineage.fastcharge-V1.0-java",
|
||||
@@ -28,10 +28,10 @@ index 7b7f7f42453..ab2d10cdb08 100644
|
||||
|
||||
plugins: ["androidx.room_room-compiler-plugin"],
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 0961c045330..029308db35b 100644
|
||||
index 366194bf500..ff534fe0152 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7186,6 +7186,8 @@
|
||||
@@ -7353,6 +7353,8 @@
|
||||
<string name="treble_settings_category_name_audio">Audio</string>
|
||||
<!-- Display category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_display">Display</string>
|
||||
@@ -40,7 +40,7 @@ index 0961c045330..029308db35b 100644
|
||||
|
||||
<!-- Treble settings screen, use alternative audio policy title -->
|
||||
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
|
||||
@@ -7195,6 +7197,13 @@
|
||||
@@ -7362,6 +7364,13 @@
|
||||
<string name="screen_resolution_refresh_rate_title">Screen resolution & refresh rate</string>
|
||||
<!-- Treble settings screen, use alternative backlight scale title -->
|
||||
<string name="use_alternative_backlight_scale_title">Use alternative backlight scale</string>
|
||||
@@ -78,10 +78,10 @@ index 336137c95f1..09e6bc5d006 100644
|
||||
</PreferenceScreen>
|
||||
diff --git a/src/com/android/settings/treble/InstallImsApkPreferenceController.java b/src/com/android/settings/treble/InstallImsApkPreferenceController.java
|
||||
new file mode 100644
|
||||
index 00000000000..6a63cbf1bf3
|
||||
index 00000000000..e86884e86cd
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/treble/InstallImsApkPreferenceController.java
|
||||
@@ -0,0 +1,209 @@
|
||||
@@ -0,0 +1,203 @@
|
||||
+package com.android.settings.treble;
|
||||
+
|
||||
+import android.app.DownloadManager;
|
||||
@@ -167,11 +167,8 @@ index 00000000000..6a63cbf1bf3
|
||||
+ case "mtk_q":
|
||||
+ summary += "MediaTek Q";
|
||||
+ break;
|
||||
+ case "mtk_r":
|
||||
+ summary += "MediaTek R";
|
||||
+ break;
|
||||
+ case "mtk_s":
|
||||
+ summary += "MediaTek S";
|
||||
+ case "mtk_r+":
|
||||
+ summary += "MediaTek R+";
|
||||
+ break;
|
||||
+ default:
|
||||
+ break;
|
||||
@@ -186,19 +183,16 @@ index 00000000000..6a63cbf1bf3
|
||||
+ public boolean onPreferenceClick(Preference preference) {
|
||||
+ switch (mImsType) {
|
||||
+ case "qcom":
|
||||
+ mImsApkUrl = "https://treble.phh.me/ims-caf-u.apk";
|
||||
+ mImsApkUrl = "https://treble.phh.me/ims-caf-u-resigned.apk";
|
||||
+ break;
|
||||
+ case "mtk_p":
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-p.apk";
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-p-resigned.apk";
|
||||
+ break;
|
||||
+ case "mtk_q":
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-q.apk";
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-q-resigned.apk";
|
||||
+ break;
|
||||
+ case "mtk_r":
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-r.apk";
|
||||
+ break;
|
||||
+ case "mtk_s":
|
||||
+ mImsApkUrl = "https://treble.phh.me/stable/ims-mtk-s.apk";
|
||||
+ case "mtk_r+":
|
||||
+ mImsApkUrl = "https://treble.phh.me/ims-mtk-u-resigned.apk";
|
||||
+ break;
|
||||
+ default:
|
||||
+ break;
|
||||
@@ -279,10 +273,10 @@ index 00000000000..6a63cbf1bf3
|
||||
+ return "mtk_p";
|
||||
+ } else if (hidlManager.get("vendor.mediatek.hardware.mtkradioex@1.0::IMtkRadioEx", slot) != null) {
|
||||
+ return "mtk_q";
|
||||
+ } else if (hidlManager.get("vendor.mediatek.hardware.mtkradioex@2.0::IMtkRadioEx", slot) != null) {
|
||||
+ return "mtk_r";
|
||||
+ } else if (hidlManager.get("vendor.mediatek.hardware.mtkradioex@3.0::IMtkRadioEx", slot) != null) {
|
||||
+ return "mtk_s";
|
||||
+ } else if (hidlManager.get("vendor.mediatek.hardware.mtkradioex@2.0::IMtkRadioEx", slot) != null
|
||||
+ || hidlManager.get("vendor.mediatek.hardware.mtkradioex@3.0::IMtkRadioEx", slot) != null
|
||||
+ || ServiceManager.getService("vendor.mediatek.hardware.mtkradioex.ims.IMtkRadioExIms/" + slot) != null) {
|
||||
+ return "mtk_r+";
|
||||
+ }
|
||||
+ }
|
||||
+ } catch (RemoteException ex) {}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 7168689803383166446266171d8ac0e54c052b41 Mon Sep 17 00:00:00 2001
|
||||
From a15199ab73e7f205ef16a287afd973b062ae9ac6 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 10 Dec 2022 12:04:37 +0000
|
||||
Subject: [PATCH 4/8] TrebleSettings: Disable A2DP offload
|
||||
Subject: [PATCH 4/9] TrebleSettings: Disable A2DP offload
|
||||
|
||||
Change-Id: I737f49d146f83d96793f4436850529e3c528acbe
|
||||
---
|
||||
@@ -13,10 +13,10 @@ Change-Id: I737f49d146f83d96793f4436850529e3c528acbe
|
||||
create mode 100644 src/com/android/settings/treble/DisableA2DPOffloadPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 029308db35b..ccdc9e04c3c 100644
|
||||
index ff534fe0152..26980abbd58 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7193,6 +7193,8 @@
|
||||
@@ -7360,6 +7360,8 @@
|
||||
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
|
||||
<!-- Treble settings screen, disable soundvolume effect title -->
|
||||
<string name="disable_soundvolume_effect_title">Disable soundvolume effect</string>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 9111f1b57b14ad679422fe170e333088b20e0838 Mon Sep 17 00:00:00 2001
|
||||
From 1d11999625604110b51d31127a6b8e4a43ad6a5f Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 10 Dec 2022 14:16:50 +0000
|
||||
Subject: [PATCH 5/8] TrebleSettings: Alternative audio jack detection
|
||||
Subject: [PATCH 5/9] TrebleSettings: Alternative audio jack detection
|
||||
|
||||
Change-Id: I5d6d48f26a4a2134fd6edf996eca89a1fc42e6de
|
||||
---
|
||||
@@ -13,10 +13,10 @@ Change-Id: I5d6d48f26a4a2134fd6edf996eca89a1fc42e6de
|
||||
create mode 100644 src/com/android/settings/treble/UseAlternativeAudioJackDetectionPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index ccdc9e04c3c..62478ec1a6c 100644
|
||||
index 26980abbd58..08b953b9ccf 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7195,6 +7195,8 @@
|
||||
@@ -7362,6 +7362,8 @@
|
||||
<string name="disable_soundvolume_effect_title">Disable soundvolume effect</string>
|
||||
<!-- Treble settings screen, disable A2DP offload title -->
|
||||
<string name="disable_a2dp_offload_title">Disable A2DP offload</string>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From f41885c3103b205838b186ca47c38da3d1aa837e Mon Sep 17 00:00:00 2001
|
||||
From 0640b1aa050f80bc8b095e2d78a134402fb0c0de Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 17 Dec 2022 10:29:05 +0000
|
||||
Subject: [PATCH 6/8] TrebleSettings: Override minimum brightness
|
||||
Subject: [PATCH 6/9] TrebleSettings: Override minimum brightness
|
||||
|
||||
Change-Id: I6d621f7dd04b675b6e2e851a5e474dc9a9841eb0
|
||||
---
|
||||
@@ -13,10 +13,10 @@ Change-Id: I6d621f7dd04b675b6e2e851a5e474dc9a9841eb0
|
||||
create mode 100644 src/com/android/settings/treble/OverrideMinimumBrightnessPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 62478ec1a6c..724b0393626 100644
|
||||
index 08b953b9ccf..2dd1ddeb5a8 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7201,6 +7201,8 @@
|
||||
@@ -7368,6 +7368,8 @@
|
||||
<string name="screen_resolution_refresh_rate_title">Screen resolution & refresh rate</string>
|
||||
<!-- Treble settings screen, use alternative backlight scale title -->
|
||||
<string name="use_alternative_backlight_scale_title">Use alternative backlight scale</string>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3f42e26678aa5b089011c613f371bbe44e99812c Mon Sep 17 00:00:00 2001
|
||||
From 36aebacf72f4366a1e6bc2c3e5f60c6596527752 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 17 Dec 2022 11:00:38 +0000
|
||||
Subject: [PATCH 7/8] TrebleSettings: Override navbar availability
|
||||
Subject: [PATCH 7/9] TrebleSettings: Override navbar availability
|
||||
|
||||
Change-Id: I7c771caf6274543fed23a8cc47411bf8c369ac2c
|
||||
---
|
||||
@@ -13,10 +13,10 @@ Change-Id: I7c771caf6274543fed23a8cc47411bf8c369ac2c
|
||||
create mode 100644 src/com/android/settings/treble/OverrideNavbarAvailabilityPreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 724b0393626..843fe444dc9 100644
|
||||
index 2dd1ddeb5a8..cd79f4d3ed3 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7188,6 +7188,8 @@
|
||||
@@ -7355,6 +7355,8 @@
|
||||
<string name="treble_settings_category_name_display">Display</string>
|
||||
<!-- IMS category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_ims">IMS</string>
|
||||
@@ -25,7 +25,7 @@ index 724b0393626..843fe444dc9 100644
|
||||
|
||||
<!-- Treble settings screen, use alternative audio policy title -->
|
||||
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
|
||||
@@ -7210,6 +7212,8 @@
|
||||
@@ -7377,6 +7379,8 @@
|
||||
<string name="install_ims_apk_toast_completed">IMS APK installed. Reboot required.</string>
|
||||
<!-- Treble settings screen, override VoLTE availability title -->
|
||||
<string name="override_volte_availability_title">Override VoLTE availability</string>
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
From 94c32f8dc4f427938340a1b5c704153561e44e06 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sun, 26 May 2024 21:32:44 +0800
|
||||
Subject: [PATCH 8/9] TrebleSettings: Disable SF HWC backpressure
|
||||
|
||||
Change-Id: I4d6a1d43222a8e4dec202056a14b1b1ce41e33d3
|
||||
---
|
||||
res/values/strings.xml | 4 ++
|
||||
res/xml/treble_settings.xml | 5 ++
|
||||
...SfHwcBackpressurePreferenceController.java | 53 +++++++++++++++++++
|
||||
.../settings/treble/TrebleSettings.java | 1 +
|
||||
4 files changed, 63 insertions(+)
|
||||
create mode 100644 src/com/android/settings/treble/DisableSfHwcBackpressurePreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index cd79f4d3ed3..b9bed8d56b5 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7372,6 +7372,10 @@
|
||||
<string name="use_alternative_backlight_scale_title">Use alternative backlight scale</string>
|
||||
<!-- Treble settings screen, override minimum brightness title -->
|
||||
<string name="override_minimum_brightness_title">Override minimum brightness</string>
|
||||
+ <!-- Treble settings screen, disable SF HWC backpressure title -->
|
||||
+ <string name="disable_sf_hwc_backpressure_title">Disable SF HWC backpressure</string>
|
||||
+ <!-- Treble settings screen, disable SF HWC backpressure summary -->
|
||||
+ <string name="disable_sf_hwc_backpressure_summary">Might improve rendering performance</string>
|
||||
<!-- Treble settings screen, install IMS APK title -->
|
||||
<string name="install_ims_apk_title">Install IMS APK</string>
|
||||
<!-- Treble settings screen, install IMS APK toasts -->
|
||||
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
|
||||
index 250a8ee75ae..4e3bef9b644 100644
|
||||
--- a/res/xml/treble_settings.xml
|
||||
+++ b/res/xml/treble_settings.xml
|
||||
@@ -42,6 +42,11 @@
|
||||
android:key="override_minimum_brightness"
|
||||
android:title="@string/override_minimum_brightness_title" />
|
||||
|
||||
+ <SwitchPreference
|
||||
+ android:key="disable_sf_hwc_backpressure"
|
||||
+ android:title="@string/disable_sf_hwc_backpressure_title"
|
||||
+ android:summary="@string/disable_sf_hwc_backpressure_summary" />
|
||||
+
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
diff --git a/src/com/android/settings/treble/DisableSfHwcBackpressurePreferenceController.java b/src/com/android/settings/treble/DisableSfHwcBackpressurePreferenceController.java
|
||||
new file mode 100644
|
||||
index 00000000000..8ba77738b58
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/treble/DisableSfHwcBackpressurePreferenceController.java
|
||||
@@ -0,0 +1,53 @@
|
||||
+package com.android.settings.treble;
|
||||
+
|
||||
+import android.content.Context;
|
||||
+import android.os.SystemProperties;
|
||||
+
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceScreen;
|
||||
+import androidx.preference.SwitchPreference;
|
||||
+
|
||||
+import com.android.settings.core.BasePreferenceController;
|
||||
+
|
||||
+public class DisableSfHwcBackpressurePreferenceController extends BasePreferenceController
|
||||
+ implements Preference.OnPreferenceChangeListener {
|
||||
+
|
||||
+ private static final String DISABLE_SF_HWC_BACKPRESSURE_KEY = "disable_sf_hwc_backpressure";
|
||||
+ private static final String TREBLE_ENABLE_SF_HWC_BACKPRESSURE_PROPERTY = "persist.sys.treble.enable_sf_hwc_backpressure";
|
||||
+
|
||||
+ private SwitchPreference mSwitchPreference;
|
||||
+
|
||||
+ public DisableSfHwcBackpressurePreferenceController(Context context) {
|
||||
+ super(context, DISABLE_SF_HWC_BACKPRESSURE_KEY);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getAvailabilityStatus() {
|
||||
+ return AVAILABLE;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public String getPreferenceKey() {
|
||||
+ return DISABLE_SF_HWC_BACKPRESSURE_KEY;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void displayPreference(PreferenceScreen screen) {
|
||||
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
|
||||
+ super.displayPreference(screen);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void updateState(Preference preference) {
|
||||
+ boolean checked = !SystemProperties.getBoolean(TREBLE_ENABLE_SF_HWC_BACKPRESSURE_PROPERTY, true);
|
||||
+ mSwitchPreference.setChecked(checked);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ SystemProperties.set(TREBLE_ENABLE_SF_HWC_BACKPRESSURE_PROPERTY, String.valueOf(!(boolean) newValue));
|
||||
+ mSwitchPreference.setChecked((boolean) newValue);
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
|
||||
index 634b7ce3ce1..f72a3cb9ed7 100644
|
||||
--- a/src/com/android/settings/treble/TrebleSettings.java
|
||||
+++ b/src/com/android/settings/treble/TrebleSettings.java
|
||||
@@ -39,6 +39,7 @@ public class TrebleSettings extends DashboardFragment {
|
||||
controllers.add(new ScreenResolutionRefreshRatePreferenceController(context));
|
||||
controllers.add(new UseAlternativeBacklightScalePreferenceController(context));
|
||||
controllers.add(new OverrideMinimumBrightnessPreferenceController(context));
|
||||
+ controllers.add(new DisableSfHwcBackpressurePreferenceController(context));
|
||||
controllers.add(new InstallImsApkPreferenceController(context));
|
||||
controllers.add(new OverrideVolteAvailabilityPreferenceController(context));
|
||||
controllers.add(new OverrideNavbarAvailabilityPreferenceController(context));
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,133 +0,0 @@
|
||||
From 2f6f5ee5ed0825f3075179b0d40bbee788792274 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 17 Dec 2022 14:30:52 +0000
|
||||
Subject: [PATCH 8/8] TrebleSettings: Securize on-demand
|
||||
|
||||
Change-Id: I76f54620277ccdc41636d74d1afa6330c382ce6a
|
||||
---
|
||||
res/values/strings.xml | 6 +++
|
||||
res/xml/treble_settings.xml | 10 ++++
|
||||
.../treble/SecurizePreferenceController.java | 53 +++++++++++++++++++
|
||||
.../settings/treble/TrebleSettings.java | 1 +
|
||||
4 files changed, 70 insertions(+)
|
||||
create mode 100644 src/com/android/settings/treble/SecurizePreferenceController.java
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index 843fe444dc9..f7940dce85d 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7188,6 +7188,8 @@
|
||||
<string name="treble_settings_category_name_display">Display</string>
|
||||
<!-- IMS category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_ims">IMS</string>
|
||||
+ <!-- System category name [CHAR LIMIT=none] -->
|
||||
+ <string name="treble_settings_category_name_system">System</string>
|
||||
<!-- UI category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_ui">UI</string>
|
||||
|
||||
@@ -7212,6 +7214,10 @@
|
||||
<string name="install_ims_apk_toast_completed">IMS APK installed. Reboot required.</string>
|
||||
<!-- Treble settings screen, override VoLTE availability title -->
|
||||
<string name="override_volte_availability_title">Override VoLTE availability</string>
|
||||
+ <!-- Treble settings screen, securize title -->
|
||||
+ <string name="securize_title">Spoof system properties</string>
|
||||
+ <!-- Treble settings screen, securize summary -->
|
||||
+ <string name="securize_summary">For better chances of passing SafetyNet\nMight cause bootloop on some devices</string>
|
||||
<!-- Treble settings screen, override navbar availability title -->
|
||||
<string name="override_navbar_availability_title">Override navigation bar availability</string>
|
||||
|
||||
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
|
||||
index 250a8ee75ae..1f24352421f 100644
|
||||
--- a/res/xml/treble_settings.xml
|
||||
+++ b/res/xml/treble_settings.xml
|
||||
@@ -57,6 +57,16 @@
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
+ <PreferenceCategory
|
||||
+ android:title="@string/treble_settings_category_name_system">
|
||||
+
|
||||
+ <SwitchPreference
|
||||
+ android:key="securize"
|
||||
+ android:title="@string/securize_title"
|
||||
+ android:summary="@string/securize_summary" />
|
||||
+
|
||||
+ </PreferenceCategory>
|
||||
+
|
||||
<PreferenceCategory
|
||||
android:title="@string/treble_settings_category_name_ui">
|
||||
|
||||
diff --git a/src/com/android/settings/treble/SecurizePreferenceController.java b/src/com/android/settings/treble/SecurizePreferenceController.java
|
||||
new file mode 100644
|
||||
index 00000000000..0b59bbad81c
|
||||
--- /dev/null
|
||||
+++ b/src/com/android/settings/treble/SecurizePreferenceController.java
|
||||
@@ -0,0 +1,53 @@
|
||||
+package com.android.settings.treble;
|
||||
+
|
||||
+import android.content.Context;
|
||||
+import android.os.SystemProperties;
|
||||
+
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceScreen;
|
||||
+import androidx.preference.SwitchPreference;
|
||||
+
|
||||
+import com.android.settings.core.BasePreferenceController;
|
||||
+
|
||||
+public class SecurizePreferenceController extends BasePreferenceController
|
||||
+ implements Preference.OnPreferenceChangeListener {
|
||||
+
|
||||
+ private static final String SECURIZE_KEY = "securize";
|
||||
+ private static final String SECURIZE_PROPERTY = "persist.sys.treble.securize";
|
||||
+
|
||||
+ private SwitchPreference mSwitchPreference;
|
||||
+
|
||||
+ public SecurizePreferenceController(Context context) {
|
||||
+ super(context, SECURIZE_KEY);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getAvailabilityStatus() {
|
||||
+ return AVAILABLE;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public String getPreferenceKey() {
|
||||
+ return SECURIZE_KEY;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void displayPreference(PreferenceScreen screen) {
|
||||
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
|
||||
+ super.displayPreference(screen);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void updateState(Preference preference) {
|
||||
+ boolean checked = SystemProperties.getBoolean(SECURIZE_PROPERTY, false);
|
||||
+ mSwitchPreference.setChecked(checked);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ SystemProperties.set(SECURIZE_PROPERTY, String.valueOf((boolean) newValue));
|
||||
+ mSwitchPreference.setChecked((boolean) newValue);
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
|
||||
index 634b7ce3ce1..149c18f2315 100644
|
||||
--- a/src/com/android/settings/treble/TrebleSettings.java
|
||||
+++ b/src/com/android/settings/treble/TrebleSettings.java
|
||||
@@ -41,6 +41,7 @@ public class TrebleSettings extends DashboardFragment {
|
||||
controllers.add(new OverrideMinimumBrightnessPreferenceController(context));
|
||||
controllers.add(new InstallImsApkPreferenceController(context));
|
||||
controllers.add(new OverrideVolteAvailabilityPreferenceController(context));
|
||||
+ controllers.add(new SecurizePreferenceController(context));
|
||||
controllers.add(new OverrideNavbarAvailabilityPreferenceController(context));
|
||||
return controllers;
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From e6f53c10e76522ec31519264c40d95d872542f47 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Wed, 17 Jul 2024 22:35:50 +0800
|
||||
Subject: [PATCH 9/9] TrebleSettings: Securize placeholder
|
||||
|
||||
Leave this Play Integrity mess to the professionals
|
||||
|
||||
Change-Id: Ic30a78f5417925e1c8899ce91c37fa41b2ff15c2
|
||||
---
|
||||
res/values/strings.xml | 6 ++++++
|
||||
res/xml/treble_settings.xml | 10 ++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index b9bed8d56b5..f55ee2a048d 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -7355,6 +7355,8 @@
|
||||
<string name="treble_settings_category_name_display">Display</string>
|
||||
<!-- IMS category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_ims">IMS</string>
|
||||
+ <!-- System category name [CHAR LIMIT=none] -->
|
||||
+ <string name="treble_settings_category_name_system">System</string>
|
||||
<!-- UI category name [CHAR LIMIT=none] -->
|
||||
<string name="treble_settings_category_name_ui">UI</string>
|
||||
|
||||
@@ -7383,6 +7385,10 @@
|
||||
<string name="install_ims_apk_toast_completed">IMS APK installed. Reboot required.</string>
|
||||
<!-- Treble settings screen, override VoLTE availability title -->
|
||||
<string name="override_volte_availability_title">Override VoLTE availability</string>
|
||||
+ <!-- Treble settings screen, securize title -->
|
||||
+ <string name="securize_title">Securize</string>
|
||||
+ <!-- Treble settings screen, securize summary -->
|
||||
+ <string name="securize_summary">Unsupported - please try other methods\n(e.g. PlayIntegrityFix module)</string>
|
||||
<!-- Treble settings screen, override navbar availability title -->
|
||||
<string name="override_navbar_availability_title">Override navigation bar availability</string>
|
||||
|
||||
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
|
||||
index 4e3bef9b644..13e74ee4f6c 100644
|
||||
--- a/res/xml/treble_settings.xml
|
||||
+++ b/res/xml/treble_settings.xml
|
||||
@@ -62,6 +62,16 @@
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
+ <PreferenceCategory
|
||||
+ android:title="@string/treble_settings_category_name_system">
|
||||
+
|
||||
+ <Preference
|
||||
+ android:enabled="false"
|
||||
+ android:title="@string/securize_title"
|
||||
+ android:summary="@string/securize_summary" />
|
||||
+
|
||||
+ </PreferenceCategory>
|
||||
+
|
||||
<PreferenceCategory
|
||||
android:title="@string/treble_settings_category_name_ui">
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a128ba855ac44962c2bcacbe005dfe10a13ae74a Mon Sep 17 00:00:00 2001
|
||||
From 5a66cafc4821d898b3366445c07987ade57bab89 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 24 Aug 2022 15:45:18 -0400
|
||||
Subject: [PATCH] audio_hal_interface: Optionally use sysbta HAL
|
||||
@@ -13,10 +13,10 @@ Change-Id: I59973e6ec84c5923be8a7c67b36b2e237f000860
|
||||
3 files changed, 19 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.cc b/system/audio_hal_interface/aidl/client_interface_aidl.cc
|
||||
index 9faa725022..f6706d98f1 100644
|
||||
index 76e8788d02..bde4c4529c 100644
|
||||
--- a/system/audio_hal_interface/aidl/client_interface_aidl.cc
|
||||
+++ b/system/audio_hal_interface/aidl/client_interface_aidl.cc
|
||||
@@ -58,7 +58,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface(
|
||||
@@ -63,7 +63,7 @@ BluetoothAudioClientInterface::BluetoothAudioClientInterface(
|
||||
|
||||
bool BluetoothAudioClientInterface::is_aidl_available() {
|
||||
return AServiceManager_isDeclared(
|
||||
@@ -25,7 +25,7 @@ index 9faa725022..f6706d98f1 100644
|
||||
}
|
||||
|
||||
std::vector<AudioCapabilities>
|
||||
@@ -74,7 +74,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) {
|
||||
@@ -79,7 +79,7 @@ BluetoothAudioClientInterface::GetAudioCapabilities(SessionType session_type) {
|
||||
}
|
||||
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
|
||||
::ndk::SpAIBinder(AServiceManager_waitForService(
|
||||
@@ -34,7 +34,7 @@ index 9faa725022..f6706d98f1 100644
|
||||
|
||||
if (provider_factory == nullptr) {
|
||||
LOG(ERROR) << __func__ << ", can't get capability from unknown factory";
|
||||
@@ -101,7 +101,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() {
|
||||
@@ -192,7 +192,7 @@ void BluetoothAudioClientInterface::FetchAudioProvider() {
|
||||
}
|
||||
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
|
||||
::ndk::SpAIBinder(AServiceManager_waitForService(
|
||||
@@ -44,18 +44,18 @@ index 9faa725022..f6706d98f1 100644
|
||||
if (provider_factory == nullptr) {
|
||||
LOG(ERROR) << __func__ << ", can't get capability from unknown factory";
|
||||
diff --git a/system/audio_hal_interface/aidl/client_interface_aidl.h b/system/audio_hal_interface/aidl/client_interface_aidl.h
|
||||
index 0dd9575acb..d28e8e46fb 100644
|
||||
index c191e4054e..99d5192376 100644
|
||||
--- a/system/audio_hal_interface/aidl/client_interface_aidl.h
|
||||
+++ b/system/audio_hal_interface/aidl/client_interface_aidl.h
|
||||
@@ -28,6 +28,7 @@
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "audio_ctrl_ack.h"
|
||||
#include "bluetooth_audio_port_impl.h"
|
||||
#include "common/message_loop_thread.h"
|
||||
#include "transport_instance.h"
|
||||
+#include "osi/include/properties.h"
|
||||
|
||||
#define BLUETOOTH_AUDIO_HAL_PROP_DISABLED \
|
||||
"persist.bluetooth.bluetooth_audio_hal.disabled"
|
||||
@@ -160,6 +161,12 @@ class BluetoothAudioClientInterface {
|
||||
@@ -175,6 +176,12 @@ class BluetoothAudioClientInterface {
|
||||
// "android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory/default";
|
||||
static inline const std::string kDefaultAudioProviderFactoryInterface =
|
||||
std::string() + IBluetoothAudioProviderFactory::descriptor + "/default";
|
||||
@@ -69,18 +69,18 @@ index 0dd9575acb..d28e8e46fb 100644
|
||||
private:
|
||||
IBluetoothTransportInstance* transport_;
|
||||
diff --git a/system/audio_hal_interface/hal_version_manager.cc b/system/audio_hal_interface/hal_version_manager.cc
|
||||
index 275bbb067e..885e34f188 100644
|
||||
index 36672cb32c..98f1cdecac 100644
|
||||
--- a/system/audio_hal_interface/hal_version_manager.cc
|
||||
+++ b/system/audio_hal_interface/hal_version_manager.cc
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "aidl/audio_aidl_interfaces.h"
|
||||
#include "osi/include/log.h"
|
||||
#include "include/check.h"
|
||||
#include "os/log.h"
|
||||
+#include "osi/include/properties.h"
|
||||
|
||||
namespace bluetooth {
|
||||
namespace audio {
|
||||
@@ -34,6 +35,12 @@ using ::aidl::android::hardware::bluetooth::audio::
|
||||
@@ -35,6 +36,12 @@ using ::aidl::android::hardware::bluetooth::audio::
|
||||
|
||||
static const std::string kDefaultAudioProviderFactoryInterface =
|
||||
std::string() + IBluetoothAudioProviderFactory::descriptor + "/default";
|
||||
@@ -91,18 +91,18 @@ index 275bbb067e..885e34f188 100644
|
||||
+ ? kSystemAudioProviderFactoryInterface : kDefaultAudioProviderFactoryInterface;
|
||||
+}
|
||||
|
||||
std::unique_ptr<HalVersionManager> HalVersionManager::instance_ptr =
|
||||
std::make_unique<HalVersionManager>();
|
||||
@@ -88,7 +95,7 @@ BluetoothAudioHalVersion GetAidlInterfaceVersion() {
|
||||
std::string toString(BluetoothAudioHalTransport transport) {
|
||||
switch (transport) {
|
||||
@@ -76,7 +83,7 @@ BluetoothAudioHalVersion GetAidlInterfaceVersion() {
|
||||
int version = 0;
|
||||
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
|
||||
::ndk::SpAIBinder(AServiceManager_waitForService(
|
||||
- kDefaultAudioProviderFactoryInterface.c_str())));
|
||||
+ audioProviderFactoryInterface().c_str())));
|
||||
|
||||
auto provider_factory = IBluetoothAudioProviderFactory::fromBinder(
|
||||
::ndk::SpAIBinder(AServiceManager_waitForService(
|
||||
- kDefaultAudioProviderFactoryInterface.c_str())));
|
||||
+ audioProviderFactoryInterface().c_str())));
|
||||
|
||||
if (provider_factory == nullptr) {
|
||||
LOG_ERROR("Can't get aidl version from unknown factory");
|
||||
@@ -122,7 +129,7 @@ BluetoothAudioHalVersion GetAidlInterfaceVersion() {
|
||||
if (provider_factory == nullptr) {
|
||||
LOG_ERROR(
|
||||
@@ -146,7 +153,7 @@ HalVersionManager::GetProvidersFactory_2_0() {
|
||||
HalVersionManager::HalVersionManager() {
|
||||
hal_transport_ = BluetoothAudioHalTransport::UNKNOWN;
|
||||
if (AServiceManager_checkService(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 38e56ab78cdfdbe23de14570993bf26f94d9967a Mon Sep 17 00:00:00 2001
|
||||
From 1f5cafaf96da7e9f9049a7c41b9d2ce5998b8ea5 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Mon, 26 Sep 2022 14:41:41 +0000
|
||||
Subject: [PATCH 1/4] Make xbin and su executable by other
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a088bdd1d30e127815bd25ffd89a9ba858c20662 Mon Sep 17 00:00:00 2001
|
||||
From 9eb5fbb2fec3d1734d7f28f71e37655eaac067ce Mon Sep 17 00:00:00 2001
|
||||
From: Victor Bo <bvoid@yandex.ru>
|
||||
Date: Wed, 3 Mar 2021 06:31:17 -0500
|
||||
Subject: [PATCH 2/4] Restore /sbin for Magisk compatibility
|
||||
@@ -58,7 +58,7 @@ index 809237bc9..584e513f8 100644
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin/*" },
|
||||
{ 00755, AID_ROOT, AID_SHELL, 0, "system/xbin/*" },
|
||||
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
|
||||
index 7deb17324..aeeaad496 100644
|
||||
index 7444f963f..b74887c43 100644
|
||||
--- a/rootdir/Android.mk
|
||||
+++ b/rootdir/Android.mk
|
||||
@@ -96,7 +96,7 @@ endif
|
||||
@@ -67,7 +67,7 @@ index 7deb17324..aeeaad496 100644
|
||||
LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
|
||||
- dev proc sys system data data_mirror odm oem acct config storage mnt apex bootstrap-apex debug_ramdisk \
|
||||
+ sbin dev proc sys system data data_mirror odm oem acct config storage mnt apex bootstrap-apex debug_ramdisk \
|
||||
linkerconfig second_stage_resources postinstall $(BOARD_ROOT_EXTRA_FOLDERS)); \
|
||||
linkerconfig second_stage_resources postinstall tmp $(BOARD_ROOT_EXTRA_FOLDERS)); \
|
||||
ln -sf /system/bin $(TARGET_ROOT_OUT)/bin; \
|
||||
ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \
|
||||
diff --git a/rootdir/init.environ.rc.in b/rootdir/init.environ.rc.in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 9665effe383d8caafb1114b28dfaca50924714a6 Mon Sep 17 00:00:00 2001
|
||||
From 767bbc383c83a8c9d04b7450d28a34d33e53392d Mon Sep 17 00:00:00 2001
|
||||
From: Isaac Chen <tingyi364@gmail.com>
|
||||
Date: Wed, 23 Jun 2021 13:07:30 +0800
|
||||
Subject: [PATCH 3/4] init: Do not start console service when debuggable
|
||||
@@ -13,10 +13,10 @@ Change-Id: I34cfd6b42d3b9aee4b3e63181480cfb8b1255f29
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/rootdir/init.rc b/rootdir/init.rc
|
||||
index 317f80908..9dc09ea4a 100644
|
||||
index 92e8f27ba..432cd9784 100644
|
||||
--- a/rootdir/init.rc
|
||||
+++ b/rootdir/init.rc
|
||||
@@ -1290,9 +1290,6 @@ on property:ro.debuggable=1
|
||||
@@ -1306,9 +1306,6 @@ on property:ro.debuggable=1
|
||||
# Give reads to anyone for the accessibility trace folder on debug builds.
|
||||
chmod 0775 /data/misc/a11ytrace
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a37a2492ba4f0e37bec5a76852db55856ae81427 Mon Sep 17 00:00:00 2001
|
||||
From 469c6ef39faeba84caf704564a3bc21c4261b665 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 18 Oct 2020 18:14:47 +0200
|
||||
Subject: [PATCH 4/4] Don't abandon creating property tree if there is a
|
||||
|
||||
Reference in New Issue
Block a user