diff --git a/frameworks/native/sensor/src/sensor_data_channel.cpp b/frameworks/native/sensor/src/sensor_data_channel.cpp index 01dc93fdb8e985a046ceba3ddb392ff5727894dd..641e75f9ca5bf051b429ab9d987484b7fc670b96 100755 --- a/frameworks/native/sensor/src/sensor_data_channel.cpp +++ b/frameworks/native/sensor/src/sensor_data_channel.cpp @@ -40,7 +40,6 @@ std::shared_ptr SensorDataChannel::eventRunner_; namespace { constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_NATIVE, "SensorDataChannel" }; // max 100 data in cache buffer -constexpr int32_t SENSOR_READ_DATA_SIZE = sizeof(struct SensorEvent) * 100; constexpr uint32_t STOP_EVENT_ID = 0; } // namespace @@ -77,7 +76,7 @@ int32_t SensorDataChannel::InnerSensorDataChannel() { std::lock_guard eventRunnerLock(eventRunnerMutex_); // create basic data channel - int32_t ret = CreateSensorBasicChannel(SENSOR_READ_DATA_SIZE, SENSOR_READ_DATA_SIZE); + int32_t ret = CreateSensorBasicChannel(); if (ret != ERR_OK) { HiLog::Error(LABEL, "%{public}s create basic channel failed, ret : %{public}d", __func__, ret); return ret; diff --git a/frameworks/native/sensor/src/sensor_service_client.cpp b/frameworks/native/sensor/src/sensor_service_client.cpp index f813f2352a2c3ad290aa72802ab06c1cd964a8ed..fcd4a75f9b438e259e099126d2379722cffebf26 100755 --- a/frameworks/native/sensor/src/sensor_service_client.cpp +++ b/frameworks/native/sensor/src/sensor_service_client.cpp @@ -227,7 +227,7 @@ void SensorServiceClient::UpdateSensorInfoMap(uint32_t sensorId, int64_t samplin SensorBasicInfo sensorInfo; sensorInfo.SetSamplingPeriodNs(samplingPeriod); sensorInfo.SetMaxReportDelayNs(maxReportDelay); - sensorInfo.SetSensorState(SensorState::SENSOR_ENABLED); + sensorInfo.SetSensorState(true); sensorInfoMap_[sensorId] = sensorInfo; return; } diff --git a/services/sensor/hdi_connection/adapter/include/hdi_connection.h b/services/sensor/hdi_connection/adapter/include/hdi_connection.h index 95cd55168cb55c90111018901d0a7d8ced9113a0..68d2a25926d18638982baa70bb50f21c2a3dc390 100644 --- a/services/sensor/hdi_connection/adapter/include/hdi_connection.h +++ b/services/sensor/hdi_connection/adapter/include/hdi_connection.h @@ -63,7 +63,7 @@ private: void UnregisterHdiDeathRecipient(); void reconnect(); void updateSensorBasicInfo(int32_t sensorId, int64_t samplingPeriodNs, int64_t maxReportDelayNs); - void setSensorBasicInfoState(int32_t sensorId, SensorState state); + void setSensorBasicInfoState(int32_t sensorId, bool state); void deleteSensorBasicInfoState(int32_t sensorId); }; } // namespace Sensors diff --git a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp index af655e306f86e2e263fa3de925350d0ae40688fe..1181da759e66e5cb982982bbfe4be3bd0e17bac9 100644 --- a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp +++ b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp @@ -113,7 +113,7 @@ int32_t HdiConnection::EnableSensor(int32_t sensorId) HiLog::Error(LABEL, "%{public}s is failed", __func__); return ret; } - setSensorBasicInfoState(sensorId, SENSOR_ENABLED); + setSensorBasicInfoState(sensorId, true); return ERR_OK; } @@ -249,7 +249,7 @@ void HdiConnection::updateSensorBasicInfo(int32_t sensorId, int64_t samplingPeri sensorBasicInfoMap_[sensorId] = sensorBasicInfo; } -void HdiConnection::setSensorBasicInfoState(int32_t sensorId, SensorState state) +void HdiConnection::setSensorBasicInfoState(int32_t sensorId, bool state) { std::lock_guard sensorInfoLock(sensorBasicInfoMutex_); auto it = sensorBasicInfoMap_.find(sensorId); @@ -334,7 +334,7 @@ void HdiConnection::reconnect() int32_t sensorTypeId = sensorInfo.first; ret = SetBatch(sensorTypeId, sensorInfo.second.GetSamplingPeriodNs(), sensorInfo.second.GetMaxReportDelayNs()); - if (ret < 0 || sensorInfo.second.GetSensorState() != SENSOR_ENABLED) { + if (ret < 0 || sensorInfo.second.GetSensorState() != true) { HiLog::Error(LABEL, "%{public}s sensorTypeId: %{public}d set batch fail or not need enable sensor", __func__, sensorTypeId); continue; diff --git a/services/sensor/include/client_info.h b/services/sensor/include/client_info.h index bc5369ed6fb68475041cb5524b2a379633f11bce..6566048a055bc7ffd13da6dea455a9fd86e23ebd 100644 --- a/services/sensor/include/client_info.h +++ b/services/sensor/include/client_info.h @@ -42,7 +42,7 @@ public: ClientInfo() = default; virtual ~ClientInfo() = default; - SensorState GetSensorState(uint32_t sensorId); + bool GetSensorState(uint32_t sensorId); SensorBasicInfo GetBestSensorInfo(uint32_t sensorId); bool OnlyCurPidSensorEnabled(uint32_t sensorId, int32_t pid); std::vector> GetSensorChannel(uint32_t sensorId); diff --git a/services/sensor/src/client_info.cpp b/services/sensor/src/client_info.cpp index 1ad29e92312ecc1a3b1391f4430cdcf7288fbd5d..8a0d593e9515eb6090fbe0677ea5edfce032a23c 100644 --- a/services/sensor/src/client_info.cpp +++ b/services/sensor/src/client_info.cpp @@ -40,27 +40,27 @@ constexpr uint32_t MAX_DUMP_DATA_SIZE = 10; constexpr uint32_t HEART_RATE_SENSOR_ID = 83886336; } // namespace -SensorState ClientInfo::GetSensorState(uint32_t sensorId) +bool ClientInfo::GetSensorState(uint32_t sensorId) { CALL_LOG_ENTER; if (sensorId == INVALID_SENSOR_ID) { HiLog::Error(LABEL, "%{public}s sensorId is invalid", __func__); - return SENSOR_DISABLED; + return false; } std::lock_guard clientLock(clientMutex_); auto it = clientMap_.find(sensorId); if (it == clientMap_.end()) { HiLog::Error(LABEL, "%{public}s cannot find sensorId : %{public}u", __func__, sensorId); - return SENSOR_DISABLED; + return false; } for (const auto &pidIt : it->second) { - if (pidIt.second.GetSensorState() == SENSOR_ENABLED) { - return SENSOR_ENABLED; + if (pidIt.second.GetSensorState() == true) { + return true; } } HiLog::Error(LABEL, "%{public}s cannot find sensorinfo, sensorId : %{public}u", __func__, sensorId); - return SENSOR_DISABLED; + return false; } SensorBasicInfo ClientInfo::GetBestSensorInfo(uint32_t sensorId) @@ -110,7 +110,7 @@ bool ClientInfo::OnlyCurPidSensorEnabled(uint32_t sensorId, int32_t pid) } bool ret = false; for (const auto &pidIt : it->second) { - if (pidIt.second.GetSensorState() != SENSOR_ENABLED) { + if (!pidIt.second.GetSensorState()) { continue; } if (pidIt.first != pid) { @@ -226,7 +226,7 @@ std::vector> ClientInfo::GetSensorChannel(uint32_t bool ClientInfo::UpdateSensorInfo(uint32_t sensorId, int32_t pid, const SensorBasicInfo &sensorInfo) { CALL_LOG_ENTER; - if ((sensorId == INVALID_SENSOR_ID) || (pid <= INVALID_PID) || (sensorInfo.GetSensorState() != SENSOR_ENABLED)) { + if ((sensorId == INVALID_SENSOR_ID) || (pid <= INVALID_PID) || (!sensorInfo.GetSensorState())) { HiLog::Error(LABEL, "%{public}s params are invalid", __func__); return false; } diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index c41921c4c2c63ea1a2fc844b21ac1ce86aafa533..86b6c7a10e664b179e973a48f9a51720f75572aa 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -189,7 +189,7 @@ bool SensorDump::DumpOpeningSensor(int32_t fd, const std::vector &sensor dprintf(fd, "Opening sensors:\n"); for (const auto &sensor : sensors) { uint32_t sensorId = sensor.GetSensorId(); - if (clientInfo.GetSensorState(sensorId) == SENSOR_ENABLED) { + if (clientInfo.GetSensorState(sensorId)) { dprintf(fd, "sensorId: %8u | sensorType: %s\n", sensorId, sensorMap_[sensorId].c_str()); } } diff --git a/services/sensor/src/sensor_manager.cpp b/services/sensor/src/sensor_manager.cpp index 04a14890056d677e11fa90e6d299d30849cd3f66..d7ad7e1683867f32cbd2feba59efa5fb94725f68 100644 --- a/services/sensor/src/sensor_manager.cpp +++ b/services/sensor/src/sensor_manager.cpp @@ -102,7 +102,7 @@ SensorBasicInfo SensorManager::GetSensorInfo(uint32_t sensorId, int64_t sampling if (it == sensorMap_.end()) { sensorInfo.SetSamplingPeriodNs(samplingPeriodNs); sensorInfo.SetMaxReportDelayNs(maxReportDelayNs); - sensorInfo.SetSensorState(SENSOR_ENABLED); + sensorInfo.SetSensorState(true); HiLog::Error(LABEL, "%{public}s sensorId invalid", __func__); return sensorInfo; } @@ -121,7 +121,7 @@ SensorBasicInfo SensorManager::GetSensorInfo(uint32_t sensorId, int64_t sampling int64_t curReportDelayNs = (maxReportDelayNs > supportDelay) ? supportDelay : maxReportDelayNs; sensorInfo.SetSamplingPeriodNs(curSamplingPeriodNs); sensorInfo.SetMaxReportDelayNs(curReportDelayNs); - sensorInfo.SetSensorState(SENSOR_ENABLED); + sensorInfo.SetSensorState(true); return sensorInfo; } diff --git a/services/sensor/src/sensor_service.cpp b/services/sensor/src/sensor_service.cpp index 774ae79cbf284b3e53759e141e87da0facb40c39..959656a26c9dcb5441f840aa3cc2ecfe3046f379 100644 --- a/services/sensor/src/sensor_service.cpp +++ b/services/sensor/src/sensor_service.cpp @@ -242,9 +242,9 @@ ErrCode SensorService::EnableSensor(uint32_t sensorId, int64_t samplingPeriodNs, HiLog::Error(LABEL, "%{public}s sensorId is 0 or maxReportDelayNs exceeded the maximum value", __func__); return ERR_NO_INIT; } - ReportSensorSysEvent(sensorId, SENSOR_ENABLED); + ReportSensorSysEvent(sensorId, true); std::lock_guard serviceLock(serviceLock_); - if (clientInfo_.GetSensorState(sensorId) == SENSOR_ENABLED) { + if (clientInfo_.GetSensorState(sensorId)) { HiLog::Warn(LABEL, "%{public}s sensor has been enabled already", __func__); auto ret = SaveSubscriber(sensorId, samplingPeriodNs, maxReportDelayNs); if (ret != ERR_OK) { @@ -284,14 +284,14 @@ ErrCode SensorService::DisableSensor(uint32_t sensorId) HiLog::Error(LABEL, "%{public}s sensorId is invalid", __func__); return ERR_NO_INIT; } - ReportSensorSysEvent(sensorId, SENSOR_DISABLED); + ReportSensorSysEvent(sensorId, false); std::lock_guard serviceLock(serviceLock_); const int32_t clientPid = this->GetCallingPid(); if (clientPid < 0) { HiLog::Error(LABEL, "%{public}s clientPid is invalid, clientPid : %{public}d", __func__, clientPid); return CLIENT_PID_INVALID_ERR; } - if (clientInfo_.GetSensorState(sensorId) != SENSOR_ENABLED) { + if (!clientInfo_.GetSensorState(sensorId)) { HiLog::Error(LABEL, "%{public}s sensor should be enabled first", __func__); return DISABLE_SENSOR_ERR; } diff --git a/utils/include/sensor_basic_data_channel.h b/utils/include/sensor_basic_data_channel.h index 1ce789b0f85d56265e5219cfbd4e21875384964b..9b421705b6782e7df20e076c96be67b3415b6d72 100644 --- a/utils/include/sensor_basic_data_channel.h +++ b/utils/include/sensor_basic_data_channel.h @@ -41,7 +41,7 @@ class SensorBasicDataChannel : public RefBase { public: SensorBasicDataChannel(); virtual ~SensorBasicDataChannel(); - int32_t CreateSensorBasicChannel(size_t sendSize, size_t receiveSize); + int32_t CreateSensorBasicChannel(); int32_t CreateSensorBasicChannel(MessageParcel &data); int32_t DestroySensorBasicChannel(); int32_t GetSendDataFd() const; diff --git a/utils/include/sensor_basic_info.h b/utils/include/sensor_basic_info.h index aaaa29f99e9a9e637bfd90c386aec38225489645..92c37c46ec94354089ec38be9f4f4ac72e131f3a 100755 --- a/utils/include/sensor_basic_info.h +++ b/utils/include/sensor_basic_info.h @@ -20,12 +20,6 @@ namespace OHOS { namespace Sensors { -enum SensorState { - SENSOR_DISABLED = 0, - SENSOR_ENABLED = 1, - SENSOR_UNKNOWN_STATE = 2, -}; - class SensorBasicInfo { public: SensorBasicInfo(); @@ -34,13 +28,13 @@ public: void SetSamplingPeriodNs(int64_t samplingPeriodNs); int64_t GetMaxReportDelayNs() const; void SetMaxReportDelayNs(int64_t maxReportDelayNs); - SensorState GetSensorState() const; - void SetSensorState(SensorState sensorState); + bool GetSensorState() const; + void SetSensorState(bool sensorState); private: int64_t samplingPeriodNs_; int64_t maxReportDelayNs_; - SensorState sensorState_; + bool sensorState_ = false; }; } // namespace Sensors } // namespace OHOS diff --git a/utils/src/sensor_basic_data_channel.cpp b/utils/src/sensor_basic_data_channel.cpp index 13730d9f4a3ef278c70bf29b218745105d80fab2..85f10db927523f14f78487df27ea719a178e495a 100755 --- a/utils/src/sensor_basic_data_channel.cpp +++ b/utils/src/sensor_basic_data_channel.cpp @@ -29,6 +29,7 @@ using namespace OHOS::HiviewDFX; namespace { constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_UTILS, "SensorBasicChannel" }; +constexpr int32_t SENSOR_READ_DATA_SIZE = sizeof(struct SensorEvent) * 100; constexpr int32_t DEFAULT_CHANNEL_SIZE = 2 * 1024; constexpr int32_t SOCKET_PAIR_SIZE = 2; } // namespace @@ -38,7 +39,7 @@ SensorBasicDataChannel::SensorBasicDataChannel() : sendFd_(INVALID_FD), receiveF HiLog::Debug(LABEL, "%{public}s isActive_ : %{public}d, sendFd: %{public}d", __func__, isActive_, sendFd_); } -int32_t SensorBasicDataChannel::CreateSensorBasicChannel(size_t sendSize, size_t receiveSize) +int32_t SensorBasicDataChannel::CreateSensorBasicChannel() { if ((sendFd_ != INVALID_FD) || (receiveFd_ != INVALID_FD)) { HiLog::Debug(LABEL, "%{public}s already create socketpair", __func__); @@ -55,8 +56,8 @@ int32_t SensorBasicDataChannel::CreateSensorBasicChannel(size_t sendSize, size_t return SENSOR_CHANNEL_SOCKET_CREATE_ERR; } // set socket attr - setsockopt(socketPair[0], SOL_SOCKET, SO_SNDBUF, &sendSize, sizeof(sendSize)); - setsockopt(socketPair[1], SOL_SOCKET, SO_RCVBUF, &receiveSize, sizeof(receiveSize)); + setsockopt(socketPair[0], SOL_SOCKET, SO_SNDBUF, &SENSOR_READ_DATA_SIZE, sizeof(SENSOR_READ_DATA_SIZE)); + setsockopt(socketPair[1], SOL_SOCKET, SO_RCVBUF, &SENSOR_READ_DATA_SIZE, sizeof(SENSOR_READ_DATA_SIZE)); int32_t bufferSize = DEFAULT_CHANNEL_SIZE; int32_t ret = setsockopt(socketPair[0], SOL_SOCKET, SO_RCVBUF, &bufferSize, sizeof(bufferSize)); if (ret != 0) { diff --git a/utils/src/sensor_basic_info.cpp b/utils/src/sensor_basic_info.cpp index 959806cc845f45cc466ae2dd755b4d56cc8114fc..98f7883bf9b67591bf12c8b47c8c7c16e5e31ef5 100755 --- a/utils/src/sensor_basic_info.cpp +++ b/utils/src/sensor_basic_info.cpp @@ -17,7 +17,7 @@ namespace OHOS { namespace Sensors { -SensorBasicInfo::SensorBasicInfo() : samplingPeriodNs_(0L), maxReportDelayNs_(0L), sensorState_(SENSOR_DISABLED) +SensorBasicInfo::SensorBasicInfo() : samplingPeriodNs_(0L), maxReportDelayNs_(0L), sensorState_(false) {} int64_t SensorBasicInfo::GetSamplingPeriodNs() const @@ -40,12 +40,12 @@ void SensorBasicInfo::SetMaxReportDelayNs(int64_t maxReportDelayNs) maxReportDelayNs_ = maxReportDelayNs; } -SensorState SensorBasicInfo::GetSensorState() const +bool SensorBasicInfo::GetSensorState() const { return sensorState_; } -void SensorBasicInfo::SetSensorState(SensorState sensorState) +void SensorBasicInfo::SetSensorState(bool sensorState) { sensorState_ = sensorState; }