diff --git a/services/samgr/native/source/collect/device_status_collect_manager.cpp b/services/samgr/native/source/collect/device_status_collect_manager.cpp index 4cfee9ce75ba4342b3a461999df621b62dc74af5..59bc1fb25c22648e550721f50bad2e65ca3ceace 100644 --- a/services/samgr/native/source/collect/device_status_collect_manager.cpp +++ b/services/samgr/native/source/collect/device_status_collect_manager.cpp @@ -35,6 +35,8 @@ namespace OHOS { namespace { constexpr int32_t TO_MILLISECOND = 1000; +constexpr const char* LOOP_EVENT = "loopevent"; +constexpr const char* AWAKE_LOOP_EVENT = "awakeloopevent"; } void DeviceStatusCollectManager::Init(const std::list& saProfiles) { @@ -172,8 +174,16 @@ bool DeviceStatusCollectManager::IsSameEvent(const OnDemandEvent& ev1, const OnD ev1.persistence == ev2.persistence && (ev1.value == ev2.value || "" == ev2.value)); } -bool DeviceStatusCollectManager::IsSameEventName(const OnDemandEvent& ev1, const OnDemandEvent& ev2) +bool DeviceStatusCollectManager::IsSameEventName(const OnDemandEvent& event1, const OnDemandEvent& event2) { + OnDemandEvent ev1 = event1; + if (ev1.name == AWAKE_LOOP_EVENT) { + ev1.name = LOOP_EVENT; + } + OnDemandEvent ev2 = event2; + if (ev2.name == AWAKE_LOOP_EVENT) { + ev2.name = LOOP_EVENT; + } if (ev1.eventId != TIMED_EVENT) { if (ev1.eventId == ev2.eventId && ev1.name == ev2.name) { return true;