mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:09:42 +00:00
Merge "Strip hinge angle sensor when running a 2.1 HAL as 2.0" am: d3e3b877ac am: 6e8d750aa3
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1498362 Change-Id: Ice4f9109d0b85091acf07f9722aefb6332220f72
This commit is contained in:
@@ -28,6 +28,19 @@ namespace V2_0 {
|
|||||||
namespace implementation {
|
namespace implementation {
|
||||||
|
|
||||||
struct SensorsV2_0 : public ::android::hardware::sensors::V2_X::implementation::Sensors<ISensors> {
|
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
|
} // namespace implementation
|
||||||
|
|||||||
@@ -54,6 +54,23 @@ struct SensorsV2_1 : public Sensors {
|
|||||||
// Methods from ::android::hardware::sensors::V2_1::ISensors follow.
|
// 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_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(
|
Return<Result> initialize_2_1(
|
||||||
const ::android::hardware::MQDescriptorSync<V2_1::Event>& eventQueueDescriptor,
|
const ::android::hardware::MQDescriptorSync<V2_1::Event>& eventQueueDescriptor,
|
||||||
const ::android::hardware::MQDescriptorSync<uint32_t>& wakeLockDescriptor,
|
const ::android::hardware::MQDescriptorSync<uint32_t>& wakeLockDescriptor,
|
||||||
@@ -71,4 +88,4 @@ struct SensorsV2_1 : public Sensors {
|
|||||||
} // namespace hardware
|
} // namespace hardware
|
||||||
} // namespace android
|
} // 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.
|
// 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 {
|
Return<Result> setOperationMode(OperationMode mode) override {
|
||||||
for (auto sensor : mSensors) {
|
for (auto sensor : mSensors) {
|
||||||
sensor.second->setOperationMode(mode);
|
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) {
|
Return<void> HalProxy::getSensorsList(ISensorsV2_0::getSensorsList_cb _hidl_cb) {
|
||||||
std::vector<V1_0::SensorInfo> sensors;
|
std::vector<V1_0::SensorInfo> sensors;
|
||||||
for (const auto& iter : mSensors) {
|
for (const auto& iter : mSensors) {
|
||||||
|
if (iter.second.type != SensorType::HINGE_ANGLE) {
|
||||||
sensors.push_back(convertToOldSensorInfo(iter.second));
|
sensors.push_back(convertToOldSensorInfo(iter.second));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_hidl_cb(sensors);
|
_hidl_cb(sensors);
|
||||||
return Void();
|
return Void();
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ int32_t SensorsHidlTest::getInvalidSensorHandle() {
|
|||||||
for (const SensorInfoType& sensor : getSensorsList()) {
|
for (const SensorInfoType& sensor : getSensorsList()) {
|
||||||
maxHandle = std::max(maxHandle, sensor.sensorHandle);
|
maxHandle = std::max(maxHandle, sensor.sensorHandle);
|
||||||
}
|
}
|
||||||
return maxHandle + 1;
|
return maxHandle + 42;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test if sensor list returned is valid
|
// Test if sensor list returned is valid
|
||||||
|
|||||||
Reference in New Issue
Block a user