Changes for May 2024, syncing up to 20240508
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From cb9d1aaacaa105c20551952ead0ad7a49408efce Mon Sep 17 00:00:00 2001
|
||||
From b354689bc72bb0ab0da52cc11ec5930444606d2c Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 27 Oct 2021 14:39:29 -0400
|
||||
Subject: [PATCH 1/2] Disable vndklite handling
|
||||
@@ -9,10 +9,10 @@ Change-Id: Ic4474cf80fc4b45a9a2760dd51e2ca29c4d961e2
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/linker/linker.cpp b/linker/linker.cpp
|
||||
index 17b574fc1..c863f8ea6 100644
|
||||
index 135eaa380..93523dcc0 100644
|
||||
--- a/linker/linker.cpp
|
||||
+++ b/linker/linker.cpp
|
||||
@@ -95,7 +95,6 @@ static uint64_t g_module_unload_counter = 0;
|
||||
@@ -97,7 +97,6 @@ static uint64_t g_module_unload_counter = 0;
|
||||
static const char* const kLdConfigArchFilePath = "/system/etc/ld.config." ABI_STRING ".txt";
|
||||
|
||||
static const char* const kLdConfigFilePath = "/system/etc/ld.config.txt";
|
||||
@@ -20,7 +20,7 @@ index 17b574fc1..c863f8ea6 100644
|
||||
|
||||
static const char* const kLdGeneratedConfigFilePath = "/linkerconfig/ld.config.txt";
|
||||
|
||||
@@ -3423,10 +3422,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
@@ -3444,10 +3443,6 @@ static std::string get_ld_config_file_apex_path(const char* executable_path) {
|
||||
}
|
||||
|
||||
static std::string get_ld_config_file_vndk_path() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ab1289090a65808ee3fbbeb40b0a77e91c1a6aab Mon Sep 17 00:00:00 2001
|
||||
From 0cbe25143ccc28bd13d85cd2c01cbb9ac6cf9be4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sat, 19 Feb 2022 08:20:25 -0500
|
||||
Subject: [PATCH 2/2] Add new mechanism to fake vendor props on a per-process
|
||||
@@ -11,10 +11,10 @@ then ro.product.device/ro.product.manufacturer is read from vendor
|
||||
1 file changed, 85 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libc/system_properties/system_properties.cpp b/libc/system_properties/system_properties.cpp
|
||||
index 1cb15c3df..057199318 100644
|
||||
index 9dd5e35ce..886bef127 100644
|
||||
--- a/libc/system_properties/system_properties.cpp
|
||||
+++ b/libc/system_properties/system_properties.cpp
|
||||
@@ -35,6 +35,8 @@
|
||||
@@ -36,6 +36,8 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
@@ -23,9 +23,9 @@ index 1cb15c3df..057199318 100644
|
||||
|
||||
#include <new>
|
||||
|
||||
@@ -50,6 +52,85 @@
|
||||
#define SERIAL_DIRTY(serial) ((serial)&1)
|
||||
@@ -53,6 +55,85 @@
|
||||
#define SERIAL_VALUE_LEN(serial) ((serial) >> 24)
|
||||
#define APPCOMPAT_PREFIX "ro.appcompat_override."
|
||||
|
||||
+static char comm[128];
|
||||
+static bool self_ok = false;
|
||||
@@ -109,7 +109,7 @@ index 1cb15c3df..057199318 100644
|
||||
static bool is_dir(const char* pathname) {
|
||||
struct stat info;
|
||||
if (stat(pathname, &info) == -1) {
|
||||
@@ -123,17 +204,19 @@ uint32_t SystemProperties::AreaSerial() {
|
||||
@@ -156,17 +237,19 @@ uint32_t SystemProperties::AreaSerial() {
|
||||
}
|
||||
|
||||
const prop_info* SystemProperties::Find(const char* name) {
|
||||
@@ -130,7 +130,7 @@ index 1cb15c3df..057199318 100644
|
||||
+ return pa->find(newName);
|
||||
}
|
||||
|
||||
static bool is_read_only(const char* name) {
|
||||
static bool is_appcompat_override(const char* name) {
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6b118b279359ded66d661bd5504cfa8a9759b4e2 Mon Sep 17 00:00:00 2001
|
||||
From fe82aa41e542f4da2709976cda0713dfa089cc1d Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 12 Sep 2019 20:31:07 +0200
|
||||
Subject: [PATCH] Don't reboot if we couldn't get bootctrl
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
From 7a3067d35183c2b6ceac06dcaecd81c55bd58494 Mon Sep 17 00:00:00 2001
|
||||
From 948c7a611e69510c38d593bb581cc1c21d080682 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 6 Oct 2023 19:11:22 -0400
|
||||
Subject: [PATCH 3/4] Include vndk v28 sepolicy support
|
||||
Subject: [PATCH 1/2] Include vndk v28 sepolicy support
|
||||
|
||||
---
|
||||
core/config.mk | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/core/config.mk b/core/config.mk
|
||||
index 8f7af0512a..f693461f61 100644
|
||||
index 19308d7f22..369940845e 100644
|
||||
--- a/core/config.mk
|
||||
+++ b/core/config.mk
|
||||
@@ -916,6 +916,7 @@ endif
|
||||
@@ -932,6 +932,7 @@ endif
|
||||
|
||||
# A list of SEPolicy versions, besides PLATFORM_SEPOLICY_VERSION, that the framework supports.
|
||||
PLATFORM_SEPOLICY_COMPAT_VERSIONS := \
|
||||
PLATFORM_SEPOLICY_COMPAT_VERSIONS := $(filter-out $(PLATFORM_SEPOLICY_VERSION), \
|
||||
+ 28.0 \
|
||||
29.0 \
|
||||
30.0 \
|
||||
@@ -1,34 +0,0 @@
|
||||
From 4ec43947116f793a592988b91389132b22bf1fb2 Mon Sep 17 00:00:00 2001
|
||||
From: sooti <sooti85@gmail.com>
|
||||
Date: Tue, 12 Oct 2021 14:32:52 +0300
|
||||
Subject: [PATCH 1/4] build: remove emulator crap from GSI
|
||||
|
||||
Change-Id: Id45f3ff1d31e3d4492f956e68a1eb4b2fb82ce63
|
||||
---
|
||||
target/product/emulator_vendor.mk | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/target/product/emulator_vendor.mk b/target/product/emulator_vendor.mk
|
||||
index f71b275b0e..62984253f3 100644
|
||||
--- a/target/product/emulator_vendor.mk
|
||||
+++ b/target/product/emulator_vendor.mk
|
||||
@@ -28,7 +28,7 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS := device/generic/goldfish/overlay
|
||||
|
||||
-PRODUCT_CHARACTERISTICS := emulator
|
||||
+# PRODUCT_CHARACTERISTICS := emulator
|
||||
|
||||
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||
|
||||
@@ -48,5 +48,5 @@ PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
ro.com.google.locationfeatures=1
|
||||
|
||||
# disable setupwizard
|
||||
-PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
- ro.setupwizard.mode?=DISABLED
|
||||
+# PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
+# ro.setupwizard.mode?=DISABLED
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 6b27f2fd5851e7b9ac30922640b480282252a8c7 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Ponces <ponces26@gmail.com>
|
||||
Date: Mon, 18 Oct 2021 17:20:18 +0100
|
||||
Subject: [PATCH 2/4] build: Bypass vendor calls
|
||||
|
||||
Change-Id: I69830d6264356dadd7b037553a899a4eb3d211f1
|
||||
---
|
||||
target/product/aosp_arm64.mk | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk
|
||||
index 6c907db0ed..0adced1672 100644
|
||||
--- a/target/product/aosp_arm64.mk
|
||||
+++ b/target/product/aosp_arm64.mk
|
||||
@@ -54,9 +54,9 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
|
||||
#
|
||||
# All components inherited here go to vendor or vendor_boot image
|
||||
#
|
||||
-$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk)
|
||||
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
|
||||
-$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk)
|
||||
+#$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk)
|
||||
+#$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
|
||||
+#$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk)
|
||||
|
||||
#
|
||||
# Special settings for GSI releasing
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 8c802e0a41a2a54d6ed53f3b7e60de307469f628 Mon Sep 17 00:00:00 2001
|
||||
From 7675f6e75fbc4f5c9eb2d77602f8f3d72cd59706 Mon Sep 17 00:00:00 2001
|
||||
From: Adithya R <gh0strider.2k18.reborn@gmail.com>
|
||||
Date: Thu, 18 Aug 2022 21:29:34 +0530
|
||||
Subject: [PATCH 4/4] core: sysprop: Write build display id to product prop
|
||||
Subject: [PATCH 2/2] core: sysprop: Write build display id to product prop
|
||||
|
||||
Some vendors override build id in odm or vendor, such as oplus.
|
||||
|
||||
@@ -11,7 +11,7 @@ Change-Id: I1c2de43ba7c3544710897ad9127d320dd02293fe
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/core/sysprop.mk b/core/sysprop.mk
|
||||
index d2551aa44d..f913d11743 100644
|
||||
index da8cdaff5e..678328d46d 100644
|
||||
--- a/core/sysprop.mk
|
||||
+++ b/core/sysprop.mk
|
||||
@@ -77,6 +77,9 @@ define generate-common-build-props
|
||||
@@ -23,7 +23,7 @@ index d2551aa44d..f913d11743 100644
|
||||
+ )\
|
||||
echo "ro.$(1).build.date=`$(DATE_FROM_FILE)`" >> $(2);\
|
||||
echo "ro.$(1).build.date.utc=`$(DATE_FROM_FILE) +%s`" >> $(2);\
|
||||
echo "ro.$(1).build.fingerprint=$(BUILD_FINGERPRINT_FROM_FILE)" >> $(2);\
|
||||
echo "ro.$(1).build.fingerprint?=$(BUILD_FINGERPRINT_FROM_FILE)" >> $(2);\
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From aa0cbcaebbaf0886abfd6bd97232798c7cb5be9b Mon Sep 17 00:00:00 2001
|
||||
From 3d471c1fbb11c1d0b15eadf53b1f201fee44f35f Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 9 Apr 2018 00:19:49 +0200
|
||||
Subject: [PATCH 01/10] Increase default log_level to get actual selinux error
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a88a863bdd7cee7e8d8a681d7f32d9ff6d0bc746 Mon Sep 17 00:00:00 2001
|
||||
From c401d3fca4a1783c9a84348e61a036c016b6e358 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 9 Sep 2020 22:36:42 +0200
|
||||
Subject: [PATCH 02/10] Revert "libsepol: Make an unknown permission an error
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 01034f4009d29c401d5f007f76044482c0ed8bd0 Mon Sep 17 00:00:00 2001
|
||||
From 561b2e69be86a1c40d402ba06e845546bade9b32 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 31 Mar 2021 23:32:37 +0200
|
||||
Subject: [PATCH 03/10] Workaround device/phh/treble conflict with SELinux
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 81fa34b00d80113ed4015b99dab093826c1acb89 Mon Sep 17 00:00:00 2001
|
||||
From 674bf16f42a5c64c8c4acd0a9c458f78fdef785e Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 6 Sep 2019 15:07:25 +0200
|
||||
Subject: [PATCH 04/10] Allow /devices/virtual/block/ genfscon conflict (seen
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0bc7791b9f1423f70c17b68dd7fb9d672b2bb924 Mon Sep 17 00:00:00 2001
|
||||
From e4a26d31aab7bb541e1f510c2b231da2345d8dd8 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 12 Sep 2019 20:37:04 +0200
|
||||
Subject: [PATCH 05/10] if service is "rcs", accept conflict. Seen on Moto E5
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From c4100e160008273781973b2098267e7d343b8956 Mon Sep 17 00:00:00 2001
|
||||
From b62703b28a22e12c2f7044abc74689109a88eca1 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 24 May 2020 17:22:22 +0200
|
||||
Subject: [PATCH 06/10] Allow mismatches of exfat genfscon
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 4c0afb19a2170e2cd9c4e2a1fdb48cdb16d4100e Mon Sep 17 00:00:00 2001
|
||||
From 51de18a6b0c861925c7b4eb5c64f631c90d3c0e7 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 25 Oct 2019 13:29:20 +0200
|
||||
Subject: [PATCH 07/10] Fix boot on Moto devices using unknown class
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 18cdd4e9ff37377b80f837c92026f1ce3514d074 Mon Sep 17 00:00:00 2001
|
||||
From 5ccb1dd0e78eeae1767febd733b9a0e9cd99e1a4 Mon Sep 17 00:00:00 2001
|
||||
From: ponces <ponces26@gmail.com>
|
||||
Date: Mon, 7 Nov 2022 16:14:20 +0000
|
||||
Subject: [PATCH 08/10] Improve SELinux policy workaround on device/phh/treble
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e62c978dbf5f214f392355a0d111adc772f10b60 Mon Sep 17 00:00:00 2001
|
||||
From a464342a983c1bbdfdc8fe50803a7e35659ecb22 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Thu, 20 Jul 2023 14:21:21 -0400
|
||||
Subject: [PATCH 09/10] Allow /sys/vm/watermark_scale_factor conflict -- seen
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From d69b637d22bd02e44ece4e68e53b9151dfda8247 Mon Sep 17 00:00:00 2001
|
||||
From fa8cc9f8c1fbdd902dbb6c9708e7e91f78defae9 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 6 Oct 2023 08:49:59 -0400
|
||||
Subject: [PATCH 10/10] Allow conflict on fuseblk
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a23cc54356f2fe9123e370bed82cad45d67eca9e Mon Sep 17 00:00:00 2001
|
||||
From 4edc031741505b06ea466479f419ec86cb04718f 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,12 +36,12 @@ 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 b3c68b58d3..470317cb3d 100644
|
||||
index 135548fb9c..fc99bdbd78 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
|
||||
@@ -689,6 +689,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
disconnectTelephonyAudioSource(mCallRxSourceClient);
|
||||
disconnectTelephonyAudioSource(mCallTxSourceClient);
|
||||
@@ -692,6 +692,17 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
ALOGV("%s device rxDevice %s txDevice %s", __func__,
|
||||
rxDevices.itemAt(0)->toString().c_str(), txSourceDevice->toString().c_str());
|
||||
|
||||
+ // release existing RX patch if any
|
||||
+ if (mCallRxPatch != 0) {
|
||||
@@ -57,7 +57,7 @@ index b3c68b58d3..470317cb3d 100644
|
||||
auto telephonyRxModule =
|
||||
mHwModules.getModuleForDeviceType(AUDIO_DEVICE_IN_TELEPHONY_RX, AUDIO_FORMAT_DEFAULT);
|
||||
auto telephonyTxModule =
|
||||
@@ -711,9 +722,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -714,9 +725,20 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
ALOGE("%s() no telephony Tx and/or RX device", __func__);
|
||||
return INVALID_OPERATION;
|
||||
}
|
||||
@@ -81,9 +81,9 @@ index b3c68b58d3..470317cb3d 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.
|
||||
@@ -730,7 +752,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
if (!createRxPatch) {
|
||||
muteWaitMs = setOutputDevices(mPrimaryOutput, rxDevices, true, delayMs);
|
||||
@@ -737,7 +759,14 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
}
|
||||
muteWaitMs = setOutputDevices(__func__, mPrimaryOutput, rxDevices, true, delayMs);
|
||||
} else { // create RX path audio patch
|
||||
- connectTelephonyRxAudioSource();
|
||||
+ if (property_get_int32("ro.vndk.version", 31) >= 31) {
|
||||
@@ -97,7 +97,7 @@ index b3c68b58d3..470317cb3d 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
|
||||
@@ -745,7 +774,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -752,7 +781,12 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
closeActiveClients(activeDesc);
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@ index b3c68b58d3..470317cb3d 100644
|
||||
}
|
||||
if (waitMs != nullptr) {
|
||||
*waitMs = muteWaitMs;
|
||||
@@ -753,6 +787,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
@@ -760,6 +794,36 @@ status_t AudioPolicyManager::updateCallRoutingInternal(
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ index b3c68b58d3..470317cb3d 100644
|
||||
bool AudioPolicyManager::isDeviceOfModule(
|
||||
const sp<DeviceDescriptor>& devDesc, const char *moduleId) const {
|
||||
sp<HwModule> module = mHwModules.getModuleFromName(moduleId);
|
||||
@@ -5034,83 +5098,101 @@ status_t AudioPolicyManager::createAudioPatchInternal(const struct audio_patch *
|
||||
@@ -5087,83 +5151,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 b3c68b58d3..470317cb3d 100644
|
||||
AUDIO_STREAM_PATCH;
|
||||
patchBuilder.addSource(srcMixPortConfig);
|
||||
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
index 863c785b08..41930138c4 100644
|
||||
index a1c8f6202c..ee1b595e30 100644
|
||||
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
|
||||
@@ -957,6 +957,9 @@ protected:
|
||||
@@ -964,6 +964,9 @@ protected:
|
||||
|
||||
SoundTriggerSessionCollection mSoundTriggerSessions;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f1a2ee42e286ea44030eea193d8abd2daf865cb5 Mon Sep 17 00:00:00 2001
|
||||
From 1a713e8b42c975a61e3751b4acf66732559c4152 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
|
||||
@@ -16,10 +16,10 @@ Change-Id: Ifea0f88276ec9a0811f3cb1973c4b06f2c82077b
|
||||
1 file changed, 93 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 3d5c1d2e42..5ca409cfe7 100644
|
||||
index 6f19a7a145..1ab472f396 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -663,6 +663,98 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
@@ -667,6 +667,98 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
return route;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ index 3d5c1d2e42..5ca409cfe7 100644
|
||||
template<>
|
||||
std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<ModuleTraits>(
|
||||
const xmlNode *cur, ModuleTraits::PtrSerializingCtx ctx)
|
||||
@@ -710,6 +802,7 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
@@ -714,6 +806,7 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
if (status != NO_ERROR) {
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 624156c029c11d97005c2f3212d3d67fb511ebfe Mon Sep 17 00:00:00 2001
|
||||
From 323d4a565abc38d9f32c4d77825f73ad0638cf1d 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,18 +11,18 @@ Change-Id: Iea6e1370780a1d16f728748d1d948d092532d8fe
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
|
||||
index ebe424ec25..ac1ba38db9 100644
|
||||
index 6acf0b6cae..8d0f3bdab7 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.cpp
|
||||
+++ b/services/camera/libcameraservice/CameraService.cpp
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <ctime>
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <sys/types.h>
|
||||
+#include <sys/wait.h>
|
||||
#include <inttypes.h>
|
||||
#include <pthread.h>
|
||||
#include <poll.h>
|
||||
@@ -154,6 +155,7 @@ static std::set<String8> sServiceErrorEventSet;
|
||||
@@ -153,6 +154,7 @@ static std::set<std::string> sServiceErrorEventSet;
|
||||
|
||||
CameraService::CameraService(
|
||||
std::shared_ptr<CameraServiceProxyWrapper> cameraServiceProxyWrapper) :
|
||||
@@ -30,7 +30,7 @@ index ebe424ec25..ac1ba38db9 100644
|
||||
mCameraServiceProxyWrapper(cameraServiceProxyWrapper == nullptr ?
|
||||
std::make_shared<CameraServiceProxyWrapper>() : cameraServiceProxyWrapper),
|
||||
mEventLog(DEFAULT_EVENT_LOG_LENGTH),
|
||||
@@ -2344,6 +2346,7 @@ Status CameraService::connectHelper(const sp<CALLBACK>& cameraCb, const String8&
|
||||
@@ -2628,6 +2630,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 ebe424ec25..ac1ba38db9 100644
|
||||
finishConnectLocked(client, partial, oomScoreOffset, systemNativeClient);
|
||||
}
|
||||
|
||||
@@ -2468,6 +2471,27 @@ status_t CameraService::addOfflineClient(String8 cameraId, sp<BasicClient> offli
|
||||
@@ -2754,6 +2757,27 @@ status_t CameraService::addOfflineClient(const std::string &cameraId,
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -63,25 +63,25 @@ index ebe424ec25..ac1ba38db9 100644
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
Status CameraService::turnOnTorchWithStrengthLevel(const String16& unresolvedCameraId,
|
||||
int32_t torchStrength,
|
||||
const sp<IBinder>& clientBinder) {
|
||||
@@ -3733,6 +3757,8 @@ binder::Status CameraService::BasicClient::disconnect() {
|
||||
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() {
|
||||
}
|
||||
mDisconnected = true;
|
||||
|
||||
+ sCameraService->physicalFrontCam(false);
|
||||
+
|
||||
sCameraService->removeByClient(this);
|
||||
sCameraService->logDisconnected(mCameraIdStr, mClientPid, String8(mClientPackageName));
|
||||
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 208138f4ab..4ac9362621 100644
|
||||
index 7dc0b91cc9..15ea8b9064 100644
|
||||
--- a/services/camera/libcameraservice/CameraService.h
|
||||
+++ b/services/camera/libcameraservice/CameraService.h
|
||||
@@ -252,6 +252,9 @@ public:
|
||||
@@ -271,6 +271,9 @@ public:
|
||||
// Register an offline client for a given active camera id
|
||||
status_t addOfflineClient(String8 cameraId, sp<BasicClient> offlineClient);
|
||||
status_t addOfflineClient(const std::string &cameraId, sp<BasicClient> offlineClient);
|
||||
|
||||
+ bool mPhysicalFrontCamStatus;
|
||||
+ void physicalFrontCam(bool on);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 205893589b67163df4b625e417a30b5e20a0197c Mon Sep 17 00:00:00 2001
|
||||
From 521e59e5aea2093c82a3ec3171725f49885a1c92 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
|
||||
@@ -14,7 +14,7 @@ Change-Id: I279fff541a531f922f3fa55b8f14d00237db59ff
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 5ca409cfe7..14b19e76ad 100644
|
||||
index 1ab472f396..29d36ca00b 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -25,7 +25,7 @@ index 5ca409cfe7..14b19e76ad 100644
|
||||
#include <utils/Log.h>
|
||||
#include <utils/StrongPointer.h>
|
||||
#include <utils/Errors.h>
|
||||
@@ -978,6 +979,30 @@ status_t PolicySerializer::deserialize(const char *configFile, AudioPolicyConfig
|
||||
@@ -988,6 +989,30 @@ status_t PolicySerializer::deserialize(const char *configFile, AudioPolicyConfig
|
||||
if (status != NO_ERROR) {
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 973d0264e4b10d1c30db4361b947378452c1d259 Mon Sep 17 00:00:00 2001
|
||||
From 7d9889aa8c86186b6d5d20b9f79a9cb755f7424a 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
|
||||
@@ -16,7 +16,7 @@ Change-Id: I3305594a17285da113167b419543543f0ef71122
|
||||
1 file changed, 22 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 14b19e76ad..b30ad7e8af 100644
|
||||
index 29d36ca00b..839974b9d3 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -40,7 +40,7 @@ index 14b19e76ad..b30ad7e8af 100644
|
||||
}
|
||||
}
|
||||
if (!xmlStrcmp(cur->name, reinterpret_cast<const xmlChar*>(Trait::tag))) {
|
||||
@@ -771,6 +769,7 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
@@ -775,6 +773,7 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
ALOGE("%s: No %s found", __func__, Attributes::name);
|
||||
return BAD_VALUE;
|
||||
}
|
||||
@@ -48,7 +48,7 @@ index 14b19e76ad..b30ad7e8af 100644
|
||||
uint32_t versionMajor = 0, versionMinor = 0;
|
||||
std::string versionLiteral = getXmlAttribute(cur, Attributes::version);
|
||||
if (!versionLiteral.empty()) {
|
||||
@@ -796,6 +795,25 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
@@ -800,6 +799,25 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
if (status != NO_ERROR) {
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 4166271097c272370d8079303e8a88a209fca163 Mon Sep 17 00:00:00 2001
|
||||
From e7aac58de94e2774f1e0d3c466fb4dafdd90feeb 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
|
||||
@@ -19,7 +19,7 @@ Change-Id: I993708b28e8404bc8c483d71a850ac69382231bd
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index b30ad7e8af..53fabcc71e 100644
|
||||
index 839974b9d3..21d3282134 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -593,6 +593,17 @@ std::variant<status_t, DevicePortTraits::Element> PolicySerializer::deserialize<
|
||||
@@ -40,16 +40,16 @@ index b30ad7e8af..53fabcc71e 100644
|
||||
template<>
|
||||
std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<RouteTraits>(
|
||||
const xmlNode *cur, RouteTraits::PtrSerializingCtx ctx)
|
||||
@@ -640,6 +651,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
@@ -642,6 +653,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
while (devTag != NULL) {
|
||||
if (strlen(devTag) != 0) {
|
||||
sp<PolicyAudioPort> source = ctx->findPortByTagName(devTag);
|
||||
+ if (source == NULL) {
|
||||
+ source = ctx->findPortByTagName(trim(devTag));
|
||||
+ }
|
||||
if (source == NULL && !mIgnoreVendorExtensions) {
|
||||
ALOGE("%s: no source found with name=%s", __func__, devTag);
|
||||
return BAD_VALUE;
|
||||
+ }
|
||||
if (source == NULL) {
|
||||
if (!mIgnoreVendorExtensions) {
|
||||
ALOGE("%s: no source found with name \"%s\"", __func__, devTag);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From bcedbc8066a041ae996960642cee0c41390a0603 Mon Sep 17 00:00:00 2001
|
||||
From 37cd5e07843175c9d4aa5df2f11e2e00f01e378c 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 fac6e4e189..0ec647a941 100644
|
||||
index 1ba3de49a2..3fffb03da8 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -38,6 +38,7 @@
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <functional>
|
||||
#include <camera_metadata_hidden.h>
|
||||
#include <android-base/parseint.h>
|
||||
@@ -22,7 +22,7 @@ index fac6e4e189..0ec647a941 100644
|
||||
#include <android-base/logging.h>
|
||||
#include <cutils/properties.h>
|
||||
#include <hwbinder/IPCThreadState.h>
|
||||
@@ -215,6 +216,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds(std::unordere
|
||||
@@ -261,6 +262,15 @@ std::vector<std::string> CameraProviderManager::getCameraDeviceIds(std::unordere
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@ index fac6e4e189..0ec647a941 100644
|
||||
return deviceIds;
|
||||
}
|
||||
|
||||
@@ -281,6 +291,18 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
@@ -327,6 +337,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());
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 39d57b92989f1c50c144fe2084a82b8b2b84d5e4 Mon Sep 17 00:00:00 2001
|
||||
From 9b1b33604d6e17d5b2f2bfccf2a1eac5f8b1334e 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,7 +10,7 @@ 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 5f14ee4623..166ab7acbb 100644
|
||||
index cb45f5438b..ffefd5fa32 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,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6ce29da63cd824516e7472706e78e0f9704e9453 Mon Sep 17 00:00:00 2001
|
||||
From 39b141bbcbcef2edb0837ca8b6e89330a48b5e94 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,22 +11,22 @@ 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 a45365ad53..25fd8451a9 100644
|
||||
index 4883a09f37..080ccf646d 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -175,6 +175,7 @@ cc_library_shared {
|
||||
"android.hardware.camera.device@3.6",
|
||||
"android.hardware.camera.device@3.7",
|
||||
"android.hardware.camera.device-V2-ndk",
|
||||
@@ -107,6 +107,7 @@ cc_defaults {
|
||||
"android.hardware.camera.provider@2.6",
|
||||
"android.hardware.camera.provider@2.7",
|
||||
"android.hardware.camera.provider-V3-ndk",
|
||||
+ "vendor.samsung.hardware.camera.provider@3.0",
|
||||
"media_permission-aidl-cpp",
|
||||
],
|
||||
|
||||
"libaidlcommonsupport",
|
||||
"libbinderthreadstateutils",
|
||||
"libcameraservice_device_independent",
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index 8ff5c3fb01..d498ecbee5 100644
|
||||
index d2643c1e13..71aabc14b3 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <utils/Trace.h>
|
||||
|
||||
#include <android/hardware/camera/device/3.7/ICameraDevice.h>
|
||||
@@ -34,7 +34,7 @@ index 8ff5c3fb01..d498ecbee5 100644
|
||||
|
||||
namespace {
|
||||
const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false));
|
||||
@@ -134,6 +135,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -136,6 +137,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
mMinorVersion = 6;
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,7 @@ index 8ff5c3fb01..d498ecbee5 100644
|
||||
// We need to check again since cast2_6.isOk() succeeds even if the provider
|
||||
// version isn't actually 2.6.
|
||||
if (interface2_6 == nullptr){
|
||||
@@ -170,6 +172,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -172,6 +174,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
return mapToStatusT(status);
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ index 8ff5c3fb01..d498ecbee5 100644
|
||||
hardware::Return<bool> linked = interface->linkToDeath(this, /*cookie*/ mId);
|
||||
if (!linked.isOk()) {
|
||||
ALOGE("%s: Transaction error in linking to camera provider '%s' death: %s",
|
||||
@@ -200,7 +205,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -202,7 +207,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
|
||||
// Get initial list of camera devices, if any
|
||||
std::vector<std::string> devices;
|
||||
@@ -61,7 +61,7 @@ index 8ff5c3fb01..d498ecbee5 100644
|
||||
Status idStatus,
|
||||
const hardware::hidl_vec<hardware::hidl_string>& cameraDeviceNames) {
|
||||
status = idStatus;
|
||||
@@ -217,7 +222,12 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -219,7 +224,12 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
mProviderPublicCameraIds.push_back(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 603a86094ca5d2daf1c28ce6ee72110f13526c7f Mon Sep 17 00:00:00 2001
|
||||
From 924c9942ae267e00676623718996f34478a9e541 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 54176f9a96..81a1faca83 100644
|
||||
index bdf77993ea..44394ac6ff 100644
|
||||
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
|
||||
@@ -211,8 +211,16 @@ status_t Camera3Device::initializeCommonLocked() {
|
||||
@@ -218,8 +218,16 @@ status_t Camera3Device::initializeCommonLocked() {
|
||||
mTimestampOffset = getMonoToBoottimeOffset();
|
||||
camera_metadata_entry timestampSource =
|
||||
mDeviceInfo.find(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ffca95eba859a2b763b6d2b7221bc96aeeef764b Mon Sep 17 00:00:00 2001
|
||||
From 2770f16ee043c697256171eef02146114ce70890 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
|
||||
@@ -16,7 +16,7 @@ Change-Id: I4a88ba6d34d0fcd346eeea2ca903772f0271040a
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 53fabcc71e..83eafc2f79 100644
|
||||
index 21d3282134..6ee076660b 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -416,23 +416,32 @@ std::variant<status_t, AudioGainTraits::Element> PolicySerializer::deserialize<A
|
||||
@@ -67,7 +67,7 @@ index 53fabcc71e..83eafc2f79 100644
|
||||
if (status != NO_ERROR) {
|
||||
return status;
|
||||
}
|
||||
@@ -882,6 +895,14 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
@@ -892,6 +905,14 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0066e121e5d68b9dcd5b288c1cb94ef41a8cb66c Mon Sep 17 00:00:00 2001
|
||||
From 74fbe339a37e281023053dc2ede79568b6d3b280 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.
|
||||
@@ -11,10 +11,10 @@ Change-Id: I794fe22d63a8af705be4f5f09b9879ecaab3eae5
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/engine/common/src/EngineBase.cpp b/services/audiopolicy/engine/common/src/EngineBase.cpp
|
||||
index 218aff80e6..c7ea035191 100644
|
||||
index e259e6e048..abd8786b4a 100644
|
||||
--- a/services/audiopolicy/engine/common/src/EngineBase.cpp
|
||||
+++ b/services/audiopolicy/engine/common/src/EngineBase.cpp
|
||||
@@ -245,9 +245,9 @@ engineConfig::ParsingResult EngineBase::processParsingResult(
|
||||
@@ -264,9 +264,9 @@ engineConfig::ParsingResult EngineBase::processParsingResult(
|
||||
}
|
||||
if (group.stream != AUDIO_STREAM_DEFAULT) {
|
||||
// A legacy stream can be assigned once to a volume group
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e06b7885df0180f6e270ed31e095bda0622e217e Mon Sep 17 00:00:00 2001
|
||||
From f455aa5e0d283d4a0f06869f3f7acdeb2b7ffc4e 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 0ec647a941..bba0fedaea 100644
|
||||
index 3fffb03da8..ab6cb6bd57 100644
|
||||
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
|
||||
@@ -265,7 +265,9 @@ std::vector<std::string> CameraProviderManager::getAPI1CompatibleCameraDeviceIds
|
||||
@@ -311,7 +311,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 0ec647a941..bba0fedaea 100644
|
||||
collectDeviceIdsLocked(providerDeviceIds, publicDeviceIds, systemDeviceIds);
|
||||
}
|
||||
auto sortFunc =
|
||||
@@ -997,10 +999,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
@@ -1108,10 +1110,12 @@ SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCame
|
||||
|
||||
// Go through the capabilities and check if it has
|
||||
// ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6ef49b5b9ad8c15081a18b4b7ad06112ff784993 Mon Sep 17 00:00:00 2001
|
||||
From 665d173a566745531c3568e958079fabdd4aa857 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,22 +10,22 @@ 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 25fd8451a9..3136bbd30f 100644
|
||||
index 080ccf646d..1ece884867 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -176,6 +176,7 @@ cc_library_shared {
|
||||
"android.hardware.camera.device@3.7",
|
||||
"android.hardware.camera.device-V2-ndk",
|
||||
@@ -108,6 +108,7 @@ cc_defaults {
|
||||
"android.hardware.camera.provider@2.7",
|
||||
"android.hardware.camera.provider-V3-ndk",
|
||||
"vendor.samsung.hardware.camera.provider@3.0",
|
||||
+ "vendor.samsung.hardware.camera.provider@4.0",
|
||||
"media_permission-aidl-cpp",
|
||||
],
|
||||
|
||||
"libaidlcommonsupport",
|
||||
"libbinderthreadstateutils",
|
||||
"libcameraservice_device_independent",
|
||||
diff --git a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
index d498ecbee5..587d3eeda7 100644
|
||||
index 71aabc14b3..aefd6c3d4f 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include <android/hardware/camera/device/3.7/ICameraDevice.h>
|
||||
#include <vendor/samsung/hardware/camera/provider/3.0/ISehCameraProvider.h>
|
||||
@@ -33,7 +33,7 @@ index d498ecbee5..587d3eeda7 100644
|
||||
|
||||
namespace {
|
||||
const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false));
|
||||
@@ -173,7 +174,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -175,7 +176,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
}
|
||||
|
||||
auto samsungCast = vendor::samsung::hardware::camera::provider::V3_0::ISehCameraProvider::castFrom(interface);
|
||||
@@ -43,7 +43,7 @@ index d498ecbee5..587d3eeda7 100644
|
||||
|
||||
hardware::Return<bool> linked = interface->linkToDeath(this, /*cookie*/ mId);
|
||||
if (!linked.isOk()) {
|
||||
@@ -211,6 +214,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -213,6 +216,7 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
status = idStatus;
|
||||
if (status == Status::OK) {
|
||||
for (auto& name : cameraDeviceNames) {
|
||||
@@ -51,7 +51,7 @@ index d498ecbee5..587d3eeda7 100644
|
||||
uint16_t major, minor;
|
||||
std::string type, id;
|
||||
status_t res = parseDeviceName(name, &major, &minor, &type, &id);
|
||||
@@ -224,7 +228,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
@@ -226,7 +230,9 @@ status_t HidlProviderInfo::initializeHidlProvider(
|
||||
}
|
||||
} };
|
||||
hardware::Return<void> ret;
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 82c8c088952068c4d157839aac4011e943e0aa6a Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Tue, 23 Mar 2021 00:16:42 +0100
|
||||
Subject: [PATCH 15/24] Don't crash on unknown audio devices
|
||||
|
||||
Change-Id: I2df8d88f742da6a84aa8888cdf19de25444de919
|
||||
---
|
||||
.../audiopolicy/common/managerdefinitions/src/Serializer.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 83eafc2f79..91fc5f57da 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -867,7 +867,7 @@ std::variant<status_t, ModuleTraits::Element> PolicySerializer::deserialize<Modu
|
||||
sp<DeviceDescriptor> device = module->getDeclaredDevices().
|
||||
getDeviceFromTagName(std::string(reinterpret_cast<const char*>(
|
||||
attachedDevice.get())));
|
||||
- if (device == nullptr && mIgnoreVendorExtensions) {
|
||||
+ if (device == nullptr) {
|
||||
ALOGW("Skipped attached device \"%s\" because it likely uses a vendor"
|
||||
"extension type",
|
||||
reinterpret_cast<const char*>(attachedDevice.get()));
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 127db05e06dd0963bc883c86ffd44425a3011900 Mon Sep 17 00:00:00 2001
|
||||
From 4e599885f71f64964ede94de8a4d9bc01a6f882f 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 16/24] Not all sources in a route are valid. Dont ignore the
|
||||
Subject: [PATCH 15/24] Not all sources in a route are valid. Dont ignore the
|
||||
whole route because of one broken source
|
||||
|
||||
Change-Id: If8a51740e71bef3a4738262ad7b43a337b0ec36d
|
||||
@@ -10,18 +10,18 @@ Change-Id: If8a51740e71bef3a4738262ad7b43a337b0ec36d
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 91fc5f57da..d2fcc13b00 100644
|
||||
index 6ee076660b..146c78b8f6 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -667,7 +667,7 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
if (source == NULL) {
|
||||
@@ -670,7 +670,7 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
source = ctx->findPortByTagName(trim(devTag));
|
||||
}
|
||||
- if (source == NULL && !mIgnoreVendorExtensions) {
|
||||
+ if (source == NULL && false) {
|
||||
ALOGE("%s: no source found with name=%s", __func__, devTag);
|
||||
return BAD_VALUE;
|
||||
} else if (source == NULL) {
|
||||
}
|
||||
if (source == NULL) {
|
||||
- if (!mIgnoreVendorExtensions) {
|
||||
+ if (false && !mIgnoreVendorExtensions) {
|
||||
ALOGE("%s: no source found with name \"%s\"", __func__, devTag);
|
||||
return BAD_VALUE;
|
||||
} else {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 5126e56dfe7f129e73991697008b826e5e55fe24 Mon Sep 17 00:00:00 2001
|
||||
From b91e6acca8daa1ea9372cc74f9da70f0a9c196ec 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 17/24] Use a fake volume policy when none has been found
|
||||
Subject: [PATCH 16/24] Use a fake volume policy when none has been found
|
||||
|
||||
This is useful, because on Samsung devices, the "real"
|
||||
(=non-gsi-cheating) audio policy doesn't have any volume policy.
|
||||
@@ -1,7 +1,7 @@
|
||||
From a0f9fc2e8b386ee9e3c1064bfb076306e901f187 Mon Sep 17 00:00:00 2001
|
||||
From eb45c9ea30fbf316b31002f0ad5f14f5db4609f2 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 18/24] Revert "Remove support for audio HAL V2 from the
|
||||
Subject: [PATCH 17/24] Revert "Remove support for audio HAL V2 from the
|
||||
framework"
|
||||
|
||||
This reverts commit cbf517f837f7bf8a59f3ff8aa1e0e3e19612e251.
|
||||
@@ -51,7 +51,7 @@ index f88915d7f4..24e5adbae3 100644
|
||||
|
||||
static const std::map<AudioHalVersionInfo::Type, InterfaceName> sDevicesHALInterfaces = {
|
||||
diff --git a/media/libaudiohal/impl/Android.bp b/media/libaudiohal/impl/Android.bp
|
||||
index 16893655f0..1271756bd1 100644
|
||||
index fb1cc34932..61611965df 100644
|
||||
--- a/media/libaudiohal/impl/Android.bp
|
||||
+++ b/media/libaudiohal/impl/Android.bp
|
||||
@@ -82,6 +82,32 @@ cc_defaults {
|
||||
@@ -88,10 +88,10 @@ index 16893655f0..1271756bd1 100644
|
||||
name: "libaudiohal@4.0",
|
||||
defaults: [
|
||||
diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp
|
||||
index 0d71fd338c..c228bf7a6f 100644
|
||||
index af5d4bdea0..2f3c6bf390 100644
|
||||
--- a/media/libaudiohal/impl/DeviceHalHidl.cpp
|
||||
+++ b/media/libaudiohal/impl/DeviceHalHidl.cpp
|
||||
@@ -577,6 +577,7 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool
|
||||
@@ -587,6 +587,7 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool
|
||||
// call is successful. Also remove the cache here to avoid a large cache after a long run.
|
||||
return NO_ERROR;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ index 0d71fd338c..c228bf7a6f 100644
|
||||
#if MAJOR_VERSION == 7 && MINOR_VERSION == 1
|
||||
if (supportsSetConnectedState7_1) {
|
||||
AudioPort hidlPort;
|
||||
@@ -599,11 +600,17 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool
|
||||
@@ -609,11 +610,17 @@ status_t DeviceHalHidl::setConnectedState(const struct audio_port_v7 *port, bool
|
||||
return result;
|
||||
}
|
||||
return processReturn("setConnectedState", mDevice->setConnectedState(hidlAddress, connected));
|
||||
@@ -117,7 +117,7 @@ index 0d71fd338c..c228bf7a6f 100644
|
||||
audio_hw_sync_t value;
|
||||
Result result;
|
||||
Return<void> ret = mDevice->getHwAvSync([&value, &result](Result r, audio_hw_sync_t v) {
|
||||
@@ -612,6 +619,9 @@ error::Result<audio_hw_sync_t> DeviceHalHidl::getHwAvSync() {
|
||||
@@ -622,6 +629,9 @@ error::Result<audio_hw_sync_t> DeviceHalHidl::getHwAvSync() {
|
||||
});
|
||||
RETURN_IF_ERROR(processReturn("getHwAvSync", ret, result));
|
||||
return value;
|
||||
@@ -1,7 +1,7 @@
|
||||
From 217bd49b1255e5a98e3c9dc0db3f0be15e395b8c Mon Sep 17 00:00:00 2001
|
||||
From 35dc2d2da3770e5d5ceb13efa54a71b185284838 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 19/24] Add a prop to change Samsung flash strength
|
||||
Subject: [PATCH 18/24] Add a prop to change Samsung flash strength
|
||||
|
||||
---
|
||||
services/camera/libcameraservice/Android.bp | 2 ++
|
||||
@@ -9,23 +9,23 @@ Subject: [PATCH 19/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 3136bbd30f..7ef870c1eb 100644
|
||||
index 1ece884867..6599763814 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -177,6 +177,8 @@ cc_library_shared {
|
||||
"android.hardware.camera.device-V2-ndk",
|
||||
"vendor.samsung.hardware.camera.provider@3.0",
|
||||
"vendor.samsung.hardware.camera.provider@4.0",
|
||||
@@ -83,6 +83,8 @@ cc_defaults {
|
||||
"android.hardware.camera.device@3.5",
|
||||
"android.hardware.camera.device@3.6",
|
||||
"android.hardware.camera.device@3.7",
|
||||
+ "vendor.samsung.hardware.camera.device@5.0",
|
||||
+ "vendor.samsung.hardware.camera.device@4.0",
|
||||
"media_permission-aidl-cpp",
|
||||
],
|
||||
|
||||
"android.hardware.common-V2-ndk",
|
||||
"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 587d3eeda7..a345d6a2bf 100644
|
||||
index aefd6c3d4f..2412f82c37 100644
|
||||
--- a/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/hidl/HidlProviderInfo.cpp
|
||||
@@ -29,6 +29,8 @@
|
||||
@@ -30,6 +30,8 @@
|
||||
#include <android/hardware/camera/device/3.7/ICameraDevice.h>
|
||||
#include <vendor/samsung/hardware/camera/provider/3.0/ISehCameraProvider.h>
|
||||
#include <vendor/samsung/hardware/camera/provider/4.0/ISehCameraProvider.h>
|
||||
@@ -34,7 +34,7 @@ index 587d3eeda7..a345d6a2bf 100644
|
||||
|
||||
namespace {
|
||||
const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false));
|
||||
@@ -783,7 +785,23 @@ HidlProviderInfo::HidlDeviceInfo3::HidlDeviceInfo3(
|
||||
@@ -804,7 +806,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();
|
||||
@@ -1,14 +1,14 @@
|
||||
From 35e06c722ccee32176fe646dd8e59940df9a83ba Mon Sep 17 00:00:00 2001
|
||||
From 549f75e70fdc11d688bbb1df9f326a46f9000953 Mon Sep 17 00:00:00 2001
|
||||
From: ponces <ponces26@gmail.com>
|
||||
Date: Mon, 24 Oct 2022 09:38:34 +0100
|
||||
Subject: [PATCH 20/24] voip: Fix high pitched voice on Qualcomm devices
|
||||
Subject: [PATCH 19/24] voip: Fix high pitched voice on Qualcomm devices
|
||||
|
||||
---
|
||||
.../common/managerdefinitions/src/Serializer.cpp | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index d2fcc13b00..fc6cc72c1c 100644
|
||||
index 146c78b8f6..b9f71cc42b 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -252,6 +252,7 @@ private:
|
||||
@@ -0,0 +1,40 @@
|
||||
From 3eb988f5a5eba090129128fd88d518ca2f445a77 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
|
||||
some Exynos devices
|
||||
|
||||
This should fix https://github.com/phhusson/treble_experimentations/issues/2021 and https://github.com/phhusson/treble_experimentations/issues/2384.
|
||||
Credits to @haridhayal11.
|
||||
---
|
||||
.../common/managerdefinitions/src/Serializer.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index b9f71cc42b..77a96b47a4 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -662,6 +662,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
}
|
||||
route->setSink(sink);
|
||||
|
||||
+ // This fixes broken mic while video record on some Exynos devices
|
||||
+ bool disableBackMic = property_get_bool("persist.sys.phh.disable_back_mic", false);
|
||||
+
|
||||
std::string sourcesAttr = getXmlAttribute(cur, Attributes::sources);
|
||||
if (sourcesAttr.empty()) {
|
||||
ALOGE("%s: No %s found", __func__, Attributes::sources);
|
||||
@@ -678,6 +681,10 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
if (source == NULL) {
|
||||
source = ctx->findPortByTagName(trim(devTag));
|
||||
}
|
||||
+ if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) {
|
||||
+ ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag);
|
||||
+ source = NULL;
|
||||
+ }
|
||||
if (source == NULL) {
|
||||
if (false && !mIgnoreVendorExtensions) {
|
||||
ALOGE("%s: no source found with name \"%s\"", __func__, devTag);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 7e954a9afe0ab43a7f3b2eb0ad9b58b338e5e0ce Mon Sep 17 00:00:00 2001
|
||||
From a2e4a50178fd41f0cb039373af1a4a3169d77386 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 22/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio
|
||||
Subject: [PATCH 21/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio
|
||||
policies, when CPU can't really handle that kind of load
|
||||
|
||||
---
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH 22/24] Add a prop to disable AUDIO_OUTPUT_FLAG_FAST from audio
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 8b3a1f0e4f..913cbc0e90 100644
|
||||
index 77a96b47a4..26edcaa1c4 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -504,6 +504,10 @@ std::variant<status_t, MixPortTraits::Element> PolicySerializer::deserialize<Mix
|
||||
@@ -1,64 +0,0 @@
|
||||
From 151098b94d9a2b3d0ae30f825a52d479172bbde1 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Ponces <ponces26@gmail.com>
|
||||
Date: Sun, 30 Apr 2023 23:29:04 +0100
|
||||
Subject: [PATCH 21/24] audiopolicy: Fix broken mic while video recording on
|
||||
some Exynos devices This should fix
|
||||
https://github.com/phhusson/treble_experimentations/issues/2021 and
|
||||
https://github.com/phhusson/treble_experimentations/issues/2384. Credits to
|
||||
@haridhayal11.
|
||||
|
||||
---
|
||||
.../managerdefinitions/src/Serializer.cpp | 29 ++++++++++++-------
|
||||
1 file changed, 18 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index fc6cc72c1c..8b3a1f0e4f 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -660,6 +660,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
}
|
||||
route->setSink(sink);
|
||||
|
||||
+ // This fixes broken mic while video record on some Exynos devices
|
||||
+ bool disableBackMic = property_get_bool("persist.sys.phh.disable_back_mic", false);
|
||||
+
|
||||
std::string sourcesAttr = getXmlAttribute(cur, Attributes::sources);
|
||||
if (sourcesAttr.empty()) {
|
||||
ALOGE("%s: No %s found", __func__, Attributes::sources);
|
||||
@@ -672,18 +675,22 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
char *devTag = strtok(sourcesLiteral.get(), ",");
|
||||
while (devTag != NULL) {
|
||||
if (strlen(devTag) != 0) {
|
||||
- sp<PolicyAudioPort> source = ctx->findPortByTagName(devTag);
|
||||
- if (source == NULL) {
|
||||
- source = ctx->findPortByTagName(trim(devTag));
|
||||
- }
|
||||
- if (source == NULL && false) {
|
||||
- ALOGE("%s: no source found with name=%s", __func__, devTag);
|
||||
- return BAD_VALUE;
|
||||
- } else if (source == NULL) {
|
||||
- ALOGW("Skipping route source \"%s\" as it likely has vendor extension type",
|
||||
- devTag);
|
||||
+ if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) {
|
||||
+ ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag);
|
||||
} else {
|
||||
- sources.add(source);
|
||||
+ sp<PolicyAudioPort> source = ctx->findPortByTagName(devTag);
|
||||
+ if (source == NULL) {
|
||||
+ source = ctx->findPortByTagName(trim(devTag));
|
||||
+ }
|
||||
+ if (source == NULL && false) {
|
||||
+ ALOGE("%s: no source found with name=%s", __func__, devTag);
|
||||
+ return BAD_VALUE;
|
||||
+ } else if (source == NULL) {
|
||||
+ ALOGW("Skipping route source \"%s\" as it likely has vendor extension type",
|
||||
+ devTag);
|
||||
+ } else {
|
||||
+ sources.add(source);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
devTag = strtok(NULL, ",");
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
From e19f041d8f670730392fa3c8d792133687216057 Mon Sep 17 00:00:00 2001
|
||||
From 400c8f19e138e8013518f179818dccff84b1b90f Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Ponces <ponces26@gmail.com>
|
||||
Date: Sun, 5 Nov 2023 15:18:03 +0000
|
||||
Subject: [PATCH 23/24] Add a prop to fix echo on incoming or outgoing calls
|
||||
Subject: [PATCH 22/24] Add a prop to fix echo on incoming or outgoing calls
|
||||
|
||||
May even fix audio calls altogether.
|
||||
|
||||
Change-Id: I3a05608ad7b3f0876160d5f6a12b7c529b8f0961
|
||||
---
|
||||
.../common/managerdefinitions/src/Serializer.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
.../common/managerdefinitions/src/Serializer.cpp | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
index 913cbc0e90..6bf5d14c3c 100644
|
||||
index 26edcaa1c4..059e4adfa1 100644
|
||||
--- a/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
+++ b/services/audiopolicy/common/managerdefinitions/src/Serializer.cpp
|
||||
@@ -667,6 +667,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
@@ -669,6 +669,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
// This fixes broken mic while video record on some Exynos devices
|
||||
bool disableBackMic = property_get_bool("persist.sys.phh.disable_back_mic", false);
|
||||
|
||||
@@ -24,16 +24,23 @@ index 913cbc0e90..6bf5d14c3c 100644
|
||||
std::string sourcesAttr = getXmlAttribute(cur, Attributes::sources);
|
||||
if (sourcesAttr.empty()) {
|
||||
ALOGE("%s: No %s found", __func__, Attributes::sources);
|
||||
@@ -681,6 +684,9 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
if (strlen(devTag) != 0) {
|
||||
@@ -685,10 +688,16 @@ std::variant<status_t, RouteTraits::Element> PolicySerializer::deserialize<Route
|
||||
if (source == NULL) {
|
||||
source = ctx->findPortByTagName(trim(devTag));
|
||||
}
|
||||
+
|
||||
if (disableBackMic && strcmp(devTag, "Built-In Back Mic") == 0) {
|
||||
ALOGW("Skipping route source \"%s\" as it breaks video recording mic", devTag);
|
||||
source = NULL;
|
||||
+ } else if (disableVoiceCallIn && strcmp(devTag, "Voice Call In") == 0 &&
|
||||
+ (sinkAttr == "voice tx" || sinkAttr == "voice_tx")) {
|
||||
+ ALOGW("Skipping route source \"%s\" as it breaks audio on calls", devTag);
|
||||
} else {
|
||||
sp<PolicyAudioPort> source = ctx->findPortByTagName(devTag);
|
||||
if (source == NULL) {
|
||||
+ source = NULL;
|
||||
}
|
||||
+
|
||||
if (source == NULL) {
|
||||
if (false && !mIgnoreVendorExtensions) {
|
||||
ALOGE("%s: no source found with name \"%s\"", __func__, devTag);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From d780d481954070610f88fa7aa35ed1581374ea98 Mon Sep 17 00:00:00 2001
|
||||
From e4ec1cdfa0672fb9837e9b9ed843261c01eff535 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 24/24] Include Samsung AIDL camera ids
|
||||
Subject: [PATCH 23/24] Include Samsung AIDL camera ids
|
||||
|
||||
---
|
||||
services/camera/libcameraservice/Android.bp | 1 +
|
||||
@@ -9,22 +9,22 @@ Subject: [PATCH 24/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 7ef870c1eb..43a1ebd8ee 100644
|
||||
index 6599763814..d5957fc7cc 100644
|
||||
--- a/services/camera/libcameraservice/Android.bp
|
||||
+++ b/services/camera/libcameraservice/Android.bp
|
||||
@@ -179,6 +179,7 @@ cc_library_shared {
|
||||
@@ -111,6 +111,7 @@ cc_defaults {
|
||||
"android.hardware.camera.provider-V3-ndk",
|
||||
"vendor.samsung.hardware.camera.provider@3.0",
|
||||
"vendor.samsung.hardware.camera.provider@4.0",
|
||||
"vendor.samsung.hardware.camera.device@5.0",
|
||||
"vendor.samsung.hardware.camera.device@4.0",
|
||||
+ "vendor.samsung.hardware.camera.provider-V1-ndk",
|
||||
"media_permission-aidl-cpp",
|
||||
],
|
||||
|
||||
"libaidlcommonsupport",
|
||||
"libbinderthreadstateutils",
|
||||
"libcameraservice_device_independent",
|
||||
diff --git a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
|
||||
index b18cbd41a4..9ea1bee67d 100644
|
||||
index d773af3e9a..99ddcc129b 100644
|
||||
--- a/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
|
||||
+++ b/services/camera/libcameraservice/common/aidl/AidlProviderInfo.cpp
|
||||
@@ -28,6 +28,8 @@
|
||||
@@ -30,6 +30,8 @@
|
||||
#include <utils/SessionConfigurationUtils.h>
|
||||
#include <utils/Trace.h>
|
||||
|
||||
@@ -33,7 +33,7 @@ index b18cbd41a4..9ea1bee67d 100644
|
||||
namespace {
|
||||
const bool kEnableLazyHal(property_get_bool("ro.camera.enableLazyHal", false));
|
||||
} // anonymous namespace
|
||||
@@ -155,6 +157,25 @@ status_t AidlProviderInfo::initializeAidlProvider(
|
||||
@@ -170,6 +172,25 @@ status_t AidlProviderInfo::initializeAidlProvider(
|
||||
return mapToStatusT(status);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
From 7d501facc77ebb625927748e30fbaffbfdf87b96 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
|
||||
proprietary values
|
||||
|
||||
---
|
||||
.../utils/SessionConfigurationUtils.cpp | 79 +++++++++++++------
|
||||
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
|
||||
--- 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,
|
||||
|
||||
bool isJpegRDataSpace = (dataSpace == static_cast<android_dataspace_t>(
|
||||
::aidl::android::hardware::graphics::common::Dataspace::JPEG_R));
|
||||
- camera_metadata_ro_entry streamConfigs =
|
||||
- (isJpegRDataSpace) ? info.find(jpegRSizesTag) :
|
||||
- (dataSpace == HAL_DATASPACE_DEPTH) ? info.find(depthSizesTag) :
|
||||
- (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_HEIF)) ?
|
||||
- info.find(heicSizesTag) :
|
||||
- info.find(scalerSizesTag);
|
||||
+ bool isDepth = dataSpace == HAL_DATASPACE_DEPTH;
|
||||
+ bool isHeif = dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_HEIF);
|
||||
+ int32_t selectedTag = isJpegRDataSpace ? jpegRSizesTag :
|
||||
+ isDepth ? depthSizesTag :
|
||||
+ isHeif ? heicSizesTag : scalerSizesTag;
|
||||
+
|
||||
+ std::list<int32_t> tags = { selectedTag };
|
||||
+ if (selectedTag == scalerSizesTag) {
|
||||
+ sp<VendorTagDescriptor> vTags;
|
||||
+ sp<VendorTagDescriptorCache> cache = VendorTagDescriptorCache::getGlobalVendorTagCache();
|
||||
+ if (cache.get()) {
|
||||
+ auto vendorId = const_cast<CameraMetadata*>(&info)->getVendorId(); // getVendorId is actually const...
|
||||
+ cache->getVendorTagDescriptor(vendorId, &vTags);
|
||||
+ }
|
||||
+
|
||||
+ std::list<std::string> vendorTags = {
|
||||
+ "samsung.android.scaler.availablePictureStreamConfigurations",
|
||||
+ "samsung.android.scaler.availablePreviewStreamConfigurations",
|
||||
+ "samsung.android.scaler.availableThumbnailStreamConfigurations",
|
||||
+ };
|
||||
+ for(auto tagName: vendorTags) {
|
||||
+ uint32_t vendorTag;
|
||||
+ status_t tagStatus = info.getTagFromName(tagName.c_str(), vTags.get(), &vendorTag);
|
||||
+ //ALOGE("Tag by name %s %d %x", tagName.c_str(), tagStatus, vendorTag);
|
||||
+ if (tagStatus == OK)
|
||||
+ tags.push_back(vendorTag);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
int32_t bestWidth = -1;
|
||||
int32_t bestHeight = -1;
|
||||
-
|
||||
- // Iterate through listed stream configurations and find the one with the smallest euclidean
|
||||
- // distance from the given dimensions for the given format.
|
||||
- for (size_t i = 0; i < streamConfigs.count; i += 4) {
|
||||
- int32_t fmt = streamConfigs.data.i32[i];
|
||||
- int32_t w = streamConfigs.data.i32[i + 1];
|
||||
- int32_t h = streamConfigs.data.i32[i + 2];
|
||||
-
|
||||
- // Ignore input/output type for now
|
||||
- if (fmt == format) {
|
||||
- if (w == width && h == height) {
|
||||
- bestWidth = width;
|
||||
- bestHeight = height;
|
||||
- break;
|
||||
- } else if (w <= ROUNDING_WIDTH_CAP && (bestWidth == -1 ||
|
||||
- SessionConfigurationUtils::euclidDistSquare(w, h, width, height) <
|
||||
- SessionConfigurationUtils::euclidDistSquare(bestWidth, bestHeight, width,
|
||||
- height))) {
|
||||
- bestWidth = w;
|
||||
- bestHeight = h;
|
||||
+ for(auto tag: tags) {
|
||||
+ camera_metadata_ro_entry streamConfigs =
|
||||
+ info.find(tag);
|
||||
+
|
||||
+
|
||||
+ // Iterate through listed stream configurations and find the one with the smallest euclidean
|
||||
+ // distance from the given dimensions for the given format.
|
||||
+ for (size_t i = 0; i < streamConfigs.count; i += 4) {
|
||||
+ int32_t fmt = streamConfigs.data.i32[i];
|
||||
+ int32_t w = streamConfigs.data.i32[i + 1];
|
||||
+ int32_t h = streamConfigs.data.i32[i + 2];
|
||||
+
|
||||
+ // Ignore input/output type for now
|
||||
+ if (fmt == format) {
|
||||
+ if (w == width && h == height) {
|
||||
+ bestWidth = width;
|
||||
+ bestHeight = height;
|
||||
+ break;
|
||||
+ } else if (w <= ROUNDING_WIDTH_CAP && (bestWidth == -1 ||
|
||||
+ SessionConfigurationUtils::euclidDistSquare(w, h, width, height) <
|
||||
+ SessionConfigurationUtils::euclidDistSquare(bestWidth, bestHeight, width,
|
||||
+ height))) {
|
||||
+ bestWidth = w;
|
||||
+ bestHeight = h;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 16bd746b4407edc79b799a89cb16850b89c90b6b Mon Sep 17 00:00:00 2001
|
||||
From d8e5913abba9f2de9a476124219dc804eac930e0 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
|
||||
@@ -14,25 +14,25 @@ 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 2464eb0141b8..b0ebab8e4002 100644
|
||||
index d97127c91fbf..3dcb84dad786 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
@@ -777,9 +777,14 @@ public class DisplayDeviceConfig {
|
||||
* @return A configuration instance.
|
||||
@@ -897,9 +897,14 @@ public class DisplayDeviceConfig {
|
||||
*/
|
||||
public static DisplayDeviceConfig create(Context context, boolean useConfigXml) {
|
||||
public static DisplayDeviceConfig create(Context context, boolean useConfigXml,
|
||||
DisplayManagerFlags flags) {
|
||||
- final DisplayDeviceConfig config;
|
||||
+ DisplayDeviceConfig config;
|
||||
if (useConfigXml) {
|
||||
- config = getConfigFromGlobalXml(context);
|
||||
- config = getConfigFromGlobalXml(context, flags);
|
||||
+ try {
|
||||
+ config = getConfigFromGlobalXml(context);
|
||||
+ config = getConfigFromGlobalXml(context, flags);
|
||||
+ } catch(Exception e) {
|
||||
+ android.util.Log.e("PHH", "Failed parsing automatic brightness values, fallbacking", e);
|
||||
+ config = getConfigFromPmValues(context);
|
||||
+ config = getConfigFromPmValues(context, flags);
|
||||
+ }
|
||||
} else {
|
||||
config = getConfigFromPmValues(context);
|
||||
config = getConfigFromPmValues(context, flags);
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From e63c11343cbaf133b302ce98b44ebea59e5a0217 Mon Sep 17 00:00:00 2001
|
||||
From 3d14aac0ee3a37ed0fcad87c1eae170300b92326 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From bb3c0d66940957431ea2337577806f91a721bb4b Mon Sep 17 00:00:00 2001
|
||||
From 9b53e0b92842a042d0fe30428ab379fc59a13c61 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
|
||||
@@ -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 f114ad86f028..05f1f0fc61a5 100644
|
||||
index c1ff9de47a32..43a0552f041b 100644
|
||||
--- a/services/core/java/com/android/server/StorageManagerService.java
|
||||
+++ b/services/core/java/com/android/server/StorageManagerService.java
|
||||
@@ -1533,7 +1533,8 @@ class StorageManagerService extends IStorageManager.Stub
|
||||
@@ -1619,7 +1619,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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f41d2389d0d471ff04ab555d6858e20c0e9bd717 Mon Sep 17 00:00:00 2001
|
||||
From 433f12c138c7cedeabb88ac38ef438a9907c480c 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 7d505ba36fb5f011383b2dfcae1cab3b00091b13 Mon Sep 17 00:00:00 2001
|
||||
From 29e5a30910687e3239aa08885a5c3e350ca81f6f 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
|
||||
@@ -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 388b31041f86..da4bc798cee3 100644
|
||||
index 66f001e30b30..260611fd41ac 100644
|
||||
--- a/core/java/android/hardware/Camera.java
|
||||
+++ b/core/java/android/hardware/Camera.java
|
||||
@@ -455,6 +455,11 @@ public class Camera {
|
||||
@@ -450,6 +450,11 @@ public class Camera {
|
||||
* @see #open(int)
|
||||
*/
|
||||
public static Camera open() {
|
||||
@@ -27,10 +27,10 @@ index 388b31041f86..da4bc798cee3 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 69660d9344c9..d8841489e051 100644
|
||||
index cfccaa73bd08..3048702c62eb 100644
|
||||
--- a/core/java/android/hardware/camera2/CameraManager.java
|
||||
+++ b/core/java/android/hardware/camera2/CameraManager.java
|
||||
@@ -2081,6 +2081,15 @@ public final class CameraManager {
|
||||
@@ -2238,6 +2238,15 @@ public final class CameraManager {
|
||||
}
|
||||
}});
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From d357d016eae346a4473bfd280bda4c5fb5680b91 Mon Sep 17 00:00:00 2001
|
||||
From e608b14cbbfae9250b40d7aaeeb00cac7cf2d539 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
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH 06/50] Show APN Settings for CDMA carriers
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
index 3d46c33534af..3f29b459b7cf 100644
|
||||
index 7cb2cc398c46..1655dab30f6a 100644
|
||||
--- a/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
|
||||
@@ -9904,7 +9904,7 @@ public class CarrierConfigManager {
|
||||
@@ -10139,7 +10139,7 @@ public class CarrierConfigManager {
|
||||
sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
|
||||
sDefaults.putBoolean(KEY_PREFER_2G_BOOL, false);
|
||||
sDefaults.putBoolean(KEY_4G_ONLY_BOOL, false);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 2fc52f8f733f8f29bc9fa4e9b82d66812bb9f917 Mon Sep 17 00:00:00 2001
|
||||
From d8b94297131b965a2d4282f53c368f267b9e9251 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
|
||||
@@ -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 ac69a785e62d..1f550c7da82c 100644
|
||||
index 841f8a46aeb1..c941da5c5a74 100644
|
||||
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
|
||||
@@ -971,6 +971,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -983,6 +983,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 ac69a785e62d..1f550c7da82c 100644
|
||||
// Boost thread's priority during system server init
|
||||
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
|
||||
if (!isBandwidthControlEnabled()) {
|
||||
@@ -978,10 +982,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
@@ -990,10 +994,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ index ac69a785e62d..1f550c7da82c 100644
|
||||
-
|
||||
synchronized (mUidRulesFirstLock) {
|
||||
synchronized (mNetworkPoliciesSecondLock) {
|
||||
updatePowerSaveWhitelistUL();
|
||||
updatePowerSaveAllowlistUL();
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 4170fb54bb1ed5755f434372c27980a475aba97a Mon Sep 17 00:00:00 2001
|
||||
From b25663e9303b4544cf037a3e565832b48d637f5d 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
|
||||
@@ -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 77db96001e0c..36c13ca121e3 100644
|
||||
index 1ca147b91e8a..f4a22ef80c61 100644
|
||||
--- a/services/core/jni/Android.bp
|
||||
+++ b/services/core/jni/Android.bp
|
||||
@@ -202,6 +202,8 @@ cc_defaults {
|
||||
@@ -214,6 +214,8 @@ cc_defaults {
|
||||
"android.system.suspend-V1-ndk",
|
||||
"server_configurable_flags",
|
||||
"service.incremental",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 743b7f87fc925d6e8710ed087e429c20c9c2f1b5 Mon Sep 17 00:00:00 2001
|
||||
From 2584719094b8025923ce2f88e7af5d29f4329f54 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
|
||||
@@ -10,10 +10,10 @@ Change-Id: I7a0f8b4665c802140d19197d850b77b2a7ac1865
|
||||
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 e09d7289e37b..c6035e68de71 100644
|
||||
index ae96e92cf22b..603c7a5d0086 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -2366,6 +2366,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -2465,6 +2465,27 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
mProximitySensor = SensorUtils.findSensor(mSensorManager,
|
||||
mDisplayDeviceConfig.getProximitySensor(), Sensor.TYPE_PROXIMITY);
|
||||
@@ -41,7 +41,7 @@ index e09d7289e37b..c6035e68de71 100644
|
||||
if (mProximitySensor != null) {
|
||||
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
|
||||
TYPICAL_PROXIMITY_THRESHOLD);
|
||||
@@ -3408,6 +3429,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -3512,6 +3533,20 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
if (mProximitySensorEnabled) {
|
||||
final long time = mClock.uptimeMillis();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 268e1bd12c10eba4700444c0687fd509dbce8ee3 Mon Sep 17 00:00:00 2001
|
||||
From 22418b0a3aae42784dc0003c063d0a306e8befa8 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
|
||||
@@ -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 a959fc10db49..440d42681c1a 100644
|
||||
index 6f75a96c05db..c7b305cf120b 100644
|
||||
--- a/services/core/java/com/android/server/pm/UserManagerService.java
|
||||
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
|
||||
@@ -7357,12 +7357,8 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
@@ -7560,12 +7560,8 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
*/
|
||||
private static int getMaxUsersOfTypePerParent(UserTypeDetails userTypeDetails) {
|
||||
final int defaultMax = userTypeDetails.getMaxAllowedPerParent();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 1c2e2c57747d27dfc8facb75bb73e575647acb81 Mon Sep 17 00:00:00 2001
|
||||
From 0c9251a2cfa2635957040d76b0fe11738aa1ce41 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
|
||||
@@ -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 5de31a229aa3..a242afd2a689 100644
|
||||
index 442a8a7cc571..09675dfbdafd 100644
|
||||
--- a/core/java/android/view/KeyEvent.java
|
||||
+++ b/core/java/android/view/KeyEvent.java
|
||||
@@ -2068,6 +2068,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
|
||||
@@ -2084,6 +2084,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
|
||||
case KeyEvent.KEYCODE_CAMERA:
|
||||
case KeyEvent.KEYCODE_FOCUS:
|
||||
case KeyEvent.KEYCODE_MENU:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 2312dfbcde812959495f8766eb80b9450829772d Mon Sep 17 00:00:00 2001
|
||||
From 99a33652a6b39bf603d2bb8aed674a61de8575f4 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
|
||||
@@ -10,10 +10,10 @@ Change-Id: I3c39e3e914a05903c140235702e0480d2d58a612
|
||||
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 c6035e68de71..fb84d64350b7 100644
|
||||
index 603c7a5d0086..deb5651791e3 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
|
||||
@@ -2390,6 +2390,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
@@ -2489,6 +2489,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
if (mProximitySensor != null) {
|
||||
mProximityThreshold = Math.min(mProximitySensor.getMaximumRange(),
|
||||
TYPICAL_PROXIMITY_THRESHOLD);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 70cd27439768d7b7137225345f403aa43adfb9c8 Mon Sep 17 00:00:00 2001
|
||||
From 36b81b62e53dcd1c2caa04e1e647c97c7ed783b4 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
|
||||
@@ -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 edcf2715b0a5..e88ec095fbe7 100644
|
||||
index 422d38d3a2ca..475a09b0e910 100644
|
||||
--- a/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
@@ -1246,9 +1246,11 @@ public final class PowerManagerService extends SystemService
|
||||
@@ -1243,9 +1243,11 @@ public final class PowerManagerService extends SystemService
|
||||
|
||||
if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG
|
||||
|| def == INVALID_BRIGHTNESS_IN_CONFIG) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6f924b3312017fc5eb84d50eaf544d2e79d90fbf Mon Sep 17 00:00:00 2001
|
||||
From 69281cf6072b7290c232b1877460fcf2c2ba5e93 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
|
||||
@@ -11,7 +11,7 @@ Change-Id: Id38292a9a1453aa87b8401c1fdb390fa4e63c7d1
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
index b75ba82ad091..b344f7232190 100644
|
||||
index fc06dd8de3b6..41da26bff956 100644
|
||||
--- a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
+++ b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
@@ -223,8 +223,17 @@ public class FrameworkParsingPackageUtils {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From bc7ba9db9a4cb0f11a715f113b88897f4031890a Mon Sep 17 00:00:00 2001
|
||||
From 197b3fc43e8728854b48218e7fe46ec960a05119 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
|
||||
@@ -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 4dad2d560526..5d1f27ac923d 100644
|
||||
index 89b53aab1539..90d0666189c8 100644
|
||||
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
|
||||
@@ -5156,7 +5156,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
@@ -5222,7 +5222,7 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
}
|
||||
|
||||
private void showConsoleNotificationIfActive() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 0131331d9813abfb7e0a1d3a8a82036c34294b9e Mon Sep 17 00:00:00 2001
|
||||
From 511b30e50770302215590d22dc7f02217bdbb653 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"
|
||||
@@ -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 340e4ab132ca..551b73a1706f 100644
|
||||
index f206987ddbf6..73c957c47892 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -8095,6 +8095,75 @@ public class TelephonyManager {
|
||||
@@ -8152,6 +8152,75 @@ public class TelephonyManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6879e245b3b923f650eb0ebfa124181f53082efe Mon Sep 17 00:00:00 2001
|
||||
From 35fdd748c2c978cecd68e8f6d147e24a4efef916 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()
|
||||
@@ -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 551b73a1706f..62bd70374c96 100644
|
||||
index 73c957c47892..0cd5ab7fad20 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -3204,6 +3204,64 @@ public class TelephonyManager {
|
||||
@@ -3256,6 +3256,64 @@ public class TelephonyManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 1963ddb089e0fb68669da3fe5e2b7dd6e31f7ebf Mon Sep 17 00:00:00 2001
|
||||
From 4a5c645b6ad129a63f02be32da7d0e7fa9940968 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
|
||||
@@ -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 62bd70374c96..7aac41db9c36 100644
|
||||
index 0cd5ab7fad20..bd5255d4a21a 100644
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -8159,7 +8159,7 @@ public class TelephonyManager {
|
||||
@@ -8216,7 +8216,7 @@ public class TelephonyManager {
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
@@ -26,7 +26,7 @@ index 62bd70374c96..7aac41db9c36 100644
|
||||
String propVal = "";
|
||||
String p[] = null;
|
||||
String prop = SystemProperties.get(property);
|
||||
@@ -8213,7 +8213,8 @@ public class TelephonyManager {
|
||||
@@ -8270,7 +8270,8 @@ public class TelephonyManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 8dca252df27d744e02dd842a37fa061dff75eda0 Mon Sep 17 00:00:00 2001
|
||||
From c4c128d8577afa55ec70de0552cf428e7bb579c7 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 509bd0245a7bc49d22c89bcff4d06bfc21eae906 Mon Sep 17 00:00:00 2001
|
||||
From 5bbd2dbb36c770256dc53a63735d4959cc4c52c3 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 707fa8d5e9f3fa538dd44e7c2e6ed5c4acbadf56 Mon Sep 17 00:00:00 2001
|
||||
From 0e6f55f0b8ab83f74fb9b268630c2f411d2c7a28 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 7548d2465b542b0b24609900b57e0eab433e6eb6 Mon Sep 17 00:00:00 2001
|
||||
From 8716b7ebe29b4b66fc7a085f3244164140672ffa 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(+)
|
||||
@@ -53,18 +53,18 @@ 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 fea6b29d9260..caf9eba7d9a8 100644
|
||||
index 4d26f43307b2..c94d334b280b 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.IBinder;
|
||||
import android.os.Looper;
|
||||
@@ -32,6 +32,7 @@ import android.os.Looper;
|
||||
import android.os.PermissionEnforcer;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
+import android.os.SystemProperties;
|
||||
import android.os.Trace;
|
||||
import android.provider.Settings;
|
||||
import android.util.Slog;
|
||||
@@ -295,6 +296,51 @@ public class LightsService extends SystemService {
|
||||
@@ -298,6 +299,51 @@ public class LightsService extends SystemService {
|
||||
return;
|
||||
}
|
||||
int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 02c62cf8b31225686f8b9567cba799f9e8f175a4 Mon Sep 17 00:00:00 2001
|
||||
From 51f840e3a7afd5cbab39b28a96a62b2f99ef6647 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."
|
||||
@@ -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 40bae0723f41..04a69f8c1e6d 100644
|
||||
index 3bc33bac37bc..19a03cac127e 100644
|
||||
--- a/core/res/res/values/config.xml
|
||||
+++ b/core/res/res/values/config.xml
|
||||
@@ -1098,7 +1098,7 @@
|
||||
@@ -1131,7 +1131,7 @@
|
||||
5 - Go to assistant (Settings.Secure.ASSISTANT)
|
||||
6 - Toggle torch on / off (if screen is off)
|
||||
-->
|
||||
@@ -21,7 +21,7 @@ index 40bae0723f41..04a69f8c1e6d 100644
|
||||
|
||||
<!-- The time in milliseconds after which a press on power button is considered "long". -->
|
||||
<integer name="config_longPressOnPowerDurationMs">500</integer>
|
||||
@@ -1130,7 +1130,7 @@
|
||||
@@ -1163,7 +1163,7 @@
|
||||
1 - Mute toggle
|
||||
2 - Global actions menu
|
||||
-->
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 58bdf9405c40873bbc54d90269dd1a98bd895b22 Mon Sep 17 00:00:00 2001
|
||||
From ce76ec2757c8140fc8f594bbd545ecbcb54c3e09 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
|
||||
@@ -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 d0b71fcf2dbb..d5978a531dc5 100644
|
||||
index d3cecd0e34c7..91f515161146 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
|
||||
@@ -746,6 +746,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider
|
||||
@@ -1004,6 +1004,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider
|
||||
|
||||
private void scheduleInternalCleanup(int userId,
|
||||
@Nullable ClientMonitorCallback callback) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ca2daaa7257fed79965afe595742fb8f394827da Mon Sep 17 00:00:00 2001
|
||||
From 4897371a2b91eb8179cdc35abf12e380bb5675dc 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
|
||||
@@ -9,10 +9,10 @@ Change-Id: I54e49fc6b8c670103852e212d1416e27ff976205
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
|
||||
index 528ac1d19603..337e9eba702d 100644
|
||||
index f5271aca5c59..560f73bf7e35 100644
|
||||
--- a/cmds/bootanimation/BootAnimation.cpp
|
||||
+++ b/cmds/bootanimation/BootAnimation.cpp
|
||||
@@ -622,6 +622,28 @@ status_t BootAnimation::readyToRun() {
|
||||
@@ -635,6 +635,28 @@ status_t BootAnimation::readyToRun() {
|
||||
mFlingerSurface = s;
|
||||
mTargetInset = -1;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 622350d44f2db35c4762e1ba0db21338d29dac6d Mon Sep 17 00:00:00 2001
|
||||
From 639de917a53c7313597f9491fe425058764d7590 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"
|
||||
@@ -7,15 +7,15 @@ This reverts commit bd13f84152449a3ead6fa8604fd31f48c0224676.
|
||||
|
||||
Change-Id: Ic394934ec27b1a486c60123130825d44dad73412
|
||||
---
|
||||
.../android/os/storage/StorageManager.java | 57 +++++++++++++++++++
|
||||
.../internal/os/RoSystemProperties.java | 4 ++
|
||||
2 files changed, 61 insertions(+)
|
||||
.../android/os/storage/StorageManager.java | 74 +++++++++++++++++++
|
||||
.../internal/os/RoSystemProperties.java | 4 +
|
||||
2 files changed, 78 insertions(+)
|
||||
|
||||
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
|
||||
index ee387e7c284f..0adc55598d9b 100644
|
||||
index 78a12f75a508..f9999fa8fde8 100644
|
||||
--- a/core/java/android/os/storage/StorageManager.java
|
||||
+++ b/core/java/android/os/storage/StorageManager.java
|
||||
@@ -1669,6 +1669,15 @@ public class StorageManager {
|
||||
@@ -1714,6 +1714,15 @@ public class StorageManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -31,10 +31,19 @@ index ee387e7c284f..0adc55598d9b 100644
|
||||
/** {@hide}
|
||||
* Is this device encrypted?
|
||||
* <p>
|
||||
@@ -1702,6 +1711,54 @@ public class StorageManager {
|
||||
return isFileEncrypted();
|
||||
@@ -1738,6 +1747,71 @@ public class StorageManager {
|
||||
return RoSystemProperties.CRYPTO_FILE_ENCRYPTED;
|
||||
}
|
||||
|
||||
+ /** {@hide}
|
||||
+ * @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported.
|
||||
+ */
|
||||
+ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||
+ @Deprecated
|
||||
+ public static boolean isFileEncryptedNativeOnly() {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /** {@hide}
|
||||
+ * Is this device block encrypted?
|
||||
+ * @return true for block encrypted. (Implies isEncrypted() == true)
|
||||
@@ -83,9 +92,17 @@ index ee387e7c284f..0adc55598d9b 100644
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
/** {@hide}
|
||||
* @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported.
|
||||
*/
|
||||
+ /** {@hide}
|
||||
+ * @deprecated Use {@link #isFileEncrypted} instead, since emulated FBE is no longer supported.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public static boolean isFileEncryptedNativeOrEmulated() {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
/** {@hide} */
|
||||
public static boolean hasAdoptable() {
|
||||
switch (SystemProperties.get(PROP_ADOPTABLE)) {
|
||||
diff --git a/core/java/com/android/internal/os/RoSystemProperties.java b/core/java/com/android/internal/os/RoSystemProperties.java
|
||||
index 40d5c4761dff..66288706b0f1 100644
|
||||
--- a/core/java/com/android/internal/os/RoSystemProperties.java
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 59d9381e45331015cca06f2fcfa504365be0a657 Mon Sep 17 00:00:00 2001
|
||||
From 47b3844e2e84eddf67de5bbff2905dbec47c1a07 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"
|
||||
@@ -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 6f4ad13ba854..c692f5f9472c 100644
|
||||
index 51b85f06ec46..5279073cd71a 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
@@ -655,7 +655,7 @@ public class AuthService extends SystemService {
|
||||
@@ -704,7 +704,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 6f4ad13ba854..c692f5f9472c 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).
|
||||
@@ -690,7 +690,7 @@ public class AuthService extends SystemService {
|
||||
@@ -739,7 +739,7 @@ public class AuthService extends SystemService {
|
||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
|
||||
modalities.add(String.valueOf(BiometricAuthenticator.TYPE_FACE));
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 60e2e07a4da5a9e375d798155f3b42aafa10590b Mon Sep 17 00:00:00 2001
|
||||
From 2df1f2c9fbb7ceee139431a88cc53871859cb4db 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
|
||||
@@ -7,26 +7,26 @@ Subject: [PATCH 28/50] Call Samsung's ISehSysInputDev to report screen state
|
||||
This fixes touchscreen not waking up on Galaxy F23
|
||||
---
|
||||
services/core/Android.bp | 1 +
|
||||
.../server/display/LocalDisplayAdapter.java | 32 +++++++++++++++++++
|
||||
2 files changed, 33 insertions(+)
|
||||
.../server/display/LocalDisplayAdapter.java | 31 +++++++++++++++++++
|
||||
2 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/services/core/Android.bp b/services/core/Android.bp
|
||||
index 39204d9acf75..bb2b0bfdfaf0 100644
|
||||
index ffe5f3402037..a760814b8a40 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -187,6 +187,7 @@ java_library_static {
|
||||
"com.android.sysprop.watchdog",
|
||||
"ImmutabilityAnnotation",
|
||||
"securebox",
|
||||
@@ -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",
|
||||
+ "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 89d865e5ae39..9f2793a16a28 100644
|
||||
index 22898a65c5de..f9dbd91e6b5a 100644
|
||||
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
|
||||
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
|
||||
@@ -33,6 +33,7 @@ import android.os.Trace;
|
||||
@@ -35,6 +35,7 @@ import android.os.Trace;
|
||||
import android.util.DisplayUtils;
|
||||
import android.util.LongSparseArray;
|
||||
import android.util.Slog;
|
||||
@@ -34,7 +34,7 @@ index 89d865e5ae39..9f2793a16a28 100644
|
||||
import android.util.SparseArray;
|
||||
import android.view.Display;
|
||||
import android.view.DisplayAddress;
|
||||
@@ -51,6 +52,8 @@ import com.android.server.display.mode.DisplayModeDirector;
|
||||
@@ -55,6 +56,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 89d865e5ae39..9f2793a16a28 100644
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -234,6 +237,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
|
||||
@@ -244,6 +247,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
private float mActiveRenderFrameRate;
|
||||
private DisplayEventReceiver.FrameRateOverride[] mFrameRateOverrides =
|
||||
new DisplayEventReceiver.FrameRateOverride[0];
|
||||
+ private boolean triedSamsungHal = false;
|
||||
@@ -52,10 +52,10 @@ index 89d865e5ae39..9f2793a16a28 100644
|
||||
|
||||
LocalDisplayDevice(IBinder displayToken, long physicalDisplayId,
|
||||
SurfaceControl.StaticDisplayInfo staticDisplayInfo,
|
||||
@@ -825,17 +830,44 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
@@ -850,16 +855,42 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
}
|
||||
mSidekickActive = false;
|
||||
}
|
||||
|
||||
+ if (!triedSamsungHal) {
|
||||
+ triedSamsungHal = true;
|
||||
+ try {
|
||||
@@ -93,10 +93,8 @@ index 89d865e5ae39..9f2793a16a28 100644
|
||||
+ }
|
||||
+
|
||||
setCommittedState(state);
|
||||
+
|
||||
|
||||
// If we're entering a suspended (but not OFF) power state and we
|
||||
// have a sidekick available, tell it now that it can take control.
|
||||
if (Display.isSuspendedState(state) && state != Display.STATE_OFF
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 96803a190d0b605ac1f86c0d9c4698ba90f2ff55 Mon Sep 17 00:00:00 2001
|
||||
From b55da71220b0268eeb913f974dbf64dc9bff3e45 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
|
||||
@@ -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 b0ebab8e4002..77dafd5068d0 100644
|
||||
index 3dcb84dad786..9585bdc712cd 100644
|
||||
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
|
||||
@@ -1903,37 +1903,43 @@ public class DisplayDeviceConfig {
|
||||
@@ -2120,37 +2120,43 @@ public class DisplayDeviceConfig {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 88330ecde45dddada9327c889cc9d9dd7d786d7d Mon Sep 17 00:00:00 2001
|
||||
From aafc127180d05be573855ff8a5022959b3c6f8ce 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
|
||||
@@ -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 bb2b0bfdfaf0..c4239779425f 100644
|
||||
index a760814b8a40..fc9600992dbb 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -187,7 +187,9 @@ java_library_static {
|
||||
"com.android.sysprop.watchdog",
|
||||
"ImmutabilityAnnotation",
|
||||
"securebox",
|
||||
@@ -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",
|
||||
- "vendor.samsung.hardware.sysinput-V1.2-java", // HIDL
|
||||
+ // HIDL
|
||||
+ "vendor.mediatek.hardware.mtkpower-V1.1-java",
|
||||
@@ -42,10 +42,10 @@ index bb2b0bfdfaf0..c4239779425f 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 8b3e4d38d736..0a8a26f0d4a6 100644
|
||||
index a85038f5d656..7becec71be48 100644
|
||||
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
|
||||
@@ -217,6 +217,9 @@ public class DisplayPolicy {
|
||||
@@ -219,6 +219,9 @@ public class DisplayPolicy {
|
||||
*/
|
||||
private boolean mRemoteInsetsControllerControlsSystemBars;
|
||||
|
||||
@@ -55,7 +55,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644
|
||||
StatusBarManagerInternal getStatusBarManagerInternal() {
|
||||
synchronized (mServiceAcquireLock) {
|
||||
if (mStatusBarManagerInternal == null) {
|
||||
@@ -445,6 +448,19 @@ public class DisplayPolicy {
|
||||
@@ -449,6 +452,19 @@ public class DisplayPolicy {
|
||||
mScreenOnEarly = true;
|
||||
mScreenOnFully = true;
|
||||
}
|
||||
@@ -75,7 +75,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644
|
||||
|
||||
final Looper looper = UiThread.getHandler().getLooper();
|
||||
mHandler = new PolicyHandler(looper);
|
||||
@@ -529,6 +545,17 @@ public class DisplayPolicy {
|
||||
@@ -533,6 +549,17 @@ public class DisplayPolicy {
|
||||
mService.mPowerManagerInternal.setPowerBoost(
|
||||
Boost.INTERACTION, duration);
|
||||
}
|
||||
@@ -93,7 +93,7 @@ index 8b3e4d38d736..0a8a26f0d4a6 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -547,6 +574,28 @@ public class DisplayPolicy {
|
||||
@@ -551,6 +578,28 @@ public class DisplayPolicy {
|
||||
if (listener != null) {
|
||||
listener.onTouchStart();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From a9e368d503270ae8988dce4c6c8927a4fbffe45d Mon Sep 17 00:00:00 2001
|
||||
From 9b75172e57381886f96fa52bdbd7441622bc9f91 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
|
||||
@@ -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 7fae31c0bb4b..6da8e9397829 100644
|
||||
index 40b29d7b09d5..38e82d8cac36 100644
|
||||
--- a/services/core/java/com/android/server/SystemConfig.java
|
||||
+++ b/services/core/java/com/android/server/SystemConfig.java
|
||||
@@ -939,6 +939,25 @@ public class SystemConfig {
|
||||
@@ -946,6 +946,25 @@ public class SystemConfig {
|
||||
}
|
||||
XmlUtils.skipCurrentTag(parser);
|
||||
} break;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 93fb03fae7a6d3628f6197475f009f22448cb8d4 Mon Sep 17 00:00:00 2001
|
||||
From 6bec6832764642598ec0bcd5c83721b47eb8ba93 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
|
||||
@@ -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 8e4ec0914563..a65a7e9ec2e6 100644
|
||||
index 326b6f5af613..b994888362b0 100644
|
||||
--- a/telephony/java/android/telephony/SubscriptionManager.java
|
||||
+++ b/telephony/java/android/telephony/SubscriptionManager.java
|
||||
@@ -2558,6 +2558,20 @@ public class SubscriptionManager {
|
||||
@@ -2693,6 +2693,20 @@ public class SubscriptionManager {
|
||||
return TelephonyManager.getDefault().isNetworkRoaming(subId);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f7c1f8193abd44b136ce43af1b8999237450c253 Mon Sep 17 00:00:00 2001
|
||||
From 03de5a219b4353b4f7e362b1721632c98bd7fcf2 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
|
||||
@@ -8,11 +8,11 @@ This complements the fixup to ImsPhoneCallTracker (in fw/o/t) for U
|
||||
|
||||
Change-Id: If444290787025e130dce4bdeaf92372ae32793fe
|
||||
---
|
||||
.../telephony/util/TelephonyUtils.java | 32 ++++++++++++++++++-
|
||||
1 file changed, 31 insertions(+), 1 deletion(-)
|
||||
.../telephony/util/TelephonyUtils.java | 30 +++++++++++++++++++
|
||||
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 9a8c9655375d..454080144d35 100644
|
||||
index aed8fb8c4503..1467e7f2fc29 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;
|
||||
@@ -60,13 +60,6 @@ index 9a8c9655375d..454080144d35 100644
|
||||
/**
|
||||
* Filter values in bundle to only basic types.
|
||||
*/
|
||||
@@ -319,4 +349,4 @@ public final class TelephonyUtils {
|
||||
return false;
|
||||
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From cca4efcedbb0eedfaefdb8dfde39787690ad887d Mon Sep 17 00:00:00 2001
|
||||
From ae422fc5fe1f076d9387bd99668cdc026a6eb70d 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
|
||||
@@ -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 e9f494013e30..71d289b1369b 100644
|
||||
index 81856ac16575..65b4834fb3c7 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
|
||||
@@ -3455,7 +3455,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
|
||||
@@ -3450,7 +3450,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
|
||||
Trace.beginSection("KeyguardViewMediator#handleMotifyStartedWakingUp");
|
||||
synchronized (KeyguardViewMediator.this) {
|
||||
if (DEBUG) Log.d(TAG, "handleNotifyWakingUp");
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 3dac2e291492531deb5acd89549ed8ca96bce107 Mon Sep 17 00:00:00 2001
|
||||
From 2cef379821b7666bce2127f7dd24b69bbfabebae 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,
|
||||
@@ -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 36c13ca121e3..00e9cfa998b9 100644
|
||||
index f4a22ef80c61..41d63267eccb 100644
|
||||
--- a/services/core/jni/Android.bp
|
||||
+++ b/services/core/jni/Android.bp
|
||||
@@ -204,6 +204,7 @@ cc_defaults {
|
||||
@@ -216,6 +216,7 @@ cc_defaults {
|
||||
"service.incremental",
|
||||
"vendor.samsung.hardware.light@2.0",
|
||||
"vendor.samsung.hardware.light@3.0",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 68e397599248dac36747f768b933a250d76dd750 Mon Sep 17 00:00:00 2001
|
||||
From 638ac773a3011d91734fbb7905652aced8e31812 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
|
||||
@@ -8,51 +8,69 @@ Thanks Asus for providing a free device to make this support
|
||||
And thanks @davigamer987 for donating enough to get a Samsung FOD device
|
||||
to make this
|
||||
|
||||
14QPR2 note: Forced legacy/pre-"UdfpsRefactor"
|
||||
Thanks @jgudec for Xiaomi support
|
||||
Thanks @boydaihungst for Redmagic 6 support
|
||||
|
||||
Co-authored-by: jgudec <jakov.gudec@gmail.com>
|
||||
Co-authored-by: Huy Hoang
|
||||
Change-Id: Ibd0f9ea8fba584a38c060fd9271549a5e106b4eb
|
||||
|
||||
Also include commits:
|
||||
fix(fod): Extra Dim overlap fod overlay
|
||||
Fix Xiaomi custom vendors implementing fingerprint properly
|
||||
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
|
||||
---
|
||||
packages/SystemUI/Android.bp | 4 +
|
||||
.../systemui/biometrics/UdfpsController.java | 56 ++++
|
||||
.../systemui/biometrics/UdfpsController.java | 76 ++++-
|
||||
.../biometrics/UdfpsControllerOverlay.kt | 7 +-
|
||||
.../android/systemui/biometrics/UdfpsView.kt | 220 +++++++++++++
|
||||
.../android/systemui/biometrics/UdfpsView.kt | 231 ++++++++++++++
|
||||
.../shared/DeviceEntryUdfpsRefactor.kt | 2 +-
|
||||
services/core/Android.bp | 5 +
|
||||
.../server/biometrics/AuthService.java | 296 +++++++++++++++++-
|
||||
.../fingerprint/FingerprintService.java | 3 +-
|
||||
7 files changed, 585 insertions(+), 6 deletions(-)
|
||||
.../fingerprint/aidl/FingerprintProvider.java | 26 +-
|
||||
9 files changed, 640 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
|
||||
index 9fe68a31089f..8a1fc47e487b 100644
|
||||
index d099dd511a01..40eefa935471 100644
|
||||
--- a/packages/SystemUI/Android.bp
|
||||
+++ b/packages/SystemUI/Android.bp
|
||||
@@ -201,6 +201,10 @@ android_library {
|
||||
"LowLightDreamLib",
|
||||
@@ -206,6 +206,10 @@ android_library {
|
||||
"motion_tool_lib",
|
||||
"notification_flags_lib",
|
||||
"vendor.lineage.powershare-V1.0-java",
|
||||
+ "vendor.goodix.hardware.biometrics.fingerprint-V2.1-java",
|
||||
+ "vendor.xiaomi.hw.touchfeature-V1.0-java",
|
||||
+ "vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
|
||||
+ "vendor.nubia.ifaa-V1.0-java",
|
||||
],
|
||||
manifest: "AndroidManifest.xml",
|
||||
additional_manifests: ["LineageManifest.xml"],
|
||||
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 3472a859ac82..19b67b5f3def 100644
|
||||
index 65668b56a9f3..0f95ad8a8f45 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
@@ -48,6 +48,7 @@ import android.os.Handler;
|
||||
@@ -41,11 +41,13 @@ import android.hardware.fingerprint.FingerprintSensorProperties;
|
||||
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayController;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayControllerCallback;
|
||||
+import android.hardware.display.ColorDisplayManager;
|
||||
import android.hardware.input.InputManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.os.Process;
|
||||
import android.os.Trace;
|
||||
+import android.os.SystemProperties;
|
||||
import android.os.VibrationAttributes;
|
||||
import android.os.VibrationEffect;
|
||||
import android.util.Log;
|
||||
@@ -114,9 +115,13 @@ import java.util.HashSet;
|
||||
import java.util.Optional;
|
||||
@@ -113,9 +115,13 @@ import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Executor;
|
||||
+import java.io.File;
|
||||
@@ -63,9 +81,18 @@ index 3472a859ac82..19b67b5f3def 100644
|
||||
import javax.inject.Provider;
|
||||
+import vendor.nubia.ifaa.V1_0.IIfaa;
|
||||
|
||||
/**
|
||||
* Shows and hides the under-display fingerprint sensor (UDFPS) overlay, handles UDFPS touch events,
|
||||
@@ -253,6 +258,46 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi;
|
||||
|
||||
@@ -177,6 +183,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
@NonNull private final UdfpsKeyguardAccessibilityDelegate mUdfpsKeyguardAccessibilityDelegate;
|
||||
@NonNull private final SelectedUserInteractor mSelectedUserInteractor;
|
||||
@NonNull private final FpsUnlockTracker mFpsUnlockTracker;
|
||||
+ @NonNull private final ColorDisplayManager mColorDisplayManager;
|
||||
+ private boolean mIgnoreExtraDim;
|
||||
private final boolean mIgnoreRefreshRate;
|
||||
private final KeyguardTransitionInteractor mKeyguardTransitionInteractor;
|
||||
|
||||
@@ -249,6 +257,46 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mScreenOn = false;
|
||||
}
|
||||
};
|
||||
@@ -112,8 +139,49 @@ index 3472a859ac82..19b67b5f3def 100644
|
||||
|
||||
@Override
|
||||
public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {
|
||||
@@ -1241,10 +1286,17 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
view.configureDisplay(() -> dispatchOnUiReady(requestId));
|
||||
@@ -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,
|
||||
+ @NonNull ColorDisplayManager colorDisplayManager) {
|
||||
mContext = context;
|
||||
mExecution = execution;
|
||||
mVibrator = vibrator;
|
||||
@@ -717,6 +766,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mFpsUnlockTracker = fpsUnlockTracker;
|
||||
mFpsUnlockTracker.startTracking();
|
||||
mKeyguardTransitionInteractor = keyguardTransitionInteractor;
|
||||
+ mColorDisplayManager = colorDisplayManager;
|
||||
|
||||
mTouchProcessor = singlePointerTouchProcessor;
|
||||
mSessionTracker = sessionTracker;
|
||||
@@ -790,7 +840,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
|
||||
private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) {
|
||||
mExecution.assertIsMainThread();
|
||||
-
|
||||
+ mIgnoreExtraDim = mColorDisplayManager.isReduceBrightColorsActivated();
|
||||
+ if (mIgnoreExtraDim) {
|
||||
+ Log.d(TAG, "Current extra dim state (showUdfpsOverlay): " + mIgnoreExtraDim);
|
||||
+ }
|
||||
mOverlay = overlay;
|
||||
final int requestReason = overlay.getRequestReason();
|
||||
if (requestReason == REASON_AUTH_KEYGUARD
|
||||
@@ -1016,6 +1069,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
return;
|
||||
}
|
||||
if (isOptical()) {
|
||||
+ if (mIgnoreExtraDim) {
|
||||
+ mColorDisplayManager.setReduceBrightColorsActivated(false);
|
||||
+ Log.d(TAG, "Extra dim disabled");
|
||||
+ }
|
||||
mLatencyTracker.onActionStart(ACTION_UDFPS_ILLUMINATE);
|
||||
}
|
||||
if (getBiometricSessionType() == SESSION_KEYGUARD) {
|
||||
@@ -1047,10 +1104,17 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
}
|
||||
}
|
||||
}
|
||||
+ if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) {
|
||||
@@ -129,23 +197,29 @@ index 3472a859ac82..19b67b5f3def 100644
|
||||
+
|
||||
}
|
||||
|
||||
private void onFingerUp(long requestId, @NonNull UdfpsView view) {
|
||||
@@ -1295,6 +1347,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mFingerprintManager.onPointerUp(requestId, mSensorProps.sensorId);
|
||||
}
|
||||
}
|
||||
+ if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) {
|
||||
+ processCmd(15, 0, 0, new byte[0], 0);
|
||||
+ }
|
||||
private void onFingerUp(long requestId, @NonNull View view) {
|
||||
@@ -1084,8 +1148,16 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mActivePointerId = -1;
|
||||
mAcquiredReceived = false;
|
||||
if (mOnFingerDown) {
|
||||
+ if (mIgnoreExtraDim && isOptical()) {
|
||||
+ mColorDisplayManager.setReduceBrightColorsActivated(true);
|
||||
+ Log.d(TAG, "Extra dim restored");
|
||||
+ }
|
||||
mFingerprintManager.onPointerUp(requestId, mSensorProps.sensorId, pointerId, x,
|
||||
y, minor, major, orientation, time, gestureStart, isAod);
|
||||
+ if(SystemProperties.get("ro.vendor.build.fingerprint").contains("nubia/NX669")) {
|
||||
+ processCmd(15, 0, 0, new byte[0], 0);
|
||||
+ }
|
||||
+
|
||||
for (Callback cb : mCallbacks) {
|
||||
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 d6ef94d18e71..bcc12831a62c 100644
|
||||
index dae6d08f7331..7761251f2378 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt
|
||||
@@ -133,7 +133,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
|
||||
@@ -141,7 +141,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
|
||||
@@ -156,26 +230,26 @@ index d6ef94d18e71..bcc12831a62c 100644
|
||||
privateFlags = WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY
|
||||
// Avoid announcing window title.
|
||||
accessibilityTitle = " "
|
||||
@@ -194,6 +196,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
|
||||
windowManager.addView(this, coreLayoutParams.updateDimensions(animation))
|
||||
sensorRect = sensorBounds
|
||||
touchExplorationEnabled = accessibilityManager.isTouchExplorationEnabled
|
||||
+ dimUpdate = {
|
||||
+ windowManager.updateViewLayout(this, coreLayoutParams.updateDimensions(animation).apply { dimAmount = it })
|
||||
+ }
|
||||
overlayTouchListener = TouchExplorationStateChangeListener {
|
||||
if (accessibilityManager.isTouchExplorationEnabled) {
|
||||
setOnHoverListener { v, event -> onTouch(v, event, true) }
|
||||
@@ -222,6 +224,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
|
||||
|
||||
windowManager.addView(this, coreLayoutParams.updateDimensions(animation))
|
||||
sensorRect = sensorBounds
|
||||
+ dimUpdate = {
|
||||
+ windowManager.updateViewLayout(this, coreLayoutParams.updateDimensions(animation).apply { dimAmount = it })
|
||||
+ }
|
||||
}
|
||||
}
|
||||
getTouchOverlay()?.apply {
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
index 76bcd6e2863b..7ce6ecbb6311 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
@@ -19,16 +19,33 @@ import android.content.Context
|
||||
@@ -19,14 +19,32 @@ import android.content.Context
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
+import android.graphics.PixelFormat
|
||||
import android.graphics.PointF
|
||||
+import android.graphics.PointF
|
||||
import android.graphics.Rect
|
||||
import android.graphics.RectF
|
||||
+import android.os.FileObserver
|
||||
@@ -186,8 +260,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+import android.view.SurfaceView
|
||||
+import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import com.android.settingslib.udfps.UdfpsOverlayParams
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams
|
||||
import com.android.systemui.doze.DozeReceiver
|
||||
+import java.io.File
|
||||
+import java.io.FileNotFoundException
|
||||
@@ -204,7 +277,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
|
||||
private const val TAG = "UdfpsView"
|
||||
|
||||
@@ -39,6 +56,54 @@ class UdfpsView(
|
||||
@@ -37,6 +55,55 @@ class UdfpsView(
|
||||
context: Context,
|
||||
attrs: AttributeSet?
|
||||
) : FrameLayout(context, attrs), DozeReceiver {
|
||||
@@ -256,10 +329,11 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+ mySurfaceView.holder.setFormat(PixelFormat.RGBA_8888)
|
||||
+
|
||||
+ }
|
||||
|
||||
// Use expanded overlay when feature flag is true, set by UdfpsViewController
|
||||
var useExpandedOverlay: Boolean = false
|
||||
@@ -67,6 +132,8 @@ class UdfpsView(
|
||||
+
|
||||
// sensorRect may be bigger than the sensor. True sensor dimensions are defined in
|
||||
// overlayParams.sensorBounds
|
||||
var sensorRect = Rect()
|
||||
@@ -53,6 +120,8 @@ class UdfpsView(
|
||||
/** Parameters that affect the position and size of the overlay. */
|
||||
var overlayParams = UdfpsOverlayParams()
|
||||
|
||||
@@ -268,8 +342,8 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
/** Debug message. */
|
||||
var debugMessage: String? = null
|
||||
set(value) {
|
||||
@@ -147,15 +214,168 @@ class UdfpsView(
|
||||
!(animationViewController?.shouldPauseAuth() ?: false)
|
||||
@@ -103,15 +172,177 @@ class UdfpsView(
|
||||
}
|
||||
}
|
||||
|
||||
+ fun goodixCmd(id: Int) {
|
||||
@@ -287,8 +361,13 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+ val hasSamsungMask = File(samsungActualMaskBrightness).exists()
|
||||
+ var fodFileObserver: FileObserver? = null
|
||||
+
|
||||
+ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param"
|
||||
+ var hasXiaomiLhbm = File(xiaomiDispParam).exists()
|
||||
+ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param"
|
||||
+ var hasXiaomiLhbm = try {
|
||||
+ val xiaomiFingerprintService = IXiaomiFingerprint.getService()
|
||||
+ File(xiaomiDispParam).exists() && xiaomiFingerprintService != null
|
||||
+ } catch(e: Exception) {
|
||||
+ false
|
||||
+ }
|
||||
+
|
||||
+ private val handlerThread = HandlerThread("UDFPS").also { it.start() }
|
||||
+ val myHandler = Handler(handlerThread.looper)
|
||||
@@ -351,14 +430,16 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+ Log.d("PHH-Enroll", "Xiaomi scenario in UdfpsView reached!")
|
||||
+ mySurfaceView.setVisibility(INVISIBLE)
|
||||
+
|
||||
+ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1);
|
||||
+ var res = ITouchFeature.getService().setTouchMode(0, 10, 1);
|
||||
+ try {
|
||||
+ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1);
|
||||
+ } catch(t: Throwable) {}
|
||||
+ var res = try { ITouchFeature.getService().setTouchMode(0, 10, 1) } catch(t: Throwable){ -1 }
|
||||
+ if(res != 0){
|
||||
+ Log.d("PHH-Enroll", "SetTouchMode 10,1 was NOT executed successfully. Res is " + res)
|
||||
+ }
|
||||
+
|
||||
+ myHandler.postDelayed({
|
||||
+ var ret200 = ITouchFeature.getService().setTouchMode(0, 10, 1);
|
||||
+ var ret200 = try { ITouchFeature.getService().setTouchMode(0, 10, 1); } catch(t: Throwable) { -1 }
|
||||
+
|
||||
+ if(ret200 != 0){
|
||||
+ Log.d("PHH-Enroll", "myHandler.postDelayed 200ms -SetTouchMode was NOT executed successfully. Ret is " + ret200)
|
||||
@@ -366,7 +447,7 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+
|
||||
+ myHandler.postDelayed({
|
||||
+ Log.d("PHH-Enroll", "myHandler.postDelayed 600ms - line prior to setTouchMode 10,0")
|
||||
+ var ret600 = ITouchFeature.getService().setTouchMode(0, 10, 0);
|
||||
+ var ret600 = try { ITouchFeature.getService().setTouchMode(0, 10, 0); } catch(t: Throwable) { -1 }
|
||||
+
|
||||
+ if(ret600 != 0){
|
||||
+ Log.d("PHH-Enroll", "myHandler.postDelayed 600ms -SetTouchMode 10,0 was NOT executed successfully. Ret is " + ret600)
|
||||
@@ -388,7 +469,8 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+
|
||||
+ if (hasAsusGhbm) {
|
||||
+ fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) {
|
||||
+ override fun onEvent(event: Int, path: String): Unit {
|
||||
+ override fun onEvent(event: Int, path: String?): Unit {
|
||||
+ if (path == null) return
|
||||
+ Log.d("PHH-Enroll", "Asus ghbm event")
|
||||
+ try {
|
||||
+ val spotOn = File(asusGhbmOnAchieved).readText().toInt()
|
||||
@@ -404,8 +486,9 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+ };
|
||||
+ fodFileObserver?.startWatching();
|
||||
+ } else if (hasSamsungMask) {
|
||||
+ fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) {
|
||||
+ override fun onEvent(event: Int, path: String): Unit {
|
||||
+ fodFileObserver = object: FileObserver(samsungActualMaskBrightness, FileObserver.MODIFY) {
|
||||
+ override fun onEvent(event: Int, path: String?): Unit {
|
||||
+ if (path == null) return
|
||||
+ Log.d("PHH-Enroll", "samsung mask brightness event")
|
||||
+ try {
|
||||
+ val spotOn = File(samsungActualMaskBrightness).readText().toInt()
|
||||
@@ -437,11 +520,24 @@ index 06dee7a2b9f6..4377dd7e70a7 100644
|
||||
+ }
|
||||
}
|
||||
}
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt
|
||||
index b5d5803ca6fb..68f74f3ed6f3 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/shared/DeviceEntryUdfpsRefactor.kt
|
||||
@@ -33,7 +33,7 @@ object DeviceEntryUdfpsRefactor {
|
||||
/** Is the refactor enabled */
|
||||
@JvmStatic
|
||||
inline val isEnabled
|
||||
- get() = Flags.deviceEntryUdfpsRefactor()
|
||||
+ get() = false //Flags.deviceEntryUdfpsRefactor()
|
||||
|
||||
/**
|
||||
* 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 c4239779425f..9b928082a380 100644
|
||||
index fc9600992dbb..bf0b5d92db7f 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -190,6 +190,11 @@ java_library_static {
|
||||
@@ -208,6 +208,11 @@ java_library_static {
|
||||
// HIDL
|
||||
"vendor.mediatek.hardware.mtkpower-V1.1-java",
|
||||
"vendor.samsung.hardware.sysinput-V1.2-java",
|
||||
@@ -454,10 +550,10 @@ index c4239779425f..9b928082a380 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 c692f5f9472c..8194fbc2ac9e 100644
|
||||
index 5279073cd71a..f6f0fea8e3e7 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
@@ -78,6 +78,25 @@ import java.util.ArrayList;
|
||||
@@ -80,6 +80,25 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -483,7 +579,7 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
/**
|
||||
* System service that provides an interface for authenticating with biometrics and
|
||||
* PIN/pattern/password to BiometricPrompt and lock screen.
|
||||
@@ -96,6 +115,11 @@ public class AuthService extends SystemService {
|
||||
@@ -98,6 +117,11 @@ public class AuthService extends SystemService {
|
||||
@VisibleForTesting
|
||||
final IAuthService.Stub mImpl;
|
||||
|
||||
@@ -495,7 +591,7 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
/**
|
||||
* Class for injecting dependencies into AuthService.
|
||||
* TODO(b/141025588): Replace with a dependency injection framework (e.g. Guice, Dagger).
|
||||
@@ -655,11 +679,11 @@ public class AuthService extends SystemService {
|
||||
@@ -704,11 +728,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());
|
||||
@@ -509,7 +605,7 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
configStrings = generateRSdkCompatibleConfiguration();
|
||||
}
|
||||
hidlConfigs = new SensorConfig[configStrings.length];
|
||||
@@ -674,6 +698,102 @@ public class AuthService extends SystemService {
|
||||
@@ -723,6 +747,102 @@ public class AuthService extends SystemService {
|
||||
registerAuthenticators(hidlConfigs);
|
||||
|
||||
mInjector.publishBinderService(this, mImpl);
|
||||
@@ -612,12 +708,12 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -797,18 +917,123 @@ public class AuthService extends SystemService {
|
||||
@@ -846,18 +966,123 @@ public class AuthService extends SystemService {
|
||||
? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL);
|
||||
}
|
||||
|
||||
+ private int[] dynamicUdfpsProps() {
|
||||
+ DisplayManager mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE);
|
||||
+ static public int[] dynamicUdfpsProps(Context ctxt) {
|
||||
+ DisplayManager mDM = (DisplayManager) ctxt.getSystemService(Context.DISPLAY_SERVICE);
|
||||
+ Point displayRealSize = new Point();
|
||||
+ DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
+ mDM.getDisplay(0).getRealSize(displayRealSize);
|
||||
@@ -725,7 +821,7 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
+ boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps);
|
||||
+ if(!isUdfps) {
|
||||
+ try {
|
||||
+ udfpsProps = dynamicUdfpsProps();
|
||||
+ udfpsProps = dynamicUdfpsProps(getContext());
|
||||
+ } catch(Throwable t) {
|
||||
+ Slog.e("PHH-Enroll", "Failed generating UDFPS props");
|
||||
+ }
|
||||
@@ -738,7 +834,7 @@ index c692f5f9472c..8194fbc2ac9e 100644
|
||||
|
||||
// config_is_powerbutton_fps indicates whether device has a power button fingerprint sensor.
|
||||
final boolean isPowerbuttonFps = getContext().getResources().getBoolean(
|
||||
@@ -876,4 +1101,67 @@ public class AuthService extends SystemService {
|
||||
@@ -925,4 +1150,67 @@ public class AuthService extends SystemService {
|
||||
componentInfo, resetLockoutRequiresHardwareAuthToken,
|
||||
resetLockoutRequiresChallenge);
|
||||
}
|
||||
@@ -807,10 +903,10 @@ index c692f5f9472c..8194fbc2ac9e 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 5ce0c8b384ef..df99478da964 100644
|
||||
index 83b306b07c27..28b45a59ee62 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
|
||||
@@ -885,8 +885,9 @@ public class FingerprintService extends SystemService {
|
||||
@@ -889,8 +889,9 @@ public class FingerprintService extends SystemService {
|
||||
filteredInstances = filterAvailableHalInstances(hidlSensors, aidlSensors);
|
||||
|
||||
final List<ServiceProvider> providers = new ArrayList<>();
|
||||
@@ -821,6 +917,60 @@ index 5ce0c8b384ef..df99478da964 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
|
||||
--- 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;
|
||||
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
|
||||
});
|
||||
|
||||
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;
|
||||
+
|
||||
+ 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);
|
||||
+ }
|
||||
+
|
||||
|
||||
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,
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6fcb492949bbf602572524213fb7eebd54b1be99 Mon Sep 17 00:00:00 2001
|
||||
From 2caf7271a3841feb8a90d18f7d69866c9afe3dab 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 74de5557e6951ec79d2184bf41c2c4a2f7727dd0 Mon Sep 17 00:00:00 2001
|
||||
From 541e55d24e8ab0e01d7dd9e117ecc43a79bc0b16 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
|
||||
@@ -10,10 +10,10 @@ 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 56066b2d813c..4ee3e92910d0 100644
|
||||
index 7c5885adb220..c2f45e3727bb 100644
|
||||
--- a/core/jni/com_android_internal_os_Zygote.cpp
|
||||
+++ b/core/jni/com_android_internal_os_Zygote.cpp
|
||||
@@ -1806,10 +1806,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
|
||||
@@ -1943,10 +1943,12 @@ static void SpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArray gids,
|
||||
if (!is_system_server && getuid() == 0) {
|
||||
const int rc = createProcessGroup(uid, getpid());
|
||||
if (rc != 0) {
|
||||
@@ -27,10 +27,10 @@ index 56066b2d813c..4ee3e92910d0 100644
|
||||
}
|
||||
|
||||
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
|
||||
index b0f77604319b..23ca22fc73f4 100644
|
||||
index 3156e9da0ae9..e5949f95b6d1 100644
|
||||
--- a/services/core/java/com/android/server/am/ProcessList.java
|
||||
+++ b/services/core/java/com/android/server/am/ProcessList.java
|
||||
@@ -2433,14 +2433,9 @@ public final class ProcessList {
|
||||
@@ -2516,14 +2516,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) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From f9abaf1a6cd90a580f9245434798e9325e037aae Mon Sep 17 00:00:00 2001
|
||||
From 0ec9abbe99e9836d694eed10559c7776531d1378 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
|
||||
@@ -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 ff69719c9497..3b168b59423a 100644
|
||||
index 972f85793556..2f813324b75f 100644
|
||||
--- a/services/core/java/com/android/server/input/InputManagerService.java
|
||||
+++ b/services/core/java/com/android/server/input/InputManagerService.java
|
||||
@@ -369,6 +369,9 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -373,6 +373,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 ff69719c9497..3b168b59423a 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;
|
||||
@@ -380,6 +383,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -384,6 +387,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 ff69719c9497..3b168b59423a 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()}.
|
||||
@@ -488,6 +493,16 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -494,6 +499,16 @@ public class InputManagerService extends IInputManager.Stub
|
||||
mWiredAccessoryCallbacks = callbacks;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ index ff69719c9497..3b168b59423a 100644
|
||||
void registerLidSwitchCallbackInternal(@NonNull LidSwitchCallback callback) {
|
||||
synchronized (mLidSwitchLock) {
|
||||
mLidSwitchCallbacks.add(callback);
|
||||
@@ -496,7 +511,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -502,7 +517,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 ff69719c9497..3b168b59423a 100644
|
||||
== KEY_STATE_UP;
|
||||
callback.notifyLidSwitchChanged(0 /* whenNanos */, lidOpen);
|
||||
}
|
||||
@@ -534,7 +550,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -540,7 +556,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 ff69719c9497..3b168b59423a 100644
|
||||
for (int i = 0; i < mLidSwitchCallbacks.size(); i++) {
|
||||
LidSwitchCallback callback = mLidSwitchCallbacks.get(i);
|
||||
callback.notifyLidSwitchChanged(0 /* whenNanos */, switchState == KEY_STATE_UP);
|
||||
@@ -2328,8 +2345,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -2355,8 +2372,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
+ ", mask=" + Integer.toHexString(switchMask));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 8f5b0fa613b9ca70fe63ec78a1b27b86b6650559 Mon Sep 17 00:00:00 2001
|
||||
From 59a5f752cd9c87b48dedbca083e95bf7045c84d5 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"
|
||||
@@ -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 74cfbea91e00..698a106582d3 100644
|
||||
index 85a85c6dfadb..6c96ac4bc712 100644
|
||||
--- a/telephony/java/android/telephony/ServiceState.java
|
||||
+++ b/telephony/java/android/telephony/ServiceState.java
|
||||
@@ -1213,8 +1213,13 @@ public class ServiceState implements Parcelable {
|
||||
@@ -1215,8 +1215,13 @@ public class ServiceState implements Parcelable {
|
||||
|
||||
/**
|
||||
* Initialize the service state. Set everything to the default value.
|
||||
@@ -27,7 +27,7 @@ index 74cfbea91e00..698a106582d3 100644
|
||||
if (DBG) Rlog.d(LOG_TAG, "init");
|
||||
mVoiceRegState = STATE_OUT_OF_SERVICE;
|
||||
mDataRegState = STATE_OUT_OF_SERVICE;
|
||||
@@ -1246,11 +1251,13 @@ public class ServiceState implements Parcelable {
|
||||
@@ -1248,11 +1253,13 @@ public class ServiceState implements Parcelable {
|
||||
.setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
|
||||
.setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN)
|
||||
.build());
|
||||
@@ -46,7 +46,7 @@ index 74cfbea91e00..698a106582d3 100644
|
||||
}
|
||||
mOperatorAlphaLongRaw = null;
|
||||
mOperatorAlphaShortRaw = null;
|
||||
@@ -1259,11 +1266,11 @@ public class ServiceState implements Parcelable {
|
||||
@@ -1261,11 +1268,11 @@ public class ServiceState implements Parcelable {
|
||||
}
|
||||
|
||||
public void setStateOutOfService() {
|
||||
@@ -60,7 +60,7 @@ index 74cfbea91e00..698a106582d3 100644
|
||||
mVoiceRegState = STATE_POWER_OFF;
|
||||
mDataRegState = STATE_POWER_OFF;
|
||||
}
|
||||
@@ -1271,11 +1278,14 @@ public class ServiceState implements Parcelable {
|
||||
@@ -1273,11 +1280,14 @@ public class ServiceState implements Parcelable {
|
||||
/**
|
||||
* Set the service state to out-of-service
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 48a560ce8e35aa566b5e7c13942b8ce665a1bddc Mon Sep 17 00:00:00 2001
|
||||
From d2957b70a3c2b5d4e524d61dee5208148273c480 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
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH 41/50] Add a prop to use linear backlight control
|
||||
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 bc915b0147f1..97e7b1f630c3 100644
|
||||
index 520f841cb736..a7ed04dad7c4 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/settings/brightness/BrightnessController.java
|
||||
@@ -361,9 +361,15 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
|
||||
@@ -362,9 +362,15 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
|
||||
: MetricsEvent.ACTION_BRIGHTNESS;
|
||||
minBacklight = mBrightnessMin;
|
||||
maxBacklight = mBrightnessMax;
|
||||
@@ -28,7 +28,7 @@ index bc915b0147f1..97e7b1f630c3 100644
|
||||
if (stopTracking) {
|
||||
// TODO(brightnessfloat): change to use float value instead.
|
||||
MetricsLogger.action(mContext, metric,
|
||||
@@ -374,7 +380,7 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
|
||||
@@ -375,7 +381,7 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
|
||||
if (!tracking) {
|
||||
AsyncTask.execute(new Runnable() {
|
||||
public void run() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From c266c21c6731a1f337851a20b562c4df20e5482c Mon Sep 17 00:00:00 2001
|
||||
From c5f9230959c480e46c95dd5a7dbdd6e236d80801 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 43/50] Add support for Samsung full brightness on their AIDL
|
||||
Subject: [PATCH 42/50] Add support for Samsung full brightness on their AIDL
|
||||
HAL
|
||||
|
||||
---
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH 43/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 9b928082a380..6caa4b4ffd8d 100644
|
||||
index bf0b5d92db7f..848512dc7835 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -195,6 +195,10 @@ java_library_static {
|
||||
@@ -213,6 +213,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 9b928082a380..6caa4b4ffd8d 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 caf9eba7d9a8..04ad3114d2ac 100644
|
||||
index c94d334b280b..9d9e905fdf48 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;
|
||||
@@ -59,7 +59,7 @@ index caf9eba7d9a8..04ad3114d2ac 100644
|
||||
@VisibleForTesting
|
||||
final LightsManagerBinderService mManagerService;
|
||||
|
||||
@@ -298,6 +306,17 @@ public class LightsService extends SystemService {
|
||||
@@ -301,6 +309,17 @@ public class LightsService extends SystemService {
|
||||
int brightnessInt = BrightnessSynchronizer.brightnessFloatToInt(brightness);
|
||||
|
||||
if(mHwLight.id == 0) {
|
||||
@@ -77,7 +77,7 @@ index caf9eba7d9a8..04ad3114d2ac 100644
|
||||
String fp = SystemProperties.get("ro.vendor.build.fingerprint", "hello");
|
||||
if(fp.matches(".*astarqlte.*")) {
|
||||
int newBrightness = brightnessInt;
|
||||
@@ -513,6 +532,27 @@ public class LightsService extends SystemService {
|
||||
@@ -516,6 +535,27 @@ public class LightsService extends SystemService {
|
||||
mH = new Handler(looper);
|
||||
mVintfLights = service.get() != null ? service : null;
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
From 0fd828ddefa89e1f5499650a2be3f45cfd527cd4 Mon Sep 17 00:00:00 2001
|
||||
From: MrHereAndThere <38396158+boydaihungst@users.noreply.github.com>
|
||||
Date: Fri, 17 Nov 2023 09:22:29 +0700
|
||||
Subject: [PATCH 42/50] fix(fod): Extra Dim overlap fod overlay
|
||||
|
||||
Extra Dim will set display panel brightness to lowest value possible, which will also effect FOD overlay.
|
||||
---
|
||||
.../systemui/biometrics/UdfpsController.java | 20 +++++++++++++++++--
|
||||
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
index 19b67b5f3def..ef5e4f617138 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java
|
||||
@@ -42,6 +42,7 @@ import android.hardware.fingerprint.FingerprintSensorProperties;
|
||||
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayController;
|
||||
import android.hardware.fingerprint.IUdfpsOverlayControllerCallback;
|
||||
+import android.hardware.display.ColorDisplayManager;
|
||||
import android.hardware.input.InputManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
@@ -184,6 +185,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
@NonNull private final UdfpsUtils mUdfpsUtils;
|
||||
@NonNull private final InputManager mInputManager;
|
||||
@NonNull private final UdfpsKeyguardAccessibilityDelegate mUdfpsKeyguardAccessibilityDelegate;
|
||||
+ @NonNull private final ColorDisplayManager mColorDisplayManager;
|
||||
+ private boolean mIgnoreExtraDim;
|
||||
private final boolean mIgnoreRefreshRate;
|
||||
|
||||
// Currently the UdfpsController supports a single UDFPS sensor. If devices have multiple
|
||||
@@ -898,7 +901,8 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
@NonNull UdfpsUtils udfpsUtils,
|
||||
@NonNull KeyguardFaceAuthInteractor keyguardFaceAuthInteractor,
|
||||
@NonNull UdfpsKeyguardAccessibilityDelegate udfpsKeyguardAccessibilityDelegate,
|
||||
- @NonNull Provider<UdfpsKeyguardViewModels> udfpsKeyguardViewModelsProvider) {
|
||||
+ @NonNull Provider<UdfpsKeyguardViewModels> udfpsKeyguardViewModelsProvider,
|
||||
+ @NonNull ColorDisplayManager colorDisplayManager) {
|
||||
mContext = context;
|
||||
mExecution = execution;
|
||||
mVibrator = vibrator;
|
||||
@@ -945,6 +949,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mUdfpsUtils = udfpsUtils;
|
||||
mInputManager = inputManager;
|
||||
mUdfpsKeyguardAccessibilityDelegate = udfpsKeyguardAccessibilityDelegate;
|
||||
+ mColorDisplayManager = colorDisplayManager;
|
||||
|
||||
mTouchProcessor = mFeatureFlags.isEnabled(Flags.UDFPS_NEW_TOUCH_DETECTION)
|
||||
? singlePointerTouchProcessor : null;
|
||||
@@ -1025,7 +1030,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
|
||||
private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) {
|
||||
mExecution.assertIsMainThread();
|
||||
-
|
||||
+ mIgnoreExtraDim = mColorDisplayManager.isReduceBrightColorsActivated();
|
||||
+ if (mIgnoreExtraDim) {
|
||||
+ Log.d(TAG, "Current extra dim state (showUdfpsOverlay): " + mIgnoreExtraDim);
|
||||
+ }
|
||||
mOverlay = overlay;
|
||||
final int requestReason = overlay.getRequestReason();
|
||||
if (requestReason == REASON_AUTH_KEYGUARD
|
||||
@@ -1244,6 +1252,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
return;
|
||||
}
|
||||
if (isOptical()) {
|
||||
+ if (mIgnoreExtraDim) {
|
||||
+ mColorDisplayManager.setReduceBrightColorsActivated(false);
|
||||
+ Log.d(TAG, "Extra dim disabled");
|
||||
+ }
|
||||
mLatencyTracker.onActionStart(LatencyTracker.ACTION_UDFPS_ILLUMINATE);
|
||||
}
|
||||
// Refresh screen timeout and boost process priority if possible.
|
||||
@@ -1330,6 +1342,10 @@ public class UdfpsController implements DozeReceiver, Dumpable {
|
||||
mActivePointerId = -1;
|
||||
mAcquiredReceived = false;
|
||||
if (mOnFingerDown) {
|
||||
+ if (mIgnoreExtraDim && isOptical()) {
|
||||
+ mColorDisplayManager.setReduceBrightColorsActivated(true);
|
||||
+ Log.d(TAG, "Extra dim restored");
|
||||
+ }
|
||||
if (mAlternateTouchProvider != null) {
|
||||
mBiometricExecutor.execute(() -> {
|
||||
mAlternateTouchProvider.onPointerUp(requestId);
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
From f217e6629f2684cad122eaa9fb551e94291a8a56 Mon Sep 17 00:00:00 2001
|
||||
From 58d8f2d374863b2e3d8ad7964718ca34f3e61f99 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 48/50] Add Samsung sysinput
|
||||
Subject: [PATCH 43/50] 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 6caa4b4ffd8d..db3279814f21 100644
|
||||
index 848512dc7835..52f8c57dcdc1 100644
|
||||
--- a/services/core/Android.bp
|
||||
+++ b/services/core/Android.bp
|
||||
@@ -197,6 +197,7 @@ java_library_static {
|
||||
@@ -215,6 +215,7 @@ java_library_static {
|
||||
"vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
|
||||
|
||||
//AIDL
|
||||
@@ -1,7 +1,7 @@
|
||||
From a0b5d0f01c5181af0e7b0e0048c92e61cd9d58af Mon Sep 17 00:00:00 2001
|
||||
From a3ae2f7a7aa63c58a0b43fb39a056e0a24d131de 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 49/50] Bunch of FOD stuff -- commonize refreshing the
|
||||
Subject: [PATCH 44/50] Bunch of FOD stuff -- commonize refreshing the
|
||||
services, start supporting AIDL Samsung
|
||||
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Subject: [PATCH 49/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 1fffe381a34f..a51fe5cdd66a 100644
|
||||
index f6f0fea8e3e7..62c8bcf37960 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
@@ -45,6 +45,7 @@ import android.hardware.biometrics.IAuthService;
|
||||
@@ -47,6 +47,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 1fffe381a34f..a51fe5cdd66a 100644
|
||||
import android.hardware.biometrics.IInvalidationCallback;
|
||||
import android.hardware.biometrics.ITestSession;
|
||||
import android.hardware.biometrics.ITestSessionCallback;
|
||||
@@ -94,6 +95,7 @@ import android.os.Build;
|
||||
@@ -96,6 +97,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 1fffe381a34f..a51fe5cdd66a 100644
|
||||
|
||||
import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint;
|
||||
|
||||
@@ -117,6 +119,8 @@ public class AuthService extends SystemService {
|
||||
@@ -119,6 +121,8 @@ public class AuthService extends SystemService {
|
||||
|
||||
private FileObserver fodFileObserver = null;
|
||||
private ISehBiometricsFingerprint mSamsungFingerprint = null;
|
||||
@@ -37,7 +37,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644
|
||||
|
||||
private IXiaomiFingerprint mXiaomiFingerprint = null;
|
||||
|
||||
@@ -670,6 +674,101 @@ public class AuthService extends SystemService {
|
||||
@@ -719,6 +723,101 @@ public class AuthService extends SystemService {
|
||||
* └── for (s : p.sensors)
|
||||
* └── BiometricService.registerAuthenticator(s)
|
||||
*/
|
||||
@@ -139,7 +139,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644
|
||||
@Override
|
||||
public void onStart() {
|
||||
mBiometricService = mInjector.getBiometricService();
|
||||
@@ -697,20 +796,11 @@ public class AuthService extends SystemService {
|
||||
@@ -746,20 +845,11 @@ public class AuthService extends SystemService {
|
||||
// Registers HIDL and AIDL authenticators, but only HIDL configs need to be provided.
|
||||
registerAuthenticators(hidlConfigs);
|
||||
|
||||
@@ -164,7 +164,7 @@ index 1fffe381a34f..a51fe5cdd66a 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));
|
||||
@@ -718,9 +808,7 @@ public class AuthService extends SystemService {
|
||||
@@ -767,9 +857,7 @@ public class AuthService extends SystemService {
|
||||
@Override
|
||||
public void onEvent(int event, String path) {
|
||||
String actualMask = readFile(actualMaskBrightnessPath);
|
||||
@@ -175,7 +175,7 @@ index 1fffe381a34f..a51fe5cdd66a 100644
|
||||
Slog.d("PHH-Enroll", "New actual mask brightness is " + actualMask);
|
||||
try {
|
||||
int eventReq = 0;
|
||||
@@ -965,22 +1053,53 @@ public class AuthService extends SystemService {
|
||||
@@ -1014,22 +1102,53 @@ public class AuthService extends SystemService {
|
||||
udfpsProps[2] = (int)mW;
|
||||
|
||||
try {
|
||||
@@ -1,33 +0,0 @@
|
||||
From 0910830f2b078cf055e5d092b28f729678e61d47 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Fri, 26 Jan 2024 06:40:49 -0500
|
||||
Subject: [PATCH 44/50] Fix Xiaomi custom vendors implementing fingerprint
|
||||
properly
|
||||
|
||||
---
|
||||
.../src/com/android/systemui/biometrics/UdfpsView.kt | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
index 4377dd7e70a7..91053b2c5f8e 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
@@ -229,8 +229,13 @@ class UdfpsView(
|
||||
val hasSamsungMask = File(samsungActualMaskBrightness).exists()
|
||||
var fodFileObserver: FileObserver? = null
|
||||
|
||||
- val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param"
|
||||
- var hasXiaomiLhbm = File(xiaomiDispParam).exists()
|
||||
+ val xiaomiDispParam = "/sys/class/mi_display/disp-DSI-0/disp_param"
|
||||
+ var hasXiaomiLhbm = try {
|
||||
+ val xiaomiFingerprintService = IXiaomiFingerprint.getService()
|
||||
+ File(xiaomiDispParam).exists() && xiaomiFingerprintService != null
|
||||
+ } catch(e: Exception) {
|
||||
+ false
|
||||
+ }
|
||||
|
||||
private val handlerThread = HandlerThread("UDFPS").also { it.start() }
|
||||
val myHandler = Handler(handlerThread.looper)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
From 4b2a6be76cfb9edfdbe040c0af98872a96e27195 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Sun, 28 Jan 2024 19:16:13 -0500
|
||||
Subject: [PATCH 45/50] Also override UDFPS infos on AIDL fingerprints --
|
||||
needed for FP on S24
|
||||
|
||||
---
|
||||
.../server/biometrics/AuthService.java | 6 ++---
|
||||
.../fingerprint/aidl/FingerprintProvider.java | 26 ++++++++++++++++++-
|
||||
2 files changed, 28 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
index 8194fbc2ac9e..1fffe381a34f 100644
|
||||
--- a/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
+++ b/services/core/java/com/android/server/biometrics/AuthService.java
|
||||
@@ -917,8 +917,8 @@ public class AuthService extends SystemService {
|
||||
? modality : (modality & ~BiometricAuthenticator.TYPE_CREDENTIAL);
|
||||
}
|
||||
|
||||
- private int[] dynamicUdfpsProps() {
|
||||
- DisplayManager mDM = (DisplayManager) getContext().getSystemService(Context.DISPLAY_SERVICE);
|
||||
+ static public int[] dynamicUdfpsProps(Context ctxt) {
|
||||
+ DisplayManager mDM = (DisplayManager) ctxt.getSystemService(Context.DISPLAY_SERVICE);
|
||||
Point displayRealSize = new Point();
|
||||
DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
mDM.getDisplay(0).getRealSize(displayRealSize);
|
||||
@@ -1024,7 +1024,7 @@ public class AuthService extends SystemService {
|
||||
boolean isUdfps = !ArrayUtils.isEmpty(udfpsProps);
|
||||
if(!isUdfps) {
|
||||
try {
|
||||
- udfpsProps = dynamicUdfpsProps();
|
||||
+ udfpsProps = dynamicUdfpsProps(getContext());
|
||||
} catch(Throwable t) {
|
||||
Slog.e("PHH-Enroll", "Failed generating UDFPS props");
|
||||
}
|
||||
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 3eef411c86d8..c58f6477b072 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;
|
||||
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;
|
||||
@@ -190,9 +191,32 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi
|
||||
BiometricsProtoEnums.MODALITY_FINGERPRINT, new BiometricNotificationImpl());
|
||||
|
||||
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;
|
||||
+
|
||||
+ 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);
|
||||
+ }
|
||||
+
|
||||
|
||||
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
||||
if (prop.commonProps.componentInfo != null) {
|
||||
@@ -212,7 +236,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,
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From b472b40193287d699072c94e37007a6840171e14 Mon Sep 17 00:00:00 2001
|
||||
From fd972adec5cecd44b735a16554139846a3ab5c85 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 50/50] Some Samsung devices use SW_FLIP 0x15 rather than
|
||||
Subject: [PATCH 45/50] Some Samsung devices use SW_FLIP 0x15 rather than
|
||||
SW_MACHINE_COVER 0x10, so use that
|
||||
|
||||
---
|
||||
@@ -9,10 +9,10 @@ Subject: [PATCH 50/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 3b168b59423a..1e00f77f8877 100644
|
||||
index 2f813324b75f..09f8e2a337cd 100644
|
||||
--- a/services/core/java/com/android/server/input/InputManagerService.java
|
||||
+++ b/services/core/java/com/android/server/input/InputManagerService.java
|
||||
@@ -371,6 +371,8 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -375,6 +375,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 3b168b59423a..1e00f77f8877 100644
|
||||
|
||||
public static final int SW_LID_BIT = 1 << SW_LID;
|
||||
public static final int SW_TABLET_MODE_BIT = 1 << SW_TABLET_MODE;
|
||||
@@ -494,13 +496,22 @@ public class InputManagerService extends IInputManager.Stub
|
||||
@@ -500,13 +502,22 @@ public class InputManagerService extends IInputManager.Stub
|
||||
}
|
||||
|
||||
private void checkForSwMachineCover() {
|
||||
@@ -0,0 +1,25 @@
|
||||
From 9f26d51690a7486becabcb6090ffc34e051f3551 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
|
||||
in base libs, will be used by f/o/telephony
|
||||
|
||||
---
|
||||
Android.bp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Android.bp b/Android.bp
|
||||
index c63068db1660..e1c218caaf88 100644
|
||||
--- a/Android.bp
|
||||
+++ b/Android.bp
|
||||
@@ -232,6 +232,7 @@ java_library {
|
||||
"android.hardware.radio.messaging-V3-java",
|
||||
"android.hardware.radio.modem-V3-java",
|
||||
"android.hardware.radio.network-V3-java",
|
||||
+ "vendor.samsung.hardware.radio.network-V1-java",
|
||||
"android.hardware.radio.sim-V3-java",
|
||||
"android.hardware.radio.voice-V3-java",
|
||||
"android.hardware.thermal-V1.0-java-constants",
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From fc8191dbed0bceef0a4824a4aa3ca2e4a5260ac1 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 29 Jan 2024 17:06:34 -0500
|
||||
Subject: [PATCH 46/50] Try catch the Xiaomi calls
|
||||
|
||||
---
|
||||
.../src/com/android/systemui/biometrics/UdfpsView.kt | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
index 91053b2c5f8e..d47a7d2068fa 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
@@ -298,14 +298,16 @@ class UdfpsView(
|
||||
Log.d("PHH-Enroll", "Xiaomi scenario in UdfpsView reached!")
|
||||
mySurfaceView.setVisibility(INVISIBLE)
|
||||
|
||||
- IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1);
|
||||
- var res = ITouchFeature.getService().setTouchMode(0, 10, 1);
|
||||
+ try {
|
||||
+ IXiaomiFingerprint.getService().extCmd(android.os.SystemProperties.getInt("persist.phh.xiaomi.fod.enrollment.id", 4), 1);
|
||||
+ } catch(t: Throwable) {}
|
||||
+ var res = try { ITouchFeature.getService().setTouchMode(0, 10, 1) } catch(t: Throwable){ -1 }
|
||||
if(res != 0){
|
||||
Log.d("PHH-Enroll", "SetTouchMode 10,1 was NOT executed successfully. Res is " + res)
|
||||
}
|
||||
|
||||
myHandler.postDelayed({
|
||||
- var ret200 = ITouchFeature.getService().setTouchMode(0, 10, 1);
|
||||
+ var ret200 = try { ITouchFeature.getService().setTouchMode(0, 10, 1); } catch(t: Throwable) { -1 }
|
||||
|
||||
if(ret200 != 0){
|
||||
Log.d("PHH-Enroll", "myHandler.postDelayed 200ms -SetTouchMode was NOT executed successfully. Ret is " + ret200)
|
||||
@@ -313,7 +315,7 @@ class UdfpsView(
|
||||
|
||||
myHandler.postDelayed({
|
||||
Log.d("PHH-Enroll", "myHandler.postDelayed 600ms - line prior to setTouchMode 10,0")
|
||||
- var ret600 = ITouchFeature.getService().setTouchMode(0, 10, 0);
|
||||
+ var ret600 = try { ITouchFeature.getService().setTouchMode(0, 10, 0); } catch(t: Throwable) { -1 }
|
||||
|
||||
if(ret600 != 0){
|
||||
Log.d("PHH-Enroll", "myHandler.postDelayed 600ms -SetTouchMode 10,0 was NOT executed successfully. Ret is " + ret600)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 4ffbef7659e91ea50c94b8b9d7bb2b07d9cf6873 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
|
||||
base libs, will be used by f/o/telephony
|
||||
|
||||
---
|
||||
Android.bp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Android.bp b/Android.bp
|
||||
index e1c218caaf88..63413e5618d3 100644
|
||||
--- a/Android.bp
|
||||
+++ b/Android.bp
|
||||
@@ -227,6 +227,7 @@ java_library {
|
||||
"android.hardware.gnss-V2.1-java",
|
||||
"android.hardware.health-V1.0-java-constants",
|
||||
"android.hardware.radio-V1.6-java",
|
||||
+ "vendor.samsung.hardware.radio-V2.2-java",
|
||||
"android.hardware.radio.data-V3-java",
|
||||
"android.hardware.radio.ims-V2-java",
|
||||
"android.hardware.radio.messaging-V3-java",
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From 1c4acee244781abae9e9655deff9c3c3e8010c46 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Mon, 29 Jan 2024 17:06:45 -0500
|
||||
Subject: [PATCH 47/50] Typo in observing Samsung brightness
|
||||
|
||||
---
|
||||
.../SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
index d47a7d2068fa..9f1fde7f2e3f 100644
|
||||
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.kt
|
||||
@@ -353,7 +353,7 @@ class UdfpsView(
|
||||
};
|
||||
fodFileObserver?.startWatching();
|
||||
} else if (hasSamsungMask) {
|
||||
- fodFileObserver = object: FileObserver(asusGhbmOnAchieved, FileObserver.MODIFY) {
|
||||
+ fodFileObserver = object: FileObserver(samsungActualMaskBrightness, FileObserver.MODIFY) {
|
||||
override fun onEvent(event: Int, path: String): Unit {
|
||||
Log.d("PHH-Enroll", "samsung mask brightness event")
|
||||
try {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
From e14be2031caccce4e8d420f6352d374b0b47d7b1 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
|
||||
references"
|
||||
|
||||
This reverts commit 4d53aa0caec7029bf6c9b5789c1708bc4bb71b76.
|
||||
---
|
||||
.../android/telephony/TelephonyManager.java | 23 +++++++++++++++++++
|
||||
.../internal/telephony/ITelephony.aidl | 11 +++++++++
|
||||
.../internal/telephony/RILConstants.java | 5 ++++
|
||||
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
|
||||
--- a/telephony/java/android/telephony/TelephonyManager.java
|
||||
+++ b/telephony/java/android/telephony/TelephonyManager.java
|
||||
@@ -11472,6 +11472,29 @@ public class TelephonyManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Returns the result and response from RIL for oem request
|
||||
+ *
|
||||
+ * @param oemReq the data is sent to ril.
|
||||
+ * @param oemResp the respose data from RIL.
|
||||
+ * @return negative value request was not handled or get error
|
||||
+ * 0 request was handled succesfully, but no response data
|
||||
+ * positive value success, data length of response
|
||||
+ * @hide
|
||||
+ * @deprecated OEM needs a vendor-extension hal and their apps should use that instead
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public int invokeOemRilRequestRaw(byte[] oemReq, byte[] oemResp) {
|
||||
+ try {
|
||||
+ ITelephony telephony = getITelephony();
|
||||
+ if (telephony != null)
|
||||
+ return telephony.invokeOemRilRequestRaw(oemReq, oemResp);
|
||||
+ } catch (RemoteException ex) {
|
||||
+ } catch (NullPointerException ex) {
|
||||
+ }
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* @deprecated Use {@link android.telephony.ims.ImsMmTelManager#setVtSettingEnabled(boolean)}
|
||||
* instead.
|
||||
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
|
||||
index 397fb2d6db96..192ead0fb163 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 {
|
||||
in List<String> gsmNonRoamingList, in List<String> cdmaRoamingList,
|
||||
in List<String> cdmaNonRoamingList);
|
||||
|
||||
+ /**
|
||||
+ * Returns the result and response from RIL for oem request
|
||||
+ *
|
||||
+ * @param oemReq the data is sent to ril.
|
||||
+ * @param oemResp the respose data from RIL.
|
||||
+ * @return negative value request was not handled or get error
|
||||
+ * 0 request was handled succesfully, but no response data
|
||||
+ * positive value success, data length of response
|
||||
+ */
|
||||
+ int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp);
|
||||
+
|
||||
/**
|
||||
* 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
|
||||
--- 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 {
|
||||
int SETUP_DATA_AUTH_CHAP = 2;
|
||||
int SETUP_DATA_AUTH_PAP_CHAP = 3;
|
||||
|
||||
+ /* LCE service related constants. */
|
||||
+ int LCE_NOT_AVAILABLE = -1;
|
||||
+ int LCE_STOPPED = 0;
|
||||
+ int LCE_ACTIVE = 1;
|
||||
+
|
||||
/**
|
||||
* No restriction at all including voice/SMS/USSD/SS/AV64
|
||||
* and packet data.
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 08d6872962f964e285c631af4d28db9262eee00f 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
|
||||
udfps position
|
||||
|
||||
---
|
||||
.../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
|
||||
--- 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);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 6923bfc96d529de7620b0652adeadac4f4612710 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
|
||||
carousel
|
||||
|
||||
---
|
||||
.../systemui/media/controls/ui/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
|
||||
@@ -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.provider.Settings
|
||||
import android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS
|
||||
import android.util.Log
|
||||
@@ -1047,7 +1048,7 @@ constructor(
|
||||
desiredHostState.showsOnlyActiveMedia
|
||||
|
||||
for (mediaPlayer in MediaPlayerData.players()) {
|
||||
- if (animate) {
|
||||
+ if (animate && !SystemProperties.getBoolean("persist.sys.phh.no_media_carousel_animation", false)) {
|
||||
mediaPlayer.mediaViewController.animatePendingStateChange(
|
||||
duration = duration,
|
||||
delay = startDelay
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
From 8d695b3a2448e132263dd993265e95361bbb8540 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre-Hugues Husson <phh@phh.me>
|
||||
Date: Wed, 26 Oct 2022 18:02:18 -0400
|
||||
Subject: [PATCH] Restore back the behavior of isValid(): It is legal to have
|
||||
non-working BpfMap. Dont abort a whole process (system_server...) just
|
||||
because we cant access bpf map. Also add isOk to include the additional
|
||||
checks for newer kernel versions
|
||||
|
||||
Change-Id: Ie7815c186400614f0c6b483c04aa8971af348380
|
||||
---
|
||||
common/native/bpf_headers/include/bpf/BpfMap.h | 16 ++++++++++------
|
||||
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/common/native/bpf_headers/include/bpf/BpfMap.h b/common/native/bpf_headers/include/bpf/BpfMap.h
|
||||
index 51e6d162..6d74ff3a 100644
|
||||
--- a/common/native/bpf_headers/include/bpf/BpfMap.h
|
||||
+++ b/common/native/bpf_headers/include/bpf/BpfMap.h
|
||||
@@ -54,21 +54,25 @@ class BpfMap {
|
||||
|
||||
private:
|
||||
void abortOnKeyOrValueSizeMismatch() {
|
||||
- if (!mMapFd.ok()) abort();
|
||||
- if (isAtLeastKernelVersion(4, 14, 0)) {
|
||||
- if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) abort();
|
||||
- if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) abort();
|
||||
- }
|
||||
+ if (!isOk()) abort();
|
||||
}
|
||||
|
||||
protected:
|
||||
// flag must be within BPF_OBJ_FLAG_MASK, ie. 0, BPF_F_RDONLY, BPF_F_WRONLY
|
||||
BpfMap<Key, Value>(const char* pathname, uint32_t flags) {
|
||||
mMapFd.reset(mapRetrieve(pathname, flags));
|
||||
- abortOnKeyOrValueSizeMismatch();
|
||||
}
|
||||
|
||||
public:
|
||||
+ bool isOk() {
|
||||
+ if (!mMapFd.ok()) return false;
|
||||
+ if (isAtLeastKernelVersion(4, 14, 0)) {
|
||||
+ if (bpfGetFdKeySize(mMapFd) != sizeof(Key)) return false;
|
||||
+ if (bpfGetFdValueSize(mMapFd) != sizeof(Value)) return false;
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
explicit BpfMap<Key, Value>(const char* pathname) : BpfMap<Key, Value>(pathname, 0) {}
|
||||
|
||||
#ifdef BPF_MAP_MAKE_VISIBLE_FOR_TESTING
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From ab486c5b5de2e5041085d53e7a2326f1feaa0d66 Mon Sep 17 00:00:00 2001
|
||||
From 973eeeb60ccce408e525055c88e079984dcd1356 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/11] On Samsung, we need to send a hack-message to HAL to
|
||||
Subject: [PATCH 01/12] 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 10ca990f87..e603f6d404 100644
|
||||
index dd83fdefc3..1996b306a4 100644
|
||||
--- a/services/sensorservice/SensorDevice.cpp
|
||||
+++ b/services/sensorservice/SensorDevice.cpp
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <cstddef>
|
||||
#include <thread>
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <mutex>
|
||||
#include <condition_variable>
|
||||
|
||||
+#include <android-base/properties.h>
|
||||
using namespace android::hardware::sensors;
|
||||
using android::util::ProtoOutputStream;
|
||||
|
||||
@@ -76,6 +77,8 @@ SensorDevice::SensorDevice() {
|
||||
@@ -78,6 +79,8 @@ SensorDevice::SensorDevice() : mInHalBypassMode(false) {
|
||||
}
|
||||
|
||||
void SensorDevice::initializeSensorList() {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user