mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "Strip hinge angle sensor when running a 2.1 HAL as 2.0" am: d3e3b877ac am: 6e8d750aa3 am: 40cf1af6fd
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1498362 Change-Id: I5cd3a8b4ca6a05228cb72dbdcbe00bf6721b288f
This commit is contained in:
@@ -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