Merge "Define the runtime sensor handle range in ISensors.aidl"

This commit is contained in:
TreeHugger Robot
2022-12-12 23:24:27 +00:00
committed by Android (Google) Code Review
11 changed files with 26 additions and 9 deletions

View File

@@ -577,6 +577,7 @@
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.sensors</name>
<version>2</version>
<interface>
<name>ISensors</name>
<instance>default</instance>

View File

@@ -58,6 +58,8 @@ interface ISensors {
const int DIRECT_REPORT_SENSOR_EVENT_OFFSET_SIZE_DATA = 24;
const int DIRECT_REPORT_SENSOR_EVENT_OFFSET_SIZE_RESERVED = 88;
const int DIRECT_REPORT_SENSOR_EVENT_TOTAL_LENGTH = 104;
const int RUNTIME_SENSORS_HANDLE_BASE = 1593835520;
const int RUNTIME_SENSORS_HANDLE_END = 1610612735;
@Backing(type="int") @VintfStability
enum RateLevel {
STOP = 0,

View File

@@ -371,4 +371,13 @@ interface ISensors {
const int DIRECT_REPORT_SENSOR_EVENT_OFFSET_SIZE_DATA = 0x18;
const int DIRECT_REPORT_SENSOR_EVENT_OFFSET_SIZE_RESERVED = 0x58;
const int DIRECT_REPORT_SENSOR_EVENT_TOTAL_LENGTH = 104;
/**
* Constants related to reserved sensor handle ranges.
*
* The following range (inclusive) is reserved for usage by the system for
* runtime sensors.
*/
const int RUNTIME_SENSORS_HANDLE_BASE = 0x5F000000;
const int RUNTIME_SENSORS_HANDLE_END = 0x5FFFFFFF;
}

View File

@@ -35,7 +35,7 @@ cc_library_static {
"libhardware",
"libbase",
"libutils",
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
],
whole_static_libs: [
"sensors_common_convert",

View File

@@ -41,7 +41,7 @@ cc_library_static {
"libfmq",
"libpower",
"libbinder_ndk",
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
],
export_include_dirs: ["include"],
srcs: [
@@ -68,7 +68,7 @@ cc_binary {
"libcutils",
"liblog",
"libutils",
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
],
static_libs: [
"libsensorsexampleimpl",

View File

@@ -38,7 +38,7 @@ cc_library_static {
"android.hardware.sensors@1.0",
"android.hardware.sensors@2.0",
"android.hardware.sensors@2.1",
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
],
export_include_dirs: ["include"],
srcs: [

View File

@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.sensors</name>
<version>1</version>
<version>2</version>
<fqname>ISensors/default</fqname>
</hal>
</manifest>

View File

@@ -40,7 +40,7 @@ cc_binary {
"android.hardware.sensors@2.0-ScopedWakelock",
"android.hardware.sensors@2.0",
"android.hardware.sensors@2.1",
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
"libbase",
"libcutils",
"libfmq",

View File

@@ -17,7 +17,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.sensors</name>
<version>1</version>
<version>2</version>
<fqname>ISensors/default</fqname>
</hal>
</manifest>

View File

@@ -41,7 +41,7 @@ cc_test {
"android.hardware.common.fmq-V1-ndk",
],
static_libs: [
"android.hardware.sensors-V1-ndk",
"android.hardware.sensors-V2-ndk",
"VtsHalSensorsTargetTestUtils",
"libaidlcommonsupport",
],

View File

@@ -560,10 +560,15 @@ TEST_P(SensorsAidlTest, SensorListValid) {
EXPECT_NO_FATAL_FAILURE(assertTypeMatchStringType(info.type, info.typeAsString));
}
// Test if all sensor has name and vendor
// Test if all sensors have name and vendor
EXPECT_FALSE(info.name.empty());
EXPECT_FALSE(info.vendor.empty());
// Make sure that the sensor handle is not within the reserved range for runtime
// sensors.
EXPECT_FALSE(ISensors::RUNTIME_SENSORS_HANDLE_BASE <= info.sensorHandle &&
info.sensorHandle <= ISensors::RUNTIME_SENSORS_HANDLE_END);
// Make sure that sensors of the same type have a unique name.
std::vector<std::string>& v = sensorTypeNameMap[static_cast<int32_t>(info.type)];
bool isUniqueName = std::find(v.begin(), v.end(), info.name) == v.end();