Refresh patches for AOSP 15 r6
This commit is contained in:
parent
4006149f3d
commit
827e0d2a50
44 changed files with 347 additions and 343 deletions
|
@ -1,4 +1,4 @@
|
|||
From 7222eae1b450166edb709164eaa060d50df0284c Mon Sep 17 00:00:00 2001
|
||||
From e0e96a633b717830325cd6189fff23e57d7ee6f1 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 19 Feb 2022 08:20:25 -0500
|
||||
Subject: [PATCH] Add new mechanism to fake vendor props on a per-process basis
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 94398a2d4ce14c0eeb86eecc4d6982a083bc910f Mon Sep 17 00:00:00 2001
|
||||
From 30492f22b249f2bd73085341f231da81ed290cf5 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 24 Aug 2022 15:42:39 -0400
|
||||
Subject: [PATCH 1/6] APM: Optionally force-load audio policy for system-side
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2715a3a91706ea31bdfc4d258b9f9020c8a3100e Mon Sep 17 00:00:00 2001
|
||||
From 710bea3b445304ca1201b8923cdc3bf824d6a10e Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 25 Aug 2022 13:30:29 -0400
|
||||
Subject: [PATCH 2/6] APM: Remove A2DP audio ports from the primary HAL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 3bc99248d1862bc3688efe2cb005e1c086119601 Mon Sep 17 00:00:00 2001
|
||||
From d2fda04e8ad3ff0d3fda168fd41e493e9db54e7a Mon Sep 17 00:00:00 2001
|
||||
From: ponces <ponces26@gmail.com>
|
||||
Date: Mon, 24 Oct 2022 09:38:34 +0100
|
||||
Subject: [PATCH 3/6] voip: Fix high pitched voice on Qualcomm devices
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5a7663def04a88a90b7edb10bf8a038eb545d48d Mon Sep 17 00:00:00 2001
|
||||
From 68b78f8122c2ba128a8314a8ea3e8a50afc4158b Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 5 Aug 2019 18:09:50 +0200
|
||||
Subject: [PATCH 4/6] Fix BT in-call on CAF devices
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From b3945062957bae75cc2816b6f62ecea7e437ff8c Mon Sep 17 00:00:00 2001
|
||||
From a20df6bb1d38d2bb402c16fc64fcafd20464a757 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 21 Dec 2020 20:19:11 +0100
|
||||
Subject: [PATCH 6/6] Make camera IDs filter-out optional
|
||||
Subject: [PATCH 5/6] Make camera IDs filter-out optional
|
||||
|
||||
Nowadays most people have Camera 2 apps, and would like to have all
|
||||
cameras, rather than limit which cameras are available.
|
||||
|
@ -11,10 +11,10 @@ Add a property for that.
|
|||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
index 6416c11b69..d17d0136d1 100644
|
||||
index 51f06cb013..4892d80cfa 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -320,7 +320,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
@@ -318,7 +318,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
// API1 app doesn't handle logical and physical camera devices well. So
|
||||
// for each camera facing, only take the first id advertised by HAL in
|
||||
// all [logical, physical1, physical2, ...] id combos, and filter out the rest.
|
||||
|
@ -25,7 +25,7 @@ index 6416c11b69..d17d0136d1 100644
|
|||
collectDeviceIdsLocked(providerDeviceIds, publicDeviceIds, systemDeviceIds);
|
||||
}
|
||||
auto sortFunc =
|
||||
@@ -1108,10 +1110,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
@@ -1102,10 +1104,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
|
||||
// Go through the capabilities and check if it has
|
||||
// ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
|
|
@ -1,7 +1,7 @@
|
|||
From f19eebbe64e22c684b7e3a00f182f740a946f776 Mon Sep 17 00:00:00 2001
|
||||
From 5ce88c0c583ad228cb456d68543cebb5c23390a7 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Thu, 18 Aug 2022 15:44:46 -0400
|
||||
Subject: [PATCH 5/6] APM: Restore S, R and Q behavior respectively for
|
||||
Subject: [PATCH 6/6] APM: Restore S, R and Q behavior respectively for
|
||||
telephony audio
|
||||
|
||||
This conditionally reverts part of b2e5cb (T), 51c9cc (S) and afd4ce (R)
|
||||
|
@ -33,13 +33,13 @@ Change-Id: I56d36d2aef4319935cb88a3e4771b23c6d5b2145
|
|||
---
|
||||
.../managerdefault/AudioPolicyManager.cpp | 206 ++++++++++++------
|
||||
.../managerdefault/AudioPolicyManager.h | 3 +
|
||||
2 files changed, 147 insertions(+), 62 deletions(-)
|
||||
2 files changed, 148 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
index 07073c7678..71af25c146 100644
|
||||
index 1f8cedd290..cfac4a2090 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
@@ -719,6 +719,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -726,6 +726,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
ALOGV("%s device rxDevice %s txDevice %s", __func__,
|
||||
rxDevices.itemAt(0)->toString().c_str(), txSourceDevice->toString().c_str());
|
||||
|
||||
|
@ -57,7 +57,7 @@ index 07073c7678..71af25c146 100644
|
|||
auto telephonyRxModule =
|
||||
mHwModules.getModuleForDeviceType(AUDIO_DEVICE_IN_TELEPHONY_RX, AUDIO_FORMAT_DEFAULT);
|
||||
auto telephonyTxModule =
|
||||
@@ -741,9 +752,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -748,9 +759,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
ALOGE("%s() no telephony Tx and/or RX device", __func__);
|
||||
return INVALID_OPERATION;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ index 07073c7678..71af25c146 100644
|
|||
} else {
|
||||
// If the RX device is on the primary HW module, then use legacy routing method for
|
||||
// voice calls via setOutputDevice() on primary output.
|
||||
@@ -764,7 +786,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -774,7 +796,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
}
|
||||
muteWaitMs = setOutputDevices(__func__, mPrimaryOutput, rxDevices, true, delayMs);
|
||||
} else { // create RX path audio patch
|
||||
|
@ -97,21 +97,21 @@ index 07073c7678..71af25c146 100644
|
|||
// If the TX device is on the primary HW module but RX device is
|
||||
// on other HW module, SinkMetaData of telephony input should handle it
|
||||
// assuming the device uses audio HAL V5.0 and above
|
||||
@@ -779,7 +808,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
closeActiveClients(activeDesc);
|
||||
@@ -790,6 +819,13 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
}
|
||||
}
|
||||
- connectTelephonyTxAudioSource(txSourceDevice, txSinkDevice, delayMs);
|
||||
connectTelephonyTxAudioSource(txSourceDevice, txSinkDevice, delayMs);
|
||||
+
|
||||
+ if (property_get_int32("ro.vndk.version", 33) >= 33) {
|
||||
+ connectTelephonyTxAudioSource(txSourceDevice, txSinkDevice, delayMs);
|
||||
+ } else {
|
||||
+ // pre-T behavior: hw bridging for tx too; skip the SwOutput
|
||||
+ mCallTxPatch = createTelephonyPatch(false /*isRx*/, txSourceDevice, delayMs);
|
||||
+ }
|
||||
} else if (fix_call_audio_patch()) {
|
||||
disconnectTelephonyAudioSource(mCallTxSourceClient);
|
||||
}
|
||||
if (waitMs != nullptr) {
|
||||
*waitMs = muteWaitMs;
|
||||
@@ -787,6 +821,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -799,6 +835,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ index 07073c7678..71af25c146 100644
|
|||
bool AudioPolicyManager::isDeviceOfModule(
|
||||
const sp<DeviceDescriptor>& devDesc, const char *moduleId) const {
|
||||
sp<HwModule> module = mHwModules.getModuleFromName(moduleId);
|
||||
@@ -5353,83 +5417,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
|
||||
@@ -5513,83 +5579,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
|
||||
// in config XML to reach the sink so that is can be declared as available.
|
||||
audio_io_handle_t output = AUDIO_IO_HANDLE_NONE;
|
||||
sp<SwAudioOutputDescriptor> outputDesc;
|
||||
|
@ -308,10 +308,10 @@ index 07073c7678..71af25c146 100644
|
|||
AUDIO_STREAM_PATCH;
|
||||
patchBuilder.addSource(srcMixPortConfig);
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
index 1b4f33a961..6e9c99b18b 100644
|
||||
index 84edf34da4..4b1093cb23 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
@@ -1009,6 +1009,9 @@ protected:
|
||||
@@ -1013,6 +1013,9 @@ protected:
|
||||
|
||||
SoundTriggerSessionCollection mSoundTriggerSessions;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From da111d2b6b6f8e1edf6872d0a8f379c2ed6b676c Mon Sep 17 00:00:00 2001
|
||||
From 2b9fc3684d24ff3276f18c4de93402cf7d92e5c3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Tue, 12 Oct 2021 21:37:22 -0400
|
||||
Subject: [PATCH 01/11] PackageParser: support glob matching for properties
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1ad3c8a609bdeadeb402036ead657f071bdf1878 Mon Sep 17 00:00:00 2001
|
||||
From 6de413c8d88d2d6f02e81a4247af47b506ea4451 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Fri, 2 Sep 2022 21:36:06 -0400
|
||||
Subject: [PATCH 02/11] FrameworkParsingPackageUtils: Add glob matching support
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 270746ccbb9824725951f371a401534eea9e9798 Mon Sep 17 00:00:00 2001
|
||||
From a5c2cffdac5181c437437fee002526d43a080c51 Mon Sep 17 00:00:00 2001
|
||||
From: Oliver Scott <olivercscott@gmail.com>
|
||||
Date: Thu, 8 Jul 2021 10:41:43 -0400
|
||||
Subject: [PATCH 03/11] Global VPN feature [1/2]
|
||||
|
@ -28,10 +28,10 @@ Signed-off-by: Mohammad Hasan Keramat J <ikeramat@protonmail.com>
|
|||
3 files changed, 46 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
|
||||
index 5c392ae6b..594b034f3 100644
|
||||
index ef8b3d738..b5014f24e 100644
|
||||
--- a/core/java/android/provider/Settings.java
|
||||
+++ b/core/java/android/provider/Settings.java
|
||||
@@ -17891,6 +17891,12 @@ public final class Settings {
|
||||
@@ -18029,6 +18029,12 @@ public final class Settings {
|
||||
CLOCKWORK_HOME_READY,
|
||||
};
|
||||
|
||||
|
@ -72,10 +72,10 @@ index f39762766..c7dc809c9 100644
|
|||
mVpnUserId = newUserInfo.restrictedProfileParentId;
|
||||
} else {
|
||||
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
|
||||
index 5905b7de5..f8fcde0a3 100644
|
||||
index e1bb8a1a0..cf89eb842 100644
|
||||
--- a/services/core/java/com/android/server/connectivity/Vpn.java
|
||||
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
|
||||
@@ -774,6 +774,15 @@ public class Vpn {
|
||||
@@ -778,6 +778,15 @@ public class Vpn {
|
||||
return mAlwaysOn;
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
/**
|
||||
* Checks if a VPN app supports always-on mode.
|
||||
*
|
||||
@@ -1716,6 +1725,7 @@ public class Vpn {
|
||||
@@ -1720,6 +1729,7 @@ public class Vpn {
|
||||
try {
|
||||
// Restricted users are not allowed to create VPNs, they are tied to Owner
|
||||
enforceNotRestrictedUser();
|
||||
|
@ -99,7 +99,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
|
||||
final PackageManager packageManager = mUserIdContext.getPackageManager();
|
||||
if (packageManager == null) {
|
||||
@@ -1866,7 +1876,7 @@ public class Vpn {
|
||||
@@ -1870,7 +1880,7 @@ public class Vpn {
|
||||
addUserToRanges(ranges, userId, allowedApplications, disallowedApplications);
|
||||
|
||||
// If the user can have restricted profiles, assign all its restricted profiles too
|
||||
|
@ -108,7 +108,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
final long token = Binder.clearCallingIdentity();
|
||||
List<UserInfo> users;
|
||||
try {
|
||||
@@ -1875,7 +1885,8 @@ public class Vpn {
|
||||
@@ -1879,7 +1889,8 @@ public class Vpn {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
for (UserInfo user : users) {
|
||||
|
@ -118,7 +118,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
addUserToRanges(ranges, user.id, allowedApplications, disallowedApplications);
|
||||
}
|
||||
}
|
||||
@@ -1956,7 +1967,8 @@ public class Vpn {
|
||||
@@ -1960,7 +1971,8 @@ public class Vpn {
|
||||
public void onUserAdded(int userId) {
|
||||
// If the user is restricted tie them to the parent user's VPN
|
||||
UserInfo user = mUserManager.getUserInfo(userId);
|
||||
|
@ -128,7 +128,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
synchronized(Vpn.this) {
|
||||
final Set<Range<Integer>> existingRanges = mNetworkCapabilities.getUids();
|
||||
if (existingRanges != null) {
|
||||
@@ -1985,7 +1997,8 @@ public class Vpn {
|
||||
@@ -1989,7 +2001,8 @@ public class Vpn {
|
||||
public void onUserRemoved(int userId) {
|
||||
// clean up if restricted
|
||||
UserInfo user = mUserManager.getUserInfo(userId);
|
||||
|
@ -138,7 +138,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
synchronized(Vpn.this) {
|
||||
final Set<Range<Integer>> existingRanges = mNetworkCapabilities.getUids();
|
||||
if (existingRanges != null) {
|
||||
@@ -2410,6 +2423,17 @@ public class Vpn {
|
||||
@@ -2414,6 +2427,17 @@ public class Vpn {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -156,7 +156,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
/**
|
||||
* Start legacy VPN, controlling native daemons as needed. Creates a
|
||||
* secondary thread to perform connection work, returning quickly.
|
||||
@@ -2493,6 +2517,7 @@ public class Vpn {
|
||||
@@ -2497,6 +2521,7 @@ public class Vpn {
|
||||
new UserHandle(mUserId))) {
|
||||
throw new SecurityException("Restricted users cannot establish VPNs");
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
|
||||
// Load certificates.
|
||||
String privateKey = "";
|
||||
@@ -4027,6 +4052,7 @@ public class Vpn {
|
||||
@@ -4039,6 +4064,7 @@ public class Vpn {
|
||||
|
||||
verifyCallingUidAndPackage(packageName);
|
||||
enforceNotRestrictedUser();
|
||||
|
@ -172,7 +172,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
validateRequiredFeatures(profile);
|
||||
|
||||
if (profile.isRestrictedToTestNetworks) {
|
||||
@@ -4069,6 +4095,7 @@ public class Vpn {
|
||||
@@ -4081,6 +4107,7 @@ public class Vpn {
|
||||
|
||||
verifyCallingUidAndPackage(packageName);
|
||||
enforceNotRestrictedUser();
|
||||
|
@ -180,7 +180,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -4138,6 +4165,7 @@ public class Vpn {
|
||||
@@ -4150,6 +4177,7 @@ public class Vpn {
|
||||
requireNonNull(packageName, "No package name provided");
|
||||
|
||||
enforceNotRestrictedUser();
|
||||
|
@ -188,7 +188,7 @@ index 5905b7de5..f8fcde0a3 100644
|
|||
|
||||
// Prepare VPN for startup
|
||||
if (!prepare(packageName, null /* newPackage */, VpnManager.TYPE_VPN_PLATFORM)) {
|
||||
@@ -4260,6 +4288,7 @@ public class Vpn {
|
||||
@@ -4272,6 +4300,7 @@ public class Vpn {
|
||||
requireNonNull(packageName, "No package name provided");
|
||||
|
||||
enforceNotRestrictedUser();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ad942f3c0450d09d8e39f79af90354fecc9cd873 Mon Sep 17 00:00:00 2001
|
||||
From 1357225dd52f3f2a6a1766c33eca32506b8f7ac2 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 04/11] Dynamically resize boot animation to match screen size
|
||||
|
@ -9,10 +9,10 @@ Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205
|
|||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
|
||||
index 7eb9d0f3e..d2611e25f 100644
|
||||
index c2f6e3072..7213f3058 100644
|
||||
--- a/cmds/bootanimation/BootAnimation.cpp
|
||||
+++ b/cmds/bootanimation/BootAnimation.cpp
|
||||
@@ -618,6 +618,28 @@ status_t BootAnimation::readyToRun() {
|
||||
@@ -619,6 +619,28 @@ status_t BootAnimation::readyToRun() {
|
||||
mFlingerSurface = s;
|
||||
mTargetInset = -1;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 9ac87d38461af8732ddb8c5d450e89f19fe26b44 Mon Sep 17 00:00:00 2001
|
||||
From f89ddfd215de9269559afdd6b23e4eca56da8eef 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 05/11] Restore getSimStateForSlotIndex in SubscriptionManager
|
||||
|
@ -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 76b4e0052..6650551d7 100644
|
||||
index 6faef7ecf..33e3b6a0d 100644
|
||||
--- a/telephony/java/android/telephony/SubscriptionManager.java
|
||||
+++ b/telephony/java/android/telephony/SubscriptionManager.java
|
||||
@@ -2879,6 +2879,20 @@ public class SubscriptionManager {
|
||||
@@ -2916,6 +2916,20 @@ public class SubscriptionManager {
|
||||
return TelephonyManager.getDefault().isNetworkRoaming(subId);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 86e7d4b971af424acc24d1df1f8994b8d9853b2b Mon Sep 17 00:00:00 2001
|
||||
From 6ed2fcbdc5aaadd1bb29f8bfd80cf9200515acb0 Mon Sep 17 00:00:00 2001
|
||||
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
|
||||
Date: Sat, 12 Aug 2023 20:11:17 +0800
|
||||
Subject: [PATCH 06/11] Add runWithCleanCallingIdentity variant with both
|
||||
|
@ -12,7 +12,7 @@ Change-Id: If444290787025e130dce4bdeaf92372ae32793fe
|
|||
1 file changed, 30 insertions(+)
|
||||
|
||||
diff --git a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
|
||||
index f31a87f2b..3f29d4bae 100644
|
||||
index 422433891..3bbecf0f2 100644
|
||||
--- a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
|
||||
+++ b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
|
||||
@@ -47,7 +47,9 @@ import com.android.internal.telephony.ITelephony;
|
||||
|
@ -25,7 +25,7 @@ index f31a87f2b..3f29d4bae 100644
|
|||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Supplier;
|
||||
@@ -158,6 +160,34 @@ public final class TelephonyUtils {
|
||||
@@ -159,6 +161,34 @@ public final class TelephonyUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 2220bb2e3219a9c1f0f918254414281afe57a354 Mon Sep 17 00:00:00 2001
|
||||
From 33667f43e841a799a6e34c28fecfce5fb7f470ef Mon Sep 17 00:00:00 2001
|
||||
From: LuK1337 <priv.luk@gmail.com>
|
||||
Date: Mon, 19 Feb 2024 16:20:04 +0100
|
||||
Subject: [PATCH 08/11] Allow signature spoofing for microG Companion/Services
|
||||
Subject: [PATCH 07/11] Allow signature spoofing for microG Companion/Services
|
||||
|
||||
This patch enables signature spoofing when the following conditions are
|
||||
met:
|
||||
|
@ -41,7 +41,7 @@ index cc4c2b5bf..57263da93 100644
|
|||
|| newPkg.isForceQueryable()
|
||||
|| ArrayUtils.contains(mForceQueryableByDevicePackageNames,
|
||||
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||
index ee0159d72..1a63f2606 100644
|
||||
index 4665a72b0..ff736f3d0 100644
|
||||
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||
@@ -102,6 +102,7 @@ import android.content.pm.UserPackage;
|
|
@ -1,75 +0,0 @@
|
|||
From c9b319d242965e38cb0ca0fa4850af126c15d487 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sat, 9 Dec 2023 18:37:08 -0500
|
||||
Subject: [PATCH 07/11] Revert "Convert BubbleDataRepositoryTest to use
|
||||
mockito-kotlin"
|
||||
|
||||
This reverts commit 625a23ff22f0a9327b9a24341dfa0b8fbaf61a1b.
|
||||
---
|
||||
.../Shell/tests/unittest/Android.bp | 1 -
|
||||
.../shell/bubbles/BubbleDataRepositoryTest.kt | 17 ++++++++++-------
|
||||
2 files changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/libs/WindowManager/Shell/tests/unittest/Android.bp b/libs/WindowManager/Shell/tests/unittest/Android.bp
|
||||
index 13f95ccea..850fc50c4 100644
|
||||
--- a/libs/WindowManager/Shell/tests/unittest/Android.bp
|
||||
+++ b/libs/WindowManager/Shell/tests/unittest/Android.bp
|
||||
@@ -48,7 +48,6 @@ android_test {
|
||||
"frameworks-base-testutils",
|
||||
"kotlinx-coroutines-android",
|
||||
"kotlinx-coroutines-core",
|
||||
- "mockito-kotlin2",
|
||||
"mockito-target-extended-minus-junit4",
|
||||
"truth",
|
||||
"testables",
|
||||
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataRepositoryTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataRepositoryTest.kt
|
||||
index e35995775..0e05e01a8 100644
|
||||
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataRepositoryTest.kt
|
||||
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataRepositoryTest.kt
|
||||
@@ -29,11 +29,11 @@ import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
-import org.mockito.kotlin.any
|
||||
-import org.mockito.kotlin.mock
|
||||
-import org.mockito.kotlin.never
|
||||
-import org.mockito.kotlin.spy
|
||||
-import org.mockito.kotlin.verify
|
||||
+import org.mockito.Mockito
|
||||
+import org.mockito.Mockito.mock
|
||||
+import org.mockito.Mockito.never
|
||||
+import org.mockito.Mockito.spy
|
||||
+import org.mockito.Mockito.verify
|
||||
|
||||
class BubbleDataRepositoryTest : ShellTestCase() {
|
||||
|
||||
@@ -124,7 +124,7 @@ class BubbleDataRepositoryTest : ShellTestCase() {
|
||||
|
||||
private val testHandler = Handler(Looper.getMainLooper())
|
||||
private val mainExecutor = HandlerExecutor(testHandler)
|
||||
- private val launcherApps = mock<LauncherApps>()
|
||||
+ private val launcherApps = mock(LauncherApps::class.java)
|
||||
|
||||
private val persistedBubbles = SparseArray<List<BubbleEntity>>()
|
||||
|
||||
@@ -158,7 +158,8 @@ class BubbleDataRepositoryTest : ShellTestCase() {
|
||||
assertThat(persistedBubbles).isEqualTo(validEntitiesByUser)
|
||||
|
||||
// No invalid users, so no persist to disk happened
|
||||
- verify(dataRepository, never()).persistToDisk(any())
|
||||
+ verify(dataRepository, never()).persistToDisk(
|
||||
+ any(SparseArray<List<BubbleEntity>>()::class.java))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -198,4 +199,6 @@ class BubbleDataRepositoryTest : ShellTestCase() {
|
||||
// Verify that persist to disk happened with the new valid entities list.
|
||||
verify(dataRepository).persistToDisk(validEntitiesByUser)
|
||||
}
|
||||
+
|
||||
+ fun <T> any(type: Class<T>): T = Mockito.any<T>(type)
|
||||
}
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 49443a9f7beb8c1e736c2618aed8ccd8e11d67cc Mon Sep 17 00:00:00 2001
|
||||
From ad608b13f93f9532e4f7abcaabc6a3f735ad87ba Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sun, 22 Sep 2024 22:53:01 -0400
|
||||
Subject: [PATCH 09/11] AuthService: HIDL and AIDL fingerprint services are
|
||||
Subject: [PATCH 08/11] AuthService: HIDL and AIDL fingerprint services are
|
||||
mutually exclusive
|
||||
|
||||
...and make sure that we prioritize AIDL over HIDL. This is essential
|
||||
|
@ -14,10 +14,10 @@ Change-Id: I834297a44674820d813d8f6d376dfd294f084f3b
|
|||
1 file changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
index 2a1687209..e2ac79a34 100644
|
||||
index 2d802b21c..0730d634f 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
@@ -890,15 +890,13 @@ public class AuthService extends SystemService {
|
||||
@@ -908,15 +908,13 @@ public class AuthService extends SystemService {
|
||||
|
||||
handlerProvider.getFingerprintHandler().post(() -> {
|
||||
final FingerprintSensorConfigurations mFingerprintSensorConfigurations =
|
|
@ -1,7 +1,7 @@
|
|||
From 22a165579df84085b3e18608264c616159b21bfe Mon Sep 17 00:00:00 2001
|
||||
From 35527df5e9e87a4af86d51e3290e7679f5a5f4cc Mon Sep 17 00:00:00 2001
|
||||
From: dhacker29 <dhackerdvm@gmail.com>
|
||||
Date: Tue, 24 Nov 2015 01:53:47 -0500
|
||||
Subject: [PATCH 11/11] fw/b: Use ro.build.version.incremental to signal OTA
|
||||
Subject: [PATCH 09/11] fw/b: Use ro.build.version.incremental to signal OTA
|
||||
upgrades
|
||||
|
||||
Co-authored-by: maxwen <max.weninger@gmail.com>
|
||||
|
@ -54,10 +54,10 @@ index ff80e614b..da3b68ecf 100644
|
|||
}
|
||||
|
||||
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java
|
||||
index d781cd8d5..c1b2c5824 100644
|
||||
index ce9130ad5..737ecae1c 100644
|
||||
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java
|
||||
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java
|
||||
@@ -100,7 +100,7 @@ public class AppWidgetXmlUtil {
|
||||
@@ -117,7 +117,7 @@ public class AppWidgetXmlUtil {
|
||||
out.attributeInt(null, ATTR_WIDGET_FEATURES, info.widgetFeatures);
|
||||
out.attributeInt(null, ATTR_DESCRIPTION_RES, info.descriptionRes);
|
||||
out.attributeBoolean(null, ATTR_PROVIDER_INHERITANCE, info.isExtendedFromAppWidgetProvider);
|
||||
|
@ -66,7 +66,7 @@ index d781cd8d5..c1b2c5824 100644
|
|||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +111,7 @@ public class AppWidgetXmlUtil {
|
||||
@@ -128,7 +128,7 @@ public class AppWidgetXmlUtil {
|
||||
@NonNull final TypedXmlPullParser parser) {
|
||||
Objects.requireNonNull(parser);
|
||||
final String fingerprint = parser.getAttributeValue(null, ATTR_OS_FINGERPRINT);
|
||||
|
@ -76,10 +76,10 @@ index d781cd8d5..c1b2c5824 100644
|
|||
}
|
||||
final AppWidgetProviderInfo info = new AppWidgetProviderInfo();
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
index c0b8034b9..dd7d5cea8 100644
|
||||
index 611e0d862..0e343e18a 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
||||
@@ -2229,7 +2229,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService
|
||||
@@ -2239,7 +2239,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService
|
||||
if (mIsUpgrade) {
|
||||
PackageManagerServiceUtils.logCriticalInfo(Log.INFO,
|
||||
"Upgrading from " + ver.fingerprint + " (" + ver.buildFingerprint + ") to "
|
||||
|
@ -89,7 +89,7 @@ index c0b8034b9..dd7d5cea8 100644
|
|||
}
|
||||
mPriorSdkVersion = mIsUpgrade ? ver.sdkVersion : -1;
|
||||
mInitAppsHelper = new InitAppsHelper(this, mApexManager, mInstallPackageHelper,
|
||||
@@ -2387,7 +2388,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
|
||||
@@ -2397,7 +2398,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
|
||||
| Installer.FLAG_CLEAR_APP_DATA_KEEP_ART_PROFILES);
|
||||
}
|
||||
}
|
||||
|
@ -99,10 +99,10 @@ index c0b8034b9..dd7d5cea8 100644
|
|||
}
|
||||
|
||||
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
index ff8abf879..0babd99a5 100644
|
||||
index 975758241..54527a6b0 100644
|
||||
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
|
||||
@@ -1399,8 +1399,6 @@ public class PackageManagerServiceUtils {
|
||||
@@ -1400,8 +1400,6 @@ public class PackageManagerServiceUtils {
|
||||
// that starts with "eng." to signify that this is an engineering build and not
|
||||
// destined for release.
|
||||
if (isUserDebugBuild && incrementalVersion.startsWith("eng.")) {
|
||||
|
@ -111,7 +111,7 @@ index ff8abf879..0babd99a5 100644
|
|||
// Heuristic: If the /system directory has been modified recently due to an "adb sync"
|
||||
// or a regular make, then blow away the cache. Note that mtimes are *NOT* reliable
|
||||
// in general and should not be used for production changes. In this specific case,
|
||||
@@ -1408,6 +1406,7 @@ public class PackageManagerServiceUtils {
|
||||
@@ -1409,6 +1407,7 @@ public class PackageManagerServiceUtils {
|
||||
File frameworkDir =
|
||||
new File(Environment.getRootDirectory(), "framework");
|
||||
if (cacheDir.lastModified() < frameworkDir.lastModified()) {
|
||||
|
@ -120,10 +120,10 @@ index ff8abf879..0babd99a5 100644
|
|||
cacheDir = FileUtils.createDir(cacheBaseDir, cacheName);
|
||||
}
|
||||
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
|
||||
index 39565526f..d410f237f 100644
|
||||
index 1f672a093..bef67a838 100644
|
||||
--- a/services/core/java/com/android/server/pm/Settings.java
|
||||
+++ b/services/core/java/com/android/server/pm/Settings.java
|
||||
@@ -484,7 +484,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile
|
||||
@@ -485,7 +485,7 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile
|
||||
public void forceCurrent() {
|
||||
sdkVersion = Build.VERSION.SDK_INT;
|
||||
databaseVersion = CURRENT_DATABASE_VERSION;
|
||||
|
@ -133,10 +133,10 @@ index 39565526f..d410f237f 100644
|
|||
}
|
||||
}
|
||||
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
|
||||
index 1cd77ffce..b918cfa56 100644
|
||||
index 5518bfae8..e26eec659 100644
|
||||
--- a/services/core/java/com/android/server/pm/ShortcutService.java
|
||||
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
|
||||
@@ -5248,7 +5248,7 @@ public class ShortcutService extends IShortcutService.Stub {
|
||||
@@ -5259,7 +5259,7 @@ public class ShortcutService extends IShortcutService.Stub {
|
||||
|
||||
// Injection point.
|
||||
String injectBuildFingerprint() {
|
|
@ -1,4 +1,4 @@
|
|||
From d312502517ffed128d9872d6521d041da457e97b Mon Sep 17 00:00:00 2001
|
||||
From fb0c9ab82954cf41bb985957d3eddfd190ca2ca5 Mon Sep 17 00:00:00 2001
|
||||
From: Pranav Vashi <neobuddy89@gmail.com>
|
||||
Date: Sat, 21 Sep 2024 13:44:09 +0530
|
||||
Subject: [PATCH 10/11] WebView: Add check before setting default or fallback
|
||||
|
@ -6,12 +6,12 @@ Subject: [PATCH 10/11] WebView: Add check before setting default or fallback
|
|||
|
||||
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
|
||||
---
|
||||
.../webkit/WebViewUpdateServiceImpl.java | 14 ++++++-
|
||||
.../webkit/WebViewUpdateServiceImpl2.java | 40 ++++++++++++++-----
|
||||
2 files changed, 42 insertions(+), 12 deletions(-)
|
||||
.../webkit/WebViewUpdateServiceImpl.java | 14 ++++++--
|
||||
.../webkit/WebViewUpdateServiceImpl2.java | 34 ++++++++++++++-----
|
||||
2 files changed, 38 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
|
||||
index dcf20f97e..113bd4a54 100644
|
||||
index b9be4a2de..e98196f9f 100644
|
||||
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
|
||||
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl.java
|
||||
@@ -15,6 +15,7 @@
|
||||
|
@ -20,9 +20,9 @@ index dcf20f97e..113bd4a54 100644
|
|||
|
||||
+import android.app.AppGlobals;
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageInfo;
|
||||
@@ -401,7 +402,7 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
@@ -396,7 +397,7 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
@Override
|
||||
public WebViewProviderInfo getDefaultWebViewPackage() {
|
||||
for (WebViewProviderInfo provider : getWebViewPackages()) {
|
||||
|
@ -31,7 +31,7 @@ index dcf20f97e..113bd4a54 100644
|
|||
return provider;
|
||||
}
|
||||
}
|
||||
@@ -411,6 +412,15 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
@@ -406,6 +407,15 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
throw new AndroidRuntimeException("No available by default WebView Provider.");
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ index dcf20f97e..113bd4a54 100644
|
|||
private static class ProviderAndPackageInfo {
|
||||
public final WebViewProviderInfo provider;
|
||||
public final PackageInfo packageInfo;
|
||||
@@ -649,7 +659,7 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
@@ -644,7 +654,7 @@ class WebViewUpdateServiceImpl implements WebViewUpdateServiceInterface {
|
||||
*/
|
||||
private static WebViewProviderInfo getFallbackProvider(WebViewProviderInfo[] webviewPackages) {
|
||||
for (WebViewProviderInfo provider : webviewPackages) {
|
||||
|
@ -57,7 +57,7 @@ index dcf20f97e..113bd4a54 100644
|
|||
}
|
||||
}
|
||||
diff --git a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
|
||||
index 993597eed..b11b596d3 100644
|
||||
index 307c15b72..26d1195dc 100644
|
||||
--- a/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
|
||||
+++ b/services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
|
||||
@@ -15,6 +15,7 @@
|
||||
|
@ -66,9 +66,9 @@ index 993597eed..b11b596d3 100644
|
|||
|
||||
+import android.app.AppGlobals;
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageInfo;
|
||||
@@ -115,7 +116,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
@@ -112,7 +113,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
|
||||
WebViewProviderInfo defaultProvider = null;
|
||||
for (WebViewProviderInfo provider : webviewProviders) {
|
||||
|
@ -77,7 +77,7 @@ index 993597eed..b11b596d3 100644
|
|||
defaultProvider = provider;
|
||||
break;
|
||||
}
|
||||
@@ -185,6 +186,15 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
@@ -182,6 +183,15 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ index 993597eed..b11b596d3 100644
|
|||
private boolean shouldTriggerRepairLocked() {
|
||||
if (mAttemptedToRepairBefore) {
|
||||
return false;
|
||||
@@ -212,14 +222,24 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
@@ -208,12 +218,20 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
}
|
||||
mAttemptedToRepairBefore = true;
|
||||
}
|
||||
|
@ -101,32 +101,26 @@ index 993597eed..b11b596d3 100644
|
|||
- TAG,
|
||||
- "No provider available for all users, trying to install and enable "
|
||||
- + mDefaultProvider.packageName);
|
||||
- mSystemInterface.installExistingPackageForAllUsers(
|
||||
- mContext, mDefaultProvider.packageName);
|
||||
- mSystemInterface.enablePackageForAllUsers(
|
||||
- mContext, mDefaultProvider.packageName, true);
|
||||
- mSystemInterface.installExistingPackageForAllUsers(mDefaultProvider.packageName);
|
||||
- mSystemInterface.enablePackageForAllUsers(mDefaultProvider.packageName, true);
|
||||
+
|
||||
+ WebViewProviderInfo[] webviewProviders = mSystemInterface.getWebViewPackages();
|
||||
+ WebViewProviderInfo fallbackProvider = getFallbackProvider(webviewProviders);
|
||||
+ if (fallbackProvider != null) {
|
||||
+ Slog.w(TAG, "No valid provider, trying to install and enable "
|
||||
+ + fallbackProvider.packageName);
|
||||
+ mSystemInterface.installExistingPackageForAllUsers(
|
||||
+ mContext, fallbackProvider.packageName);
|
||||
+ mSystemInterface.enablePackageForAllUsers(
|
||||
+ mContext, fallbackProvider.packageName, true);
|
||||
+ mSystemInterface.installExistingPackageForAllUsers(fallbackProvider.packageName);
|
||||
+ mSystemInterface.enablePackageForAllUsers(fallbackProvider.packageName, true);
|
||||
+ } else {
|
||||
+ Slog.w(TAG, "No provider available for all users, trying to install and enable "
|
||||
+ + mDefaultProvider.packageName);
|
||||
+ mSystemInterface.installExistingPackageForAllUsers(
|
||||
+ mContext, mDefaultProvider.packageName);
|
||||
+ mSystemInterface.enablePackageForAllUsers(
|
||||
+ mContext, mDefaultProvider.packageName, true);
|
||||
+ mSystemInterface.installExistingPackageForAllUsers(mDefaultProvider.packageName);
|
||||
+ mSystemInterface.enablePackageForAllUsers(mDefaultProvider.packageName, true);
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -709,7 +729,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
@@ -701,7 +719,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
|
||||
*/
|
||||
private static WebViewProviderInfo getFallbackProvider(WebViewProviderInfo[] webviewPackages) {
|
||||
for (WebViewProviderInfo provider : webviewPackages) {
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
From a6a02e1099bee7d8749525e5fc092527fd2b1818 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sat, 21 Dec 2024 11:04:35 -0500
|
||||
Subject: [PATCH 11/11] Add support for treating virtual biometric sensors as
|
||||
real ones
|
||||
|
||||
This happens on Unihertz Jelly Max. They forgot to change their sensor
|
||||
instance name from "virtual" to something else.
|
||||
|
||||
Change-Id: I106d41cd078e6b1e354c72ec35fa240a44397c5e
|
||||
---
|
||||
.../fingerprint/FingerprintSensorConfigurations.java | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/core/java/android/hardware/fingerprint/FingerprintSensorConfigurations.java b/core/java/android/hardware/fingerprint/FingerprintSensorConfigurations.java
|
||||
index 48c5887d8..bec56d9a6 100644
|
||||
--- a/core/java/android/hardware/fingerprint/FingerprintSensorConfigurations.java
|
||||
+++ b/core/java/android/hardware/fingerprint/FingerprintSensorConfigurations.java
|
||||
@@ -29,6 +29,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
+import android.os.SystemProperties;
|
||||
import android.util.Log;
|
||||
import android.util.Slog;
|
||||
|
||||
@@ -172,6 +173,10 @@ public class FingerprintSensorConfigurations implements Parcelable {
|
||||
* @return real fqName
|
||||
*/
|
||||
public static String remapFqName(String fqName) {
|
||||
+ if (SystemProperties.getBoolean("persist.sys.phh.virtual_sensors_are_real", false)) {
|
||||
+ return fqName;
|
||||
+ }
|
||||
+
|
||||
if (!fqName.contains(IFingerprint.DESCRIPTOR + "/virtual")) {
|
||||
return fqName; //no remap needed for real hardware HAL
|
||||
} else {
|
||||
@@ -185,7 +190,7 @@ public class FingerprintSensorConfigurations implements Parcelable {
|
||||
* @return aidl interface
|
||||
*/
|
||||
public static IFingerprint getIFingerprint(String fqName) {
|
||||
- if (fqName.contains("virtual")) {
|
||||
+ if (fqName.contains("virtual") && !SystemProperties.getBoolean("persist.sys.phh.virtual_sensors_are_real", false)) {
|
||||
String fqNameMapped = remapFqName(fqName);
|
||||
Slog.i(TAG, "getIFingerprint fqName is mapped: " + fqName + "->" + fqNameMapped);
|
||||
try {
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From e84296f15137b076bf2504481cba80956eb793ae Mon Sep 17 00:00:00 2001
|
||||
From ccd46a8a09baedf0fcad9648d75ac29468055a8f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sun, 6 Oct 2024 09:06:48 -0400
|
||||
Subject: [PATCH 1/3] sensorservice: Add support for ignoring broken sensors
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From c84b2a4ea735ac9d399ca8b15ef7382f80929e22 Mon Sep 17 00:00:00 2001
|
||||
From 8dd1136bfd5a9dc403dc24839de2cbd1fe5cd273 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 25 Nov 2023 08:15:28 -0500
|
||||
Subject: [PATCH 2/3] Add MTK GED KPI support to fix broken Mediatek gpufreq
|
||||
|
@ -16,16 +16,18 @@ than just standard DVFS.
|
|||
|
||||
Thanks @sarthakroy2002 for the help and support (other people helped as
|
||||
well)
|
||||
|
||||
Change-Id: Ic29a231ea8651efd598083611197aaa9e3c1fbbe
|
||||
---
|
||||
libs/gui/Surface.cpp | 202 +++++++++++++++++++++++++++++++++
|
||||
libs/gui/include/gui/Surface.h | 3 +
|
||||
2 files changed, 205 insertions(+)
|
||||
|
||||
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
|
||||
index 87fd448..8896973 100644
|
||||
index 66e7ddd..32070fa 100644
|
||||
--- a/libs/gui/Surface.cpp
|
||||
+++ b/libs/gui/Surface.cpp
|
||||
@@ -24,6 +24,9 @@
|
||||
@@ -26,6 +26,9 @@
|
||||
#include <deque>
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
@ -81,9 +83,9 @@ index 87fd448..8896973 100644
|
|||
+static int doMtkGedKpi = -1;
|
||||
+static int ged_fd = -1;
|
||||
|
||||
Surface::Surface(const sp<IGraphicBufferProducer>& bufferProducer, bool controlledByApp,
|
||||
const sp<IBinder>& surfaceControlHandle)
|
||||
@@ -128,6 +165,47 @@ Surface::Surface(const sp<IGraphicBufferProducer>& bufferProducer, bool controll
|
||||
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)
|
||||
Surface::ProducerDeathListenerProxy::ProducerDeathListenerProxy(wp<SurfaceListener> surfaceListener)
|
||||
@@ -147,6 +184,47 @@ Surface::Surface(const sp<IGraphicBufferProducer>& bufferProducer, bool controll
|
||||
mSwapIntervalZero = false;
|
||||
mMaxBufferCount = NUM_BUFFER_SLOTS;
|
||||
mSurfaceControlHandle = surfaceControlHandle;
|
||||
|
@ -131,7 +133,7 @@ index 87fd448..8896973 100644
|
|||
}
|
||||
|
||||
Surface::~Surface() {
|
||||
@@ -668,6 +746,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
|
||||
@@ -699,6 +777,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,7 +170,7 @@ index 87fd448..8896973 100644
|
|||
if (fence->isValid()) {
|
||||
*fenceFd = fence->dup();
|
||||
if (*fenceFd == -1) {
|
||||
@@ -1111,6 +1219,60 @@ void Surface::onBufferQueuedLocked(int slot, sp<Fence> fence,
|
||||
@@ -1187,6 +1295,60 @@ void Surface::onBufferQueuedLocked(int slot, sp<Fence> fence,
|
||||
}
|
||||
|
||||
mQueueBufferCondition.broadcast();
|
||||
|
@ -229,16 +231,16 @@ index 87fd448..8896973 100644
|
|||
|
||||
if (CC_UNLIKELY(atrace_is_tag_enabled(ATRACE_TAG_GRAPHICS))) {
|
||||
static gui::FenceMonitor gpuCompletionThread("GPU completion");
|
||||
@@ -1899,6 +2061,46 @@ int Surface::connect(
|
||||
|
||||
mConsumerRunningBehind = (output.numPendingBuffers >= 2);
|
||||
@@ -2111,6 +2273,46 @@ int Surface::connect(int api, const sp<SurfaceListener>& listener, bool reportBu
|
||||
}
|
||||
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)
|
||||
}
|
||||
+
|
||||
+ // For MTK GED KPI, we need to grab the Surface owner's PID
|
||||
+ // and also know whether that owner is surfaceflinger
|
||||
+ if (api == NATIVE_WINDOW_API_EGL && ged_fd >= 0) {
|
||||
+ IPCThreadState *ipc = IPCThreadState::selfOrNull();
|
||||
+ const sp<IBinder>& token = listener->asBinder(listener);
|
||||
+ const sp<IBinder>& token = IInterface::asBinder(mGraphicBufferProducer);
|
||||
+ mPid = (token != NULL && NULL != token->localBinder())
|
||||
+ ? getpid()
|
||||
+ : (ipc != nullptr)?ipc->getCallingPid():-1;
|
||||
|
@ -277,10 +279,10 @@ index 87fd448..8896973 100644
|
|||
mConnectedToCpu = true;
|
||||
// Clear the dirty region in case we're switching from a non-CPU API
|
||||
diff --git a/libs/gui/include/gui/Surface.h b/libs/gui/include/gui/Surface.h
|
||||
index bdcaaf2..7cb27fc 100644
|
||||
index 14a3513..e0843a8 100644
|
||||
--- a/libs/gui/include/gui/Surface.h
|
||||
+++ b/libs/gui/include/gui/Surface.h
|
||||
@@ -649,6 +649,9 @@ protected:
|
||||
@@ -742,6 +742,9 @@ protected:
|
||||
|
||||
// Buffers that are successfully dequeued/attached and handed to clients
|
||||
std::unordered_set<int> mDequeuedSlots;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2c6a28725081d52b506ffa2d5dc0d9d2df6e095f Mon Sep 17 00:00:00 2001
|
||||
From 399022e4c7686d24d6738ad6a1c939998c6ac801 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Mon, 7 Oct 2024 22:07:58 -0400
|
||||
Subject: [PATCH 3/3] vibratorservice: Support optionally ignoring vibrator
|
||||
|
@ -8,24 +8,37 @@ On Unihertz Jelly Max the preloaded vibrator HAL is utterly broken.
|
|||
|
||||
Change-Id: I308190a225932fba2a4aa1c830c03ab874d8032e
|
||||
---
|
||||
services/vibratorservice/Android.bp | 1 +
|
||||
.../vibratorservice/VibratorHalWrapper.cpp | 31 +++++++++++++++++++
|
||||
1 file changed, 31 insertions(+)
|
||||
2 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/services/vibratorservice/Android.bp b/services/vibratorservice/Android.bp
|
||||
index 4735ae5..6263b05 100644
|
||||
--- a/services/vibratorservice/Android.bp
|
||||
+++ b/services/vibratorservice/Android.bp
|
||||
@@ -41,6 +41,7 @@ cc_library_shared {
|
||||
},
|
||||
|
||||
shared_libs: [
|
||||
+ "libbase",
|
||||
"libbinder_ndk",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
diff --git a/services/vibratorservice/VibratorHalWrapper.cpp b/services/vibratorservice/VibratorHalWrapper.cpp
|
||||
index f10ba44..fd59517 100644
|
||||
index 4ac1618..ab027bd 100644
|
||||
--- a/services/vibratorservice/VibratorHalWrapper.cpp
|
||||
+++ b/services/vibratorservice/VibratorHalWrapper.cpp
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#define LOG_TAG "VibratorHalWrapper"
|
||||
|
||||
#include <aidl/android/hardware/vibrator/IVibrator.h>
|
||||
+#include <android-base/properties.h>
|
||||
#include <android/hardware/vibrator/1.3/IVibrator.h>
|
||||
#include <android/hardware/vibrator/IVibrator.h>
|
||||
#include <hardware/vibrator.h>
|
||||
@@ -41,6 +42,22 @@ namespace V1_2 = android::hardware::vibrator::V1_2;
|
||||
#include <cmath>
|
||||
@@ -44,6 +45,22 @@ namespace V1_2 = android::hardware::vibrator::V1_2;
|
||||
namespace V1_3 = android::hardware::vibrator::V1_3;
|
||||
namespace Aidl = android::hardware::vibrator;
|
||||
namespace Aidl = aidl::android::hardware::vibrator;
|
||||
|
||||
+const Effect EFFECT_WITH_FALLBACK[] = {
|
||||
+ Effect::CLICK,
|
||||
|
@ -46,7 +59,7 @@ index f10ba44..fd59517 100644
|
|||
namespace android {
|
||||
|
||||
namespace vibrator {
|
||||
@@ -60,8 +77,18 @@ Info HalWrapper::getInfo() {
|
||||
@@ -63,8 +80,18 @@ Info HalWrapper::getInfo() {
|
||||
getCapabilities();
|
||||
getPrimitiveDurations();
|
||||
std::lock_guard<std::mutex> lock(mInfoMutex);
|
||||
|
@ -65,7 +78,7 @@ index f10ba44..fd59517 100644
|
|||
}
|
||||
if (mInfoCache.mSupportedBraking.isFailed()) {
|
||||
mInfoCache.mSupportedBraking = getSupportedBrakingInternal();
|
||||
@@ -252,6 +279,8 @@ HalResult<void> AidlHalWrapper::alwaysOnDisable(int32_t id) {
|
||||
@@ -295,6 +322,8 @@ HalResult<void> AidlHalWrapper::alwaysOnDisable(int32_t id) {
|
||||
|
||||
HalResult<milliseconds> AidlHalWrapper::performEffect(
|
||||
Effect effect, EffectStrength strength, const std::function<void()>& completionCallback) {
|
||||
|
@ -74,7 +87,7 @@ index f10ba44..fd59517 100644
|
|||
HalResult<Capabilities> capabilities = getCapabilities();
|
||||
bool supportsCallback = capabilities.isOk() &&
|
||||
static_cast<int32_t>(capabilities.value() & Capabilities::PERFORM_CALLBACK);
|
||||
@@ -488,6 +517,8 @@ template <typename T>
|
||||
@@ -563,6 +592,8 @@ template <typename T>
|
||||
HalResult<milliseconds> HidlHalWrapper<I>::performInternal(
|
||||
perform_fn<T> performFn, sp<I> handle, T effect, EffectStrength strength,
|
||||
const std::function<void()>& completionCallback) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From c776ae5c5e002aa824137df6b367b5873cb23fcf Mon Sep 17 00:00:00 2001
|
||||
From 7fc0423bce6be78bf802dcd16e9c3cb2b417c19b Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 14 Nov 2021 13:47:29 -0500
|
||||
Subject: [PATCH] Pie MTK IMS calls static
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5c72e94d6d8822bae2a5dbfaaf47f4631bade8ae Mon Sep 17 00:00:00 2001
|
||||
From b172f8039cd27e782a964dc905de2efc6f4d84e4 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 1/4] Reintroduce 'public void
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2d369615a75bee5933d927874d25e8e758a52f2d Mon Sep 17 00:00:00 2001
|
||||
From 7dde5cf40fdf6c8c1d968d8baa9af7cc105e3201 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 6 Dec 2021 16:28:22 -0500
|
||||
Subject: [PATCH 2/4] Fix baseband being too long to fit into a 91 chars
|
||||
|
@ -10,10 +10,10 @@ Change-Id: I1762e4a8cc137626be89f350229d6be162bdaf57
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
|
||||
index 93a0c2f..2cabeb6 100644
|
||||
index 5d59327..b5f6509 100644
|
||||
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
|
||||
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
|
||||
@@ -3444,7 +3444,7 @@ public class GsmCdmaPhone extends Phone {
|
||||
@@ -3448,7 +3448,7 @@ public class GsmCdmaPhone extends Phone {
|
||||
String version = (String)ar.result;
|
||||
if (version != null) {
|
||||
int length = version.length();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d23d744b546bc88cd6489f9bcd39d001855cf2b8 Mon Sep 17 00:00:00 2001
|
||||
From f31cd295a7431bdb6c1cc126f32348d7fe84301a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Mon, 5 Sep 2022 14:02:37 -0400
|
||||
Subject: [PATCH 4/4] SubscriptionController: Do not override default calling
|
||||
Subject: [PATCH 3/4] SubscriptionController: Do not override default calling
|
||||
account from third-party apps
|
||||
|
||||
When the user has selected a calling account from a third-party app as
|
||||
|
@ -18,7 +18,7 @@ Change-Id: Iccab64e9b3b3ab4773bd8944d47c2006f229d472
|
|||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java b/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java
|
||||
index 0e98a9e..c511b1f 100644
|
||||
index 353493b..9857641 100644
|
||||
--- a/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java
|
||||
+++ b/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java
|
||||
@@ -86,6 +86,7 @@ import android.util.Base64;
|
||||
|
@ -29,7 +29,7 @@ index 0e98a9e..c511b1f 100644
|
|||
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
@@ -3221,7 +3222,22 @@ public class SubscriptionManagerService extends ISub.Stub {
|
||||
@@ -3268,7 +3269,22 @@ public class SubscriptionManagerService extends ISub.Stub {
|
||||
|
||||
TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
|
||||
if (telecomManager != null) {
|
|
@ -1,7 +1,7 @@
|
|||
From 0a4d81b29a66003ed09fab955e898908e9f6edd6 Mon Sep 17 00:00:00 2001
|
||||
From 0dd5ea9e9e05b4ef9e01d0c9c6a66a25b321791f Mon Sep 17 00:00:00 2001
|
||||
From: ExactExampl <exactxmpl@pixelexperience.org>
|
||||
Date: Tue, 11 Oct 2022 12:38:00 +0300
|
||||
Subject: [PATCH 3/4] Conditionally revert "Block Binder thread until incoming
|
||||
Subject: [PATCH 4/4] Conditionally revert "Block Binder thread until incoming
|
||||
call process completes"
|
||||
|
||||
* Legacy IMS packages handling incoming calls in such a way that
|
||||
|
@ -17,7 +17,7 @@ Change-Id: I55a8f3bbca4a2b9a6bc7511e9fe2d0884a8818e5
|
|||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
|
||||
index e73eafd..2cf59c7 100644
|
||||
index 26b6e18..c6b3355 100644
|
||||
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
|
||||
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
|
||||
@@ -70,6 +70,7 @@ import android.os.Registrant;
|
||||
|
@ -25,10 +25,10 @@ index e73eafd..2cf59c7 100644
|
|||
import android.os.RemoteException;
|
||||
import android.os.SystemClock;
|
||||
+import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Settings;
|
||||
import android.sysprop.TelephonyProperties;
|
||||
@@ -389,7 +390,19 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
|
||||
@@ -390,7 +391,19 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
|
||||
@Nullable
|
||||
public IImsCallSessionListener onIncomingCall(
|
||||
@NonNull IImsCallSession c, @Nullable String callId, @Nullable Bundle extras) {
|
|
@ -1,14 +1,14 @@
|
|||
From 6597fc02ebe5811ff69566aab6c8a48c7fcdeeb2 Mon Sep 17 00:00:00 2001
|
||||
From b60353d34c0eef8a6291c11e671a22298b3d6d99 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Sun, 6 Oct 2024 14:22:49 -0400
|
||||
Subject: [PATCH] [DNM] Downgrade target_sdk_version to 34 for now
|
||||
Subject: [PATCH 1/2] Downgrade target_sdk_version to 34 for now
|
||||
|
||||
---
|
||||
Android.bp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Android.bp b/Android.bp
|
||||
index 388f4c0..498e7c8 100644
|
||||
index 388f4c00c..498e7c8f0 100644
|
||||
--- a/Android.bp
|
||||
+++ b/Android.bp
|
||||
@@ -207,6 +207,7 @@ android_app {
|
|
@ -0,0 +1,31 @@
|
|||
From da7c7a335475dc61375b470b1aa6cb425ed54514 Mon Sep 17 00:00:00 2001
|
||||
From: Jihoon Kang <jihoonkang@google.com>
|
||||
Date: Fri, 30 Aug 2024 00:29:34 +0000
|
||||
Subject: [PATCH 2/2] Make java_sdk_library dependencies explicit
|
||||
|
||||
modules should specify the submodule of java_sdk_library that the module
|
||||
actually depends on
|
||||
|
||||
Test: CI
|
||||
Bug: 358613520
|
||||
Change-Id: I23a22e9d3dc001a5b061177273d407b01bb77a50
|
||||
---
|
||||
Android.bp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Android.bp b/Android.bp
|
||||
index 498e7c8f0..299c1a6e7 100644
|
||||
--- a/Android.bp
|
||||
+++ b/Android.bp
|
||||
@@ -102,7 +102,7 @@ android_app {
|
||||
exclude_srcs: ["java/com/android/dialer/rootcomponentgenerator/*.java"],
|
||||
libs: [
|
||||
"auto_value_annotations",
|
||||
- "org.apache.http.legacy",
|
||||
+ "org.apache.http.legacy.stubs.system",
|
||||
],
|
||||
optimize: {
|
||||
proguard_flags_files: [
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From dfc41a9e3661541deb16120d668a2db258ac5bdc Mon Sep 17 00:00:00 2001
|
||||
From 88275c8b0d207286b34284ad69090b29b705c4c1 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Mon, 11 Oct 2021 20:48:44 -0700
|
||||
Subject: [PATCH 1/3] Expose themed icon setting in ThemePicker
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 3cdbed6a05724beff6104f6fa0bb20ff9b4e9a37 Mon Sep 17 00:00:00 2001
|
||||
From 8f504046ec34c16fbd8a1d2da8294ab84e3817fa Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Fri, 7 Jul 2023 18:13:32 -0400
|
||||
Subject: [PATCH 2/3] Disable QSB in BuildConfig
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From a75d769d962e2356d2685dde26141edb312c8e00 Mon Sep 17 00:00:00 2001
|
||||
From 38d5e4a3a7bc358e77e7f9e2e8d2f4d1dfaed0b5 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Stefani <luca.stefani.ge1@gmail.com>
|
||||
Date: Fri, 1 Nov 2019 23:17:59 +0100
|
||||
Subject: [PATCH 3/3] Properly expose GridCustomizationsProvider
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 55872bc4a7ac74319ba3798fa5ab69153591fec4 Mon Sep 17 00:00:00 2001
|
||||
From 824c2a99f9d139d523265e64c8628b3171a7b017 Mon Sep 17 00:00:00 2001
|
||||
From: Oliver Scott <olivercscott@gmail.com>
|
||||
Date: Thu, 8 Jul 2021 10:40:49 -0400
|
||||
Subject: [PATCH 1/2] Global VPN feature [2/2]
|
||||
|
@ -14,13 +14,13 @@ Change-Id: If4a552b8f59bc15f53c324afa93a67e086b9c5a9
|
|||
3 files changed, 59 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
||||
index f92fd2a..06871e7 100644
|
||||
index 7e363e6..cd3a83d 100644
|
||||
--- a/res/values/strings.xml
|
||||
+++ b/res/values/strings.xml
|
||||
@@ -13588,4 +13588,10 @@
|
||||
@@ -13670,4 +13670,10 @@
|
||||
|
||||
<!-- url for learning more about bluetooth audio sharing -->
|
||||
<string name="help_url_audio_sharing" translatable="false"></string>
|
||||
<!-- Text for Search bar of Settings home screen [CHAR LIMIT=34] -->
|
||||
<string name="homepage_search">Search Settings</string>
|
||||
+
|
||||
+ <!-- VPN app management screen, global VPN -->
|
||||
+ <string name="global_vpn_title">Global VPN</string>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7f107defba4ab1ea850d8a9dbd897135c01dd9b9 Mon Sep 17 00:00:00 2001
|
||||
From bddf947575bc2ceebddbfcf120b0b8a6a1a967aa Mon Sep 17 00:00:00 2001
|
||||
From: Asher Simonds <dayanhammer@gmail.com>
|
||||
Date: Sun, 3 Apr 2022 12:18:21 +0200
|
||||
Subject: [PATCH 2/2] Settings: Bring in the new icon
|
||||
|
@ -1605,17 +1605,17 @@ z6ETeSztRPj2WqpS>%sk}Z93Z&Tr+fZKn*nj{qN&iN>evQCB%QCz?wonp#Lib2QCjH
|
|||
z>i%o42p|ibx<XR!|GxahsWW*4*KAw-N^A@R6S=SZu?z6;ukd806eTOgjf4IV%pwj@
|
||||
|
||||
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
|
||||
index 8f74bd9..bcb5904 100644
|
||||
index 0e2e6bc..21a1525 100644
|
||||
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
|
||||
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
|
||||
@@ -157,7 +157,7 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
||||
@@ -140,7 +140,7 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
||||
intent = new Intent();
|
||||
}
|
||||
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
|
||||
- Intent.ShortcutIconResource.fromContext(mContext, R.mipmap.ic_launcher_settings))
|
||||
+ Intent.ShortcutIconResource.fromContext(mContext, R.drawable.ic_launcher_settings))
|
||||
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent)
|
||||
.putExtra(Intent.EXTRA_SHORTCUT_NAME, label);
|
||||
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, info.getIntent())
|
||||
.putExtra(Intent.EXTRA_SHORTCUT_NAME, info.getShortLabel());
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 09b18fbe23c7658a5842046e8a02808c49f55651 Mon Sep 17 00:00:00 2001
|
||||
From 7ef009b2434c5cf9f7d4ec9f114336d6a43d888f Mon Sep 17 00:00:00 2001
|
||||
From: Luca Stefani <luca.stefani.ge1@gmail.com>
|
||||
Date: Fri, 1 Nov 2019 21:14:29 +0100
|
||||
Subject: [PATCH 1/4] Add wallpaper privapp whitelist
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From db9fdfe26b4b012d6b56740fd8b2d47dbec3b1c6 Mon Sep 17 00:00:00 2001
|
||||
From 0e064d23f1b0dc300651d9d680927ecb26aa9013 Mon Sep 17 00:00:00 2001
|
||||
From: LuK1337 <priv.luk@gmail.com>
|
||||
Date: Tue, 15 Sep 2020 03:27:19 +0200
|
||||
Subject: [PATCH 2/4] Add wallpaper default permissions
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b78e135aa16d74add63252ed718e6079afcde7f3 Mon Sep 17 00:00:00 2001
|
||||
From 4c72c9bf019b1da8aa0888d1f4f22cc026aa87bf Mon Sep 17 00:00:00 2001
|
||||
From: Luca Stefani <luca.stefani.ge1@gmail.com>
|
||||
Date: Fri, 1 Nov 2019 23:17:08 +0100
|
||||
Subject: [PATCH 3/4] Specify we read and write launcher settings
|
||||
|
@ -9,7 +9,7 @@ Change-Id: Ifc8196588443b007602118389ca76d34ab531f14
|
|||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index 6e5844d..555d3b6 100755
|
||||
index f89ff6e..95f5b0e 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -60,6 +60,9 @@
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 4ccfc277b6a3a2b534dc331eada45b15a154a55c Mon Sep 17 00:00:00 2001
|
||||
From 30d9a5682d8ae85d7f621b6509f7445fc70bae70 Mon Sep 17 00:00:00 2001
|
||||
From: Danny Lin <danny@kdrag0n.dev>
|
||||
Date: Tue, 5 Oct 2021 22:40:58 -0700
|
||||
Subject: [PATCH 4/4] Add permission for launcher preview rendering
|
||||
|
@ -10,7 +10,7 @@ Change-Id: Ie707dcd98161e8f5993b0504295fddc3f395cd20
|
|||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
|
||||
index 555d3b6..02fa70f 100755
|
||||
index 95f5b0e..8c55499 100755
|
||||
--- a/AndroidManifest.xml
|
||||
+++ b/AndroidManifest.xml
|
||||
@@ -13,6 +13,7 @@
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
From 3aa174edd50a176986ab15f91bcb87b7cec160fa Mon Sep 17 00:00:00 2001
|
||||
From: DerTeufel <dominik-kassel@gmx.de>
|
||||
Date: Wed, 4 Jan 2023 21:39:37 +0100
|
||||
Subject: [PATCH 1/2] Don't crash on status:UNSUPPORTED_REMOTE_OR_LMP_FEATURE
|
||||
|
||||
especially 'opcode:0x811 (SNIFF_SUBRATING)' which is the only one I had observed
|
||||
|
||||
Change-Id: Ic57d6631185370cbfdeafdac00801c6ca27fb755
|
||||
---
|
||||
system/gd/hci/hci_layer.cc | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/system/gd/hci/hci_layer.cc b/system/gd/hci/hci_layer.cc
|
||||
index 70a5f43b56..07d5d25a5c 100644
|
||||
--- a/system/gd/hci/hci_layer.cc
|
||||
+++ b/system/gd/hci/hci_layer.cc
|
||||
@@ -216,8 +216,10 @@ struct HciLayer::impl {
|
||||
|
||||
bool is_vendor_specific = static_cast<int>(op_code) & (0x3f << 10);
|
||||
CommandStatusView status_view = CommandStatusView::Create(event);
|
||||
- if (is_vendor_specific && (is_status && !command_queue_.front().waiting_for_status_) &&
|
||||
- (status_view.IsValid() && status_view.GetStatus() == ErrorCode::UNKNOWN_HCI_COMMAND)) {
|
||||
+ if ((is_vendor_specific && (is_status && !command_queue_.front().waiting_for_status_) &&
|
||||
+ (status_view.IsValid() && status_view.GetStatus() == ErrorCode::UNKNOWN_HCI_COMMAND)) ||
|
||||
+ ((is_status && !command_queue_.front().waiting_for_status_) &&
|
||||
+ (status_view.IsValid() && status_view.GetStatus() == ErrorCode::UNSUPPORTED_REMOTE_OR_LMP_FEATURE))) {
|
||||
// If this is a command status of a vendor specific command, and command complete is expected,
|
||||
// we can't treat this as hard failure since we have no way of probing this lack of support at
|
||||
// earlier time. Instead we let the command complete handler handle a empty Command Complete
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From e164e6032a9df3bf8814cdb8d6267b1c5663687f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Cai <peter@typeblog.net>
|
||||
Date: Wed, 24 Aug 2022 10:41:29 -0400
|
||||
Subject: [PATCH 1/2] gd: hci: Ignore unexpected status events
|
||||
|
||||
For some reason, on some old devices, the controller will report a
|
||||
remote to support SNIFF_SUBRATING even when it does not. Just ignore the
|
||||
error here (the status event comes from the failure response).
|
||||
|
||||
Change-Id: Ifb9a65fd77f21d15a8dc1ced9240194d38218ef6
|
||||
---
|
||||
system/gd/hci/hci_layer.cc | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/system/gd/hci/hci_layer.cc b/system/gd/hci/hci_layer.cc
|
||||
index fe5fa33..9c411fb 100644
|
||||
--- a/system/gd/hci/hci_layer.cc
|
||||
+++ b/system/gd/hci/hci_layer.cc
|
||||
@@ -230,13 +230,13 @@ struct HciLayer::impl {
|
||||
command_complete_view.IsValid(), "assert failed: command_complete_view.IsValid()");
|
||||
(*command_queue_.front().GetCallback<CommandCompleteView>())(command_complete_view);
|
||||
} else {
|
||||
- log::assert_that(
|
||||
- command_queue_.front().waiting_for_status_ == is_status,
|
||||
- "{} was not expecting {} event",
|
||||
- OpCodeText(op_code),
|
||||
- logging_id);
|
||||
-
|
||||
- (*command_queue_.front().GetCallback<TResponse>())(std::move(response_view));
|
||||
+ if (command_queue_.front().waiting_for_status_ == is_status) {
|
||||
+ (*command_queue_.front().GetCallback<TResponse>())(std::move(response_view));
|
||||
+ } else {
|
||||
+ CommandCompleteView command_complete_view = CommandCompleteView::Create(
|
||||
+ EventView::Create(PacketView<kLittleEndian>(std::make_shared<std::vector<uint8_t>>(std::vector<uint8_t>()))));
|
||||
+ (*command_queue_.front().GetCallback<CommandCompleteView>())(std::move(command_complete_view));
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifdef TARGET_FLOSS
|
||||