From 68a48f0fcd701c597da8ba8c2cc7fb88f70d2441 Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Wed, 25 May 2022 02:40:13 +0000 Subject: [PATCH 1/7] =?UTF-8?q?=E5=8C=85=E5=90=8D&cmdType=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I8c4b02edc5d0c0513407d9e52df87b5a27606efc --- services/sensor/src/client_info.cpp | 9 ++++++--- services/sensor/src/sensor_dump.cpp | 9 ++------- services/sensor/src/sensor_manager.cpp | 22 +++++++++++++++++----- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/services/sensor/src/client_info.cpp b/services/sensor/src/client_info.cpp index 607ea688..61fd8a3b 100644 --- a/services/sensor/src/client_info.cpp +++ b/services/sensor/src/client_info.cpp @@ -20,6 +20,7 @@ #include "permission_util.h" #include "securec.h" #include "sensor_hdi_connection.h" +#include "sensor_manager.h" #include "sensors_errors.h" #include "sensors_log_domain.h" @@ -574,14 +575,16 @@ void ClientInfo::GetSensorChannelInfo(std::vector &channelInf std::lock_guard clientLock(clientMutex_); for (const auto &sensorIt : clientMap_) { for (const auto &pidIt : sensorIt.second) { - SensorChannelInfo channel; - int32_t uid = GetUidByPid(pidIt.first); + int32_t pid = pidIt.first; + int32_t uid = GetUidByPid(pid); if (uid == INVALID_UID) { continue; } + SensorChannelInfo channel; channel.SetUid(uid); - std::string packageName(""); channel.SetSensorId(sensorIt.first); + std::string packageName(""); + SensorManager::GetInstance().GetPackageName(GetTokenIdByPid(pid), packageName); channel.SetPackageName(packageName); int64_t samplingPeriodNs = pidIt.second.GetSamplingPeriodNs(); int64_t maxReportDelayNs = pidIt.second.GetMaxReportDelayNs(); diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index a06006c4..9aa50755 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -143,16 +143,11 @@ bool SensorDump::DumpSensorChannel(int32_t fd, ClientInfo &clientInfo, const std clientInfo.GetSensorChannelInfo(channelInfo); for (const auto &channel : channelInfo) { auto sensorId = channel.GetSensorId(); - std::string cmds(""); - auto cmdList = channel.GetCmdType(); - for (auto cmd : cmdList) { - cmds += (std::to_string(cmd) + " "); - } dprintf(fd, "uid:%d | packageName:%s | sensorId:%8u | sensorType:%s | samplingPeriodNs:%d " - "| fifoCount:%u | cmdType:%s\n", + "| fifoCount:%u\n", channel.GetUid(), channel.GetPackageName().c_str(), sensorId, sensorMap_[sensorId].c_str(), - int32_t { channel.GetSamplingPeriodNs() }, channel.GetFifoCount(), cmds.c_str()); + int32_t { channel.GetSamplingPeriodNs() }, channel.GetFifoCount()); } return true; } diff --git a/services/sensor/src/sensor_manager.cpp b/services/sensor/src/sensor_manager.cpp index 3772457c..240d47d3 100644 --- a/services/sensor/src/sensor_manager.cpp +++ b/services/sensor/src/sensor_manager.cpp @@ -181,12 +181,24 @@ ErrCode SensorManager::AfterDisableSensor(uint32_t sensorId) void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageName) { CALL_LOG_ENTER; - HapTokenInfo hapInfo; - if (AccessTokenKit::GetHapTokenInfo(tokenId, hapInfo) != 0) { - SEN_HILOGE("get hap token info fail"); - return; + int32_t tokenType = AccessTokenKit::GetTokenTypeFlag(tokenId); + if (tokenType == ATokenTypeEnum::TOKEN_NATIVE) { + NativeTokenInfo tokenInfo; + if (AccessTokenKit::GetNativeTokenInfo(tokenId, tokenInfo) != 0) { + SEN_HILOGE("get native token info fail"); + return; + } + packageName = tokenInfo.processName; + } else if (tokenType == ATokenTypeEnum::TOKEN_HAP) { + HapTokenInfo hapInfo; + if (AccessTokenKit::GetHapTokenInfo(tokenId, hapInfo) != 0) { + SEN_HILOGE("get hap token info fail"); + return; + } + packageName = hapInfo.bundleName; + } else { + SEN_HILOGE("token type not match"); } - packageName = hapInfo.bundleName; } } // namespace Sensors } // namespace OHOS -- Gitee From 564aad5e927fd3bd5d299cf67af3193be3fcd759 Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Thu, 26 May 2022 06:55:45 +0000 Subject: [PATCH 2/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=BC=80?= =?UTF-8?q?=E7=9A=84sensor=E9=80=9A=E9=81=93=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: Ib56b81d518073a51b3394c79ee01e3b4eb3b1b00 --- services/sensor/src/sensor_dump.cpp | 3 ++- services/sensor/src/sensor_service.cpp | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index 9aa50755..3dcfa582 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -164,7 +164,8 @@ bool SensorDump::DumpOpeningSensor(int32_t fd, const std::vector &sensor for (const auto &sensor : sensors) { uint32_t sensorId = sensor.GetSensorId(); if (clientInfo.GetSensorState(sensorId)) { - dprintf(fd, "sensorId: %8u | sensorType: %s\n", sensorId, sensorMap_[sensorId].c_str()); + dprintf(fd, "sensorId: %8u | sensorType: %s | channelSize: %d\n", sensorId, + sensorMap_[sensorId].c_str(), clientInfo.GetSensorChannel(sensorId).size()); } } return true; diff --git a/services/sensor/src/sensor_service.cpp b/services/sensor/src/sensor_service.cpp index 93906a52..37e66cea 100644 --- a/services/sensor/src/sensor_service.cpp +++ b/services/sensor/src/sensor_service.cpp @@ -160,13 +160,11 @@ void SensorService::ReportSensorSysEvent(uint32_t sensorId, bool enable, int32_t int32_t uid = clientInfo_.GetUidByPid(pid); std::string message; if (enable) { - // define in LogPower.java, 500 stand for enable sensor message.append("uid : ").append(std::to_string(uid)).append(" pkgName : ").append(packageName) .append(" type : ").append(std::to_string(sensorId)); HiSysEvent::Write(HiSysEvent::Domain::SENSORS, "EnableSensor", HiSysEvent::EventType::STATISTIC, "LEVEL", logLevel, "TAG", "DUBAI_TAG_SENSOR_ENABLE", "MESSAGE", message); } else { - // define in LogPower.java, 501 stand for disable sensor message.append("uid : ").append(std::to_string(uid)).append(" pkgName : ").append(packageName) .append(" type : ").append(std::to_string(sensorId)); HiSysEvent::Write(HiSysEvent::Domain::SENSORS, "DisableSensor", HiSysEvent::EventType::STATISTIC, -- Gitee From 06e1e4b442e6025f3939a455cb38b91f5f6c7c13 Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Thu, 26 May 2022 07:03:21 +0000 Subject: [PATCH 3/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I01d64cbff34fc2cc5d71bb851908c1589586b2d6 --- services/sensor/src/sensor_dump.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index 3dcfa582..7fd63442 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -164,8 +164,8 @@ bool SensorDump::DumpOpeningSensor(int32_t fd, const std::vector &sensor for (const auto &sensor : sensors) { uint32_t sensorId = sensor.GetSensorId(); if (clientInfo.GetSensorState(sensorId)) { - dprintf(fd, "sensorId: %8u | sensorType: %s | channelSize: %d\n", sensorId, - sensorMap_[sensorId].c_str(), clientInfo.GetSensorChannel(sensorId).size()); + dprintf(fd, "sensorId: %8u | sensorType: %s | channelSize: %d\n", + sensorId, sensorMap_[sensorId].c_str(), clientInfo.GetSensorChannel(sensorId).size()); } } return true; -- Gitee From c27e5a6796706cacbb5292ffc06c3fe9fb60d88b Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Thu, 26 May 2022 07:11:26 +0000 Subject: [PATCH 4/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I3d1f927fd53c0210444c42ec10d1249b7aa3c31a --- services/sensor/src/sensor_dump.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp index 7fd63442..a332f46d 100644 --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -165,7 +165,7 @@ bool SensorDump::DumpOpeningSensor(int32_t fd, const std::vector &sensor uint32_t sensorId = sensor.GetSensorId(); if (clientInfo.GetSensorState(sensorId)) { dprintf(fd, "sensorId: %8u | sensorType: %s | channelSize: %d\n", - sensorId, sensorMap_[sensorId].c_str(), clientInfo.GetSensorChannel(sensorId).size()); + sensorId, sensorMap_[sensorId].c_str(), clientInfo.GetSensorChannel(sensorId).size()); } } return true; -- Gitee From 38700261b34228ce09efe4d0983ca03b37d1cffa Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Fri, 27 May 2022 09:11:35 +0000 Subject: [PATCH 5/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I748de0d48a69a093efcbe8ac0296f084ca90c0f3 --- services/sensor/src/client_info.cpp | 3 ++- services/sensor/src/sensor_manager.cpp | 36 ++++++++++++++------------ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/services/sensor/src/client_info.cpp b/services/sensor/src/client_info.cpp index 61fd8a3b..0c0b78b6 100644 --- a/services/sensor/src/client_info.cpp +++ b/services/sensor/src/client_info.cpp @@ -578,12 +578,13 @@ void ClientInfo::GetSensorChannelInfo(std::vector &channelInf int32_t pid = pidIt.first; int32_t uid = GetUidByPid(pid); if (uid == INVALID_UID) { + SEN_HILOGW("uid is invalid, uid:%{public}d", uid); continue; } SensorChannelInfo channel; channel.SetUid(uid); channel.SetSensorId(sensorIt.first); - std::string packageName(""); + std::string packageName; SensorManager::GetInstance().GetPackageName(GetTokenIdByPid(pid), packageName); channel.SetPackageName(packageName); int64_t samplingPeriodNs = pidIt.second.GetSamplingPeriodNs(); diff --git a/services/sensor/src/sensor_manager.cpp b/services/sensor/src/sensor_manager.cpp index 240d47d3..f9b2b9b0 100644 --- a/services/sensor/src/sensor_manager.cpp +++ b/services/sensor/src/sensor_manager.cpp @@ -182,22 +182,26 @@ void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageNa { CALL_LOG_ENTER; int32_t tokenType = AccessTokenKit::GetTokenTypeFlag(tokenId); - if (tokenType == ATokenTypeEnum::TOKEN_NATIVE) { - NativeTokenInfo tokenInfo; - if (AccessTokenKit::GetNativeTokenInfo(tokenId, tokenInfo) != 0) { - SEN_HILOGE("get native token info fail"); - return; - } - packageName = tokenInfo.processName; - } else if (tokenType == ATokenTypeEnum::TOKEN_HAP) { - HapTokenInfo hapInfo; - if (AccessTokenKit::GetHapTokenInfo(tokenId, hapInfo) != 0) { - SEN_HILOGE("get hap token info fail"); - return; - } - packageName = hapInfo.bundleName; - } else { - SEN_HILOGE("token type not match"); + switch(tokenType) { + case ATokenTypeEnum::TOKEN_NATIVE: + NativeTokenInfo tokenInfo; + if (AccessTokenKit::GetNativeTokenInfo(tokenId, tokenInfo) != 0) { + SEN_HILOGE("get native token info fail"); + return; + } + packageName = tokenInfo.processName; + break; + case ATokenTypeEnum::TOKEN_HA: + HapTokenInfo hapInfo; + if (AccessTokenKit::GetHapTokenInfo(tokenId, hapInfo) != 0) { + SEN_HILOGE("get hap token info fail"); + return; + } + packageName = hapInfo.bundleName; + break; + default: + SEN_HILOGW("token type not match"); + break; } } } // namespace Sensors -- Gitee From 37b11df1e4d1c7ceffbcc4e7cd7be606ab4d658c Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Fri, 27 May 2022 09:35:46 +0000 Subject: [PATCH 6/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I873aa6ebad520c3284592c5decfa3ed61ac49e42 --- services/sensor/src/sensor_manager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/sensor/src/sensor_manager.cpp b/services/sensor/src/sensor_manager.cpp index f9b2b9b0..b882bac6 100644 --- a/services/sensor/src/sensor_manager.cpp +++ b/services/sensor/src/sensor_manager.cpp @@ -183,7 +183,7 @@ void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageNa CALL_LOG_ENTER; int32_t tokenType = AccessTokenKit::GetTokenTypeFlag(tokenId); switch(tokenType) { - case ATokenTypeEnum::TOKEN_NATIVE: + case ATokenTypeEnum::TOKEN_NATIVE: { NativeTokenInfo tokenInfo; if (AccessTokenKit::GetNativeTokenInfo(tokenId, tokenInfo) != 0) { SEN_HILOGE("get native token info fail"); @@ -191,7 +191,8 @@ void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageNa } packageName = tokenInfo.processName; break; - case ATokenTypeEnum::TOKEN_HA: + } + case ATokenTypeEnum::TOKEN_HAP: { HapTokenInfo hapInfo; if (AccessTokenKit::GetHapTokenInfo(tokenId, hapInfo) != 0) { SEN_HILOGE("get hap token info fail"); @@ -199,9 +200,11 @@ void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageNa } packageName = hapInfo.bundleName; break; - default: + } + default: { SEN_HILOGW("token type not match"); break; + } } } } // namespace Sensors -- Gitee From 34cfaeb7dbd0e329c9c54c7dfc5e3bdcffe3676e Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Fri, 27 May 2022 14:54:36 +0000 Subject: [PATCH 7/7] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: I1d5b60b5d9f31ebb4ab97b2cd3195f31385957bc --- services/sensor/src/sensor_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/sensor/src/sensor_manager.cpp b/services/sensor/src/sensor_manager.cpp index b882bac6..c8a0ba94 100644 --- a/services/sensor/src/sensor_manager.cpp +++ b/services/sensor/src/sensor_manager.cpp @@ -182,7 +182,7 @@ void SensorManager::GetPackageName(AccessTokenID tokenId, std::string &packageNa { CALL_LOG_ENTER; int32_t tokenType = AccessTokenKit::GetTokenTypeFlag(tokenId); - switch(tokenType) { + switch (tokenType) { case ATokenTypeEnum::TOKEN_NATIVE: { NativeTokenInfo tokenInfo; if (AccessTokenKit::GetNativeTokenInfo(tokenId, tokenInfo) != 0) { -- Gitee