From f466e5e570267394a65ec7f286be5660b95b76ad Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 14:23:10 +0800 Subject: [PATCH 01/25] power improve for wearable Signed-off-by: zhouyan --- BUILD.gn | 21 +++ bundle.json | 3 +- .../js/napi/src/cellular_data_handler.cpp | 10 ++ services/include/cellular_data_handler.h | 7 +- .../cellular_data_power_improvement_manager.h | 63 +++++++ ...ellular_data_power_improvement_manager.cpp | 162 ++++++++++++++++++ 6 files changed, 264 insertions(+), 2 deletions(-) create mode 100644 services/include/cellular_data_power_improvement_manager.h create mode 100644 services/src/cellular_data_power_improvement_manager.cpp diff --git a/BUILD.gn b/BUILD.gn index cdc8fae7..c9d8910b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -18,6 +18,7 @@ declare_args() { !defined(global_parts_info.hiviewdfx_hicollie)) { telephony_cellular_data_hicollie_able = false } + cellular_data_feature_base_power_improvement = false } telephony_extra_defines = [] @@ -81,6 +82,12 @@ ohos_shared_library("tel_cellular_data") { "services/src/utils/network_search_callback.cpp", ] + if (cellular_data_feature_base_power_improvement) { + sources += [ + "services/src/cellular_data_power_improvement_manager.cpp", + ] + } + include_dirs = [ "$TELEPHONY_EXT_WRAPPER_ROOT/include", "$DATA_SERVICE_EXT_WRAPPER_ROOT/include", @@ -147,6 +154,10 @@ ohos_shared_library("tel_cellular_data") { defines += [ "OHOS_BUILD_ENABLE_DATA_SERVICE_EXT" ] } + if (cellular_data_feature_base_power_improvement) { + defines += ["BASE_POWER_IMPROVEMENT] + } + cflags_cc = [ "-O2", "-D_FORTIFY_SOURCE=2", @@ -201,6 +212,12 @@ ohos_static_library("tel_cellular_data_static") { "services/src/utils/network_search_callback.cpp", ] + if (cellular_data_feature_base_power_improvement) { + sources += [ + "services/src/cellular_data_power_improvement_manager.cpp", + ] + } + include_dirs = [ "$TELEPHONY_EXT_WRAPPER_ROOT/include", "$DATA_SERVICE_EXT_WRAPPER_ROOT/include", @@ -267,6 +284,10 @@ ohos_static_library("tel_cellular_data_static") { defines += [ "OHOS_BUILD_ENABLE_DATA_SERVICE_EXT" ] } + if (cellular_data_feature_base_power_improvement) { + defines += ["BASE_POWER_IMPROVEMENT] + } + cflags_cc = [ "-O2", "-D_FORTIFY_SOURCE=2", diff --git a/bundle.json b/bundle.json index cad08daa..9c01c939 100644 --- a/bundle.json +++ b/bundle.json @@ -23,7 +23,8 @@ "SystemCapability.Telephony.CellularData" ], "features": [ - "cellular_data_dynamic_start" + "cellular_data_dynamic_start", + "cellular_data_feature_base_power_improvement" ], "adapted_system_type": [ "standard" diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index e18dcea8..a857659b 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -38,6 +38,9 @@ #include "ipc_skeleton.h" #include "connection_retry_policy.h" #include "pdp_profile_data.h" +#ifdef BASE_POWER_IMPROVEMENT +#include "cellular_data_power_improvement_manager.cpp" +#endif namespace OHOS { namespace Telephony { using namespace AppExecFwk; @@ -76,7 +79,14 @@ void CellularDataHandler::Init() dataSwitchSettings_->LoadSwitchValue(); GetConfigurationFor5G(); SetRilLinkBandwidths(); +#ifdef BASE_POWER_IMPROVEMENT + dataConnectionPowerImprovementManager_ = std:make_shared(*this); + if (dataConnectionPowerImprovementManager_ != nullptr) { + bool ret = dataConnectionPowerImprovementManager_->StartEventSubscriber(); + TELEPHONY_LOGI("Subscriber ordered broadcast succ ret = %{public}d", ret); + } } +#endif CellularDataHandler::~CellularDataHandler() {} diff --git a/services/include/cellular_data_handler.h b/services/include/cellular_data_handler.h index 277fbdc9..87f31e8b 100644 --- a/services/include/cellular_data_handler.h +++ b/services/include/cellular_data_handler.h @@ -38,6 +38,9 @@ #include "tel_profile_util.h" #include "tel_ril_data_parcel.h" #include "telephony_types.h" +#ifdef BASE_POWER_IMPROVEMENT +include "cellular_data_power_improvement_manager.h" +#endif namespace OHOS { namespace Telephony { const uint32_t KEEP_APN_ACTIVATE_PERIOD = 30 * 1000; @@ -224,7 +227,9 @@ private: uint64_t defaultApnActTime_ = 0; uint64_t internalApnActTime_ = 0; int32_t retryCreateApnTimes_ = 0; - +#ifdef BASE_POWER_IMPROVEMENT + std::shared_ptr dataConnectionPowerImprovementManager_ = nullptr; +#endif using Fun = std::function; std::map eventIdMap_ { { RadioEvent::RADIO_PS_CONNECTION_ATTACHED, diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h new file mode 100644 index 00000000..10a77c65 --- /dev/null +++ b/services/include/cellular_data_power_improvement_manager.h @@ -0,0 +1,63 @@ +// Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved. + +#ifndef DATA_CONNECTION_POWER_STR_MANAGER_H +#define DATA_CONNECTION_POWER_STR_MANAGER_H + +#include "common_event_subscriber.h" +#include "system_ability_status_change_stub.h" +#inlude "cellular_data_handler.h" + +namespace OHOS { +namespace Telephony { +class DataConnectionPowerStrEnterSubscriber : public EventFwk::CommonEventSubscriber { +public: + explicit DataConnectionPowerStrEnterSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strEnterCellularDataHandler_(handler) {} + ~DataConnectionPowerStrEnterSubscriber() = default; + void OnReceiveEvent(const EventFwk::CommonEventData &data) override; + std::shared_ptr strEnterAsyncCommonEvent_ = nullptr; +private: + CellularDataHandler &strEnterCellularDataHandler_; +}; + +class DataConnectionPowerStrExitSubscriber : public EventFwk::CommonEventSubscriber { +public: + explicit DataConnectionPowerStrExitSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strExitCellularDataHandler_(handler) {} + ~DataConnectionPowerStrExitSubscriber() = default; + void OnReceiveEvent(const EventFwk::CommonEventData &data) override; + std::shared_ptr strExitAsyncCommonEvent_ = nullptr; +private: + CellularDataHandler &strExitCellularDataHandler_; +}; + +class DataConnectionPowerImprovementManager { +public: + DataConnectionPowerImprovementManager(CellularDataHandler &handler) : strCellularDataHandler_(handler) {} + ~DataConnectionPowerImprovementManager() = default; + bool StartEventSubscriber(); + void StopEventSubscriber(); + static bool GetSavedCellularDataStatus(); + static void SetSavedCellularDataStatus(bool value); + std::shared_ptr strEnterSubscriber_ =nullptr; + std::shared_ptr strExitSubscriber_ =nullptr; +private: + template + std::shared_ptr CreatCommonSubscriber(const std:string &event, int32_t priority); +private: + static inline bool g_savedCellularDataStatus = true; + sptr statusChangeListener_ = nullptr; + CellularDataHandler &strCellularDataHandler_; +private: + class SystemAbilityStatusChangeListener : public SystemAbilityStatusChangeStub { + public: + SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, std::shared_ptr subStrExit) : strEnterSub_(subStrEnter), strExitSub_(subStrExit) {} + ~SystemAbilityStatusChangeListener() = default; + void OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) override; + void OnRemoveSystemAbility(int32_t systemAbilityId, const std::string &deviceId) override; + private: + std::shared_ptr strEnterSub_ = nullptr; + std::shared_ptr strExitSub_ = nullptr; + } +}; +} //namespace Telephony +} //namespace OHOS +#endif \ No newline at end of file diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp new file mode 100644 index 00000000..33f8e46c --- /dev/null +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -0,0 +1,162 @@ +// Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved. + +#include "cellular_data_power_improvement_manager.h" + +#include "common_event_manager.h" +#include "iservice_registry.h" +#include "system_ability_definition.h" +#include "telephony_types.h" +#include "cellular_data_handler.h" +#include "cellular_data_wrapper.h" + +namespace OHOS { +namespace Telephony { +constexpr const char *PERMISSION_STARTUP_COMPLETED = "ohos.permission.RECEIVER_STARTUP_COMPLETED"; +str:string lastMsg = ""; +bool DataConnectionPowerImprovementManager::StartEventSubscriber() +{ + if (!system::GetBoolParameter("const.vendor.ril.power.feature_tele_power", false)) { + TELEPHONY_LOGI("feature_tele_power not define"); + return false; + } + strEnterSubscriber_ = CreatCommonSubscriber(ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); + strExitSubscriber_ = CreatCommonSubscriber(EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); + statusChangeListener_ = new (std::nothrow) SystemAbilityStatusChangeListener(strEnterSubscriber_, strExitSubscriber_); + auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); + if (samgrProxy == nullptr || statusChangeListener_ == nullptr) { + TELEPHONY_LOGE("StartEventSubscriber samgrProxy or statusChangeListener_ is nullptr"); + return false; + } + if (samgrProxy->SubscribeSystemAbility(COMMON_EVENT_SERVICE_ID, statusChangeListener_) != TELEPHONY_ERR_SUCCESS) { + TELEPHONY_LOGE("SubscribeSystemAbility execute failed"); + return false; + } + return true; +} + +template +std::shared_ptr DataConnectionPowerImprovementManager::CreatCommonSubscriber(const std:string &event, int32_t priority) +{ + EventFwk::MatchingSkills matchingSkills; + matchingSkills.AddEvent(event); + EventFwk::CommonEventSubscribeInfo subscribeInfo(matchingSkills); + subscribeInfo.SetThreadMode(EventFwk::CommonEventSubscribeInfo::COMMON); + subscribeInfo.SetPriority(priority); + subscribeInfo.SetPermission(PERMISSION_STARTUP_COMPLETED); + return std::make_shared(subscribeInfo, strCellularDataHandler_); +} + +void DataConnectionPowerImprovementManager::StopEventSubscriber() +{ + auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); + if (samgrProxy != nullptr) { + int32_t ret = samgrProxy->UnSubscribeSystemAbility(COMMON_EVENT_SERVICE_ID, statusChangeListener_); + TELEPHONY_LOGI("UnSubscribeSystemAbility ret = %{public}d", ret); + } + if (statusChangeListener_ != nullptr) { + delete statusChangeListener_; + statusChangeListener_ = nullptr; + } + if (strEnterSubscriber_ != nullptr) { + bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strEnterSubscriber_); + TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + } + if (strExitSubscriber_ != nullptr) { + bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strExitSubscriber_); + TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + } +} + +void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) +{ + if (systemAbilityId != COMMON_EVENT_SERVICE_ID) { + TELEPHONY_LOGI("systemAbilityId is %{public}d", systemAbilityId); + return; + } + if (strEnterSub_ != nullptr) { + bool ret = EventFwk::CommonEventManager::SubscribeCommonEvent(strEnterSub_); + TELEPHONY_LOGI("SubscribeCommonEvent result = %{public}d", ret); + } + if (strExitSub_ != nullptr) { + bool ret = EventFwk::CommonEventManager::SubscribeCommonEvent(strExitSub_); + TELEPHONY_LOGI("SubscribeCommonEvent result = %{public}d", ret); + } +} + +void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnRemoveSystemAbility(int32_t systemAbilityId, const std::string &deviceId) +{ + if (systemAbilityId != COMMON_EVENT_SERVICE_ID) { + return; + } + if (strEnterSub_ != nullptr) { + bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strEnterSub_); + TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + } + if (strExitSub_ != nullptr) { + bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strExitSub_); + TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + } +} + +bool DataConnectionPowerImprovementManager::GetSavedCellularDataStatus() +{ + TELEPHONY_LOGI("Get cellular status %{public}d", g_savedCellularDataStatus); + return g_savedCellularDataStatus; +} + +void DataConnectionPowerImprovementManager::SetSavedCellularDataStatus(bool value) +{ + g_savedCellularDataStatus = value; + TELEPHONY_LOGI("Set cellular status %{public}d", g_savedCellularDataStatus); +} + +void DataConnectionPowerStrEnterSubscriber::OnReceiveEvent(const EventFwk::CommonEventData &data) +{ + std::string action = data.GetWant().GetAction(); + if (action == ENTER_STR_TELEPHONY_NOTIFY) { + TELEPHONY_LOGI("Enter str mode"); + if (action != lastMsg) { + bool cellularDataStatus = true; + int32_t getCellularStatusRet = strEnterCellularDataHandler_.IsCellularDataEnabled(cellularDataStatus); + TELEPHONY_LOGI("Get Cellular status ret = %{public}d", getCellularStatusRet); + DataConnectionPowerImprovementManager::SetSavedCellularDataStatus(cellularDataStatus); + int32_t setCellularDataEnableRet = strEnterCellularDataHandler_.SetCellularDataEnable(false); + TELEPHONY_LOGI("Enter str SetCellularDataEnable ret = %{public}d", setCellularDataEnableRet); + } else { + TELEPHONY_LOGI("Recv same msg in succession lastMsg=%{public}s", lastMsg.c_str()); + } + lastMsg = ENTER_STR_TELEPHONY_NOTIFY; + strEnterAsyncCommonEvent_ = this->GoAsyncCommonEvent(); + if (strEnterAsyncCommonEvent_ != nullptr) { + bool ret = strEnterAsyncCommonEvent_->FinishCommonEvent(); + TELEPHONY_LOGI("StrEnter FinishPowerStrEnterEvent ret = %{public}d", ret); + } + } else { + TELEPHONY_LOGE("EnterTelePowerSubscriber: action=%{public}s code=%{public}d", action.c_str(), data.GetCode()); + } +} + +void DataConnectionPowerStrExitSubscriber::OnReceiveEvent(const EventFwk::CommonEventData &data) +{ + std::string action = data.GetWant().GetAction(); + if (action == EXIT_STR_TELEPHONY_NOTIFY) { + TELEPHONY_LOGI("Exit str mode"); + if (action != lastMsg) { + bool savedCellularDataStatus = DataConnectionPowerImprovementManager::GetSavedCellularDataStatus(); + int32_t ret = strExitCellularDataHandler_.SetCellularDataEnable(savedCellularDataStatus); + TELEPHONY_LOGI("Exit str SetCellularDataEnable ret = %{public}d", ret); + } else { + TELEPHONY_LOGI("Recv same msg in succession lastMsg=%{public}s", lastMsg.c_str()); + } + lastMsg = EXIT_STR_TELEPHONY_NOTIFY; + strEnterAsyncCommonEvent_ = this->GoAsyncCommonEvent(); + if (strEnterAsyncCommonEvent_ != nullptr) { + bool ret = strEnterAsyncCommonEvent_->FinishCommonEvent(); + TELEPHONY_LOGI("StrExit FinishPowerStrEnterEvent ret = %{public}d", ret); + } + } else { + TELEPHONY_LOGE("ExitTelePowerSubscriber: action=%{public}s code=%{public}d", action.c_str(), data.GetCode()); + } +} +} +} \ No newline at end of file -- Gitee From d2670854dddf897d462e4c771e53d148b2b7904c Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 06:30:45 +0000 Subject: [PATCH 02/25] update frameworks/js/napi/src/cellular_data_handler.cpp. Signed-off-by: zhouyan --- frameworks/js/napi/src/cellular_data_handler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index a857659b..93dae27f 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -85,8 +85,8 @@ void CellularDataHandler::Init() bool ret = dataConnectionPowerImprovementManager_->StartEventSubscriber(); TELEPHONY_LOGI("Subscriber ordered broadcast succ ret = %{public}d", ret); } -} #endif +} CellularDataHandler::~CellularDataHandler() {} -- Gitee From 9653679da32b09121e1e21449139d0beffd54af0 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 08:12:37 +0000 Subject: [PATCH 03/25] update frameworks/js/napi/src/cellular_data_handler.cpp. Signed-off-by: zhouyan --- frameworks/js/napi/src/cellular_data_handler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index 93dae27f..f58338c1 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -39,7 +39,7 @@ #include "connection_retry_policy.h" #include "pdp_profile_data.h" #ifdef BASE_POWER_IMPROVEMENT -#include "cellular_data_power_improvement_manager.cpp" +#include "cellular_data_power_improvement_manager.h" #endif namespace OHOS { namespace Telephony { -- Gitee From c41d6b7fd818eb7db0ae8d2d05a77c26442af41f Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 08:15:13 +0000 Subject: [PATCH 04/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- services/include/cellular_data_power_improvement_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 10a77c65..875b6ee5 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -56,7 +56,7 @@ private: private: std::shared_ptr strEnterSub_ = nullptr; std::shared_ptr strExitSub_ = nullptr; - } + }; }; } //namespace Telephony } //namespace OHOS -- Gitee From 5a853c4bd899e07268ea58d88e818e0cb3f64710 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 08:17:55 +0000 Subject: [PATCH 05/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- services/include/cellular_data_power_improvement_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 875b6ee5..a0da2aa4 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -41,7 +41,7 @@ public: std::shared_ptr strExitSubscriber_ =nullptr; private: template - std::shared_ptr CreatCommonSubscriber(const std:string &event, int32_t priority); + std::shared_ptr CreateCommonSubscriber(const std:string &event, int32_t priority); private: static inline bool g_savedCellularDataStatus = true; sptr statusChangeListener_ = nullptr; -- Gitee From 86d03ca158b1681151dd03735b6fb0c8b7e13b0e Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 08:26:40 +0000 Subject: [PATCH 06/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- ...ellular_data_power_improvement_manager.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 33f8e46c..01bacc05 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -7,22 +7,22 @@ #include "system_ability_definition.h" #include "telephony_types.h" #include "cellular_data_handler.h" -#include "cellular_data_wrapper.h" +#include "telephony_log_wrapper.h" namespace OHOS { namespace Telephony { constexpr const char *PERMISSION_STARTUP_COMPLETED = "ohos.permission.RECEIVER_STARTUP_COMPLETED"; -str:string lastMsg = ""; +std::string lastMsg = ""; bool DataConnectionPowerImprovementManager::StartEventSubscriber() { if (!system::GetBoolParameter("const.vendor.ril.power.feature_tele_power", false)) { TELEPHONY_LOGI("feature_tele_power not define"); return false; } - strEnterSubscriber_ = CreatCommonSubscriber(ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); - strExitSubscriber_ = CreatCommonSubscriber(EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); + strEnterSubscriber_ = CreateCommonSubscriber(ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); + strExitSubscriber_ = CreateCommonSubscriber(EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); statusChangeListener_ = new (std::nothrow) SystemAbilityStatusChangeListener(strEnterSubscriber_, strExitSubscriber_); - auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); + auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (samgrProxy == nullptr || statusChangeListener_ == nullptr) { TELEPHONY_LOGE("StartEventSubscriber samgrProxy or statusChangeListener_ is nullptr"); return false; @@ -35,7 +35,7 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() } template -std::shared_ptr DataConnectionPowerImprovementManager::CreatCommonSubscriber(const std:string &event, int32_t priority) +std::shared_ptr DataConnectionPowerImprovementManager::CreateCommonSubscriber(const std::string &event, int32_t priority) { EventFwk::MatchingSkills matchingSkills; matchingSkills.AddEvent(event); @@ -48,7 +48,7 @@ std::shared_ptr DataConnectionPowerImprovementManager::CreatComm void DataConnectionPowerImprovementManager::StopEventSubscriber() { - auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); + auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (samgrProxy != nullptr) { int32_t ret = samgrProxy->UnSubscribeSystemAbility(COMMON_EVENT_SERVICE_ID, statusChangeListener_); TELEPHONY_LOGI("UnSubscribeSystemAbility ret = %{public}d", ret); @@ -149,10 +149,10 @@ void DataConnectionPowerStrExitSubscriber::OnReceiveEvent(const EventFwk::Common TELEPHONY_LOGI("Recv same msg in succession lastMsg=%{public}s", lastMsg.c_str()); } lastMsg = EXIT_STR_TELEPHONY_NOTIFY; - strEnterAsyncCommonEvent_ = this->GoAsyncCommonEvent(); - if (strEnterAsyncCommonEvent_ != nullptr) { - bool ret = strEnterAsyncCommonEvent_->FinishCommonEvent(); - TELEPHONY_LOGI("StrExit FinishPowerStrEnterEvent ret = %{public}d", ret); + strExitAsyncCommonEvent_ = this->GoAsyncCommonEvent(); + if (strExitAsyncCommonEvent_ != nullptr) { + bool ret = strExitAsyncCommonEvent_->FinishCommonEvent(); + TELEPHONY_LOGI("StrExit FinishPowerStrExitEvent ret = %{public}d", ret); } } else { TELEPHONY_LOGE("ExitTelePowerSubscriber: action=%{public}s code=%{public}d", action.c_str(), data.GetCode()); -- Gitee From 3e4b91249438e9b03f0444ea9f3add1e3b3aa0c3 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 09:27:17 +0000 Subject: [PATCH 07/25] update BUILD.gn. Signed-off-by: zhouyan --- BUILD.gn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index c9d8910b..2b074518 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -155,7 +155,7 @@ ohos_shared_library("tel_cellular_data") { } if (cellular_data_feature_base_power_improvement) { - defines += ["BASE_POWER_IMPROVEMENT] + defines += ["BASE_POWER_IMPROVEMENT"] } cflags_cc = [ @@ -285,7 +285,7 @@ ohos_static_library("tel_cellular_data_static") { } if (cellular_data_feature_base_power_improvement) { - defines += ["BASE_POWER_IMPROVEMENT] + defines += ["BASE_POWER_IMPROVEMENT"] } cflags_cc = [ -- Gitee From 1a93ba3ce641105a7e96edd1d6c6eba258b39c85 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 09:32:26 +0000 Subject: [PATCH 08/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- services/src/cellular_data_power_improvement_manager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 01bacc05..34d2ca4e 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -60,10 +60,12 @@ void DataConnectionPowerImprovementManager::StopEventSubscriber() if (strEnterSubscriber_ != nullptr) { bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strEnterSubscriber_); TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + strEnterSubscriber_ = nullptr; } if (strExitSubscriber_ != nullptr) { bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strExitSubscriber_); TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + strExitSubscriber_ = nullptr; } } @@ -91,10 +93,12 @@ void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::O if (strEnterSub_ != nullptr) { bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strEnterSub_); TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + strEnterSub_ = nullptr; } if (strExitSub_ != nullptr) { bool ret = EventFwk::CommonEventManager::UnSubscribeCommonEvent(strExitSub_); TELEPHONY_LOGI("UnSubscribeCommonEvent result = %{public}d", ret); + strExitSub_ = nullptr; } } @@ -158,5 +162,5 @@ void DataConnectionPowerStrExitSubscriber::OnReceiveEvent(const EventFwk::Common TELEPHONY_LOGE("ExitTelePowerSubscriber: action=%{public}s code=%{public}d", action.c_str(), data.GetCode()); } } -} -} \ No newline at end of file +} //namespace Telephony +} //namespace OHOS \ No newline at end of file -- Gitee From 5d3958eb961c35df5060220a90e32ed5186ae314 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 09:44:59 +0000 Subject: [PATCH 09/25] update frameworks/js/napi/src/cellular_data_handler.cpp. Signed-off-by: zhouyan --- frameworks/js/napi/src/cellular_data_handler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index f58338c1..8f1bfaa7 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -80,10 +80,10 @@ void CellularDataHandler::Init() GetConfigurationFor5G(); SetRilLinkBandwidths(); #ifdef BASE_POWER_IMPROVEMENT - dataConnectionPowerImprovementManager_ = std:make_shared(*this); + dataConnectionPowerImprovementManager_ = std::make_shared(*this); if (dataConnectionPowerImprovementManager_ != nullptr) { bool ret = dataConnectionPowerImprovementManager_->StartEventSubscriber(); - TELEPHONY_LOGI("Subscriber ordered broadcast succ ret = %{public}d", ret); + TELEPHONY_LOGI("Subscribe ordered broadcast succ ret = %{public}d", ret); } #endif } -- Gitee From dff6eba69d4877b1868137bcbaa7bb7d267858e4 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:12:50 +0000 Subject: [PATCH 10/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- .../cellular_data_power_improvement_manager.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index a0da2aa4..14da52bb 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -11,7 +11,8 @@ namespace OHOS { namespace Telephony { class DataConnectionPowerStrEnterSubscriber : public EventFwk::CommonEventSubscriber { public: - explicit DataConnectionPowerStrEnterSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strEnterCellularDataHandler_(handler) {} + explicit DataConnectionPowerStrEnterSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) + : CommonEventSubscriber(info), strEnterCellularDataHandler_(handler) {} ~DataConnectionPowerStrEnterSubscriber() = default; void OnReceiveEvent(const EventFwk::CommonEventData &data) override; std::shared_ptr strEnterAsyncCommonEvent_ = nullptr; @@ -21,7 +22,8 @@ private: class DataConnectionPowerStrExitSubscriber : public EventFwk::CommonEventSubscriber { public: - explicit DataConnectionPowerStrExitSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strExitCellularDataHandler_(handler) {} + explicit DataConnectionPowerStrExitSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) + : CommonEventSubscriber(info), strExitCellularDataHandler_(handler) {} ~DataConnectionPowerStrExitSubscriber() = default; void OnReceiveEvent(const EventFwk::CommonEventData &data) override; std::shared_ptr strExitAsyncCommonEvent_ = nullptr; @@ -37,11 +39,11 @@ public: void StopEventSubscriber(); static bool GetSavedCellularDataStatus(); static void SetSavedCellularDataStatus(bool value); - std::shared_ptr strEnterSubscriber_ =nullptr; - std::shared_ptr strExitSubscriber_ =nullptr; + std::shared_ptr strEnterSubscriber_ = nullptr; + std::shared_ptr strExitSubscriber_ = nullptr; private: template - std::shared_ptr CreateCommonSubscriber(const std:string &event, int32_t priority); + std::shared_ptr CreateCommonSubscriber(const std::string &event, int32_t priority); private: static inline bool g_savedCellularDataStatus = true; sptr statusChangeListener_ = nullptr; @@ -49,7 +51,9 @@ private: private: class SystemAbilityStatusChangeListener : public SystemAbilityStatusChangeStub { public: - SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, std::shared_ptr subStrExit) : strEnterSub_(subStrEnter), strExitSub_(subStrExit) {} + SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, + std::shared_ptr subStrExit) + : strEnterSub_(subStrEnter), strExitSub_(subStrExit) {} ~SystemAbilityStatusChangeListener() = default; void OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) override; void OnRemoveSystemAbility(int32_t systemAbilityId, const std::string &deviceId) override; -- Gitee From 45cc5e662aeb078da87e9de902d01a862d076243 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:16:42 +0000 Subject: [PATCH 11/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- ...ellular_data_power_improvement_manager.cpp | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 34d2ca4e..d6bd0906 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -19,10 +19,13 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() TELEPHONY_LOGI("feature_tele_power not define"); return false; } - strEnterSubscriber_ = CreateCommonSubscriber(ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); - strExitSubscriber_ = CreateCommonSubscriber(EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); - statusChangeListener_ = new (std::nothrow) SystemAbilityStatusChangeListener(strEnterSubscriber_, strExitSubscriber_); - auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); + strEnterSubscriber_ = CreatCommonSubscriber( + ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); + strExitSubscriber_ = CreatCommonSubscriber( + EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); + statusChangeListener_ = new (std::nothrow) SystemAbilityStatusChangeListener( + strEnterSubscriber_, strExitSubscriber_); + auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); if (samgrProxy == nullptr || statusChangeListener_ == nullptr) { TELEPHONY_LOGE("StartEventSubscriber samgrProxy or statusChangeListener_ is nullptr"); return false; @@ -35,7 +38,8 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() } template -std::shared_ptr DataConnectionPowerImprovementManager::CreateCommonSubscriber(const std::string &event, int32_t priority) +std::shared_ptr DataConnectionPowerImprovementManager::CreatCommonSubscriber( + const std:string &event, int32_t priority) { EventFwk::MatchingSkills matchingSkills; matchingSkills.AddEvent(event); @@ -69,7 +73,8 @@ void DataConnectionPowerImprovementManager::StopEventSubscriber() } } -void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) +void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnAddSystemAbility( + int32_t systemAbilityId, const std::string &deviceId) { if (systemAbilityId != COMMON_EVENT_SERVICE_ID) { TELEPHONY_LOGI("systemAbilityId is %{public}d", systemAbilityId); @@ -85,7 +90,8 @@ void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::O } } -void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnRemoveSystemAbility(int32_t systemAbilityId, const std::string &deviceId) +void DataConnectionPowerImprovementManager::SystemAbilityStatusChangeListener::OnRemoveSystemAbility( + int32_t systemAbilityId, const std::string &deviceId) { if (systemAbilityId != COMMON_EVENT_SERVICE_ID) { return; -- Gitee From 850297fe4511ce8f35304547e6bcdf8db48fc201 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:20:36 +0000 Subject: [PATCH 12/25] update frameworks/js/napi/src/cellular_data_handler.cpp. Signed-off-by: zhouyan --- frameworks/js/napi/src/cellular_data_handler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index 8f1bfaa7..0f7279d2 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -38,9 +38,7 @@ #include "ipc_skeleton.h" #include "connection_retry_policy.h" #include "pdp_profile_data.h" -#ifdef BASE_POWER_IMPROVEMENT -#include "cellular_data_power_improvement_manager.h" -#endif + namespace OHOS { namespace Telephony { using namespace AppExecFwk; -- Gitee From e95f41e66f40624884846f04a837e17d6ac63514 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:44:06 +0000 Subject: [PATCH 13/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- .../include/cellular_data_power_improvement_manager.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 14da52bb..4c07955d 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -11,7 +11,8 @@ namespace OHOS { namespace Telephony { class DataConnectionPowerStrEnterSubscriber : public EventFwk::CommonEventSubscriber { public: - explicit DataConnectionPowerStrEnterSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) + explicit DataConnectionPowerStrEnterSubscriber( + const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strEnterCellularDataHandler_(handler) {} ~DataConnectionPowerStrEnterSubscriber() = default; void OnReceiveEvent(const EventFwk::CommonEventData &data) override; @@ -22,7 +23,8 @@ private: class DataConnectionPowerStrExitSubscriber : public EventFwk::CommonEventSubscriber { public: - explicit DataConnectionPowerStrExitSubscriber(const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) + explicit DataConnectionPowerStrExitSubscriber( + const EventFwk::CommonEventSubscribeInfo &info, CellularDataHandler &handler) : CommonEventSubscriber(info), strExitCellularDataHandler_(handler) {} ~DataConnectionPowerStrExitSubscriber() = default; void OnReceiveEvent(const EventFwk::CommonEventData &data) override; @@ -52,7 +54,7 @@ private: class SystemAbilityStatusChangeListener : public SystemAbilityStatusChangeStub { public: SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, - std::shared_ptr subStrExit) + std::shared_ptr subStrExit) : strEnterSub_(subStrEnter), strExitSub_(subStrExit) {} ~SystemAbilityStatusChangeListener() = default; void OnAddSystemAbility(int32_t systemAbilityId, const std::string &deviceId) override; -- Gitee From a5dc1949ffebf25a7fdae6ef05f381869aa6bcde Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:47:01 +0000 Subject: [PATCH 14/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- services/src/cellular_data_power_improvement_manager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index d6bd0906..641aba4c 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -19,13 +19,13 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() TELEPHONY_LOGI("feature_tele_power not define"); return false; } - strEnterSubscriber_ = CreatCommonSubscriber( + strEnterSubscriber_ = CreateCommonSubscriber( ENTER_STR_TELEPHONY_NOTIFY, CommonEventPriority::FIRST_PRIORITY); - strExitSubscriber_ = CreatCommonSubscriber( + strExitSubscriber_ = CreateCommonSubscriber( EXIT_STR_TELEPHONY_NOTIFY, CommonEventPriority::THIRD_PRIORITY); statusChangeListener_ = new (std::nothrow) SystemAbilityStatusChangeListener( strEnterSubscriber_, strExitSubscriber_); - auto samgrProxy = SystemAbilityMangerClient::GetInstance().GetSystemAbilityManger(); + auto samgrProxy = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (samgrProxy == nullptr || statusChangeListener_ == nullptr) { TELEPHONY_LOGE("StartEventSubscriber samgrProxy or statusChangeListener_ is nullptr"); return false; @@ -38,7 +38,7 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() } template -std::shared_ptr DataConnectionPowerImprovementManager::CreatCommonSubscriber( +std::shared_ptr DataConnectionPowerImprovementManager::CreateCommonSubscriber( const std:string &event, int32_t priority) { EventFwk::MatchingSkills matchingSkills; -- Gitee From f177012b1dc24f4255f92f0c0dfca9429e4dd866 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Fri, 15 Aug 2025 10:47:54 +0000 Subject: [PATCH 15/25] update services/include/cellular_data_handler.h. Signed-off-by: zhouyan --- services/include/cellular_data_handler.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/include/cellular_data_handler.h b/services/include/cellular_data_handler.h index 87f31e8b..939f2a71 100644 --- a/services/include/cellular_data_handler.h +++ b/services/include/cellular_data_handler.h @@ -39,7 +39,7 @@ #include "tel_ril_data_parcel.h" #include "telephony_types.h" #ifdef BASE_POWER_IMPROVEMENT -include "cellular_data_power_improvement_manager.h" +#include "cellular_data_power_improvement_manager.h" #endif namespace OHOS { namespace Telephony { -- Gitee From 3fde4f72ae24b660976307d6ab4029cde0b1f866 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:08:54 +0000 Subject: [PATCH 16/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- services/include/cellular_data_power_improvement_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 4c07955d..4332f07d 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -53,7 +53,7 @@ private: private: class SystemAbilityStatusChangeListener : public SystemAbilityStatusChangeStub { public: - SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, + SystemAbilityStatusChangeListener(std::shared_ptr subStrEnter, std::shared_ptr subStrExit) : strEnterSub_(subStrEnter), strExitSub_(subStrExit) {} ~SystemAbilityStatusChangeListener() = default; -- Gitee From ad74309084de053ce1f3668592072bfda47eade1 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:44:31 +0000 Subject: [PATCH 17/25] update frameworks/js/napi/src/cellular_data_handler.cpp. Signed-off-by: zhouyan --- frameworks/js/napi/src/cellular_data_handler.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frameworks/js/napi/src/cellular_data_handler.cpp b/frameworks/js/napi/src/cellular_data_handler.cpp index 0f7279d2..5e7827e6 100644 --- a/frameworks/js/napi/src/cellular_data_handler.cpp +++ b/frameworks/js/napi/src/cellular_data_handler.cpp @@ -38,6 +38,9 @@ #include "ipc_skeleton.h" #include "connection_retry_policy.h" #include "pdp_profile_data.h" +#ifdef BASE_POWER_IMPROVEMENT +#include "cellular_data_power_improvement_manager.h" +#endif namespace OHOS { namespace Telephony { -- Gitee From bbc51277f117b616b1b214c29003476031743643 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:46:12 +0000 Subject: [PATCH 18/25] update services/include/cellular_data_handler.h. Signed-off-by: zhouyan --- services/include/cellular_data_handler.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/services/include/cellular_data_handler.h b/services/include/cellular_data_handler.h index 939f2a71..ef77d772 100644 --- a/services/include/cellular_data_handler.h +++ b/services/include/cellular_data_handler.h @@ -38,12 +38,11 @@ #include "tel_profile_util.h" #include "tel_ril_data_parcel.h" #include "telephony_types.h" -#ifdef BASE_POWER_IMPROVEMENT -#include "cellular_data_power_improvement_manager.h" -#endif + namespace OHOS { namespace Telephony { const uint32_t KEEP_APN_ACTIVATE_PERIOD = 30 * 1000; +class DataConnectionPowerImprovementManager; class CellularDataHandler : public TelEventHandler, public EventFwk::CommonEventSubscriber { public: explicit CellularDataHandler(const EventFwk::CommonEventSubscribeInfo &sp, int32_t slotId); -- Gitee From d245932ef6f31f09ca511d6ee8cd34ee5e71a41c Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:47:13 +0000 Subject: [PATCH 19/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- services/include/cellular_data_power_improvement_manager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 4332f07d..6a10f912 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -9,6 +9,7 @@ namespace OHOS { namespace Telephony { +class CellularDataHandler; class DataConnectionPowerStrEnterSubscriber : public EventFwk::CommonEventSubscriber { public: explicit DataConnectionPowerStrEnterSubscriber( -- Gitee From 41ff4fe6eabfadfac65d376f239429f3fff2f909 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:48:11 +0000 Subject: [PATCH 20/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- services/src/cellular_data_power_improvement_manager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 641aba4c..52205a7d 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -8,6 +8,7 @@ #include "telephony_types.h" #include "cellular_data_handler.h" #include "telephony_log_wrapper.h" +#include "cellular_data_handler.h" namespace OHOS { namespace Telephony { -- Gitee From 71b1738b361d0545b9e29aea7fbcaa39319e511f Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 03:49:59 +0000 Subject: [PATCH 21/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- services/include/cellular_data_power_improvement_manager.h | 1 - 1 file changed, 1 deletion(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 6a10f912..264de4f6 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -5,7 +5,6 @@ #include "common_event_subscriber.h" #include "system_ability_status_change_stub.h" -#inlude "cellular_data_handler.h" namespace OHOS { namespace Telephony { -- Gitee From 55d69af421e34782774b7ba160a8cdd3f4a4228d Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 09:21:00 +0000 Subject: [PATCH 22/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- services/src/cellular_data_power_improvement_manager.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 52205a7d..2cb39714 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -6,7 +6,6 @@ #include "iservice_registry.h" #include "system_ability_definition.h" #include "telephony_types.h" -#include "cellular_data_handler.h" #include "telephony_log_wrapper.h" #include "cellular_data_handler.h" -- Gitee From 80c83da77e90be4eedc97c192e74578f3a7705f4 Mon Sep 17 00:00:00 2001 From: zhouyan Date: Sat, 16 Aug 2025 09:53:54 +0000 Subject: [PATCH 23/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- services/src/cellular_data_power_improvement_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index 2cb39714..e48f69f0 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -39,7 +39,7 @@ bool DataConnectionPowerImprovementManager::StartEventSubscriber() template std::shared_ptr DataConnectionPowerImprovementManager::CreateCommonSubscriber( - const std:string &event, int32_t priority) + const std::string &event, int32_t priority) { EventFwk::MatchingSkills matchingSkills; matchingSkills.AddEvent(event); -- Gitee From a0b3cc736d8cb13a8f3d6d940be7072128e0a77a Mon Sep 17 00:00:00 2001 From: zhouyan Date: Mon, 18 Aug 2025 01:34:43 +0000 Subject: [PATCH 24/25] update services/src/cellular_data_power_improvement_manager.cpp. Signed-off-by: zhouyan --- .../cellular_data_power_improvement_manager.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/services/src/cellular_data_power_improvement_manager.cpp b/services/src/cellular_data_power_improvement_manager.cpp index e48f69f0..8f6cd6d7 100644 --- a/services/src/cellular_data_power_improvement_manager.cpp +++ b/services/src/cellular_data_power_improvement_manager.cpp @@ -1,4 +1,17 @@ -// Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved. +/* + * Copyright (C) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include "cellular_data_power_improvement_manager.h" -- Gitee From d411500b877072f625c25fbaff8b0000104c1e8a Mon Sep 17 00:00:00 2001 From: zhouyan Date: Mon, 18 Aug 2025 01:35:28 +0000 Subject: [PATCH 25/25] update services/include/cellular_data_power_improvement_manager.h. Signed-off-by: zhouyan --- .../cellular_data_power_improvement_manager.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/services/include/cellular_data_power_improvement_manager.h b/services/include/cellular_data_power_improvement_manager.h index 264de4f6..0326e4fc 100644 --- a/services/include/cellular_data_power_improvement_manager.h +++ b/services/include/cellular_data_power_improvement_manager.h @@ -1,4 +1,17 @@ -// Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved. +/* + * Copyright (C) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #ifndef DATA_CONNECTION_POWER_STR_MANAGER_H #define DATA_CONNECTION_POWER_STR_MANAGER_H -- Gitee