Changes for July 2024, syncing up to 20240721

This commit is contained in:
Andy CrossGate Yan
2024-07-21 17:19:43 +08:00
parent 3963eaa06e
commit bcc6abe459
240 changed files with 3746 additions and 2018 deletions

View File

@@ -1,4 +1,4 @@
From 4edc031741505b06ea466479f419ec86cb04718f Mon Sep 17 00:00:00 2001
From 0c66c0bf51f8edb8b880e9d15594befe9ead217c Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Thu, 18 Aug 2022 15:44:46 -0400
Subject: [PATCH 01/24] APM: Restore S, R and Q behavior respectively for
@@ -36,10 +36,10 @@ Change-Id: I56d36d2aef4319935cb88a3e4771b23c6d5b2145
2 files changed, 147 insertions(+), 62 deletions(-)
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 135548fb9c..fc99bdbd78 100644
index 3bebb1134a..1823522fe2 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -692,6 +692,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
@@ -699,6 +699,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 135548fb9c..fc99bdbd78 100644
auto telephonyRxModule =
mHwModules.getModuleForDeviceType(AUDIO_DEVICE_IN_TELEPHONY_RX, AUDIO_FORMAT_DEFAULT);
auto telephonyTxModule =
@@ -714,9 +725,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
@@ -721,9 +732,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
ALOGE("%s() no telephony Tx and/or RX device", __func__);
return INVALID_OPERATION;
}
@@ -81,7 +81,7 @@ index 135548fb9c..fc99bdbd78 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.
@@ -737,7 +759,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
@@ -744,7 +766,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
}
muteWaitMs = setOutputDevices(__func__, mPrimaryOutput, rxDevices, true, delayMs);
} else { // create RX path audio patch
@@ -97,7 +97,7 @@ index 135548fb9c..fc99bdbd78 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
@@ -752,7 +781,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
@@ -759,7 +788,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
closeActiveClients(activeDesc);
}
}
@@ -111,7 +111,7 @@ index 135548fb9c..fc99bdbd78 100644
}
if (waitMs != nullptr) {
*waitMs = muteWaitMs;
@@ -760,6 +794,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
@@ -767,6 +801,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
return NO_ERROR;
}
@@ -148,7 +148,7 @@ index 135548fb9c..fc99bdbd78 100644
bool AudioPolicyManager::isDeviceOfModule(
const sp<DeviceDescriptor>& devDesc, const char *moduleId) const {
sp<HwModule> module = mHwModules.getModuleFromName(moduleId);
@@ -5087,83 +5151,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
@@ -5192,83 +5256,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 135548fb9c..fc99bdbd78 100644
AUDIO_STREAM_PATCH;
patchBuilder.addSource(srcMixPortConfig);
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index a1c8f6202c..ee1b595e30 100644
index a3232a2d40..cc2cf50688 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -964,6 +964,9 @@ protected:
@@ -980,6 +980,9 @@ protected:
SoundTriggerSessionCollection mSoundTriggerSessions;

View File

@@ -1,4 +1,4 @@
From 1a713e8b42c975a61e3751b4acf66732559c4152 Mon Sep 17 00:00:00 2001
From 64131a132e24a38e12b9c4b2b9ba94b3d9091085 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 5 Aug 2019 18:09:50 +0200
Subject: [PATCH 02/24] Fix BT in-call on CAF devices

View File

@@ -1,4 +1,4 @@
From 323d4a565abc38d9f32c4d77825f73ad0638cf1d Mon Sep 17 00:00:00 2001
From 66a6eb4ef75d566fd86877e303ff3a5688e37165 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 1 Oct 2019 13:35:49 +0200
Subject: [PATCH 03/24] Add (partial, cam id is hardcoded) support for Asus ZF6
@@ -11,7 +11,7 @@ Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe
2 files changed, 29 insertions(+)
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index 6acf0b6cae..8d0f3bdab7 100644
index 2d55f39b25..1e4001be1c 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -28,6 +28,7 @@
@@ -22,7 +22,7 @@ index 6acf0b6cae..8d0f3bdab7 100644
#include <inttypes.h>
#include <pthread.h>
#include <poll.h>
@@ -153,6 +154,7 @@ static std::set<std::string> sServiceErrorEventSet;
@@ -159,6 +160,7 @@ static std::set<std::string> sServiceErrorEventSet;
CameraService::CameraService(
std::shared_ptr<CameraServiceProxyWrapper> cameraServiceProxyWrapper) :
@@ -30,7 +30,7 @@ index 6acf0b6cae..8d0f3bdab7 100644
mCameraServiceProxyWrapper(cameraServiceProxyWrapper == nullptr ?
std::make_shared<CameraServiceProxyWrapper>() : cameraServiceProxyWrapper),
mEventLog(DEFAULT_EVENT_LOG_LENGTH),
@@ -2628,6 +2630,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const std::str
@@ -2743,6 +2745,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const std::str
mServiceLock.lock();
} else {
// Otherwise, add client to active clients list
@@ -38,7 +38,7 @@ index 6acf0b6cae..8d0f3bdab7 100644
finishConnectLocked(client, partial, oomScoreOffset, systemNativeClient);
}
@@ -2754,6 +2757,27 @@ status_t CameraService::addOfflineClient(const std::string &cameraId,
@@ -2869,6 +2872,27 @@ status_t CameraService::addOfflineClient(const std::string &cameraId,
return OK;
}
@@ -66,7 +66,7 @@ index 6acf0b6cae..8d0f3bdab7 100644
Status CameraService::turnOnTorchWithStrengthLevel(const std::string& unresolvedCameraId,
int32_t torchStrength, const sp<IBinder>& clientBinder) {
Mutex::Autolock lock(mServiceLock);
@@ -4023,6 +4047,8 @@ binder::Status CameraService::BasicClient::disconnect() {
@@ -4138,6 +4162,8 @@ binder::Status CameraService::BasicClient::disconnect() {
}
mDisconnected = true;
@@ -76,10 +76,10 @@ index 6acf0b6cae..8d0f3bdab7 100644
sCameraService->logDisconnected(mCameraIdStr, mClientPid, mClientPackageName);
sCameraService->mCameraProviderManager->removeRef(CameraProviderManager::DeviceMode::CAMERA,
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 7dc0b91cc9..15ea8b9064 100644
index 8822cd37cf..e2c38a9096 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -271,6 +271,9 @@ public:
@@ -276,6 +276,9 @@ public:
// Register an offline client for a given active camera id
status_t addOfflineClient(const std::string &cameraId, sp<BasicClient> offlineClient);

View File

@@ -1,4 +1,4 @@
From 521e59e5aea2093c82a3ec3171725f49885a1c92 Mon Sep 17 00:00:00 2001
From 3708bb8a7cba3be95a53d3afad8f4a502b366ae6 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 24 Aug 2022 15:42:39 -0400
Subject: [PATCH 04/24] APM: Optionally force-load audio policy for system-side

View File

@@ -1,4 +1,4 @@
From 7d9889aa8c86186b6d5d20b9f79a9cb755f7424a Mon Sep 17 00:00:00 2001
From 70ede12fd7215948067cf687613d3eedeb57e073 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Thu, 25 Aug 2022 13:30:29 -0400
Subject: [PATCH 05/24] APM: Remove A2DP audio ports from the primary HAL

View File

@@ -1,4 +1,4 @@
From e7aac58de94e2774f1e0d3c466fb4dafdd90feeb Mon Sep 17 00:00:00 2001
From 3ad1c75d98330f969396240399b22e8e4c7c2601 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Thu, 23 Jan 2020 11:13:43 +0800
Subject: [PATCH 06/24] audiopolicy: try again with trimmed audio port name if

View File

@@ -1,4 +1,4 @@
From 37cd5e07843175c9d4aa5df2f11e2e00f01e378c Mon Sep 17 00:00:00 2001
From 5a170e94d2f73ca9ff749b7cc58d90678b6ade04 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 1 Jun 2022 16:56:46 -0400
Subject: [PATCH 07/24] camera: Implement property to override default camera
@@ -11,10 +11,10 @@ Change-Id: I002bfa974bafc2cc01365eeea31c7a5dcb5a2028
1 file changed, 22 insertions(+)
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
index 1ba3de49a2..3fffb03da8 100644
index 15e2755a98..60e4eb7b42 100644
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
@@ -40,6 +40,7 @@
@@ -41,6 +41,7 @@
#include <functional>
#include <camera_metadata_hidden.h>
#include <android-base/parseint.h>
@@ -22,7 +22,7 @@ index 1ba3de49a2..3fffb03da8 100644
#include <android-base/logging.h>
#include <cutils/properties.h>
#include <hwbinder/IPCThreadState.h>
@@ -261,6 +262,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds(std::unordere
@@ -278,6 +279,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds(std::unordere
}
}
}
@@ -38,7 +38,7 @@ index 1ba3de49a2..3fffb03da8 100644
return deviceIds;
}
@@ -327,6 +337,18 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
@@ -344,6 +354,18 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
std::sort(systemDeviceIds.begin(), systemDeviceIds.end(), sortFunc);
deviceIds.insert(deviceIds.end(), publicDeviceIds.begin(), publicDeviceIds.end());
deviceIds.insert(deviceIds.end(), systemDeviceIds.begin(), systemDeviceIds.end());

View File

@@ -1,4 +1,4 @@
From 9b1b33604d6e17d5b2f2bfccf2a1eac5f8b1334e Mon Sep 17 00:00:00 2001
From 772f3d3d92335d509ce7e669353f15d33df17abe Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 13 Apr 2020 21:01:16 +0200
Subject: [PATCH 08/24] There are three SCO devices. Fallback from one to the
@@ -10,10 +10,10 @@ Change-Id: I414dcb6b154855c00cb8520b23dc1069827864b2
1 file changed, 21 insertions(+)
diff --git a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
index cb45f5438b..ffefd5fa32 100644
index 6696b45f03..3ea185d873 100644
--- a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
+++ b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
@@ -318,6 +318,27 @@ sp<HwModule> HwModuleCollection::getModuleForDeviceType(audio_devices_t type,
@@ -321,6 +321,27 @@ sp<HwModule> HwModuleCollection::getModuleForDeviceType(audio_devices_t type,
}
}
}

View File

@@ -1,4 +1,4 @@
From 39b141bbcbcef2edb0837ca8b6e89330a48b5e94 Mon Sep 17 00:00:00 2001
From 3bdff36cbdf77acc3d9c277b3b2eef9a2fca1c3c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 14 May 2020 19:54:55 +0200
Subject: [PATCH 09/24] Add persist.sys.phh.samsung.camera_ids property to
@@ -11,7 +11,7 @@ Change-Id: I2c7bf535272acc28ed2277e96c78ddd28a0b4593
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index 4883a09f37..080ccf646d 100644
index 5b76bb0c0f..2f574133c6 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -107,6 +107,7 @@ cc_defaults {
@@ -23,7 +23,7 @@ index 4883a09f37..080ccf646d 100644
"libbinderthreadstateutils",
"libcameraservice_device_independent",
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
index d2643c1e13..71aabc14b3 100644
index 065f0c5569..1b22767779 100644
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
@@ -28,6 +28,7 @@

View File

@@ -1,4 +1,4 @@
From 924c9942ae267e00676623718996f34478a9e541 Mon Sep 17 00:00:00 2001
From d3b95d0b5dfff1f1470dba177541b2090c8ad85d Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 19 May 2020 14:01:14 +0200
Subject: [PATCH 10/24] Add a property to force camera timestamp source
@@ -18,10 +18,10 @@ timestamp source.
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index bdf77993ea..44394ac6ff 100644
index 303bcfc180..29702c84c0 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -218,8 +218,16 @@ status_t Camera3Device::initializeCommonLocked() {
@@ -209,8 +209,16 @@ status_t Camera3Device::initializeCommonLocked() {
mTimestampOffset = getMonoToBoottimeOffset();
camera_metadata_entry timestampSource =
mDeviceInfo.find(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE);

View File

@@ -1,4 +1,4 @@
From 2770f16ee043c697256171eef02146114ce70890 Mon Sep 17 00:00:00 2001
From ab29ebc6a1d51718ee60d28921ce53241433d66c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 24 Apr 2018 00:14:28 +0200
Subject: [PATCH 11/24] FIH devices: Fix "Earpiece" audio output

View File

@@ -1,4 +1,4 @@
From 74fbe339a37e281023053dc2ede79568b6d3b280 Mon Sep 17 00:00:00 2001
From 958fc690726a71004bd0264664968b2bd8eb08ae Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 12 Sep 2020 12:32:50 +0200
Subject: [PATCH 12/24] No longer make re-assigning legacy audio groups fatal.

View File

@@ -1,4 +1,4 @@
From f455aa5e0d283d4a0f06869f3f7acdeb2b7ffc4e Mon Sep 17 00:00:00 2001
From c3dd6050d65fe5793d30771eb8a008670949ba40 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 13/24] Make camera IDs filter-out optional
@@ -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 3fffb03da8..ab6cb6bd57 100644
index 60e4eb7b42..fbfdecc2ed 100644
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
@@ -311,7 +311,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
@@ -328,7 +328,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 3fffb03da8..ab6cb6bd57 100644
collectDeviceIdsLocked(providerDeviceIds, publicDeviceIds, systemDeviceIds);
}
auto sortFunc =
@@ -1108,10 +1110,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
@@ -1137,10 +1139,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
// Go through the capabilities and check if it has
// ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA

View File

@@ -1,4 +1,4 @@
From 665d173a566745531c3568e958079fabdd4aa857 Mon Sep 17 00:00:00 2001
From dfa461bb49279d406df7e6b2e1817acea65e0faa Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 13 Mar 2021 14:20:03 -0500
Subject: [PATCH 14/24] Support Samsung R multi-cams
@@ -10,7 +10,7 @@ Change-Id: If46f385e8dd16185cbf37ab083e6a1242e1d1555
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index 080ccf646d..1ece884867 100644
index 2f574133c6..6b7a74edb6 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -108,6 +108,7 @@ cc_defaults {
@@ -22,7 +22,7 @@ index 080ccf646d..1ece884867 100644
"libbinderthreadstateutils",
"libcameraservice_device_independent",
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
index 71aabc14b3..aefd6c3d4f 100644
index 1b22767779..c60c0c4ffa 100644
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
@@ -29,6 +29,7 @@

View File

@@ -1,4 +1,4 @@
From 4e599885f71f64964ede94de8a4d9bc01a6f882f Mon Sep 17 00:00:00 2001
From 566af85de4cdf5f65c0b41b78d0973befa8bb6a7 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 28 Mar 2021 18:54:47 +0200
Subject: [PATCH 15/24] Not all sources in a route are valid. Dont ignore the

View File

@@ -1,4 +1,4 @@
From b91e6acca8daa1ea9372cc74f9da70f0a9c196ec Mon Sep 17 00:00:00 2001
From 6f500a59e45d517f5ebcad5893fc6d58e81c496e Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 28 Mar 2021 14:48:49 +0200
Subject: [PATCH 16/24] Use a fake volume policy when none has been found

View File

@@ -1,4 +1,4 @@
From eb45c9ea30fbf316b31002f0ad5f14f5db4609f2 Mon Sep 17 00:00:00 2001
From eae358283867bea937c4b9575e352a195d2def54 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Mon, 11 Oct 2021 16:10:42 -0400
Subject: [PATCH 17/24] Revert "Remove support for audio HAL V2 from the
@@ -18,7 +18,7 @@ Change-Id: Icfd638a91b22ffa6d2cd6d19a624e699a85a850a
5 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/media/libaudiohal/Android.bp b/media/libaudiohal/Android.bp
index 3c05b0b472..1426930603 100644
index b8d099897f..e4a11a3fa8 100644
--- a/media/libaudiohal/Android.bp
+++ b/media/libaudiohal/Android.bp
@@ -23,6 +23,7 @@ cc_library_shared {
@@ -26,32 +26,30 @@ index 3c05b0b472..1426930603 100644
required: [
+ "libaudiohal@2.0",
"libaudiohal@4.0",
"libaudiohal@5.0",
"libaudiohal@6.0",
"libaudiohal@7.0",
diff --git a/media/libaudiohal/FactoryHal.cpp b/media/libaudiohal/FactoryHal.cpp
index f88915d7f4..24e5adbae3 100644
index 15cb297b5c..c922dd184d 100644
--- a/media/libaudiohal/FactoryHal.cpp
+++ b/media/libaudiohal/FactoryHal.cpp
@@ -50,7 +50,7 @@ using InterfaceName = std::pair<std::string, std::string>;
@@ -50,12 +50,13 @@ using InterfaceName = std::pair<std::string, std::string>;
* This list need to keep sync with AudioHalVersionInfo.VERSIONS in
* media/java/android/media/AudioHalVersionInfo.java.
*/
-static const std::array<AudioHalVersionInfo, 5> sAudioHALVersions = {
+static const std::array<AudioHalVersionInfo, 6> sAudioHALVersions = {
// TODO: remove this comment to get AIDL
// AudioHalVersionInfo(AudioHalVersionInfo::Type::AIDL, 1, 0),
AudioHalVersionInfo(AudioHalVersionInfo::Type::AIDL, 1, 0),
AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 7, 1),
@@ -58,6 +58,7 @@ static const std::array<AudioHalVersionInfo, 5> sAudioHALVersions = {
AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 7, 0),
AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 6, 0),
AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 5, 0),
AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 4, 0),
+ AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, 2, 0),
};
static const std::map<AudioHalVersionInfo::Type, InterfaceName> sDevicesHALInterfaces = {
diff --git a/media/libaudiohal/impl/Android.bp b/media/libaudiohal/impl/Android.bp
index fb1cc34932..61611965df 100644
index 4d81f77d8e..23d7f0465b 100644
--- a/media/libaudiohal/impl/Android.bp
+++ b/media/libaudiohal/impl/Android.bp
@@ -82,6 +82,32 @@ cc_defaults {
@@ -85,10 +83,10 @@ index fb1cc34932..61611965df 100644
+}
+
cc_library_shared {
name: "libaudiohal@4.0",
name: "libaudiohal@5.0",
defaults: [
diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp
index af5d4bdea0..2f3c6bf390 100644
index ea4258c878..4d4e8a8717 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.cpp
+++ b/media/libaudiohal/impl/DeviceHalHidl.cpp
@@ -587,6 +587,7 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool
@@ -128,7 +126,7 @@ index af5d4bdea0..2f3c6bf390 100644
status_t DeviceHalHidl::dump(int fd, const Vector<String16>& args) {
diff --git a/media/libaudiohal/impl/DevicesFactoryHalHidl.cpp b/media/libaudiohal/impl/DevicesFactoryHalHidl.cpp
index eef60b506c..e303e54b41 100644
index 1cac9dab76..78c0c56416 100644
--- a/media/libaudiohal/impl/DevicesFactoryHalHidl.cpp
+++ b/media/libaudiohal/impl/DevicesFactoryHalHidl.cpp
@@ -119,6 +119,7 @@ status_t DevicesFactoryHalHidl::openDevice(const char *name, sp<DeviceHalInterfa

View File

@@ -1,4 +1,4 @@
From 35dc2d2da3770e5d5ceb13efa54a71b185284838 Mon Sep 17 00:00:00 2001
From 5b194a7fad55a6bfb5c9a49b58081bb4b2fd4917 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 16 Apr 2022 14:30:14 -0400
Subject: [PATCH 18/24] Add a prop to change Samsung flash strength
@@ -9,7 +9,7 @@ Subject: [PATCH 18/24] Add a prop to change Samsung flash strength
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index 1ece884867..6599763814 100644
index 6b7a74edb6..1e1423f42b 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -83,6 +83,8 @@ cc_defaults {
@@ -22,7 +22,7 @@ index 1ece884867..6599763814 100644
"android.hardware.common.fmq-V1-ndk",
"camera_platform_flags_c_lib",
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
index aefd6c3d4f..2412f82c37 100644
index c60c0c4ffa..9d9275c89c 100644
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
@@ -30,6 +30,8 @@
@@ -34,7 +34,7 @@ index aefd6c3d4f..2412f82c37 100644
namespace {
const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false));
@@ -804,7 +806,23 @@ HidlProviderInfo::HidlDeviceInfo3::HidlDeviceInfo3(
@@ -812,7 +814,23 @@ HidlProviderInfo::HidlDeviceInfo3::HidlDeviceInfo3(
status_t HidlProviderInfo::HidlDeviceInfo3::setTorchMode(bool enabled) {
using hardware::camera::common::V1_0::TorchMode;
const sp<hardware::camera::device::V3_2::ICameraDevice> interface = startDeviceInterface();

View File

@@ -1,4 +1,4 @@
From 549f75e70fdc11d688bbb1df9f326a46f9000953 Mon Sep 17 00:00:00 2001
From 584e013e0e203cd1605073707f36385d7ebf5892 Mon Sep 17 00:00:00 2001
From: ponces <ponces26@gmail.com>
Date: Mon, 24 Oct 2022 09:38:34 +0100
Subject: [PATCH 19/24] voip: Fix high pitched voice on Qualcomm devices

View File

@@ -1,4 +1,4 @@
From 3eb988f5a5eba090129128fd88d518ca2f445a77 Mon Sep 17 00:00:00 2001
From 627bb9864b9022a3c76cbe7f21ea3f003f13e97b Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Sun, 30 Apr 2023 23:29:04 +0100
Subject: [PATCH 20/24] audiopolicy: Fix broken mic while video recording on

View File

@@ -1,4 +1,4 @@
From a2e4a50178fd41f0cb039373af1a4a3169d77386 Mon Sep 17 00:00:00 2001
From 12536fe15af67eea0aa575396e7c84eba1b1a57e Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 30 Oct 2023 10:30:58 -0400
Subject: [PATCH 21/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio

View File

@@ -1,4 +1,4 @@
From 400c8f19e138e8013518f179818dccff84b1b90f Mon Sep 17 00:00:00 2001
From 217b56d5afb18f9cdf8391751f5c81de89044012 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Sun, 5 Nov 2023 15:18:03 +0000
Subject: [PATCH 22/24] Add a prop to fix echo on incoming or outgoing calls

View File

@@ -1,4 +1,4 @@
From e4ec1cdfa0672fb9837e9b9ed843261c01eff535 Mon Sep 17 00:00:00 2001
From d7a75909fdfbe115e2026433bc007017532ece82 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 7 Feb 2024 05:06:32 -0500
Subject: [PATCH 23/24] Include Samsung AIDL camera ids
@@ -9,7 +9,7 @@ Subject: [PATCH 23/24] Include Samsung AIDL camera ids
2 files changed, 22 insertions(+)
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index 6599763814..d5957fc7cc 100644
index 1e1423f42b..bfe9c8bbb5 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -111,6 +111,7 @@ cc_defaults {
@@ -21,7 +21,7 @@ index 6599763814..d5957fc7cc 100644
"libbinderthreadstateutils",
"libcameraservice_device_independent",
diff --git a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
index d773af3e9a..99ddcc129b 100644
index a721d287f4..1e16541ed6 100644
--- a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
+++ b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
@@ -30,6 +30,8 @@

View File

@@ -1,4 +1,4 @@
From 7d501facc77ebb625927748e30fbaffbfdf87b96 Mon Sep 17 00:00:00 2001
From 68bee34347886f4cc278ec00729d0105a08defc6 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 10 Feb 2024 09:30:19 -0500
Subject: [PATCH 24/24] Allow using camera modes declared in Samsung
@@ -9,7 +9,7 @@ Subject: [PATCH 24/24] Allow using camera modes declared in Samsung
1 file changed, 53 insertions(+), 26 deletions(-)
diff --git a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
index f03ebd84fe..7ead9b194f 100644
index b4adf3e5b4..d4d9c433a1 100644
--- a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
+++ b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
@@ -168,35 +168,62 @@ bool roundBufferDimensionNearest(int32_t width, int32_t height,

View File

@@ -1,7 +1,7 @@
From d8e5913abba9f2de9a476124219dc804eac930e0 Mon Sep 17 00:00:00 2001
From 9f49cb42fc4f9fdfe42d2c2fe6e2ec37bb3e87b4 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 5 Oct 2021 17:59:16 -0400
Subject: [PATCH 01/50] Fallback to stupid autobrightness if brightness values
Subject: [PATCH 01/51] Fallback to stupid autobrightness if brightness values
are broken
This is needed because of:
@@ -14,10 +14,10 @@ Change-Id: Ieb679b34239013a5e31b34cb010b12febd9ef6d9
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
index d97127c91fbf..3dcb84dad786 100644
index 9b2dcc53f456..04e06b99d3ee 100644
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
@@ -897,9 +897,14 @@ public class DisplayDeviceConfig {
@@ -894,9 +894,14 @@ public class DisplayDeviceConfig {
*/
public static DisplayDeviceConfig create(Context context, boolean useConfigXml,
DisplayManagerFlags flags) {

View File

@@ -1,7 +1,7 @@
From 3d14aac0ee3a37ed0fcad87c1eae170300b92326 Mon Sep 17 00:00:00 2001
From 760a17ba02bbab91feb31c26f692b6871d1e3b95 Mon Sep 17 00:00:00 2001
From: Raphael Mounier <mounierr07@gmail.com>
Date: Sat, 6 Aug 2022 18:08:36 +0200
Subject: [PATCH 02/50] Fix env empty string - ANDROID_STORAGE
Subject: [PATCH 02/51] Fix env empty string - ANDROID_STORAGE
Huawei hi6250 define in init.hi6250.rc ANDROID_STORAGE to "", so check empty string and replace with default path. Apply change for all env directory
---
@@ -9,10 +9,10 @@ Huawei hi6250 define in init.hi6250.rc ANDROID_STORAGE to "", so check empty str
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 536ef31f334a..bebab95189d7 100644
index a459aaa42930..168825411139 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -1523,7 +1523,7 @@ public class Environment {
@@ -1526,7 +1526,7 @@ public class Environment {
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);

View File

@@ -1,7 +1,7 @@
From 9b53e0b92842a042d0fe30428ab379fc59a13c61 Mon Sep 17 00:00:00 2001
From 6f528a2a2c0c10884ead901ed412ff2132a6bcd4 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 28 Nov 2017 18:28:04 +0100
Subject: [PATCH 03/50] Relax requirement for visible flag to sdcards
Subject: [PATCH 03/51] Relax requirement for visible flag to sdcards
The vast majority of sdcard readers are stable enough to be declared by
the API. (I see no counter-example)
@@ -13,10 +13,10 @@ Change-Id: Ia616671c03562d1eadaff5531a5c708a62d7ad3a
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index c1ff9de47a32..43a0552f041b 100644
index 9ec2327352f7..5e5199abe7a6 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -1619,7 +1619,8 @@ class StorageManagerService extends IStorageManager.Stub
@@ -1621,7 +1621,8 @@ class StorageManagerService extends IStorageManager.Stub
// Adoptable public disks are visible to apps, since they meet
// public API requirement of being in a stable location.

View File

@@ -1,7 +1,7 @@
From 433f12c138c7cedeabb88ac38ef438a9907c480c Mon Sep 17 00:00:00 2001
From 501399a9fc8705c6e3967236413af35c157bf051 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 17 May 2018 20:28:35 +0200
Subject: [PATCH 04/50] Don't crash if there is IR HAL is not declared
Subject: [PATCH 04/51] Don't crash if there is IR HAL is not declared
Change-Id: I3afded27441bbee8244d5fda544b3e6d1238dc1b
---

View File

@@ -1,7 +1,7 @@
From 29e5a30910687e3239aa08885a5c3e350ca81f6f Mon Sep 17 00:00:00 2001
From 58f6aff63f9c4f42230be0b88f4a84994a0e2f00 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 1 Jun 2022 16:56:20 -0400
Subject: [PATCH 05/50] Implement a persistent property to override the default
Subject: [PATCH 05/51] Implement a persistent property to override the default
primary camera (0)
Change-Id: I49b45d00bf71d7932591b3516d49a680e1b6568b
@@ -11,10 +11,10 @@ Change-Id: I49b45d00bf71d7932591b3516d49a680e1b6568b
2 files changed, 14 insertions(+)
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 66f001e30b30..260611fd41ac 100644
index f5de97d698be..f0c6df1c7f2d 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -450,6 +450,11 @@ public class Camera {
@@ -441,6 +441,11 @@ public class Camera {
* @see #open(int)
*/
public static Camera open() {
@@ -27,10 +27,10 @@ index 66f001e30b30..260611fd41ac 100644
CameraInfo cameraInfo = new CameraInfo();
for (int i = 0; i < numberOfCameras; i++) {
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index cfccaa73bd08..3048702c62eb 100644
index b772d1ba4e9c..b06012320562 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -2238,6 +2238,15 @@ public final class CameraManager {
@@ -2200,6 +2200,15 @@ public final class CameraManager {
}
}});

View File

@@ -1,19 +1,19 @@
From e608b14cbbfae9250b40d7aaeeb00cac7cf2d539 Mon Sep 17 00:00:00 2001
From 20f793880b1009b6a8f4baa97366d947effe25d3 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 6 Aug 2018 12:49:00 +0200
Subject: [PATCH 06/50] Show APN Settings for CDMA carriers
Subject: [PATCH 06/51] Show APN Settings for CDMA carriers
---
telephony/java/android/telephony/CarrierConfigManager.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 7cb2cc398c46..1655dab30f6a 100644
index 5d99acd87dd3..cf914d41cac9 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -10139,7 +10139,7 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
@@ -10347,7 +10347,7 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_PREFER_2G_BOOL, false);
sDefaults.putBoolean(KEY_PREFER_3G_VISIBILITY_BOOL, true);
sDefaults.putBoolean(KEY_4G_ONLY_BOOL, false);
- sDefaults.putBoolean(KEY_SHOW_APN_SETTING_CDMA_BOOL, false);
+ sDefaults.putBoolean(KEY_SHOW_APN_SETTING_CDMA_BOOL, true);

View File

@@ -1,7 +1,7 @@
From d8b94297131b965a2d4282f53c368f267b9e9251 Mon Sep 17 00:00:00 2001
From 831dcfef08229154dee1300a8224f527d43e8b53 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 8 Nov 2018 23:04:03 +0100
Subject: [PATCH 07/50] Re-order services so that it works even without qtaguid
Subject: [PATCH 07/51] Re-order services so that it works even without qtaguid
Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
---
@@ -9,10 +9,10 @@ Change-Id: I0c0f527b3ae151d45c68f7ac6c205da3f34e74df
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 841f8a46aeb1..c941da5c5a74 100644
index 53637d2c5f44..3465e1b31b6c 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -983,6 +983,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
@@ -1032,6 +1032,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
Trace.traceBegin(Trace.TRACE_TAG_NETWORK, "systemReady");
final int oldPriority = Process.getThreadPriority(Process.myTid());
try {
@@ -23,7 +23,7 @@ index 841f8a46aeb1..c941da5c5a74 100644
// Boost thread's priority during system server init
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
if (!isBandwidthControlEnabled()) {
@@ -990,10 +994,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
@@ -1039,10 +1043,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
return;
}

View File

@@ -1,7 +1,7 @@
From b25663e9303b4544cf037a3e565832b48d637f5d Mon Sep 17 00:00:00 2001
From 24816a5a9e825447d5f752c53dab6b5ec5567a5b Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 24 Mar 2019 23:05:14 +0100
Subject: [PATCH 08/50] Support samsung Pie and Q light hal
Subject: [PATCH 08/51] Support samsung Pie and Q light hal
Change-Id: I01f94acd7d0672733e48854d80368f9ac6f861c6
---
@@ -9,10 +9,10 @@ Change-Id: I01f94acd7d0672733e48854d80368f9ac6f861c6
1 file changed, 2 insertions(+)
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index 1ca147b91e8a..f4a22ef80c61 100644
index e078c6e34912..3fa42184d653 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -214,6 +214,8 @@ cc_defaults {
@@ -216,6 +216,8 @@ cc_defaults {
"android.system.suspend-V1-ndk",
"server_configurable_flags",
"service.incremental",

View File

@@ -1,19 +1,40 @@
From 2584719094b8025923ce2f88e7af5d29f4329f54 Mon Sep 17 00:00:00 2001
From ce7edaed1d3855037559a1ca9face8de8dc4d2ec Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 12 Aug 2019 23:08:26 +0200
Subject: [PATCH 09/50] Add support for samsung touch, physical and hover
Subject: [PATCH 09/51] Add support for samsung touch, physical and hover
proximity sensor as fallback to real proximity sensor
Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865
---
.../display/DisplayPowerController.java | 35 +++++++++++++++++++
.../DisplayPowerProximityStateController.java | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index ae96e92cf22b..603c7a5d0086 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -2465,6 +2465,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
diff --git a/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java b/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
index 882c02faedf9..c517aa794aa1 100644
--- a/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
@@ -80,6 +80,20 @@ public final class DisplayPowerProximityStateController {
public void onSensorChanged(SensorEvent event) {
if (mProximitySensorEnabled) {
final long time = mClock.uptimeMillis();
+ if("com.samsung.sensor.touch_proximity".equals(mProximitySensor.getStringType())) {
+ int v = (int)event.values[0];
+ boolean positive = (v <= 4);
+ android.util.Log.d("PHH", "Samsung sensor changed " + positive + ":" + v);
+ handleProximitySensorEvent(time, positive);
+ return;
+ }
+ if("com.samsung.sensor.hover_proximity".equals(mProximitySensor.getStringType())) {
+ float v = event.values[0];
+ boolean positive = (v >= 0.5f && v <= 4.5);
+ android.util.Log.d("PHH", "Samsung hover sensor changed " + positive + ":" + v);
+ handleProximitySensorEvent(time, positive);
+ return;
+ }
final float distance = event.values[0];
boolean positive = distance >= 0.0f && distance < mProximityThreshold;
handleProximitySensorEvent(time, positive);
@@ -360,6 +374,27 @@ public final class DisplayPowerProximityStateController {
}
mProximitySensor = SensorUtils.findSensor(mSensorManager,
mDisplayDeviceConfig.getProximitySensor(), Sensor.TYPE_PROXIMITY);
@@ -41,27 +62,6 @@ index ae96e92cf22b..603c7a5d0086 100644
if (mProximitySensor != null) {
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
TYPICAL_PROXIMITY_THRESHOLD);
@@ -3512,6 +3533,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
public void onSensorChanged(SensorEvent event) {
if (mProximitySensorEnabled) {
final long time = mClock.uptimeMillis();
+ if("com.samsung.sensor.touch_proximity".equals(mProximitySensor.getStringType())) {
+ int v = (int)event.values[0];
+ boolean positive = (v <= 4);
+ android.util.Log.d("PHH", "Samsung sensor changed " + positive + ":" + v);
+ handleProximitySensorEvent(time, positive);
+ return;
+ }
+ if("com.samsung.sensor.hover_proximity".equals(mProximitySensor.getStringType())) {
+ float v = event.values[0];
+ boolean positive = (v >= 0.5f && v <= 4.5);
+ android.util.Log.d("PHH", "Samsung hover sensor changed " + positive + ":" + v);
+ handleProximitySensorEvent(time, positive);
+ return;
+ }
final float distance = event.values[0];
boolean positive = distance >= 0.0f && distance < mProximityThreshold;
handleProximitySensorEvent(time, positive);
--
2.34.1

View File

@@ -1,7 +1,7 @@
From 22418b0a3aae42784dc0003c063d0a306e8befa8 Mon Sep 17 00:00:00 2001
From dd7dbc8f59d4fba55fcc965416c56751f319599f Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 5 Apr 2020 16:32:46 +0200
Subject: [PATCH 10/50] Always allow overriding the number of work profiles
Subject: [PATCH 10/51] Always allow overriding the number of work profiles
Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a
---
@@ -9,10 +9,10 @@ Change-Id: I6eb09aa71663c6fbe7563e3038bffcabdba0ff6a
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 6f75a96c05db..c7b305cf120b 100644
index 7349755402b1..0d1930db746a 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -7560,12 +7560,8 @@ public class UserManagerService extends IUserManager.Stub {
@@ -7883,12 +7883,8 @@ public class UserManagerService extends IUserManager.Stub {
*/
private static int getMaxUsersOfTypePerParent(UserTypeDetails userTypeDetails) {
final int defaultMax = userTypeDetails.getMaxAllowedPerParent();

View File

@@ -1,7 +1,7 @@
From 0c9251a2cfa2635957040d76b0fe11738aa1ce41 Mon Sep 17 00:00:00 2001
From 5521bfbb90d180097e069a8f3c50f1e6de0831b2 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 6 Jun 2020 18:21:56 +0200
Subject: [PATCH 11/50] HOME deserves to wake-up devices just as well as back
Subject: [PATCH 11/51] HOME deserves to wake-up devices just as well as back
and menu
Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a
@@ -10,10 +10,10 @@ Change-Id: Ia562bafd8c620d00c17e8eb338e4701c6c4a3c3a
1 file changed, 1 insertion(+)
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 442a8a7cc571..09675dfbdafd 100644
index 650992404913..2d32ef9bd096 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -2084,6 +2084,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
@@ -2104,6 +2104,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
case KeyEvent.KEYCODE_CAMERA:
case KeyEvent.KEYCODE_FOCUS:
case KeyEvent.KEYCODE_MENU:

View File

@@ -1,19 +1,19 @@
From 99a33652a6b39bf603d2bb8aed674a61de8575f4 Mon Sep 17 00:00:00 2001
From 393fb490f58dbf7ef5a3efe3e9e163887b4e2c14 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 29 Sep 2020 22:39:47 +0200
Subject: [PATCH 12/50] Some devices have proximity sensor reporting NaN as max
Subject: [PATCH 12/51] Some devices have proximity sensor reporting NaN as max
range for some reason. Make them behave standard way by setting 5 cm
Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
---
.../com/android/server/display/DisplayPowerController.java | 3 +++
.../server/display/DisplayPowerProximityStateController.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 603c7a5d0086..deb5651791e3 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -2489,6 +2489,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
diff --git a/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java b/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
index c517aa794aa1..565cbcd6bb56 100644
--- a/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerProximityStateController.java
@@ -398,6 +398,9 @@ public final class DisplayPowerProximityStateController {
if (mProximitySensor != null) {
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
TYPICAL_PROXIMITY_THRESHOLD);

View File

@@ -1,7 +1,7 @@
From 36b81b62e53dcd1c2caa04e1e647c97c7ed783b4 Mon Sep 17 00:00:00 2001
From d441b5a5df04f49bae09cb9d43675da26bf722bb Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 29 Sep 2020 22:40:10 +0200
Subject: [PATCH 13/50] Fix brightness range not being complete on Samsung
Subject: [PATCH 13/51] Fix brightness range not being complete on Samsung
devices
On some devices, minimum brightness is 0, which totally messes with
@@ -15,10 +15,10 @@ Change-Id: I4d97cbc32490949e83272b81ec6320a5483310b1
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 422d38d3a2ca..475a09b0e910 100644
index 2f8d9b795630..d7a46c545c14 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -1243,9 +1243,11 @@ public final class PowerManagerService extends SystemService
@@ -1258,9 +1258,11 @@ public final class PowerManagerService extends SystemService
if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG
|| def == INVALID_BRIGHTNESS_IN_CONFIG) {

View File

@@ -1,7 +1,7 @@
From 69281cf6072b7290c232b1877460fcf2c2ba5e93 Mon Sep 17 00:00:00 2001
From 4765587bd7258f49fd56bd3c41c79bd402290ef5 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 14/50] Re-implement fnmatch-like behaviour for RRO java-side
Subject: [PATCH 14/51] Re-implement fnmatch-like behaviour for RRO java-side
T: Also apply to FrameworkParsingPackageUtils (@PeterCxy)

View File

@@ -1,7 +1,7 @@
From 197b3fc43e8728854b48218e7fe46ec960a05119 Mon Sep 17 00:00:00 2001
From 0ea1b1e75dbb31fa21beda1d7b2f52f71c8377d3 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 11 Dec 2020 14:41:09 +0100
Subject: [PATCH 15/50] Remove useless notification about "console" service
Subject: [PATCH 15/51] Remove useless notification about "console" service
being running
---
@@ -9,10 +9,10 @@ Subject: [PATCH 15/50] Remove useless notification about "console" service
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 89b53aab1539..90d0666189c8 100644
index 7f5a865935b4..48bf47a910ef 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5222,7 +5222,7 @@ public class ActivityManagerService extends IActivityManager.Stub
@@ -5247,7 +5247,7 @@ public class ActivityManagerService extends IActivityManager.Stub
}
private void showConsoleNotificationIfActive() {

View File

@@ -1,7 +1,7 @@
From 511b30e50770302215590d22dc7f02217bdbb653 Mon Sep 17 00:00:00 2001
From 8be4d9e18eb9dd627d77a3e80849b1c7f73c1cf9 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 21:24:12 +0800
Subject: [PATCH 16/50] Revert "Remove unused SystemProperties.set"
Subject: [PATCH 16/51] Revert "Remove unused SystemProperties.set"
This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f.
@@ -11,10 +11,10 @@ This reverts commit debb4616ef67f9ed5054eca51ec58592358ff55f.
1 file changed, 69 insertions(+)
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index f206987ddbf6..73c957c47892 100644
index 88acbabc0e0f..9d2ea48dce30 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -8152,6 +8152,75 @@ public class TelephonyManager {
@@ -8504,6 +8504,75 @@ public class TelephonyManager {
}
}

View File

@@ -1,7 +1,7 @@
From 35fdd748c2c978cecd68e8f6d147e24a4efef916 Mon Sep 17 00:00:00 2001
From 3ac937465aea31c403d6bc768f5bd2dd4011f2d2 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 13:46:15 +0800
Subject: [PATCH 17/50] TelephonyManager: bring back getNetworkClass()
Subject: [PATCH 17/51] TelephonyManager: bring back getNetworkClass()
This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf.
@@ -11,10 +11,10 @@ This partially reverts commit c058cac051ab083dc7fb7ea6aa85699110b2e9bf.
1 file changed, 58 insertions(+)
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 73c957c47892..0cd5ab7fad20 100644
index 9d2ea48dce30..0c1857754fd5 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -3256,6 +3256,64 @@ public class TelephonyManager {
@@ -3351,6 +3351,64 @@ public class TelephonyManager {
}
}

View File

@@ -1,7 +1,7 @@
From 4a5c645b6ad129a63f02be32da7d0e7fa9940968 Mon Sep 17 00:00:00 2001
From adc958b22938d1200a25c14ea8e963f716b35ad8 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Wed, 16 Dec 2020 21:26:45 +0800
Subject: [PATCH 18/50] TelephonyManager: add API annotations for
Subject: [PATCH 18/51] TelephonyManager: add API annotations for
setTelephonyProperty
* This method was added back by reverting commit
@@ -14,10 +14,10 @@ Subject: [PATCH 18/50] TelephonyManager: add API annotations for
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 0cd5ab7fad20..bd5255d4a21a 100644
index 0c1857754fd5..0c9601ad7b30 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -8216,7 +8216,7 @@ public class TelephonyManager {
@@ -8568,7 +8568,7 @@ public class TelephonyManager {
* @hide
*/
@UnsupportedAppUsage
@@ -26,7 +26,7 @@ index 0cd5ab7fad20..bd5255d4a21a 100644
String propVal = "";
String p[] = null;
String prop = SystemProperties.get(property);
@@ -8270,7 +8270,8 @@ public class TelephonyManager {
@@ -8622,7 +8622,8 @@ public class TelephonyManager {
*
* @hide
*/

View File

@@ -1,7 +1,7 @@
From c4c128d8577afa55ec70de0552cf428e7bb579c7 Mon Sep 17 00:00:00 2001
From 56f66013c55aec2a7825219daab763ca72665a62 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Tue, 2 Feb 2021 10:20:51 +0000
Subject: [PATCH 19/50] Fix Wakelock issue
Subject: [PATCH 19/51] Fix Wakelock issue
Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only releasing a wakelock that was not already released
---
@@ -9,10 +9,10 @@ Prevent SystemUI crash due to "WakeLock under-locked Doze" (issue #12) by only r
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
index 6128feee8116..b60905b39e32 100644
index 707751a58d84..72a522e22693 100644
--- a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
+++ b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java
@@ -143,7 +143,9 @@ public interface WakeLock {
@@ -150,7 +150,9 @@ public interface WakeLock {
if (logger != null) {
logger.logRelease(inner, why, count);
}

View File

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

View File

@@ -1,7 +1,7 @@
From 0e6f55f0b8ab83f74fb9b268630c2f411d2c7a28 Mon Sep 17 00:00:00 2001
From e05c0928aa368491144213c614d8fa758e9f466a Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 23 Mar 2021 19:43:26 +0100
Subject: [PATCH 21/50] Catch broken mainBuiltInDisplayCutoutRectApproximation
Subject: [PATCH 21/51] Catch broken mainBuiltInDisplayCutoutRectApproximation
Some devices (Redmi Note 9T) have:
mainBuiltInDisplayCutoutRectApproximation = @android:mainBuiltInDisplayCutout
@@ -14,14 +14,14 @@ Fix it by catching it, and parsing mainBuiltInDisplayCutout instead
Change-Id: I03b6e78bac2cc38f3a623c8add801405ad6ba7ba
---
core/java/android/view/DisplayCutout.java | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
core/java/android/view/DisplayCutout.java | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/core/java/android/view/DisplayCutout.java b/core/java/android/view/DisplayCutout.java
index 712d1d67c942..5d929873f18d 100644
index db665a92ec5c..fcf7152f503c 100644
--- a/core/java/android/view/DisplayCutout.java
+++ b/core/java/android/view/DisplayCutout.java
@@ -1056,11 +1056,19 @@ public final class DisplayCutout {
@@ -1188,12 +1188,21 @@ public final class DisplayCutout {
public static DisplayCutout fromResourcesRectApproximation(Resources res,
String displayUniqueId, int physicalDisplayWidth, int physicalDisplayHeight,
int displayWidth, int displayHeight) {
@@ -29,19 +29,22 @@ index 712d1d67c942..5d929873f18d 100644
- getDisplayCutoutApproximationRect(res, displayUniqueId), physicalDisplayWidth,
- physicalDisplayHeight, displayWidth, displayHeight,
- DENSITY_DEVICE_STABLE / (float) DENSITY_DEFAULT,
- getWaterfallInsets(res, displayUniqueId)).second;
- getWaterfallInsets(res, displayUniqueId),
- getDisplayCutoutSideOverrides(res, displayUniqueId)).second;
+ try {
+ return pathAndDisplayCutoutFromSpec(getDisplayCutoutPath(res, displayUniqueId),
+ getDisplayCutoutApproximationRect(res, displayUniqueId), physicalDisplayWidth,
+ physicalDisplayHeight, displayWidth, displayHeight,
+ DENSITY_DEVICE_STABLE / (float) DENSITY_DEFAULT,
+ getWaterfallInsets(res, displayUniqueId)).second;
+ getWaterfallInsets(res, displayUniqueId),
+ getDisplayCutoutSideOverrides(res, displayUniqueId)).second;
+ } catch(Throwable t) {
+ return pathAndDisplayCutoutFromSpec(getDisplayCutoutPath(res, displayUniqueId),
+ null, physicalDisplayWidth,
+ physicalDisplayHeight, displayWidth, displayHeight,
+ DENSITY_DEVICE_STABLE / (float) DENSITY_DEFAULT,
+ getWaterfallInsets(res, displayUniqueId)).second;
+ getWaterfallInsets(res, displayUniqueId),
+ getDisplayCutoutSideOverrides(res, displayUniqueId)).second;
+ }
}

View File

@@ -1,7 +1,7 @@
From 8716b7ebe29b4b66fc7a085f3244164140672ffa Mon Sep 17 00:00:00 2001
From 5c18d4ac27568eac3ca2564dc884ed388d764390 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 22/50] backlight: Fix backlight control on Galaxy S9(+)
Subject: [PATCH 22/51] backlight: Fix backlight control on Galaxy S9(+)
Change-Id: I1fbbb47939c377597ef8ad6b88b2acea5f4acaa6
@@ -53,7 +53,7 @@ Change-Id: I4e85178327d2bb63d5d0a37786058843662a89ba
1 file changed, 46 insertions(+)
diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
index 4d26f43307b2..c94d334b280b 100644
index 76cf1348d313..39c4e361e00d 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;

View File

@@ -1,7 +1,7 @@
From 51f840e3a7afd5cbab39b28a96a62b2f99ef6647 Mon Sep 17 00:00:00 2001
From cd01809407740ccbe45a1b97c4407d531c99a140 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 4 Sep 2021 08:26:30 +0000
Subject: [PATCH 23/50] Revert "Switch long-press power behavior in AOSP."
Subject: [PATCH 23/51] Revert "Switch long-press power behavior in AOSP."
This reverts commit 803c77a0a24624111944832098c6f65158051dc4.
---
@@ -9,10 +9,10 @@ This reverts commit 803c77a0a24624111944832098c6f65158051dc4.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 3bc33bac37bc..19a03cac127e 100644
index 0a4fc6515368..b8327ebba49f 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1131,7 +1131,7 @@
@@ -1147,7 +1147,7 @@
5 - Go to assistant (Settings.Secure.ASSISTANT)
6 - Toggle torch on / off (if screen is off)
-->
@@ -21,7 +21,7 @@ index 3bc33bac37bc..19a03cac127e 100644
<!-- The time in milliseconds after which a press on power button is considered "long". -->
<integer name="config_longPressOnPowerDurationMs">500</integer>
@@ -1163,7 +1163,7 @@
@@ -1179,7 +1179,7 @@
1 - Mute toggle
2 - Global actions menu
-->

View File

@@ -1,7 +1,7 @@
From ce76ec2757c8140fc8f594bbd545ecbcb54c3e09 Mon Sep 17 00:00:00 2001
From 44471da6ce761a2ff56142d8051bb701d5960d81 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 2 Apr 2022 18:04:01 -0400
Subject: [PATCH 24/50] Allow disabling of fingerprint cleanups, needed on some
Subject: [PATCH 24/51] Allow disabling of fingerprint cleanups, needed on some
Realme devices that cant enumerate
---
@@ -9,10 +9,10 @@ Subject: [PATCH 24/50] Allow disabling of fingerprint cleanups, needed on some
1 file changed, 2 insertions(+)
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java
index d3cecd0e34c7..91f515161146 100644
index 33e448bbe612..387693f2737d 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java
@@ -1004,6 +1004,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider
@@ -1007,6 +1007,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider
private void scheduleInternalCleanup(int userId,
@Nullable ClientMonitorCallback callback) {

View File

@@ -1,7 +1,7 @@
From 4897371a2b91eb8179cdc35abf12e380bb5675dc Mon Sep 17 00:00:00 2001
From 29254fbb9a0ad465268f85693c66891231dbffe4 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 25/50] Dynamically resize boot animation to match screen size
Subject: [PATCH 25/51] Dynamically resize boot animation to match screen size
Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205
---
@@ -9,7 +9,7 @@ Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205
1 file changed, 22 insertions(+)
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index f5271aca5c59..560f73bf7e35 100644
index 58d8ebf25e96..5329e6528b4c 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -635,6 +635,28 @@ status_t BootAnimation::readyToRun() {

View File

@@ -1,7 +1,7 @@
From 639de917a53c7313597f9491fe425058764d7590 Mon Sep 17 00:00:00 2001
From d5427d078f946fc8b98cf2b6cfc882b44fbd2b85 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 26/50] Revert "Remove more FDE methods from StorageManager"
Subject: [PATCH 26/51] 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;
}

View File

@@ -1,7 +1,7 @@
From 47b3844e2e84eddf67de5bbff2905dbec47c1a07 Mon Sep 17 00:00:00 2001
From d65196ba35c1b8a02944ae0479cf0569784e58b3 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 3 Dec 2022 17:13:24 -0500
Subject: [PATCH 27/50] Set old fingerprint sensors to security "strong"
Subject: [PATCH 27/51] Set old fingerprint sensors to security "strong"
This allows removing config_biometric_sensors from overlays, which led
to Pixels not booting, because they are using AIDL biometric sensor, and
@@ -11,10 +11,10 @@ despite its name, config_biometric_sensors is HIDL-specific
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
index 51b85f06ec46..5279073cd71a 100644
index 755b64e97a6d..eef5e79e4ed5 100644
--- a/services/core/java/com/android/server/biometrics/AuthService.java
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
@@ -704,7 +704,7 @@ public class AuthService extends SystemService {
@@ -765,7 +765,7 @@ public class AuthService extends SystemService {
final int firstApiLevel = SystemProperties.getInt(SYSPROP_FIRST_API_LEVEL, 0);
final int apiLevel = SystemProperties.getInt(SYSPROP_API_LEVEL, firstApiLevel);
String[] configStrings = mInjector.getConfiguration(getContext());
@@ -23,7 +23,7 @@ index 51b85f06ec46..5279073cd71a 100644
// For backwards compatibility with R where biometrics could work without being
// configured in config_biometric_sensors. In the absence of a vendor provided
// configuration, we assume the weakest biometric strength (i.e. convenience).
@@ -739,7 +739,7 @@ public class AuthService extends SystemService {
@@ -927,7 +927,7 @@ public class AuthService extends SystemService {
if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
modalities.add(String.valueOf(BiometricAuthenticator.TYPE_FACE));
}

View File

@@ -1,7 +1,7 @@
From 2df1f2c9fbb7ceee139431a88cc53871859cb4db Mon Sep 17 00:00:00 2001
From aadce93c923e2c8faa16e6d0e115b587c5b8c014 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 14 Dec 2022 17:21:00 -0500
Subject: [PATCH 28/50] Call Samsung's ISehSysInputDev to report screen state
Subject: [PATCH 28/51] Call Samsung's ISehSysInputDev to report screen state
to touchscreen driver
This fixes touchscreen not waking up on Galaxy F23
@@ -11,22 +11,22 @@ This fixes touchscreen not waking up on Galaxy F23
2 files changed, 32 insertions(+)
diff --git a/services/core/Android.bp b/services/core/Android.bp
index ffe5f3402037..a760814b8a40 100644
index 5106e7695401..e7ed90dffb9d 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -205,6 +205,7 @@ java_library_static {
"com_android_wm_shell_flags_lib",
"com.android.server.utils_aconfig-java",
"service-jobscheduler-deviceidle.flags-aconfig-java",
@@ -256,6 +256,7 @@ java_library_static {
"net_flags_lib",
"stats_flags_lib",
"core_os_flags_lib",
+ "vendor.samsung.hardware.sysinput-V1.2-java", // HIDL
],
javac_shard_size: 50,
javacflags: [
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index 22898a65c5de..f9dbd91e6b5a 100644
index 88c24e0a7eff..ac4a9c474c9e 100644
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -35,6 +35,7 @@ import android.os.Trace;
@@ -38,6 +38,7 @@ import android.os.Trace;
import android.util.DisplayUtils;
import android.util.LongSparseArray;
import android.util.Slog;
@@ -34,7 +34,7 @@ index 22898a65c5de..f9dbd91e6b5a 100644
import android.util.SparseArray;
import android.view.Display;
import android.view.DisplayAddress;
@@ -55,6 +56,8 @@ import com.android.server.display.notifications.DisplayNotificationManager;
@@ -58,6 +59,8 @@ import com.android.server.display.notifications.DisplayNotificationManager;
import com.android.server.lights.LightsManager;
import com.android.server.lights.LogicalLight;
@@ -43,8 +43,8 @@ index 22898a65c5de..f9dbd91e6b5a 100644
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
@@ -244,6 +247,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private float mActiveRenderFrameRate;
@@ -251,6 +254,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private DisplayEventReceiver.FrameRateOverride[] mFrameRateOverrides =
new DisplayEventReceiver.FrameRateOverride[0];
+ private boolean triedSamsungHal = false;
@@ -52,7 +52,7 @@ index 22898a65c5de..f9dbd91e6b5a 100644
LocalDisplayDevice(IBinder displayToken, long physicalDisplayId,
SurfaceControl.StaticDisplayInfo staticDisplayInfo,
@@ -850,16 +855,42 @@ final class LocalDisplayAdapter extends DisplayAdapter {
@@ -859,16 +864,42 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
}

View File

@@ -1,7 +1,7 @@
From b55da71220b0268eeb913f974dbf64dc9bff3e45 Mon Sep 17 00:00:00 2001
From d5421f90ac947e0f130c0f9f0541dc5a435bd8b0 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 2 Jun 2023 19:19:31 -0400
Subject: [PATCH 29/50] Try catch around constrainNitsAndBacklightArrays, and
Subject: [PATCH 29/51] Try catch around constrainNitsAndBacklightArrays, and
falls back to dumb curve. It crashes on Xperia 1 IV.
---
@@ -9,10 +9,10 @@ Subject: [PATCH 29/50] Try catch around constrainNitsAndBacklightArrays, and
1 file changed, 31 insertions(+), 25 deletions(-)
diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
index 3dcb84dad786..9585bdc712cd 100644
index 04e06b99d3ee..663f78f78e50 100644
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
@@ -2120,37 +2120,43 @@ public class DisplayDeviceConfig {
@@ -2145,37 +2145,43 @@ public class DisplayDeviceConfig {
return;
}

View File

@@ -1,7 +1,7 @@
From aafc127180d05be573855ff8a5022959b3c6f8ce Mon Sep 17 00:00:00 2001
From 7de442051c8745bf2dd55fdf24645c2eb42af403 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 17 Jun 2023 08:31:55 -0400
Subject: [PATCH 30/50] Add Mediatek power hints on touch
Subject: [PATCH 30/51] Add Mediatek power hints on touch
Mediatek has multiple HALs (which existed concurrently), so it is a bit
of a mess.
@@ -27,13 +27,13 @@ Change-Id: I9f1eac5a20b98920a5d0c8204fe4d165ba069f5a
2 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/services/core/Android.bp b/services/core/Android.bp
index a760814b8a40..fc9600992dbb 100644
index e7ed90dffb9d..7638a7e36a64 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -205,7 +205,9 @@ java_library_static {
"com_android_wm_shell_flags_lib",
"com.android.server.utils_aconfig-java",
"service-jobscheduler-deviceidle.flags-aconfig-java",
@@ -256,7 +256,9 @@ java_library_static {
"net_flags_lib",
"stats_flags_lib",
"core_os_flags_lib",
- "vendor.samsung.hardware.sysinput-V1.2-java", // HIDL
+ // HIDL
+ "vendor.mediatek.hardware.mtkpower-V1.1-java",
@@ -42,10 +42,10 @@ index a760814b8a40..fc9600992dbb 100644
javac_shard_size: 50,
javacflags: [
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index a85038f5d656..7becec71be48 100644
index b6e614b55041..68013dd54778 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -219,6 +219,9 @@ public class DisplayPolicy {
@@ -220,6 +220,9 @@ public class DisplayPolicy {
*/
private boolean mRemoteInsetsControllerControlsSystemBars;
@@ -55,7 +55,7 @@ index a85038f5d656..7becec71be48 100644
StatusBarManagerInternal getStatusBarManagerInternal() {
synchronized (mServiceAcquireLock) {
if (mStatusBarManagerInternal == null) {
@@ -449,6 +452,19 @@ public class DisplayPolicy {
@@ -450,6 +453,19 @@ public class DisplayPolicy {
mScreenOnEarly = true;
mScreenOnFully = true;
}
@@ -75,7 +75,7 @@ index a85038f5d656..7becec71be48 100644
final Looper looper = UiThread.getHandler().getLooper();
mHandler = new PolicyHandler(looper);
@@ -533,6 +549,17 @@ public class DisplayPolicy {
@@ -534,6 +550,17 @@ public class DisplayPolicy {
mService.mPowerManagerInternal.setPowerBoost(
Boost.INTERACTION, duration);
}
@@ -93,7 +93,7 @@ index a85038f5d656..7becec71be48 100644
}
@Override
@@ -551,6 +578,28 @@ public class DisplayPolicy {
@@ -552,6 +579,28 @@ public class DisplayPolicy {
if (listener != null) {
listener.onTouchStart();
}

View File

@@ -1,7 +1,7 @@
From 9b75172e57381886f96fa52bdbd7441622bc9f91 Mon Sep 17 00:00:00 2001
From 456d4ad497ad7cbe4edcd4bcb2e4c3757a169095 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 5 Jul 2023 10:50:36 -0400
Subject: [PATCH 31/50] Detect Moto dynamic hardware feature
Subject: [PATCH 31/51] Detect Moto dynamic hardware feature
Moto added a custom node in sysconfig XMLs:
<unavailable-feature-conditional />
@@ -14,10 +14,10 @@ NFC-less variants
1 file changed, 19 insertions(+)
diff --git a/services/core/java/com/android/server/SystemConfig.java b/services/core/java/com/android/server/SystemConfig.java
index 40b29d7b09d5..38e82d8cac36 100644
index e1d7be121865..c8dafc5024d7 100644
--- a/services/core/java/com/android/server/SystemConfig.java
+++ b/services/core/java/com/android/server/SystemConfig.java
@@ -946,6 +946,25 @@ public class SystemConfig {
@@ -989,6 +989,25 @@ public class SystemConfig {
}
XmlUtils.skipCurrentTag(parser);
} break;

View File

@@ -1,7 +1,7 @@
From 6bec6832764642598ec0bcd5c83721b47eb8ba93 Mon Sep 17 00:00:00 2001
From 307ac5b06deb7a70f05c8a2bd738ef11876f221a 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 32/50] Restore getSimStateForSlotIndex in SubscriptionManager
Subject: [PATCH 32/51] 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);
}

View File

@@ -1,7 +1,7 @@
From 03de5a219b4353b4f7e362b1721632c98bd7fcf2 Mon Sep 17 00:00:00 2001
From c9a1412315773301a7240ede72e49d136b142935 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 33/50] Add runWithCleanCallingIdentity variant with both
Subject: [PATCH 33/51] Add runWithCleanCallingIdentity variant with both
executor and return value
This complements the fixup to ImsPhoneCallTracker (in fw/o/t) for U
@@ -12,10 +12,10 @@ 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 aed8fb8c4503..1467e7f2fc29 100644
index a63db88cb614..1d5a36885307 100644
--- a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
+++ b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
@@ -42,7 +42,9 @@ import com.android.internal.telephony.ITelephony;
@@ -44,7 +44,9 @@ import com.android.internal.telephony.ITelephony;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;
@@ -25,7 +25,7 @@ index aed8fb8c4503..1467e7f2fc29 100644
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
@@ -151,6 +153,34 @@ public final class TelephonyUtils {
@@ -153,6 +155,34 @@ public final class TelephonyUtils {
}
}

View File

@@ -1,7 +1,7 @@
From ae422fc5fe1f076d9387bd99668cdc026a6eb70d Mon Sep 17 00:00:00 2001
From ef11482e4f6d1d9d985f556dc4cf3f88cd8cfe8d Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Fri, 6 Oct 2023 10:57:13 -0400
Subject: [PATCH 34/50] Catch NPE in SystemUI
Subject: [PATCH 34/51] Catch NPE in SystemUI
No idea why it triggers, but it crashes SystemUI on boot for my TV
device
@@ -10,10 +10,10 @@ device
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 81856ac16575..65b4834fb3c7 100644
index 6034e92be873..627e6acf6955 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -3450,7 +3450,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
@@ -3486,7 +3486,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
Trace.beginSection("KeyguardViewMediator#handleMotifyStartedWakingUp");
synchronized (KeyguardViewMediator.this) {
if (DEBUG) Log.d(TAG, "handleNotifyWakingUp");

View File

@@ -1,7 +1,7 @@
From 2cef379821b7666bce2127f7dd24b69bbfabebae Mon Sep 17 00:00:00 2001
From aee1f3126d76337515a39d5f311993aa621b0bfe Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 27 Dec 2021 17:57:11 -0500
Subject: [PATCH 35/50] Once we integrate Samsung Power hal in libpowermanager,
Subject: [PATCH 35/51] Once we integrate Samsung Power hal in libpowermanager,
libpowermanager and its deps require linking against
vendor.samsung.hardware.miscpower@2.0
@@ -11,10 +11,10 @@ Change-Id: I9084f64e505009abe9420d28b44199605cee52d8
1 file changed, 1 insertion(+)
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index f4a22ef80c61..41d63267eccb 100644
index 3fa42184d653..476a1f50530a 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -216,6 +216,7 @@ cc_defaults {
@@ -218,6 +218,7 @@ cc_defaults {
"service.incremental",
"vendor.samsung.hardware.light@2.0",
"vendor.samsung.hardware.light@3.0",

View File

@@ -1,7 +1,7 @@
From 638ac773a3011d91734fbb7905652aced8e31812 Mon Sep 17 00:00:00 2001
From 3dbb0649398207ef6fc9581f036fc766eadb3133 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 18 Dec 2022 18:20:40 -0500
Subject: [PATCH 36/50] FOD support for Asus, Samsung recent Xiaomi and
Subject: [PATCH 36/51] FOD support for Asus, Samsung recent Xiaomi and
RedMagic 8 devices
Thanks Asus for providing a free device to make this support
@@ -23,7 +23,7 @@ Also override UDFPS infos on AIDL fingerprints -- needed for FP on S24
Try catch the Xiaomi calls
Typo in observing Samsung brightness
Change-Id: I091e0dac57d6d14f0a8805f8c9c332bfd9d8048b
Change-Id: I58008d312f0e9fd28b3cec989298d5b32c135320
---
packages/SystemUI/Android.bp | 4 +
.../systemui/biometrics/UdfpsController.java | 76 ++++-
@@ -37,12 +37,12 @@ Change-Id: I091e0dac57d6d14f0a8805f8c9c332bfd9d8048b
9 files changed, 640 insertions(+), 10 deletions(-)
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index d099dd511a01..40eefa935471 100644
index 2fff124c6cb1..5ff640ee9b5f 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -206,6 +206,10 @@ android_library {
"motion_tool_lib",
"notification_flags_lib",
@@ -165,6 +165,10 @@ android_library {
"androidx.activity_activity-compose",
"androidx.compose.animation_animation-graphics",
"vendor.lineage.powershare-V1.0-java",
+ "vendor.goodix.hardware.biometrics.fingerprint-V2.1-java",
+ "vendor.xiaomi.hw.touchfeature-V1.0-java",
@@ -52,7 +52,7 @@ index d099dd511a01..40eefa935471 100644
libs: [
"keepanno-annotations",
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
index 65668b56a9f3..0f95ad8a8f45 100644
index 2c3ebe901850..c17e6eed6098 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
@@ -41,11 +41,13 @@ import android.hardware.fingerprint.FingerprintSensorProperties;
@@ -69,7 +69,7 @@ index 65668b56a9f3..0f95ad8a8f45 100644
import android.os.VibrationAttributes;
import android.os.VibrationEffect;
import android.util.Log;
@@ -113,9 +115,13 @@ import java.util.ArrayList;
@@ -115,8 +117,12 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.Executor;
@@ -78,12 +78,11 @@ index 65668b56a9f3..0f95ad8a8f45 100644
+import java.io.IOException;
import javax.inject.Inject;
import javax.inject.Provider;
+import vendor.nubia.ifaa.V1_0.IIfaa;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.ExperimentalCoroutinesApi;
@@ -177,6 +183,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -182,6 +188,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@NonNull private final UdfpsKeyguardAccessibilityDelegate mUdfpsKeyguardAccessibilityDelegate;
@NonNull private final SelectedUserInteractor mSelectedUserInteractor;
@NonNull private final FpsUnlockTracker mFpsUnlockTracker;
@@ -92,7 +91,7 @@ index 65668b56a9f3..0f95ad8a8f45 100644
private final boolean mIgnoreRefreshRate;
private final KeyguardTransitionInteractor mKeyguardTransitionInteractor;
@@ -249,6 +257,46 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -254,6 +262,46 @@ public class UdfpsController implements DozeReceiver, Dumpable {
mScreenOn = false;
}
};
@@ -139,17 +138,17 @@ index 65668b56a9f3..0f95ad8a8f45 100644
@Override
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
@@ -671,7 +719,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@NonNull FpsUnlockTracker fpsUnlockTracker,
@NonNull KeyguardTransitionInteractor keyguardTransitionInteractor,
Lazy<DeviceEntryUdfpsTouchOverlayViewModel> deviceEntryUdfpsTouchOverlayViewModel,
- Lazy<DefaultUdfpsTouchOverlayViewModel> defaultUdfpsTouchOverlayViewModel) {
+ Lazy<DefaultUdfpsTouchOverlayViewModel> defaultUdfpsTouchOverlayViewModel,
@@ -687,7 +735,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
Lazy<DefaultUdfpsTouchOverlayViewModel> defaultUdfpsTouchOverlayViewModel,
@NonNull UdfpsOverlayInteractor udfpsOverlayInteractor,
@NonNull PowerInteractor powerInteractor,
- @Application CoroutineScope scope) {
+ @Application CoroutineScope scope,
+ @NonNull ColorDisplayManager colorDisplayManager) {
mContext = context;
mExecution = execution;
mVibrator = vibrator;
@@ -717,6 +766,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -737,6 +786,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
mFpsUnlockTracker = fpsUnlockTracker;
mFpsUnlockTracker.startTracking();
mKeyguardTransitionInteractor = keyguardTransitionInteractor;
@@ -157,7 +156,7 @@ index 65668b56a9f3..0f95ad8a8f45 100644
mTouchProcessor = singlePointerTouchProcessor;
mSessionTracker = sessionTracker;
@@ -790,7 +840,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -809,7 +859,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) {
mExecution.assertIsMainThread();
@@ -169,7 +168,7 @@ index 65668b56a9f3..0f95ad8a8f45 100644
mOverlay = overlay;
final int requestReason = overlay.getRequestReason();
if (requestReason == REASON_AUTH_KEYGUARD
@@ -1016,6 +1069,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -1035,6 +1088,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
return;
}
if (isOptical()) {
@@ -180,7 +179,7 @@ index 65668b56a9f3..0f95ad8a8f45 100644
mLatencyTracker.onActionStart(ACTION_UDFPS_ILLUMINATE);
}
if (getBiometricSessionType() == SESSION_KEYGUARD) {
@@ -1047,10 +1104,17 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@@ -1066,10 +1123,17 @@ public class UdfpsController implements DozeReceiver, Dumpable {
}
}
}
@@ -198,8 +197,8 @@ index 65668b56a9f3..0f95ad8a8f45 100644
}
private void onFingerUp(long requestId, @NonNull View view) {
@@ -1084,8 +1148,16 @@ public class UdfpsController implements DozeReceiver, Dumpable {
mActivePointerId = -1;
@@ -1103,8 +1167,16 @@ public class UdfpsController implements DozeReceiver, Dumpable {
mActivePointerId = MotionEvent.INVALID_POINTER_ID;
mAcquiredReceived = false;
if (mOnFingerDown) {
+ if (mIgnoreExtraDim && isOptical()) {
@@ -216,10 +215,10 @@ index 65668b56a9f3..0f95ad8a8f45 100644
cb.onFingerUp();
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
index dae6d08f7331..7761251f2378 100644
index 16865ca809d9..6619be426ca9 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
@@ -141,7 +141,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
@@ -168,7 +168,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
gravity = android.view.Gravity.TOP or android.view.Gravity.LEFT
layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
flags = (Utils.FINGERPRINT_OVERLAY_LAYOUT_PARAM_FLAGS or
@@ -230,9 +229,9 @@ index dae6d08f7331..7761251f2378 100644
privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY
// Avoid announcing window title.
accessibilityTitle = " "
@@ -222,6 +224,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
@@ -252,6 +254,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
windowManager.addView(this, coreLayoutParams.updateDimensions(animation))
addViewNowOrLater(this, animation)
sensorRect = sensorBounds
+ dimUpdate = {
+ windowManager.updateViewLayout(this, coreLayoutParams.updateDimensions(animation).apply { dimAmount = it })
@@ -534,10 +533,10 @@ index b5d5803ca6fb..68f74f3ed6f3 100644
/**
* Called to ensure code is only run when the flag is enabled. This protects users from the
diff --git a/services/core/Android.bp b/services/core/Android.bp
index fc9600992dbb..bf0b5d92db7f 100644
index 7638a7e36a64..ef02e6eeec79 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -208,6 +208,11 @@ java_library_static {
@@ -259,6 +259,11 @@ java_library_static {
// HIDL
"vendor.mediatek.hardware.mtkpower-V1.1-java",
"vendor.samsung.hardware.sysinput-V1.2-java",
@@ -550,10 +549,10 @@ index fc9600992dbb..bf0b5d92db7f 100644
javac_shard_size: 50,
javacflags: [
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
index 5279073cd71a..f6f0fea8e3e7 100644
index eef5e79e4ed5..b1f06482dc19 100644
--- a/services/core/java/com/android/server/biometrics/AuthService.java
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
@@ -80,6 +80,25 @@ import java.util.ArrayList;
@@ -85,6 +85,25 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -579,7 +578,7 @@ index 5279073cd71a..f6f0fea8e3e7 100644
/**
* System service that provides an interface for authenticating with biometrics and
* PIN/pattern/password to BiometricPrompt and lock screen.
@@ -98,6 +117,11 @@ public class AuthService extends SystemService {
@@ -103,6 +122,11 @@ public class AuthService extends SystemService {
@VisibleForTesting
final IAuthService.Stub mImpl;
@@ -591,7 +590,7 @@ index 5279073cd71a..f6f0fea8e3e7 100644
/**
* Class for injecting dependencies into AuthService.
* TODO(b/141025588): Replace with a dependency injection framework (e.g. Guice, Dagger).
@@ -704,11 +728,11 @@ public class AuthService extends SystemService {
@@ -765,11 +789,11 @@ public class AuthService extends SystemService {
final int firstApiLevel = SystemProperties.getInt(SYSPROP_FIRST_API_LEVEL, 0);
final int apiLevel = SystemProperties.getInt(SYSPROP_API_LEVEL, firstApiLevel);
String[] configStrings = mInjector.getConfiguration(getContext());
@@ -605,8 +604,8 @@ index 5279073cd71a..f6f0fea8e3e7 100644
configStrings = generateRSdkCompatibleConfiguration();
}
hidlConfigs = new SensorConfig[configStrings.length];
@@ -723,6 +747,102 @@ public class AuthService extends SystemService {
registerAuthenticators(hidlConfigs);
@@ -788,6 +812,102 @@ public class AuthService extends SystemService {
}
mInjector.publishBinderService(this, mImpl);
+ try {
@@ -707,8 +706,8 @@ index 5279073cd71a..f6f0fea8e3e7 100644
+ }
}
/**
@@ -846,18 +966,123 @@ public class AuthService extends SystemService {
private void registerAuthenticators() {
@@ -1039,18 +1159,123 @@ public class AuthService extends SystemService {
? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL);
}
@@ -834,7 +833,7 @@ index 5279073cd71a..f6f0fea8e3e7 100644
// config_is_powerbutton_fps indicates whether device has a power button fingerprint sensor.
final boolean isPowerbuttonFps = getContext().getResources().getBoolean(
@@ -925,4 +1150,67 @@ public class AuthService extends SystemService {
@@ -1118,4 +1343,67 @@ public class AuthService extends SystemService {
componentInfo, resetLockoutRequiresHardwareAuthToken,
resetLockoutRequiresChallenge);
}
@@ -903,10 +902,10 @@ index 5279073cd71a..f6f0fea8e3e7 100644
+ }
}
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
index 83b306b07c27..28b45a59ee62 100644
index 1ba12134ab29..41a7eb0acffa 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
@@ -889,8 +889,9 @@ public class FingerprintService extends SystemService {
@@ -913,8 +913,9 @@ public class FingerprintService extends SystemService {
filteredInstances = filterAvailableHalInstances(hidlSensors, aidlSensors);
final List<ServiceProvider> providers = new ArrayList<>();
@@ -918,59 +917,59 @@ index 83b306b07c27..28b45a59ee62 100644
return providers;
});
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
index 07a69d9ebd00..2bb568bedabc 100644
index 158179dca499..2f113a08eae2 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
@@ -37,6 +37,7 @@ import android.hardware.biometrics.common.ComponentInfo;
@@ -38,6 +38,7 @@ import android.hardware.biometrics.common.ComponentInfo;
import android.hardware.biometrics.fingerprint.IFingerprint;
import android.hardware.biometrics.fingerprint.PointerContext;
import android.hardware.biometrics.fingerprint.SensorProps;
+import android.hardware.biometrics.fingerprint.SensorLocation;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintAuthenticateOptions;
import android.hardware.fingerprint.FingerprintManager;
@@ -204,9 +205,32 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
});
import android.hardware.fingerprint.FingerprintEnrollOptions;
@@ -249,9 +250,32 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
} else {
final List<SensorLocationInternal> workaroundLocations =
getWorkaroundSensorProps(mContext);
+ android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider");
final List<SensorLocationInternal> workaroundLocations = getWorkaroundSensorProps(context);
+android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider");
for (SensorProps prop : props) {
final int sensorId = prop.commonProps.sensorId;
+ SensorLocation[] locations = prop.sensorLocations;
for (SensorProps prop : props) {
final int sensorId = prop.commonProps.sensorId;
+ SensorLocation[] locations = prop.sensorLocations;
+
+ android.util.Log.e("PHH-Enroll", "Got fp props -- pre");
+ for(SensorLocation loc: locations) {
+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
+ }
+ if (locations.length == 1 && locations[0].sensorLocationX == 0) {
+ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context);
+ if (otherValues.length > 0) {
+ SensorLocation loc = new SensorLocation();
+ loc.sensorLocationX = otherValues[0];
+ loc.sensorLocationY = otherValues[1];
+ loc.sensorRadius = otherValues[2];
+ locations[0] = loc;
+ android.util.Log.e("PHH-Enroll", "Got fp props -- pre");
+ for(SensorLocation loc: locations) {
+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
+ }
+ if (locations.length == 1 && locations[0].sensorLocationX == 0) {
+ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context);
+ if (otherValues.length > 0) {
+ SensorLocation loc = new SensorLocation();
+ loc.sensorLocationX = otherValues[0];
+ loc.sensorLocationY = otherValues[1];
+ loc.sensorRadius = otherValues[2];
+ locations[0] = loc;
+ }
+ }
+ }
+
+ android.util.Log.e("PHH-Enroll", "Got fp props -- post");
+ for(SensorLocation loc: locations) {
+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
+ }
+ android.util.Log.e("PHH-Enroll", "Got fp props -- post");
+ for(SensorLocation loc: locations) {
+ android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
+ }
+
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
if (prop.commonProps.componentInfo != null) {
@@ -226,7 +250,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
prop.halControlsIllumination,
true /* resetLockoutRequiresHardwareAuthToken */,
!workaroundLocations.isEmpty() ? workaroundLocations :
- Arrays.stream(prop.sensorLocations).map(location ->
+ Arrays.stream(locations).map(location ->
new SensorLocationInternal(
location.display,
location.sensorLocationX,
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
if (prop.commonProps.componentInfo != null) {
for (ComponentInfo info : prop.commonProps.componentInfo) {
@@ -269,7 +293,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
prop.halControlsIllumination,
true /* resetLockoutRequiresHardwareAuthToken */,
!workaroundLocations.isEmpty() ? workaroundLocations :
- Arrays.stream(prop.sensorLocations).map(
+ Arrays.stream(locations).map(
location -> new SensorLocationInternal(
location.display,
location.sensorLocationX,
--
2.34.1

View File

@@ -1,7 +1,7 @@
From 2caf7271a3841feb8a90d18f7d69866c9afe3dab Mon Sep 17 00:00:00 2001
From 9186c997014accd6cd08ec2e61477cf0280da31e Mon Sep 17 00:00:00 2001
From: ChonDoit <thphantomblog@gmail.com>
Date: Thu, 24 Aug 2023 15:58:15 -0300
Subject: [PATCH 37/50] Fix brightness slider curve for some devices
Subject: [PATCH 37/51] Fix brightness slider curve for some devices
Some devices report max brightness as 2047 or 4095
---

View File

@@ -1,7 +1,7 @@
From 541e55d24e8ab0e01d7dd9e117ecc43a79bc0b16 Mon Sep 17 00:00:00 2001
From 83fc09d801e31646f3c1ad2be40ca08286d6ff78 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 18 Oct 2023 16:53:40 -0400
Subject: [PATCH 38/50] Ignore cgroup creation errors
Subject: [PATCH 38/51] Ignore cgroup creation errors
For old kernels who don't have those modern cgroups
---
@@ -10,11 +10,11 @@ For old kernels who don't have those modern cgroups
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 7c5885adb220..c2f45e3727bb 100644
index 3ed9f49ede26..90c6e6d145c0 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -1943,10 +1943,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
if (!is_system_server && getuid() == 0) {
@@ -1968,10 +1968,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
if (getuid() == 0) {
const int rc = createProcessGroup(uid, getpid());
if (rc != 0) {
+#if 0
@@ -27,10 +27,10 @@ index 7c5885adb220..c2f45e3727bb 100644
}
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 3156e9da0ae9..e5949f95b6d1 100644
index 89c89944e92e..641b2cc824e0 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -2516,14 +2516,9 @@ public final class ProcessList {
@@ -2513,14 +2513,9 @@ public final class ProcessList {
// If we're not told to skip the process group creation, go create it.
final int res = Process.createProcessGroup(uid, startResult.pid);
if (res < 0) {

View File

@@ -1,7 +1,7 @@
From 0ec9abbe99e9836d694eed10559c7776531d1378 Mon Sep 17 00:00:00 2001
From 0faff8144a45bfd70395614b4cd0d611d0b3cc2a Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 18 Oct 2023 16:57:34 -0400
Subject: [PATCH 39/50] Samsung tablets use SW_MACHINE_COVER rather than SW_LID
Subject: [PATCH 39/51] Samsung tablets use SW_MACHINE_COVER rather than SW_LID
So check whether SW_MACHINE_COVER is declared, then use it
Otherwise stick to SW_LID
@@ -12,10 +12,10 @@ Should fix https://github.com/phhusson/treble_experimentations/issues/2572
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index 972f85793556..2f813324b75f 100644
index 05b1cb69235b..0f44f37e2262 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -373,6 +373,9 @@ public class InputManagerService extends IInputManager.Stub
@@ -376,6 +376,9 @@ public class InputManagerService extends IInputManager.Stub
/** Switch code: Microphone. When set, the mic is muted. */
public static final int SW_MUTE_DEVICE = 0x0e;
@@ -25,7 +25,7 @@ index 972f85793556..2f813324b75f 100644
public static final int SW_LID_BIT = 1 << SW_LID;
public static final int SW_TABLET_MODE_BIT = 1 << SW_TABLET_MODE;
public static final int SW_KEYPAD_SLIDE_BIT = 1 << SW_KEYPAD_SLIDE;
@@ -384,6 +387,8 @@ public class InputManagerService extends IInputManager.Stub
@@ -387,6 +390,8 @@ public class InputManagerService extends IInputManager.Stub
SW_HEADPHONE_INSERT_BIT | SW_MICROPHONE_INSERT_BIT | SW_JACK_PHYSICAL_INSERT_BIT | SW_LINEOUT_INSERT_BIT;
public static final int SW_CAMERA_LENS_COVER_BIT = 1 << SW_CAMERA_LENS_COVER;
public static final int SW_MUTE_DEVICE_BIT = 1 << SW_MUTE_DEVICE;
@@ -34,7 +34,7 @@ index 972f85793556..2f813324b75f 100644
// The following are layer numbers used for z-ordering the input overlay layers on the display.
// This is used for ordering layers inside {@code DisplayContent#getInputOverlayLayer()}.
@@ -494,6 +499,16 @@ public class InputManagerService extends IInputManager.Stub
@@ -499,6 +504,16 @@ public class InputManagerService extends IInputManager.Stub
mWiredAccessoryCallbacks = callbacks;
}
@@ -51,7 +51,7 @@ index 972f85793556..2f813324b75f 100644
void registerLidSwitchCallbackInternal(@NonNull LidSwitchCallback callback) {
synchronized (mLidSwitchLock) {
mLidSwitchCallbacks.add(callback);
@@ -502,7 +517,8 @@ public class InputManagerService extends IInputManager.Stub
@@ -507,7 +522,8 @@ public class InputManagerService extends IInputManager.Stub
// state will be reported as KEY_STATE_UNKNOWN. The callback will be triggered in
// systemRunning().
if (mSystemReady) {
@@ -61,7 +61,7 @@ index 972f85793556..2f813324b75f 100644
== KEY_STATE_UP;
callback.notifyLidSwitchChanged(0 /* whenNanos */, lidOpen);
}
@@ -540,7 +556,8 @@ public class InputManagerService extends IInputManager.Stub
@@ -545,7 +561,8 @@ public class InputManagerService extends IInputManager.Stub
// Send the initial lid switch state to any callback registered before the system was
// ready.
@@ -71,7 +71,7 @@ index 972f85793556..2f813324b75f 100644
for (int i = 0; i < mLidSwitchCallbacks.size(); i++) {
LidSwitchCallback callback = mLidSwitchCallbacks.get(i);
callback.notifyLidSwitchChanged(0 /* whenNanos */, switchState == KEY_STATE_UP);
@@ -2355,8 +2372,8 @@ public class InputManagerService extends IInputManager.Stub
@@ -2370,8 +2387,8 @@ public class InputManagerService extends IInputManager.Stub
+ ", mask=" + Integer.toHexString(switchMask));
}

View File

@@ -1,7 +1,7 @@
From 59a5f752cd9c87b48dedbca083e95bf7045c84d5 Mon Sep 17 00:00:00 2001
From 89d3e2c4a761ed2e7b8cc9d12de529746130e668 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Fri, 20 Oct 2023 09:26:19 +0000
Subject: [PATCH 40/50] Revert "Removed IWLAN legacy mode support"
Subject: [PATCH 40/51] Revert "Removed IWLAN legacy mode support"
This reverts commit 2832dee607ab33eee688abea206f4adfcfc896f1.
---
@@ -9,10 +9,10 @@ This reverts commit 2832dee607ab33eee688abea206f4adfcfc896f1.
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 85a85c6dfadb..6c96ac4bc712 100644
index db167c0592df..ef64fc9fcc65 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -1215,8 +1215,13 @@ public class ServiceState implements Parcelable {
@@ -1217,8 +1217,13 @@ public class ServiceState implements Parcelable {
/**
* Initialize the service state. Set everything to the default value.
@@ -27,7 +27,7 @@ index 85a85c6dfadb..6c96ac4bc712 100644
if (DBG) Rlog.d(LOG_TAG, "init");
mVoiceRegState = STATE_OUT_OF_SERVICE;
mDataRegState = STATE_OUT_OF_SERVICE;
@@ -1248,11 +1253,13 @@ public class ServiceState implements Parcelable {
@@ -1250,11 +1255,13 @@ public class ServiceState implements Parcelable {
.setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
.setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
.build());
@@ -46,7 +46,7 @@ index 85a85c6dfadb..6c96ac4bc712 100644
}
mOperatorAlphaLongRaw = null;
mOperatorAlphaShortRaw = null;
@@ -1261,11 +1268,11 @@ public class ServiceState implements Parcelable {
@@ -1263,11 +1270,11 @@ public class ServiceState implements Parcelable {
}
public void setStateOutOfService() {
@@ -60,7 +60,7 @@ index 85a85c6dfadb..6c96ac4bc712 100644
mVoiceRegState = STATE_POWER_OFF;
mDataRegState = STATE_POWER_OFF;
}
@@ -1273,11 +1280,14 @@ public class ServiceState implements Parcelable {
@@ -1275,11 +1282,14 @@ public class ServiceState implements Parcelable {
/**
* Set the service state to out-of-service
*

View File

@@ -1,14 +1,14 @@
From d2957b70a3c2b5d4e524d61dee5208148273c480 Mon Sep 17 00:00:00 2001
From 63259a8182cc222a25f0c22bd7b5eb16382baa9d Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 30 Oct 2023 19:25:27 -0400
Subject: [PATCH 41/50] Add a prop to use linear backlight control
Subject: [PATCH 41/51] Add a prop to use linear backlight control
---
.../settings/brightness/BrightnessController.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
index 520f841cb736..a7ed04dad7c4 100644
index a48da045360c..d327870ed754 100644
--- a/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
+++ b/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
@@ -362,9 +362,15 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig

View File

@@ -1,7 +1,7 @@
From c5f9230959c480e46c95dd5a7dbdd6e236d80801 Mon Sep 17 00:00:00 2001
From f010b259dfdcb010248580dd9ec6fcd1f309e91b Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 10 Dec 2023 18:04:49 -0500
Subject: [PATCH 42/50] Add support for Samsung full brightness on their AIDL
Subject: [PATCH 42/51] Add support for Samsung full brightness on their AIDL
HAL
---
@@ -10,10 +10,10 @@ Subject: [PATCH 42/50] Add support for Samsung full brightness on their AIDL
2 files changed, 44 insertions(+)
diff --git a/services/core/Android.bp b/services/core/Android.bp
index bf0b5d92db7f..848512dc7835 100644
index ef02e6eeec79..5e8a5bc0916c 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -213,6 +213,10 @@ java_library_static {
@@ -264,6 +264,10 @@ java_library_static {
"vendor.oplus.hardware.biometrics.fingerprint-V2.1-java",
"vendor.oppo.hardware.biometrics.fingerprint-V2.1-java",
"vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
@@ -25,7 +25,7 @@ index bf0b5d92db7f..848512dc7835 100644
javac_shard_size: 50,
javacflags: [
diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
index c94d334b280b..9d9e905fdf48 100644
index 39c4e361e00d..57d824d5720c 100644
--- a/services/core/java/com/android/server/lights/LightsService.java
+++ b/services/core/java/com/android/server/lights/LightsService.java
@@ -45,8 +45,10 @@ import com.android.internal.util.DumpUtils;
@@ -77,7 +77,7 @@ index c94d334b280b..9d9e905fdf48 100644
String fp = SystemProperties.get("ro.vendor.build.fingerprint", "hello");
if(fp.matches(".*astarqlte.*")) {
int newBrightness = brightnessInt;
@@ -516,6 +535,27 @@ public class LightsService extends SystemService {
@@ -525,6 +544,27 @@ public class LightsService extends SystemService {
mH = new Handler(looper);
mVintfLights = service.get() != null ? service : null;

View File

@@ -1,17 +1,17 @@
From 58d8f2d374863b2e3d8ad7964718ca34f3e61f99 Mon Sep 17 00:00:00 2001
From 8d090a934b549dc7619d83a8f8a395dd3847c0e9 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 29 Jan 2024 17:07:07 -0500
Subject: [PATCH 43/50] Add Samsung sysinput
Subject: [PATCH 43/51] Add Samsung sysinput
---
services/core/Android.bp | 1 +
1 file changed, 1 insertion(+)
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 848512dc7835..52f8c57dcdc1 100644
index 5e8a5bc0916c..8f547e246298 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -215,6 +215,7 @@ java_library_static {
@@ -266,6 +266,7 @@ java_library_static {
"vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
//AIDL

View File

@@ -1,7 +1,7 @@
From a3ae2f7a7aa63c58a0b43fb39a056e0a24d131de Mon Sep 17 00:00:00 2001
From 2c6fee0675db102440d32b4e55f38faf672f24ac Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 29 Jan 2024 17:15:38 -0500
Subject: [PATCH 44/50] Bunch of FOD stuff -- commonize refreshing the
Subject: [PATCH 44/51] Bunch of FOD stuff -- commonize refreshing the
services, start supporting AIDL Samsung
---
@@ -9,10 +9,10 @@ Subject: [PATCH 44/50] Bunch of FOD stuff -- commonize refreshing the
1 file changed, 138 insertions(+), 19 deletions(-)
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
index f6f0fea8e3e7..62c8bcf37960 100644
index b1f06482dc19..62f6a7125b6a 100644
--- a/services/core/java/com/android/server/biometrics/AuthService.java
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
@@ -47,6 +47,7 @@ import android.hardware.biometrics.IAuthService;
@@ -48,6 +48,7 @@ import android.hardware.biometrics.IAuthService;
import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback;
import android.hardware.biometrics.IBiometricService;
import android.hardware.biometrics.IBiometricServiceReceiver;
@@ -20,7 +20,7 @@ index f6f0fea8e3e7..62c8bcf37960 100644
import android.hardware.biometrics.IInvalidationCallback;
import android.hardware.biometrics.ITestSession;
import android.hardware.biometrics.ITestSessionCallback;
@@ -96,6 +97,7 @@ import android.os.Build;
@@ -101,6 +102,7 @@ import android.os.Build;
import vendor.samsung.hardware.biometrics.fingerprint.V3_0.ISehBiometricsFingerprint;
import vendor.goodix.hardware.biometrics.fingerprint.V2_1.IGoodixFingerprintDaemon;
import vendor.samsung.hardware.sysinput.V1_0.ISehSysInputDev;
@@ -28,7 +28,7 @@ index f6f0fea8e3e7..62c8bcf37960 100644
import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint;
@@ -119,6 +121,8 @@ public class AuthService extends SystemService {
@@ -124,6 +126,8 @@ public class AuthService extends SystemService {
private FileObserver fodFileObserver = null;
private ISehBiometricsFingerprint mSamsungFingerprint = null;
@@ -37,7 +37,7 @@ index f6f0fea8e3e7..62c8bcf37960 100644
private IXiaomiFingerprint mXiaomiFingerprint = null;
@@ -719,6 +723,101 @@ public class AuthService extends SystemService {
@@ -780,6 +784,101 @@ public class AuthService extends SystemService {
* └── for (s : p.sensors)
* └── BiometricService.registerAuthenticator(s)
*/
@@ -139,9 +139,9 @@ index f6f0fea8e3e7..62c8bcf37960 100644
@Override
public void onStart() {
mBiometricService = mInjector.getBiometricService();
@@ -746,20 +845,11 @@ public class AuthService extends SystemService {
// Registers HIDL and AIDL authenticators, but only HIDL configs need to be provided.
registerAuthenticators(hidlConfigs);
@@ -811,20 +910,11 @@ public class AuthService extends SystemService {
registerAuthenticators(hidlConfigs);
}
+ refreshVendorServices();
+
@@ -164,7 +164,7 @@ index f6f0fea8e3e7..62c8bcf37960 100644
samsungCmd("fod_enable,1,1,0");
String actualMaskBrightnessPath = "/sys/class/lcd/panel/actual_mask_brightness";
android.util.Log.e("PHH-Enroll", "Reading actual brightness file gives " + readFile(actualMaskBrightnessPath));
@@ -767,9 +857,7 @@ public class AuthService extends SystemService {
@@ -832,9 +922,7 @@ public class AuthService extends SystemService {
@Override
public void onEvent(int event, String path) {
String actualMask = readFile(actualMaskBrightnessPath);
@@ -175,7 +175,7 @@ index f6f0fea8e3e7..62c8bcf37960 100644
Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask);
try {
int eventReq = 0;
@@ -1014,22 +1102,53 @@ public class AuthService extends SystemService {
@@ -1207,22 +1295,53 @@ public class AuthService extends SystemService {
udfpsProps[2] = (int)mW;
try {

View File

@@ -1,7 +1,7 @@
From fd972adec5cecd44b735a16554139846a3ab5c85 Mon Sep 17 00:00:00 2001
From 77e0e4b81b7749de76010e9fb666294d8f7df856 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 4 Feb 2024 18:01:07 -0500
Subject: [PATCH 45/50] Some Samsung devices use SW_FLIP 0x15 rather than
Subject: [PATCH 45/51] Some Samsung devices use SW_FLIP 0x15 rather than
SW_MACHINE_COVER 0x10, so use that
---
@@ -9,10 +9,10 @@ Subject: [PATCH 45/50] Some Samsung devices use SW_FLIP 0x15 rather than
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index 2f813324b75f..09f8e2a337cd 100644
index 0f44f37e2262..d3d29ef85c62 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -375,6 +375,8 @@ public class InputManagerService extends IInputManager.Stub
@@ -378,6 +378,8 @@ public class InputManagerService extends IInputManager.Stub
/** Switch code: Cover. When set, the cover is closed. */
public static final int SW_MACHINE_COVER = 0x10;
@@ -21,7 +21,7 @@ index 2f813324b75f..09f8e2a337cd 100644
public static final int SW_LID_BIT = 1 << SW_LID;
public static final int SW_TABLET_MODE_BIT = 1 << SW_TABLET_MODE;
@@ -500,13 +502,22 @@ public class InputManagerService extends IInputManager.Stub
@@ -505,13 +507,22 @@ public class InputManagerService extends IInputManager.Stub
}
private void checkForSwMachineCover() {

View File

@@ -1,7 +1,7 @@
From 9f26d51690a7486becabcb6090ffc34e051f3551 Mon Sep 17 00:00:00 2001
From 66a169e155ad58d7ad2f1b38d9139a225b0308f0 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 21 Feb 2024 12:41:46 -0500
Subject: [PATCH 46/50] Include vendor.samsung.hardware.radio.network-V1-java
Subject: [PATCH 46/51] Include vendor.samsung.hardware.radio.network-V1-java
in base libs, will be used by f/o/telephony
---
@@ -9,10 +9,10 @@ Subject: [PATCH 46/50] Include vendor.samsung.hardware.radio.network-V1-java
1 file changed, 1 insertion(+)
diff --git a/Android.bp b/Android.bp
index c63068db1660..e1c218caaf88 100644
index af1074b7a998..ca9c8a600028 100644
--- a/Android.bp
+++ b/Android.bp
@@ -232,6 +232,7 @@ java_library {
@@ -240,6 +240,7 @@ java_library {
"android.hardware.radio.messaging-V3-java",
"android.hardware.radio.modem-V3-java",
"android.hardware.radio.network-V3-java",

View File

@@ -1,7 +1,7 @@
From 4ffbef7659e91ea50c94b8b9d7bb2b07d9cf6873 Mon Sep 17 00:00:00 2001
From 6c711ea6fdc11f7dd4e01f77f59b5448a930588e Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 21 Feb 2024 16:19:47 -0500
Subject: [PATCH 47/50] Include vendor.samsung.hardware.radio-V2.2-java HIDL in
Subject: [PATCH 47/51] Include vendor.samsung.hardware.radio-V2.2-java HIDL in
base libs, will be used by f/o/telephony
---
@@ -9,10 +9,10 @@ Subject: [PATCH 47/50] Include vendor.samsung.hardware.radio-V2.2-java HIDL in
1 file changed, 1 insertion(+)
diff --git a/Android.bp b/Android.bp
index e1c218caaf88..63413e5618d3 100644
index ca9c8a600028..b8a44b325130 100644
--- a/Android.bp
+++ b/Android.bp
@@ -227,6 +227,7 @@ java_library {
@@ -235,6 +235,7 @@ java_library {
"android.hardware.gnss-V2.1-java",
"android.hardware.health-V1.0-java-constants",
"android.hardware.radio-V1.6-java",

View File

@@ -1,7 +1,7 @@
From e14be2031caccce4e8d420f6352d374b0b47d7b1 Mon Sep 17 00:00:00 2001
From e78c740845b99ec7adaf327ce28875e3e7fb8b06 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Sun, 31 Mar 2024 23:38:19 +0000
Subject: [PATCH 48/50] Revert "Remove deprecated IRadio <1.4 APIs and
Subject: [PATCH 48/51] Revert "Remove deprecated IRadio <1.4 APIs and
references"
This reverts commit 4d53aa0caec7029bf6c9b5789c1708bc4bb71b76.
@@ -12,11 +12,11 @@ This reverts commit 4d53aa0caec7029bf6c9b5789c1708bc4bb71b76.
3 files changed, 39 insertions(+)
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index bd5255d4a21a..859326ee0ca4 100644
index 0c9601ad7b30..4ac056a15f1e 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -11472,6 +11472,29 @@ public class TelephonyManager {
return false;
@@ -11488,6 +11488,29 @@ public class TelephonyManager {
return result;
}
+ /**
@@ -43,10 +43,10 @@ index bd5255d4a21a..859326ee0ca4 100644
+ }
+
/**
* @deprecated Use {@link android.telephony.ims.ImsMmTelManager#setVtSettingEnabled(boolean)}
* instead.
* Shut down all the live radios over all the slot indexes.
*
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 397fb2d6db96..192ead0fb163 100644
index ff2ee27abc60..d7ca28c447a6 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -1194,6 +1194,17 @@ interface ITelephony {
@@ -68,7 +68,7 @@ index 397fb2d6db96..192ead0fb163 100644
* Check if any mobile Radios need to be shutdown.
*
diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java
index 50590177f791..69ea593a3a00 100644
index b7dd4df1c843..5f5e21916bd0 100644
--- a/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -298,6 +298,11 @@ public interface RILConstants {

View File

@@ -1,41 +1,42 @@
From 08d6872962f964e285c631af4d28db9262eee00f Mon Sep 17 00:00:00 2001
From 329b060dc0633e28c2da11e17dd0578f7409fa59 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 17 Apr 2024 04:49:18 -0400
Subject: [PATCH 49/50] Don't crash system_server if we fail to parse dynamic
Subject: [PATCH 49/51] Don't crash system_server if we fail to parse dynamic
udfps position
Change-Id: I2168fd08f0632c58b1c35d25cfd52071f779aa20
---
.../fingerprint/aidl/FingerprintProvider.java | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
index 2bb568bedabc..73b502dca8c1 100644
index 2f113a08eae2..556ca0004079 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java
@@ -216,13 +216,17 @@ android.util.Log.e("PHH-Enroll", "Poping AIDL fp provider");
android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
}
if (locations.length == 1 && locations[0].sensorLocationX == 0) {
- int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context);
- if (otherValues.length > 0) {
- SensorLocation loc = new SensorLocation();
- loc.sensorLocationX = otherValues[0];
- loc.sensorLocationY = otherValues[1];
- loc.sensorRadius = otherValues[2];
- locations[0] = loc;
+ try {
+ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context);
+ if (otherValues.length > 0) {
+ SensorLocation loc = new SensorLocation();
+ loc.sensorLocationX = otherValues[0];
+ loc.sensorLocationY = otherValues[1];
+ loc.sensorRadius = otherValues[2];
+ locations[0] = loc;
+ }
+ } catch(Throwable t) {
+ android.util.Log.e("PHH-Enroll", "FingerprintProvider dynamicUdfpsProps", t);
@@ -261,13 +261,17 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
android.util.Log.e("PHH-Enroll", " - " + loc.sensorLocationX + ", " + loc.sensorLocationY + ", " +loc.sensorRadius + ", disp =" + loc.display + ", shape " + loc.sensorShape);
}
if (locations.length == 1 && locations[0].sensorLocationX == 0) {
- int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(context);
- if (otherValues.length > 0) {
- SensorLocation loc = new SensorLocation();
- loc.sensorLocationX = otherValues[0];
- loc.sensorLocationY = otherValues[1];
- loc.sensorRadius = otherValues[2];
- locations[0] = loc;
+ try {
+ int[] otherValues = com.android.server.biometrics.AuthService.dynamicUdfpsProps(mContext);
+ if (otherValues.length > 0) {
+ SensorLocation loc = new SensorLocation();
+ loc.sensorLocationX = otherValues[0];
+ loc.sensorLocationY = otherValues[1];
+ loc.sensorRadius = otherValues[2];
+ locations[0] = loc;
+ }
+ } catch(Throwable t) {
+ android.util.Log.e("PHH-Enroll", "FingerprintProvider dynamicUdfpsProps", t);
}
}
}
--
2.34.1

View File

@@ -1,26 +1,26 @@
From 6923bfc96d529de7620b0652adeadac4f4612710 Mon Sep 17 00:00:00 2001
From c0fe31ff8a4ebc3372d0e50eb082991ec32da9d7 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 8 May 2024 11:55:07 -0400
Subject: [PATCH 50/50] Add a prop to disable animation in for sysui media
Subject: [PATCH 50/51] Add a prop to disable animation in for sysui media
carousel
---
.../systemui/media/controls/ui/MediaCarouselController.kt | 3 ++-
.../media/controls/ui/controller/MediaCarouselController.kt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt
index 992eeca77e54..f8fed58d2553 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
index b721236eab01..8da1ddc2010f 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
@@ -22,6 +22,7 @@ import android.content.Intent
import android.content.res.ColorStateList
import android.content.res.Configuration
import android.database.ContentObserver
+import android.os.SystemProperties;
+import android.os.SystemProperties
import android.provider.Settings
import android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS
import android.util.Log
@@ -1047,7 +1048,7 @@ constructor(
@@ -1050,7 +1051,7 @@ constructor(
desiredHostState.showsOnlyActiveMedia
for (mediaPlayer in MediaPlayerData.players()) {

View File

@@ -0,0 +1,93 @@
From 92baead82c113777ad33ff0069ad54094b1595ca 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 51/51] 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

View File

@@ -1,7 +1,7 @@
From 973eeeb60ccce408e525055c88e079984dcd1356 Mon Sep 17 00:00:00 2001
From df3ccdbd5bba67105536281c7be4ba375329ef40 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 14 Aug 2019 23:37:10 +0200
Subject: [PATCH 01/12] On Samsung, we need to send a hack-message to HAL to
Subject: [PATCH 01/13] On Samsung, we need to send a hack-message to HAL to
get all Sensors
Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376
@@ -10,18 +10,18 @@ Change-Id: Id6a1fa48340de61c418493668e9abd22c2599376
1 file changed, 3 insertions(+)
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp
index dd83fdefc3..1996b306a4 100644
index f62562ce9d..be7d33ba62 100644
--- a/services/sensorservice/SensorDevice.cpp
+++ b/services/sensorservice/SensorDevice.cpp
@@ -40,6 +40,7 @@
#include <mutex>
#include <condition_variable>
#include "android/hardware/sensors/2.1/types.h"
#include "convertV2_1.h"
+#include <android-base/properties.h>
using namespace android::hardware::sensors;
using android::util::ProtoOutputStream;
@@ -78,6 +79,8 @@ SensorDevice::SensorDevice() : mInHalBypassMode(false) {
namespace sensorservice_flags = com::android::frameworks::sensorservice::flags;
@@ -79,6 +80,8 @@ SensorDevice::SensorDevice() : mInHalBypassMode(false) {
}
void SensorDevice::initializeSensorList() {

View File

@@ -1,7 +1,7 @@
From 4cc0d0871d389cd823d22bf04ae6f3cf3f3ec514 Mon Sep 17 00:00:00 2001
From a4588f6d82cdfce0caa5544e6ab9dc74df039087 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Thu, 22 Oct 2020 23:22:46 +0200
Subject: [PATCH 02/12] Matching an input with a display uses uniqueId
Subject: [PATCH 02/13] Matching an input with a display uses uniqueId
Not all devices have a `location`, notably bluetooth devices.
However, we might still want to associate them with a screen,
@@ -15,10 +15,10 @@ Change-Id: Ifcbc8329d54386f58e013270d9888316c0f516b6
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp
index fb32f96482..23c0123ab0 100644
index 4d8ffb68bb..1d041e1498 100644
--- a/services/inputflinger/reader/InputDevice.cpp
+++ b/services/inputflinger/reader/InputDevice.cpp
@@ -269,7 +269,10 @@ std::list<NotifyArgs> InputDevice::configureInternal(nsecs_t when,
@@ -272,7 +272,10 @@ std::list<NotifyArgs> InputDevice::configureInternal(nsecs_t when,
mAssociatedDisplayUniqueId = std::nullopt;
mAssociatedViewport = std::nullopt;
// Find the display port that corresponds to the current input port.

View File

@@ -1,7 +1,7 @@
From 4ec36ad5c8b19969da7c48101c619132ec2356bd Mon Sep 17 00:00:00 2001
From a36d0f7b1b9dc341b10c47c43dff42d932684703 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 5 Jan 2021 23:44:00 +0100
Subject: [PATCH 03/12] unshared_oob didn't exist in O/P, so detect its
Subject: [PATCH 03/13] unshared_oob didn't exist in O/P, so detect its
supported based on vndk version
---

View File

@@ -1,7 +1,7 @@
From d5c6be141d42f5cb4742ab45e748dc9e430ddc03 Mon Sep 17 00:00:00 2001
From a44f9348ba6db34781bf5c5463bc4a4a7406d0b4 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 31 Mar 2021 23:36:03 +0200
Subject: [PATCH 04/12] Remove Samsung system permission on sensors
Subject: [PATCH 04/13] Remove Samsung system permission on sensors
---
libs/sensor/Sensor.cpp | 1 +

View File

@@ -1,7 +1,7 @@
From 2659dfeef5200660db8d349fd80aab4d614e3d78 Mon Sep 17 00:00:00 2001
From 5bb33677124b9403f3002342f1bca42b2f2f9266 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 12 Dec 2021 08:45:36 -0500
Subject: [PATCH 05/12] Mark accelerometer input as sensor exclusively if there
Subject: [PATCH 05/13] Mark accelerometer input as sensor exclusively if there
are ABS axis
The reason this is needed is that on -fucked up- Xiami Mi A2 Lite and
@@ -15,10 +15,10 @@ Change-Id: I491ab89724c908ef09a23a6427d24a8889bf806a
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp
index f7bbc511f9..ad2394d791 100644
index 3ca691efba..a2b5d7d8b0 100644
--- a/services/inputflinger/reader/EventHub.cpp
+++ b/services/inputflinger/reader/EventHub.cpp
@@ -2409,7 +2409,13 @@ void EventHub::openDeviceLocked(const std::string& devicePath) {
@@ -2431,7 +2431,13 @@ void EventHub::openDeviceLocked(const std::string& devicePath) {
// Check whether this device is an accelerometer.
if (device->propBitmask.test(INPUT_PROP_ACCELEROMETER)) {

View File

@@ -1,7 +1,7 @@
From ff5ba8c1185122fd748f875d2457a3ea1facdb72 Mon Sep 17 00:00:00 2001
From 0d55f5113d95dcbc02676ec1e6e642f2a8241f3d 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 06/12] MIUI13 devices hide their vibrator HAL behind
Subject: [PATCH 06/13] MIUI13 devices hide their vibrator HAL behind
non-default name: "vibratorfeature"
---

View File

@@ -1,7 +1,7 @@
From 754326bcb221b75d944997c3d8aefc42c1a992d1 Mon Sep 17 00:00:00 2001
From 564728e2daa306134f8b9855bae53a86197699ab Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 27 Dec 2021 18:00:43 -0500
Subject: [PATCH 07/12] powermanager: Add support Samsung miscpower HAL
Subject: [PATCH 07/13] powermanager: Add support Samsung miscpower HAL
Several various configurations need to be supported:
- Android Pie vendors have a android.hardware.power HIDL default + "miscpower"
@@ -55,20 +55,20 @@ index cbbfa597ba..c27a833a07 100644
static sp<hardware::power::V1_0::IPower> loadHidlV1_0Locked()
EXCLUSIVE_LOCKS_REQUIRED(gHalMutex);
diff --git a/include/powermanager/PowerHalWrapper.h b/include/powermanager/PowerHalWrapper.h
index 4e4a1b000d..0411f9f8cf 100644
index e2da014606..66bb910ec2 100644
--- a/include/powermanager/PowerHalWrapper.h
+++ b/include/powermanager/PowerHalWrapper.h
@@ -26,6 +26,7 @@
@@ -27,6 +27,7 @@
#include <android/hardware/power/1.2/IPower.h>
#include <android/hardware/power/1.3/IPower.h>
#include <binder/Status.h>
+#include <vendor/samsung/hardware/miscpower/2.0/ISehMiscPower.h>
namespace android {
#include <utility>
@@ -240,8 +241,10 @@ protected:
@@ -278,8 +279,10 @@ protected:
// Wrapper for the AIDL Power HAL.
class AidlHalWrapper : public HalWrapper {
class AidlHalWrapper : public EmptyHalWrapper {
public:
- explicit AidlHalWrapper(std::shared_ptr<aidl::android::hardware::power::IPower> handle)
- : mHandle(std::move(handle)) {}
@@ -79,7 +79,7 @@ index 4e4a1b000d..0411f9f8cf 100644
~AidlHalWrapper() override = default;
HalResult<void> setBoost(aidl::android::hardware::power::Boost boost,
@@ -257,6 +260,7 @@ private:
@@ -307,6 +310,7 @@ private:
std::mutex mBoostMutex;
std::mutex mModeMutex;
std::shared_ptr<aidl::android::hardware::power::IPower> mHandle;
@@ -87,11 +87,11 @@ index 4e4a1b000d..0411f9f8cf 100644
// Android framework only sends boost upto DISPLAY_UPDATE_IMMINENT.
// Need to increase the array size if more boost supported.
std::array<
@@ -271,6 +275,34 @@ private:
@@ -321,6 +325,34 @@ private:
mModeSupportedArray GUARDED_BY(mModeMutex) = {HalSupport::UNKNOWN};
};
+class HidlHalWrapperSeh : public HalWrapper {
+class HidlHalWrapperSeh : public EmptyHalWrapper {
+public:
+ explicit HidlHalWrapperSeh(sp<vendor::samsung::hardware::miscpower::V2_0::ISehMiscPower> hal1,
+ sp<android::hardware::power::V1_1::IPower> hal2,
@@ -143,7 +143,7 @@ index 1f72e8ba2c..d7eea4dfc7 100644
cflags: [
diff --git a/services/powermanager/PowerHalController.cpp b/services/powermanager/PowerHalController.cpp
index 9a23c848c9..4949d49db7 100644
index bc178bce8f..98dc5adefc 100644
--- a/services/powermanager/PowerHalController.cpp
+++ b/services/powermanager/PowerHalController.cpp
@@ -20,6 +20,7 @@
@@ -229,10 +229,10 @@ index 22144615da..5823fa697d 100644
// -------------------------------------------------------------------------------------------------
diff --git a/services/powermanager/PowerHalWrapper.cpp b/services/powermanager/PowerHalWrapper.cpp
index 76afbfc646..1d40252d7d 100644
index 1009100cc2..79605a1309 100644
--- a/services/powermanager/PowerHalWrapper.cpp
+++ b/services/powermanager/PowerHalWrapper.cpp
@@ -221,6 +221,10 @@ HalResult<void> AidlHalWrapper::setMode(Aidl::Mode mode, bool enabled) {
@@ -232,6 +232,10 @@ HalResult<void> AidlHalWrapper::setMode(Aidl::Mode mode, bool enabled) {
std::unique_lock<std::mutex> lock(mModeMutex);
size_t idx = static_cast<size_t>(mode);
@@ -242,9 +242,9 @@ index 76afbfc646..1d40252d7d 100644
+
// Quick return if mode is not supported by HAL
if (idx >= mModeSupportedArray.size() || mModeSupportedArray[idx] == HalSupport::OFF) {
ALOGV("Skipped setMode %s because Power HAL doesn't support it", toString(mode).c_str());
@@ -260,6 +264,72 @@ HalResult<int64_t> AidlHalWrapper::getHintSessionPreferredRate() {
return HalResult<int64_t>::fromStatus(result, rate);
ALOGV("Skipped setMode %s because %s", toString(mode).c_str(), getUnsupportedMessage());
@@ -294,6 +298,72 @@ const char* AidlHalWrapper::getUnsupportedMessage() {
return "Power HAL doesn't support it";
}
+HalResult<void> HidlHalWrapperSeh::setBoost(Aidl::Boost boost, int32_t durationMs) {
@@ -317,10 +317,10 @@ index 76afbfc646..1d40252d7d 100644
} // namespace power
diff --git a/services/surfaceflinger/CompositionEngine/Android.bp b/services/surfaceflinger/CompositionEngine/Android.bp
index ae2f2dbbf5..96ae9aa8de 100644
index 0b01c666a4..4c9220bb28 100644
--- a/services/surfaceflinger/CompositionEngine/Android.bp
+++ b/services/surfaceflinger/CompositionEngine/Android.bp
@@ -38,6 +38,7 @@ cc_defaults {
@@ -39,6 +39,7 @@ cc_defaults {
"libui",
"libutils",
"server_configurable_flags",

View File

@@ -1,7 +1,7 @@
From 08b5b5e7445ec5ae2e9d5c80f5b150a0a058d07a Mon Sep 17 00:00:00 2001
From 69fd045a02add4fb326f46b36a8b9f57a721b57c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sun, 18 Dec 2022 18:17:30 -0500
Subject: [PATCH 08/12] FOD support for Samsung and Asus
Subject: [PATCH 08/13] FOD support for Samsung and Asus
---
libs/gui/BLASTBufferQueue.cpp | 20 ++++++++++++++--
@@ -65,7 +65,7 @@ index f317a2eea0..6a55bb3f70 100644
static std::atomic<uint32_t> nextId = 0;
mProducerId = nextId++;
diff --git a/libs/ui/Gralloc2.cpp b/libs/ui/Gralloc2.cpp
index 877b46908e..78e71c7ffa 100644
index 41306b51f6..3badc79606 100644
--- a/libs/ui/Gralloc2.cpp
+++ b/libs/ui/Gralloc2.cpp
@@ -115,7 +115,6 @@ status_t Gralloc2Mapper::validateBufferDescriptorInfo(
@@ -77,7 +77,7 @@ index 877b46908e..78e71c7ffa 100644
// Gralloc2 implementations never understand non-BLOB with GPU_DATA_BUFFER
diff --git a/libs/ui/Gralloc3.cpp b/libs/ui/Gralloc3.cpp
index d2b92bb221..eff02330d8 100644
index e9aa9c8d54..f29ce686c2 100644
--- a/libs/ui/Gralloc3.cpp
+++ b/libs/ui/Gralloc3.cpp
@@ -106,7 +106,6 @@ status_t Gralloc3Mapper::validateBufferDescriptorInfo(
@@ -89,7 +89,7 @@ index d2b92bb221..eff02330d8 100644
// Gralloc3 implementations never understand non-BLOB with GPU_DATA_BUFFER
diff --git a/libs/ui/Gralloc4.cpp b/libs/ui/Gralloc4.cpp
index 7e6802d1e0..1ce29dc8e4 100644
index f1322f1e4c..c3ff48a262 100644
--- a/libs/ui/Gralloc4.cpp
+++ b/libs/ui/Gralloc4.cpp
@@ -129,7 +129,6 @@ static status_t validateBufferDescriptorInfo(IMapper::BufferDescriptorInfo* desc
@@ -101,7 +101,7 @@ index 7e6802d1e0..1ce29dc8e4 100644
// Combinations that are only allowed with gralloc 4.1.
diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
index 7fe3369f88..afd9942d5e 100644
index 091c207464..60e095c49b 100644
--- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
@@ -26,6 +26,7 @@
@@ -122,7 +122,7 @@ index 7fe3369f88..afd9942d5e 100644
using aidl::android::hardware::graphics::composer3::Composition;
namespace android::compositionengine {
@@ -442,6 +446,26 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
@@ -441,6 +445,26 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer,
->getHeight()));
}
@@ -150,10 +150,10 @@ index 7fe3369f88..afd9942d5e 100644
displayFrame.right, displayFrame.bottom);
diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
index 64a8ae7fcd..b7da02cdcc 100644
index 362ab9c39e..62c2ed8f8d 100644
--- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
+++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
@@ -1680,5 +1680,13 @@ void AidlComposer::addDisplay(Display display) {
@@ -1686,5 +1686,13 @@ void AidlComposer::addDisplay(Display display) {
void AidlComposer::onHotplugConnect(Display display) {
addDisplay(display);
}
@@ -195,10 +195,10 @@ index bc067a0e5d..c0fcff6a7d 100644
} // namespace Hwc2
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp
index 24a9e22a2b..52777b1e74 100644
index 84f668d9df..7f867c10c7 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp
@@ -1014,6 +1014,14 @@ Error Layer::setBlockingRegion(const Region& region) {
@@ -1030,6 +1030,14 @@ Error Layer::setBlockingRegion(const Region& region) {
return static_cast<Error>(intError);
}
@@ -214,10 +214,10 @@ index 24a9e22a2b..52777b1e74 100644
} // namespace HWC2
} // namespace android
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.h b/services/surfaceflinger/DisplayHardware/HWC2.h
index f907061774..04513ae0fe 100644
index de044e0b76..09454e26e2 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.h
+++ b/services/surfaceflinger/DisplayHardware/HWC2.h
@@ -349,6 +349,9 @@ public:
@@ -353,6 +353,9 @@ public:
// AIDL HAL
[[nodiscard]] virtual hal::Error setBrightness(float brightness) = 0;
[[nodiscard]] virtual hal::Error setBlockingRegion(const android::Region& region) = 0;
@@ -227,7 +227,7 @@ index f907061774..04513ae0fe 100644
};
namespace impl {
@@ -400,6 +403,8 @@ public:
@@ -404,6 +407,8 @@ public:
hal::Error setBrightness(float brightness) override;
hal::Error setBlockingRegion(const android::Region& region) override;
@@ -237,10 +237,10 @@ index f907061774..04513ae0fe 100644
// These are references to data owned by HWComposer, which will outlive
// this HWC2::Layer, so these references are guaranteed to be valid for
diff --git a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
index c4ff9cc6be..bd158ad5ad 100644
index 12ab2c284a..d34ed04127 100644
--- a/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
+++ b/services/surfaceflinger/DisplayHardware/HidlComposerHal.cpp
@@ -1434,6 +1434,13 @@ Error HidlComposer::getPhysicalDisplayOrientation(Display, AidlTransform*) {
@@ -1435,6 +1435,13 @@ Error HidlComposer::getPhysicalDisplayOrientation(Display, AidlTransform*) {
"OptionalFeature::PhysicalDisplayOrientation is not supported on HIDL");
}

View File

@@ -1,7 +1,7 @@
From eb49ecb179bed79bf47cd23c003b89451a75b018 Mon Sep 17 00:00:00 2001
From ff686d23404fd88ae37148da50a7b1504d9ce7b1 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 09/12] Add MTK GED KPI support to fix broken Mediatek gpufreq
Subject: [PATCH 09/13] Add MTK GED KPI support to fix broken Mediatek gpufreq
Mediatek GPU scheduler likes to have the timestamps of the frames to be
able to adjust DVFS.
@@ -22,7 +22,7 @@ well)
2 files changed, 205 insertions(+)
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index 07a0cfed63..1d527c089f 100644
index 086544e48a..6e73c38a63 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -24,6 +24,9 @@
@@ -131,7 +131,7 @@ index 07a0cfed63..1d527c089f 100644
}
Surface::~Surface() {
@@ -647,6 +725,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
@@ -668,6 +746,36 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
}
}
@@ -168,7 +168,7 @@ index 07a0cfed63..1d527c089f 100644
if (fence->isValid()) {
*fenceFd = fence->dup();
if (*fenceFd == -1) {
@@ -1090,6 +1198,60 @@ void Surface::onBufferQueuedLocked(int slot, sp<Fence> fence,
@@ -1111,6 +1219,60 @@ void Surface::onBufferQueuedLocked(int slot, sp<Fence> fence,
}
mQueueBufferCondition.broadcast();
@@ -229,7 +229,7 @@ index 07a0cfed63..1d527c089f 100644
if (CC_UNLIKELY(atrace_is_tag_enabled(ATRACE_TAG_GRAPHICS))) {
static gui::FenceMonitor gpuCompletionThread("GPU completion");
@@ -1857,6 +2019,46 @@ int Surface::connect(
@@ -1878,6 +2040,46 @@ int Surface::connect(
mConsumerRunningBehind = (output.numPendingBuffers >= 2);
}

View File

@@ -1,7 +1,7 @@
From 2a9428f4a5b5d76294698e523c1887d064b59a85 Mon Sep 17 00:00:00 2001
From 8b7f5bcb50a9442ff254ef40072aaa5284fbcae2 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 20 Dec 2023 09:48:04 -0500
Subject: [PATCH 10/12] Fix loading unnamed GLES
Subject: [PATCH 10/13] Fix loading unnamed GLES
Normally Android loads libGLES_${ro.hardware.egl}.so
But up to Android 14, it was allowed not to set ro.hardware.egl

View File

@@ -1,7 +1,7 @@
From 856149e68cafecbe745370a92f7d0421d62957bc Mon Sep 17 00:00:00 2001
From a67c4b0acf7f15fab1ef00303c6f2c7ea5e7ae89 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 3 Feb 2024 07:38:33 -0500
Subject: [PATCH 11/12] Increase SW_MAX *= 4
Subject: [PATCH 11/13] Increase SW_MAX *= 4
We increase the size of SW_MAX for two reasons:
1. SW_MACHINE_COVER which is SW_MAX is ignored, guessing an off by one
@@ -14,10 +14,10 @@ We increase the size of SW_MAX for two reasons:
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp
index ad2394d791..18742c6b37 100644
index a2b5d7d8b0..2697ae1d36 100644
--- a/services/inputflinger/reader/EventHub.cpp
+++ b/services/inputflinger/reader/EventHub.cpp
@@ -1112,7 +1112,7 @@ int32_t EventHub::getKeyCodeForKeyLocation(int32_t deviceId, int32_t locationKey
@@ -1118,7 +1118,7 @@ int32_t EventHub::getKeyCodeForKeyLocation(int32_t deviceId, int32_t locationKey
}
int32_t EventHub::getSwitchState(int32_t deviceId, int32_t sw) const {
@@ -26,7 +26,7 @@ index ad2394d791..18742c6b37 100644
return AKEY_STATE_UNKNOWN;
}
std::scoped_lock _l(mLock);
@@ -2419,7 +2419,7 @@ void EventHub::openDeviceLocked(const std::string& devicePath) {
@@ -2441,7 +2441,7 @@ void EventHub::openDeviceLocked(const std::string& devicePath) {
}
// Check whether this device has switches.
@@ -36,10 +36,10 @@ index ad2394d791..18742c6b37 100644
device->classes |= InputDeviceClass::SWITCH;
break;
diff --git a/services/inputflinger/reader/include/EventHub.h b/services/inputflinger/reader/include/EventHub.h
index 0bcab42417..5659ffb006 100644
index a7e06756d0..f33ee5aa96 100644
--- a/services/inputflinger/reader/include/EventHub.h
+++ b/services/inputflinger/reader/include/EventHub.h
@@ -629,8 +629,8 @@ private:
@@ -635,8 +635,8 @@ private:
BitArray<KEY_CNT> keyBitmask;
BitArray<KEY_CNT> keyState;
BitArray<REL_CNT> relBitmask;

View File

@@ -1,7 +1,7 @@
From 947438c1004fc9a82a265f52f520820f84675610 Mon Sep 17 00:00:00 2001
From c3de268864c2633395936b6e8815591e9d570f10 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 7 May 2024 22:34:40 +0000
Subject: [PATCH 12/12] Disable gpuservice on old BPF-less kernel
Subject: [PATCH 12/13] Disable gpuservice on old BPF-less kernel
Change-Id: I8e1626e2e9d12ee0dc03d758799bc88085899476
---

View File

@@ -0,0 +1,26 @@
From f46d54958764bc0ddef9f441de062c7680cdbc81 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 13/13] SurfaceFlinger: Disable SF HWC backpressure
---
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 95829c7bd6..ae149b3ab7 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2557,7 +2557,8 @@ bool SurfaceFlinger::commit(PhysicalDisplayId pacesetterId,
}
}
- if (pacesetterFrameTarget.isFramePending()) {
+ if (base::GetBoolProperty("persist.sys.phh.enable_sf_hwc_backpressure"s, true)
+ && pacesetterFrameTarget.isFramePending()) {
if (mBackpressureGpuComposition || pacesetterFrameTarget.didMissHwcFrame()) {
if (FlagManager::getInstance().vrr_config()) {
mScheduler->getVsyncSchedule()->getTracker().onFrameMissed(
--
2.34.1

View File

@@ -1,4 +1,4 @@
From 162ec8917b7ae8fdb3fcb3f679c45d2276e19926 Mon Sep 17 00:00:00 2001
From 0347f653b575d27081ddf4b46529997a64c2611b Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
Date: Mon, 5 Sep 2022 14:02:37 -0400
Subject: [PATCH 01/14] SubscriptionController: Do not override default calling
@@ -18,10 +18,10 @@ 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 a8d05a334b..42310ccc3f 100644
index 8757c9791a..489c0b36fc 100644
--- a/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java
+++ b/src/java/com/android/internal/telephony/subscription/SubscriptionManagerService.java
@@ -81,6 +81,7 @@ import android.util.Base64;
@@ -85,6 +85,7 @@ import android.util.Base64;
import android.util.EventLog;
import android.util.IndentingPrintWriter;
import android.util.LocalLog;
@@ -29,7 +29,7 @@ index a8d05a334b..42310ccc3f 100644
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
@@ -3023,7 +3024,22 @@ public class SubscriptionManagerService extends ISub.Stub {
@@ -3153,7 +3154,22 @@ public class SubscriptionManagerService extends ISub.Stub {
TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
if (telecomManager != null) {

View File

@@ -1,4 +1,4 @@
From 6f08bcbf526eb4a97d88f71e06945d9a9c10f23f Mon Sep 17 00:00:00 2001
From 102c33d28f703e9849315875ea95e85399ae5e34 Mon Sep 17 00:00:00 2001
From: Artem Borisov <dedsa2002@gmail.com>
Date: Sat, 10 Nov 2018 17:19:17 +0000
Subject: [PATCH 02/14] Telephony: Don not call onUssdRelease for Huawei RIL
@@ -13,10 +13,10 @@ Change-Id: I69faed1c51d4582834879975d6ab13daf7f48ad4
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
index 620b8711e2..acd0196dd1 100644
index 4c7a3d3ffa..42d5d0fdcf 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -3072,7 +3072,11 @@ public class GsmCdmaPhone extends Phone {
@@ -3128,7 +3128,11 @@ public class GsmCdmaPhone extends Phone {
if (found != null) {
// Complete pending USSD
if (isUssdRelease) {

View File

@@ -1,4 +1,4 @@
From 817f2b9f355041ea5b7e47315acc878d96e1b91b Mon Sep 17 00:00:00 2001
From e66243672c800dbc7aff530353040d38e4da8f61 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 03/14] 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 acd0196dd1..cf81125aab 100644
index 42d5d0fdcf..79a23ec160 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -3377,7 +3377,7 @@ public class GsmCdmaPhone extends Phone {
@@ -3438,7 +3438,7 @@ public class GsmCdmaPhone extends Phone {
String version = (String)ar.result;
if (version != null) {
int length = version.length();

View File

@@ -1,4 +1,4 @@
From 60f5230e5197fd4cfdf4e547e1073e0cbc8691e3 Mon Sep 17 00:00:00 2001
From 20afc68fee873214a63b46521c921024ae968258 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 04/14] Reintroduce 'public void

View File

@@ -1,4 +1,4 @@
From 4b3fccc0cb2b352eed969c9fee0e21ae161f8ad8 Mon Sep 17 00:00:00 2001
From f2c21a73155ff46c56ac1e4aab07be59eec534a2 Mon Sep 17 00:00:00 2001
From: Daniel Zhang <danielzhang130@gmail.com>
Date: Sat, 30 Mar 2024 14:05:14 -0400
Subject: [PATCH 05/14] Revert "Remove deprecated IRadio <1.4 APIs and
@@ -25,7 +25,7 @@ Change-Id: I6802400fb4ffcf0181441662c267f9eabc4e5cf7
14 files changed, 740 insertions(+), 58 deletions(-)
diff --git a/src/java/com/android/internal/telephony/BaseCommands.java b/src/java/com/android/internal/telephony/BaseCommands.java
index b33b732fbd..ce462231f9 100644
index 6f66545e1a..54066553a1 100644
--- a/src/java/com/android/internal/telephony/BaseCommands.java
+++ b/src/java/com/android/internal/telephony/BaseCommands.java
@@ -68,6 +68,8 @@ public abstract class BaseCommands implements CommandsInterface {
@@ -37,7 +37,7 @@ index b33b732fbd..ce462231f9 100644
protected RegistrantList mOtaProvisionRegistrants = new RegistrantList();
@UnsupportedAppUsage
protected RegistrantList mCallWaitingInfoRegistrants = new RegistrantList();
@@ -673,6 +675,17 @@ public abstract class BaseCommands implements CommandsInterface {
@@ -674,6 +676,17 @@ public abstract class BaseCommands implements CommandsInterface {
mSignalInfoRegistrants.addUnique(h, what, obj);
}
@@ -55,7 +55,7 @@ index b33b732fbd..ce462231f9 100644
@Override
public void unregisterForSignalInfo(Handler h) {
mSignalInfoRegistrants.remove(h);
@@ -991,6 +1004,18 @@ public abstract class BaseCommands implements CommandsInterface {
@@ -992,6 +1005,18 @@ public abstract class BaseCommands implements CommandsInterface {
mPhoneRadioCapabilityChangedRegistrants.remove(h);
}
@@ -75,7 +75,7 @@ index b33b732fbd..ce462231f9 100644
public void registerForLceInfo(Handler h, int what, Object obj) {
synchronized (mStateMonitor) {
diff --git a/src/java/com/android/internal/telephony/CommandsInterface.java b/src/java/com/android/internal/telephony/CommandsInterface.java
index 91e6fab171..9306ab15fd 100644
index ee7447cf99..0f0455f005 100644
--- a/src/java/com/android/internal/telephony/CommandsInterface.java
+++ b/src/java/com/android/internal/telephony/CommandsInterface.java
@@ -898,6 +898,18 @@ public interface CommandsInterface {
@@ -321,18 +321,18 @@ index 91e6fab171..9306ab15fd 100644
* Register a LCE info listener.
*
diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
index cf81125aab..176d2b9e34 100644
index 79a23ec160..ed4bbe32ce 100644
--- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java
+++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java
@@ -3150,6 +3150,7 @@ public class GsmCdmaPhone extends Phone {
@@ -3209,6 +3209,7 @@ public class GsmCdmaPhone extends Phone {
handleNullCipherEnabledChange();
handleIdentifierDisclosureNotificationPreferenceChange();
handleNullCipherNotificationPreferenceChanged();
+ startLceAfterRadioIsAvailable();
}
private void handleRadioOn() {
@@ -4585,6 +4586,7 @@ public class GsmCdmaPhone extends Phone {
@@ -4662,6 +4663,7 @@ public class GsmCdmaPhone extends Phone {
} else {
loge("deleteAndCreatePhone: newVoiceRadioTech=" + newVoiceRadioTech +
" is not CDMA or GSM (error) - aborting!");
@@ -341,10 +341,10 @@ index cf81125aab..176d2b9e34 100644
}
diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java
index d94473824e..454377dca8 100644
index c088406505..8bf98aa1e7 100644
--- a/src/java/com/android/internal/telephony/Phone.java
+++ b/src/java/com/android/internal/telephony/Phone.java
@@ -220,6 +220,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -222,6 +222,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
private static final int EVENT_UNSOL_OEM_HOOK_RAW = 34;
protected static final int EVENT_GET_RADIO_CAPABILITY = 35;
protected static final int EVENT_SS = 36;
@@ -352,7 +352,7 @@ index d94473824e..454377dca8 100644
private static final int EVENT_CHECK_FOR_NETWORK_AUTOMATIC = 38;
protected static final int EVENT_VOICE_RADIO_TECH_CHANGED = 39;
protected static final int EVENT_REQUEST_VOICE_RADIO_TECH_DONE = 40;
@@ -380,6 +381,9 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -387,6 +388,9 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
private final AtomicReference<RadioCapability> mRadioCapability =
new AtomicReference<RadioCapability>();
@@ -362,7 +362,7 @@ index d94473824e..454377dca8 100644
protected TelephonyComponentFactory mTelephonyComponentFactory;
private int mPreferredUsageSetting = SubscriptionManager.USAGE_SETTING_UNKNOWN;
@@ -664,6 +668,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -671,6 +675,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
if (getPhoneType() != PhoneConstants.PHONE_TYPE_SIP) {
mCi.registerForSrvccStateChanged(this, EVENT_SRVCC_STATE_CHANGED, null);
}
@@ -371,7 +371,7 @@ index d94473824e..454377dca8 100644
//Initialize Telephony Analytics
if (mFeatureFlags.enableTelephonyAnalytics()) {
mTelephonyAnalytics = new TelephonyAnalytics(this);
@@ -847,6 +853,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -854,6 +860,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
// deprecated, ignore
break;
@@ -388,7 +388,7 @@ index d94473824e..454377dca8 100644
case EVENT_CHECK_FOR_NETWORK_AUTOMATIC: {
onCheckForNetworkSelectionModeAutomatic(msg);
break;
@@ -2749,6 +2765,47 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -2767,6 +2783,47 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
mCi.queryAvailableBandMode(response);
}
@@ -436,7 +436,7 @@ index d94473824e..454377dca8 100644
/**
* Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}.
* Used for device configuration by some CDMA operators.
@@ -4514,6 +4571,13 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -4532,6 +4589,13 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
return false;
}
@@ -450,7 +450,7 @@ index d94473824e..454377dca8 100644
/**
* Returns the modem activity information
*/
@@ -4521,6 +4585,15 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
@@ -4539,6 +4603,15 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
mCi.getModemActivityInfo(response, workSource);
}
@@ -467,10 +467,10 @@ index d94473824e..454377dca8 100644
* Control the data throttling at modem.
*
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index d34201117a..2c6fbdaa91 100644
index 53cd45c168..a84e9fc1c2 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -1287,6 +1287,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -1330,6 +1330,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -487,7 +487,7 @@ index d34201117a..2c6fbdaa91 100644
@Override
public void supplyIccPin(String pin, Message result) {
supplyIccPinForApp(pin, null, result);
@@ -1476,7 +1486,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -1519,7 +1529,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
}
RadioSimProxy simProxy = getRadioServiceProxy(RadioSimProxy.class);
if (!canMakeRequest("supplySimDepersonalization", simProxy, result,
@@ -496,7 +496,7 @@ index d34201117a..2c6fbdaa91 100644
return;
}
@@ -1993,8 +2003,9 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -2036,8 +2046,9 @@ public class RIL extends BaseCommands implements CommandsInterface {
}
@Override
@@ -508,7 +508,7 @@ index d34201117a..2c6fbdaa91 100644
TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) {
RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class);
if (!canMakeRequest("setupDataCall", dataProxy, result, RADIO_HAL_VERSION_1_4)) {
@@ -2630,6 +2641,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -2673,6 +2684,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -525,7 +525,7 @@ index d34201117a..2c6fbdaa91 100644
@Override
public void getDataCallList(Message result) {
RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class);
@@ -2648,6 +2669,17 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -2691,6 +2712,17 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -543,7 +543,7 @@ index d34201117a..2c6fbdaa91 100644
@Override
public void setSuppServiceNotifications(boolean enable, Message result) {
RadioNetworkProxy networkProxy = getRadioServiceProxy(RadioNetworkProxy.class);
@@ -3738,7 +3770,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -3781,7 +3813,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
}
@Override
@@ -553,7 +553,7 @@ index d34201117a..2c6fbdaa91 100644
RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class);
if (!canMakeRequest("setInitialAttachApn", dataProxy, result, RADIO_HAL_VERSION_1_4)) {
return;
@@ -4026,6 +4059,17 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4069,6 +4102,17 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -571,7 +571,7 @@ index d34201117a..2c6fbdaa91 100644
@Override
public void setDataAllowed(boolean allowed, Message result) {
RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class);
@@ -4090,7 +4134,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4133,7 +4177,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
}
@Override
@@ -580,7 +580,7 @@ index d34201117a..2c6fbdaa91 100644
RadioDataProxy dataProxy = getRadioServiceProxy(RadioDataProxy.class);
if (!canMakeRequest("setDataProfile", dataProxy, result, RADIO_HAL_VERSION_1_4)) {
return;
@@ -4168,6 +4212,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4211,6 +4255,16 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -597,7 +597,7 @@ index d34201117a..2c6fbdaa91 100644
/**
* Control the data throttling at modem.
*
@@ -4200,6 +4254,22 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4243,6 +4297,22 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -620,7 +620,7 @@ index d34201117a..2c6fbdaa91 100644
@Override
public void getModemActivityInfo(Message result, WorkSource workSource) {
RadioModemProxy modemProxy = getRadioServiceProxy(RadioModemProxy.class);
@@ -4430,6 +4500,33 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4473,6 +4543,33 @@ public class RIL extends BaseCommands implements CommandsInterface {
});
}
@@ -654,7 +654,7 @@ index d34201117a..2c6fbdaa91 100644
/**
* Enable or disable uicc applications on the SIM.
*
@@ -4490,6 +4587,11 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -4533,6 +4630,11 @@ public class RIL extends BaseCommands implements CommandsInterface {
getRadioServiceProxy(RadioSimProxy.class), null, RADIO_HAL_VERSION_1_5);
}
@@ -879,10 +879,10 @@ index 0459bf676e..ec35774eda 100644
if (VDBG) logPhoneIdToSlotIdMapping();
diff --git a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
index 935da5ac7b..d36dcaeac0 100644
index 9f96ce49b1..17dcac5943 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java
@@ -984,6 +984,9 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
@@ -1013,6 +1013,9 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
verify(mSimulatedCommandsVerifier).getBasebandVersion(nullable(Message.class));
verify(mSimulatedCommandsVerifier).getDeviceIdentity(nullable(Message.class));
verify(mSimulatedCommandsVerifier).getRadioCapability(nullable(Message.class));
@@ -892,7 +892,7 @@ index 935da5ac7b..d36dcaeac0 100644
// EVENT_RADIO_ON
verify(mSimulatedCommandsVerifier).getVoiceRadioTechnology(nullable(Message.class));
@@ -1006,6 +1009,8 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
@@ -1035,6 +1038,8 @@ public class GsmCdmaPhoneTest extends TelephonyTest {
// EVENT_RADIO_AVAILABLE
verify(mSimulatedCommandsVerifier, times(2)).getBasebandVersion(nullable(Message.class));
verify(mSimulatedCommandsVerifier, times(2)).getDeviceIdentity(nullable(Message.class));
@@ -1472,7 +1472,7 @@ index 6fc56169f3..1883513218 100644
public void registerForLceInfo(Handler h, int what, Object obj) {
diff --git a/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java b/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java
index 2ceca0e618..96162f712f 100644
index 30f49ad63b..8b6ccfc908 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/data/DataServiceManagerTest.java
@@ -155,7 +155,7 @@ public class DataServiceManagerTest extends TelephonyTest {

View File

@@ -1,4 +1,4 @@
From 782b6e6c27cf6643bbdb34bea638cb3d61d83e8e Mon Sep 17 00:00:00 2001
From f0e55afcbac617bc597307e372d7b54959e50b48 Mon Sep 17 00:00:00 2001
From: Raphael Mounier <mounierr07@gmail.com>
Date: Thu, 6 Oct 2022 08:35:38 +0200
Subject: [PATCH 07/14] Fix signalstrength for huawei kirin (hi6250, hi3670)
@@ -21,10 +21,10 @@ Change-Id: I4409683dc7cd9b870237a2939188b71ce94a9fc7
2 files changed, 139 insertions(+), 4 deletions(-)
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index 3a8ce141ae..ef6aa6499f 100644
index 503110ebc6..c857697f9f 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -6959,6 +6959,129 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -7003,6 +7003,129 @@ public class RIL extends BaseCommands implements CommandsInterface {
new CellSignalStrengthNr());
}

View File

@@ -1,4 +1,4 @@
From ce340db96c0aefab288bfa24d19708822242cb97 Mon Sep 17 00:00:00 2001
From f34d578f3d838bac61aba3446681d13512c75a05 Mon Sep 17 00:00:00 2001
From: corneranchu <corneranchu@gmail.com>
Date: Sat, 1 Oct 2022 01:49:58 +0000
Subject: [PATCH 08/14] telephony: forward-port support for forceCognitive

View File

@@ -1,4 +1,4 @@
From d72c205b31944c8dff5d0e37fe426c63172024f5 Mon Sep 17 00:00:00 2001
From 6fbbe65a330b07ba88235ced0fe2478fa2d1327e Mon Sep 17 00:00:00 2001
From: Christian Hoffmann <chrmhoffmann@gmail.com>
Date: Fri, 21 Oct 2022 12:58:04 +0200
Subject: [PATCH 09/14] Fix NPE with 1.0 and 1.1 CardStatus

View File

@@ -1,4 +1,4 @@
From 65f7af2a45f65610888c184b38b8b3e84ced3666 Mon Sep 17 00:00:00 2001
From c873fccac513afe6a49d522a604607c6348f8043 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 17 Oct 2023 11:08:06 -0400
Subject: [PATCH 10/14] When logging UiccSlot, ignore error if we cant print

View File

@@ -1,4 +1,4 @@
From 00950a811708b8d9ed31ff88fad89f2f4cf2fcdc Mon Sep 17 00:00:00 2001
From 43e368a26ce17bbef64d29ca92ad56d0f387def3 Mon Sep 17 00:00:00 2001
From: Alberto Ponces <ponces26@gmail.com>
Date: Fri, 20 Oct 2023 09:11:55 +0000
Subject: [PATCH 11/14] Revert "Removed IWLAN legacy mode support"
@@ -14,7 +14,7 @@ Change-Id: I1fd5a803ea3b01f902ff14e1ee6225312b2d3206
4 files changed, 189 insertions(+), 36 deletions(-)
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index 3b82adef9c..bc5f7c9116 100644
index e516c05afd..8ea2c0d198 100644
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -671,7 +671,7 @@ public class ServiceStateTracker extends Handler {
@@ -145,7 +145,7 @@ index 3b82adef9c..bc5f7c9116 100644
private void updateNtnCapability() {
diff --git a/src/java/com/android/internal/telephony/data/AccessNetworksManager.java b/src/java/com/android/internal/telephony/data/AccessNetworksManager.java
index a657ecd8cf..f9a35b6c94 100644
index 3d3fbe959c..8ba5581bf6 100644
--- a/src/java/com/android/internal/telephony/data/AccessNetworksManager.java
+++ b/src/java/com/android/internal/telephony/data/AccessNetworksManager.java
@@ -16,9 +16,12 @@
@@ -222,7 +222,7 @@ index a657ecd8cf..f9a35b6c94 100644
/** Event to guide a transport type for initial data connection of emergency data network. */
private static final int EVENT_GUIDE_TRANSPORT_TYPE_FOR_EMERGENCY = 1;
@@ -389,22 +425,30 @@ public class AccessNetworksManager extends Handler {
@@ -408,22 +444,30 @@ public class AccessNetworksManager extends Handler {
Context.CARRIER_CONFIG_SERVICE);
mLogTag = "ANM-" + mPhone.getPhoneId();
mApnTypeToQnsChangeNetworkCounter = new SparseArray<>();
@@ -268,7 +268,7 @@ index a657ecd8cf..f9a35b6c94 100644
// Using post to delay the registering because data retry manager and data config
// manager instances are created later than access networks manager.
@@ -509,7 +553,8 @@ public class AccessNetworksManager extends Handler {
@@ -528,7 +572,8 @@ public class AccessNetworksManager extends Handler {
/**
* Get the qualified network service package.
*
@@ -278,7 +278,7 @@ index a657ecd8cf..f9a35b6c94 100644
*/
private String getQualifiedNetworksServicePackageName() {
// Read package name from the resource
@@ -598,9 +643,30 @@ public class AccessNetworksManager extends Handler {
@@ -617,9 +662,30 @@ public class AccessNetworksManager extends Handler {
}
/**
@@ -311,7 +311,7 @@ index a657ecd8cf..f9a35b6c94 100644
return mAvailableTransports;
}
@@ -635,6 +701,11 @@ public class AccessNetworksManager extends Handler {
@@ -657,6 +723,11 @@ public class AccessNetworksManager extends Handler {
* @return The preferred transport.
*/
public @TransportType int getPreferredTransport(@ApnType int apnType) {
@@ -323,7 +323,7 @@ index a657ecd8cf..f9a35b6c94 100644
return mPreferredTransports.get(apnType) == null
? AccessNetworkConstants.TRANSPORT_TYPE_WWAN : mPreferredTransports.get(apnType);
}
@@ -737,6 +808,9 @@ public class AccessNetworksManager extends Handler {
@@ -759,6 +830,9 @@ public class AccessNetworksManager extends Handler {
}
pw.decreaseIndent();
@@ -334,10 +334,10 @@ index a657ecd8cf..f9a35b6c94 100644
pw.increaseIndent();
mLocalLog.dump(fd, pw, args);
diff --git a/src/java/com/android/internal/telephony/data/DataNetworkController.java b/src/java/com/android/internal/telephony/data/DataNetworkController.java
index 63fe7e5cdd..3a499c9af5 100644
index 70d3b23142..fa67c0daf5 100644
--- a/src/java/com/android/internal/telephony/data/DataNetworkController.java
+++ b/src/java/com/android/internal/telephony/data/DataNetworkController.java
@@ -1006,10 +1006,12 @@ public class DataNetworkController extends Handler {
@@ -1039,10 +1039,12 @@ public class DataNetworkController extends Handler {
mDataServiceManagers.get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
.registerForServiceBindingChanged(this, EVENT_DATA_SERVICE_BINDING_CHANGED);
@@ -355,10 +355,10 @@ index 63fe7e5cdd..3a499c9af5 100644
mPhone.getContext().getSystemService(TelephonyRegistryManager.class)
.addOnSubscriptionsChangedListener(new OnSubscriptionsChangedListener() {
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
index b21d45da25..8ed3d8433f 100644
index a6bb1d66f0..2ebaca52ad 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
@@ -490,7 +490,11 @@ public class ImsPhone extends ImsPhoneBase {
@@ -492,7 +492,11 @@ public class ImsPhone extends ImsPhoneBase {
mCT.registerPhoneStateListener(mExternalCallTracker);
mExternalCallTracker.setCallPuller(mCT);
@@ -371,7 +371,7 @@ index b21d45da25..8ed3d8433f 100644
mPhoneId = mDefaultPhone.getPhoneId();
@@ -2412,7 +2416,7 @@ public class ImsPhone extends ImsPhoneBase {
@@ -2422,7 +2426,7 @@ public class ImsPhone extends ImsPhoneBase {
/**
* Update roaming state and WFC mode in the following situations:
* 1) voice is in service.
@@ -380,7 +380,7 @@ index b21d45da25..8ed3d8433f 100644
* @param ss non-null ServiceState
*/
private void updateRoamingState(ServiceState ss) {
@@ -2433,7 +2437,15 @@ public class ImsPhone extends ImsPhoneBase {
@@ -2443,7 +2447,15 @@ public class ImsPhone extends ImsPhoneBase {
logi("updateRoamingState: we are not IN_SERVICE, ignoring roaming change.");
return;
}
@@ -396,8 +396,8 @@ index b21d45da25..8ed3d8433f 100644
+ }
if (mCT.getState() == PhoneConstants.State.IDLE) {
if (DBG) logd("updateRoamingState now: " + newRoamingState);
mLastKnownRoamingState = newRoamingState;
@@ -2452,6 +2464,30 @@ public class ImsPhone extends ImsPhoneBase {
if (!mFeatureFlags.updateRoamingStateToSetWfcMode()) {
@@ -2467,6 +2479,30 @@ public class ImsPhone extends ImsPhoneBase {
}
}

View File

@@ -1,4 +1,4 @@
From 8fa52ed942a235456b35af8133f41d385a9a9ac0 Mon Sep 17 00:00:00 2001
From 61c7bac42a783f4e7fc1ef6d6e33a37bd45414d2 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Wed, 21 Feb 2024 12:50:28 -0500
Subject: [PATCH 12/14] Initialize Samsung AIDL ISehRadioNetwork. Fixes 5G on
@@ -11,10 +11,10 @@ Subject: [PATCH 12/14] Initialize Samsung AIDL ISehRadioNetwork. Fixes 5G on
3 files changed, 144 insertions(+), 2 deletions(-)
diff --git a/Android.bp b/Android.bp
index a94ae98208..a0bd665338 100644
index 331b722ace..6e2c045bd1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -91,6 +91,7 @@ java_library {
@@ -90,6 +90,7 @@ java_library {
"android.hardware.radio.network-V3-java",
"android.hardware.radio.sim-V3-java",
"android.hardware.radio.voice-V3-java",
@@ -23,10 +23,10 @@ index a94ae98208..a0bd665338 100644
"ims-common",
"unsupportedappusage",
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index ef6aa6499f..b55a373e11 100644
index c857697f9f..0514c18e3f 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -853,7 +853,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
@@ -868,7 +868,7 @@ public class RIL extends BaseCommands implements CommandsInterface {
mHalVersion.put(service, ((RadioNetworkProxy) serviceProxy).setAidl(
mHalVersion.get(service),
android.hardware.radio.network.IRadioNetwork.Stub

Some files were not shown because too many files have changed in this diff Show More