mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 10:44:41 +00:00
Strip hinge angle sensor when running a 2.1 HAL as 2.0
VTS ensures that 2.0 HALs don't expose the hinge angle sensor, but the 2.1 HALs must run 2.0 VTS tests. This CL ensures that we don't expose the hinge angle sensor on the 2.0 HAL, to avoid failing those VTS tests. Bug: 173135479 Test: run vts -a x86 -m VtsHalSensorsV2_0TargetTest Change-Id: I944bfb0b01be0831e45cfd3d6ed7dab6770d1b80
This commit is contained in:
committed by
Karthik Bharadwaj
parent
f19e282226
commit
c8fd7b31e0
@@ -28,6 +28,19 @@ namespace V2_0 {
|
||||
namespace implementation {
|
||||
|
||||
struct SensorsV2_0 : public ::android::hardware::sensors::V2_X::implementation::Sensors<ISensors> {
|
||||
Return<void>
|
||||
getSensorsList(V2_0::ISensors::getSensorsList_cb _hidl_cb) override {
|
||||
std::vector<V1_0::SensorInfo> sensors;
|
||||
for (const auto &sensor : mSensors) {
|
||||
sensors.push_back(V2_1::implementation::convertToOldSensorInfo(
|
||||
sensor.second->getSensorInfo()));
|
||||
}
|
||||
|
||||
// Call the HIDL callback with the SensorInfo
|
||||
_hidl_cb(sensors);
|
||||
|
||||
return Void();
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
|
||||
@@ -54,6 +54,23 @@ struct SensorsV2_1 : public Sensors {
|
||||
// Methods from ::android::hardware::sensors::V2_1::ISensors follow.
|
||||
Return<void> getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) override;
|
||||
|
||||
Return<void>
|
||||
getSensorsList(V2_0::ISensors::getSensorsList_cb _hidl_cb) override {
|
||||
std::vector<V1_0::SensorInfo> sensors;
|
||||
for (const auto &sensor : mSensors) {
|
||||
auto &info = sensor.second->getSensorInfo();
|
||||
if (info.type != SensorType::HINGE_ANGLE) {
|
||||
sensors.push_back(V2_1::implementation::convertToOldSensorInfo(
|
||||
sensor.second->getSensorInfo()));
|
||||
}
|
||||
}
|
||||
|
||||
// Call the HIDL callback with the SensorInfo
|
||||
_hidl_cb(sensors);
|
||||
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<Result> initialize_2_1(
|
||||
const ::android::hardware::MQDescriptorSync<V2_1::Event>& eventQueueDescriptor,
|
||||
const ::android::hardware::MQDescriptorSync<uint32_t>& wakeLockDescriptor,
|
||||
@@ -71,4 +88,4 @@ struct SensorsV2_1 : public Sensors {
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_SENSORS_V2_1_H
|
||||
#endif // ANDROID_HARDWARE_SENSORS_V2_1_H
|
||||
|
||||
@@ -78,19 +78,6 @@ struct Sensors : public ISensorsInterface, public ISensorsEventCallback {
|
||||
}
|
||||
|
||||
// Methods from ::android::hardware::sensors::V2_0::ISensors follow.
|
||||
Return<void> getSensorsList(V2_0::ISensors::getSensorsList_cb _hidl_cb) override {
|
||||
std::vector<V1_0::SensorInfo> sensors;
|
||||
for (const auto& sensor : mSensors) {
|
||||
sensors.push_back(
|
||||
V2_1::implementation::convertToOldSensorInfo(sensor.second->getSensorInfo()));
|
||||
}
|
||||
|
||||
// Call the HIDL callback with the SensorInfo
|
||||
_hidl_cb(sensors);
|
||||
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<Result> setOperationMode(OperationMode mode) override {
|
||||
for (auto sensor : mSensors) {
|
||||
sensor.second->setOperationMode(mode);
|
||||
|
||||
@@ -124,7 +124,9 @@ Return<void> HalProxy::getSensorsList_2_1(ISensorsV2_1::getSensorsList_2_1_cb _h
|
||||
Return<void> HalProxy::getSensorsList(ISensorsV2_0::getSensorsList_cb _hidl_cb) {
|
||||
std::vector<V1_0::SensorInfo> sensors;
|
||||
for (const auto& iter : mSensors) {
|
||||
if (iter.second.type != SensorType::HINGE_ANGLE) {
|
||||
sensors.push_back(convertToOldSensorInfo(iter.second));
|
||||
}
|
||||
}
|
||||
_hidl_cb(sensors);
|
||||
return Void();
|
||||
|
||||
@@ -366,7 +366,7 @@ int32_t SensorsHidlTest::getInvalidSensorHandle() {
|
||||
for (const SensorInfoType& sensor : getSensorsList()) {
|
||||
maxHandle = std::max(maxHandle, sensor.sensorHandle);
|
||||
}
|
||||
return maxHandle + 1;
|
||||
return maxHandle + 42;
|
||||
}
|
||||
|
||||
// Test if sensor list returned is valid
|
||||
|
||||
Reference in New Issue
Block a user