Initial unified commit for Android 14, with TrebleDroid GSI target, syncing up to 20240208

This commit is contained in:
Andy CrossGate Yan
2024-02-17 16:46:38 +08:00
commit e9902a4450
281 changed files with 169698 additions and 0 deletions

View File

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

View File

@@ -0,0 +1,36 @@
From 7adc66904796a05023a6ed6ec81e5ada75fe3991 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 18 Apr 2023 23:48:15 +0000
Subject: [PATCH 2/3] Fix light sensor crash on Xiaomi 13
SensorService expects a scalar, but Xiaomi HAL returns a pose6DOF vector encapsulation
Thanks @phhusson for the analysis
Change-Id: Ie358321d5328d01541f455d6af86944ff413c9c9
---
sensors/aidl/convert/convert.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sensors/aidl/convert/convert.cpp b/sensors/aidl/convert/convert.cpp
index 2dc7a177a..be3833dfa 100644
--- a/sensors/aidl/convert/convert.cpp
+++ b/sensors/aidl/convert/convert.cpp
@@ -162,7 +162,14 @@ void convertToSensorEvent(const Event& src, sensors_event_t* dst) {
case SensorType::MOTION_DETECT:
case SensorType::HEART_BEAT:
case SensorType::LOW_LATENCY_OFFBODY_DETECT: {
- dst->data[0] = src.payload.get<Event::EventPayload::scalar>();
+ if (src.payload.getTag() == Event::EventPayload::pose6DOF) {
+ auto d = src.payload.get<Event::EventPayload::pose6DOF>();
+ auto dstr = ::android::internal::ToString(d);
+ // ALOGE("Received 6DOF for expected scalar %s", dstr.c_str());
+ dst->data[0] = d.values[0];
+ } else {
+ dst->data[0] = src.payload.get<Event::EventPayload::scalar>();
+ }
break;
}
--
2.25.1

View File

@@ -0,0 +1,28 @@
From cd80c23bc3bd357946d679da60704a70757eaffd Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Tue, 24 Oct 2023 04:59:57 -0400
Subject: [PATCH 3/3] Fix crash on Samsung S23 using stock properties, because
of sensor reporting vec3 instead of scalar. Likely the device orientation
sensor
---
sensors/aidl/convert/convert.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sensors/aidl/convert/convert.cpp b/sensors/aidl/convert/convert.cpp
index be3833dfa..c56b30475 100644
--- a/sensors/aidl/convert/convert.cpp
+++ b/sensors/aidl/convert/convert.cpp
@@ -167,6 +167,9 @@ void convertToSensorEvent(const Event& src, sensors_event_t* dst) {
auto dstr = ::android::internal::ToString(d);
// ALOGE("Received 6DOF for expected scalar %s", dstr.c_str());
dst->data[0] = d.values[0];
+ } else if (src.payload.getTag() == Event::EventPayload::vec3) {
+ auto d = src.payload.get<Event::EventPayload::vec3>();
+ dst->data[0] = d.x;
} else {
dst->data[0] = src.payload.get<Event::EventPayload::scalar>();
}
--
2.25.1