Loading sensors/1.0/vts/functional/SensorsHidlEnvironmentV1_0.cpp +24 −12 Original line number Diff line number Diff line Loading @@ -25,6 +25,13 @@ using ::android::hardware::sensors::V1_0::ISensors; using ::android::hardware::sensors::V1_0::Result; using ::android::hardware::sensors::V1_0::SensorInfo; void SensorsHidlEnvironmentV1_0::HidlTearDown() { mStopThread = true; if (mPollThread.joinable()) { mPollThread.detach(); } } bool SensorsHidlEnvironmentV1_0::resetHal() { // wait upto 100ms * 10 = 1s for hidl service. constexpr auto RETRY_DELAY = std::chrono::milliseconds(100); Loading Loading @@ -103,10 +110,12 @@ void SensorsHidlEnvironmentV1_0::pollingThread(SensorsHidlEnvironmentV1_0* env, ALOGD("polling thread start"); while (!stop) { env->sensors->poll( 64, [&](auto result, const auto& events, const auto& dynamicSensorsAdded) { if (!env->sensors ->poll(64, [&](auto result, const auto& events, const auto& dynamicSensorsAdded) { if (result != Result::OK || (events.size() == 0 && dynamicSensorsAdded.size() == 0) || stop) { (events.size() == 0 && dynamicSensorsAdded.size() == 0) || stop) { stop = true; return; } Loading @@ -114,7 +123,10 @@ void SensorsHidlEnvironmentV1_0::pollingThread(SensorsHidlEnvironmentV1_0* env, for (const auto& e : events) { env->addEvent(e); } }); }) .isOk()) { break; } } ALOGD("polling thread end"); } No newline at end of file sensors/1.0/vts/functional/SensorsHidlEnvironmentV1_0.h +2 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ class SensorsHidlTest; class SensorsHidlEnvironmentV1_0 : public SensorsHidlEnvironmentBase<::android::hardware::sensors::V1_0::Event> { public: void HidlTearDown() override; using Event = ::android::hardware::sensors::V1_0::Event; SensorsHidlEnvironmentV1_0(const std::string& service_name) : SensorsHidlEnvironmentBase(service_name) {} Loading sensors/common/vts/utils/include/sensors-vts-utils/SensorsHidlEnvironmentBase.h +1 −6 Original line number Diff line number Diff line Loading @@ -46,12 +46,7 @@ class SensorsHidlEnvironmentBase { std::this_thread::sleep_for(std::chrono::seconds(3)); } virtual void HidlTearDown() { mStopThread = true; if (mPollThread.joinable()) { mPollThread.join(); } } virtual void HidlTearDown() = 0; // Get and clear all events collected so far (like "cat" shell command). // If output is nullptr, it clears all collected events. Loading Loading
sensors/1.0/vts/functional/SensorsHidlEnvironmentV1_0.cpp +24 −12 Original line number Diff line number Diff line Loading @@ -25,6 +25,13 @@ using ::android::hardware::sensors::V1_0::ISensors; using ::android::hardware::sensors::V1_0::Result; using ::android::hardware::sensors::V1_0::SensorInfo; void SensorsHidlEnvironmentV1_0::HidlTearDown() { mStopThread = true; if (mPollThread.joinable()) { mPollThread.detach(); } } bool SensorsHidlEnvironmentV1_0::resetHal() { // wait upto 100ms * 10 = 1s for hidl service. constexpr auto RETRY_DELAY = std::chrono::milliseconds(100); Loading Loading @@ -103,10 +110,12 @@ void SensorsHidlEnvironmentV1_0::pollingThread(SensorsHidlEnvironmentV1_0* env, ALOGD("polling thread start"); while (!stop) { env->sensors->poll( 64, [&](auto result, const auto& events, const auto& dynamicSensorsAdded) { if (!env->sensors ->poll(64, [&](auto result, const auto& events, const auto& dynamicSensorsAdded) { if (result != Result::OK || (events.size() == 0 && dynamicSensorsAdded.size() == 0) || stop) { (events.size() == 0 && dynamicSensorsAdded.size() == 0) || stop) { stop = true; return; } Loading @@ -114,7 +123,10 @@ void SensorsHidlEnvironmentV1_0::pollingThread(SensorsHidlEnvironmentV1_0* env, for (const auto& e : events) { env->addEvent(e); } }); }) .isOk()) { break; } } ALOGD("polling thread end"); } No newline at end of file
sensors/1.0/vts/functional/SensorsHidlEnvironmentV1_0.h +2 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ class SensorsHidlTest; class SensorsHidlEnvironmentV1_0 : public SensorsHidlEnvironmentBase<::android::hardware::sensors::V1_0::Event> { public: void HidlTearDown() override; using Event = ::android::hardware::sensors::V1_0::Event; SensorsHidlEnvironmentV1_0(const std::string& service_name) : SensorsHidlEnvironmentBase(service_name) {} Loading
sensors/common/vts/utils/include/sensors-vts-utils/SensorsHidlEnvironmentBase.h +1 −6 Original line number Diff line number Diff line Loading @@ -46,12 +46,7 @@ class SensorsHidlEnvironmentBase { std::this_thread::sleep_for(std::chrono::seconds(3)); } virtual void HidlTearDown() { mStopThread = true; if (mPollThread.joinable()) { mPollThread.join(); } } virtual void HidlTearDown() = 0; // Get and clear all events collected so far (like "cat" shell command). // If output is nullptr, it clears all collected events. Loading