diff --git a/cgroup_sched/framework/sched_controller/app_state_observer.cpp b/cgroup_sched/framework/sched_controller/app_state_observer.cpp index 98a37c19af5070d93edccd4e4e7b0659ca8ba70a..8b8490a04c5351a8afa1a37e1475eb00db20479f 100644 --- a/cgroup_sched/framework/sched_controller/app_state_observer.cpp +++ b/cgroup_sched/framework/sched_controller/app_state_observer.cpp @@ -120,8 +120,8 @@ void RmsApplicationStateObserver::MarshallingProcessData(const ProcessData &proc payload["processType"] = std::to_string(static_cast(processData.processType)); payload["renderUid"] = std::to_string(processData.renderUid); payload["bundleName"] = processData.bundleName; - payload["state"] = static_cast(processData.state); - payload["extensionType"] = static_cast(processData.extensionType); + payload["state"] = std::to_string(static_cast(processData.state)); + payload["extensionType"] = std::to_string(static_cast(processData.extensionType)); } void RmsApplicationStateObserver::OnProcessCreated(const ProcessData &processData) diff --git a/ressched/sched_controller/observer/include/observer_manager.h b/ressched/sched_controller/observer/include/observer_manager.h index 146edb75e8a56604a3854cbbed0f0f3617ba9ea7..f4077f889db968a66c3b248745c2b13b2a3488bd 100644 --- a/ressched/sched_controller/observer/include/observer_manager.h +++ b/ressched/sched_controller/observer/include/observer_manager.h @@ -67,6 +67,7 @@ public: void InitSysAbilityListener(); void AddItemToSysAbilityListener(int32_t systemAbilityId, sptr& systemAbilityManager); void GetAllMmiStatusData(); + void InitObserverCbMap(); void InitConnectionSubscriber(); void DisableConnectionSubscriber(); #ifdef RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE diff --git a/ressched/sched_controller/observer/src/observer_manager.cpp b/ressched/sched_controller/observer/src/observer_manager.cpp index 64c51a3b283670253d107e7c156f2b9a01f63545..67f7644c7c03352d79521f0de9401a14f81f93bd 100644 --- a/ressched/sched_controller/observer/src/observer_manager.cpp +++ b/ressched/sched_controller/observer/src/observer_manager.cpp @@ -62,26 +62,8 @@ void ObserverManager::Disable() sysAbilityListener_ = nullptr; } -void ObserverManager::InitSysAbilityListener() +void ObserverManager::InitObserverCbMap() { - if (sysAbilityListener_ != nullptr) { - return; - } - - sysAbilityListener_ = new (std::nothrow) SystemAbilityStatusChangeListener(); - if (sysAbilityListener_ == nullptr) { - RESSCHED_LOGE("Failed to create statusChangeListener due to no memory"); - return; - } - - sptr systemAbilityManager - = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - if (systemAbilityManager == nullptr) { - sysAbilityListener_ = nullptr; - RESSCHED_LOGE("systemAbilityManager is null"); - return; - } - handleObserverMap_ = { { DFX_SYS_EVENT_SERVICE_ABILITY_ID, std::bind(&ObserverManager::InitHiSysEventObserver, std::placeholders::_1) }, @@ -90,11 +72,12 @@ void ObserverManager::InitSysAbilityListener() { AUDIO_POLICY_SERVICE_ID, std::bind(&ObserverManager::InitAudioObserver, std::placeholders::_1) }, { MSDP_MOVEMENT_SERVICE_ID, std::bind(&ObserverManager::InitDeviceMovementObserver, std::placeholders::_1) }, { MULTIMODAL_INPUT_SERVICE_ID, std::bind(&ObserverManager::InitMMiEventObserver, std::placeholders::_1) }, - { ABILITY_MST_SERVICE_ID, std::bind(&ObserverManager::InitConnectionSubscriber, std::placeholders::_1) }, + { ABILITY_MGR_SERVICE_ID, std::bind(&ObserverManager::InitConnectionSubscriber, std::placeholders::_1) }, #ifdef RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE { AVSESSION_SERVICE_ID, std::bind(&ObserverManager::InitAVSessionStateChangeListener, std::placeholders::_1) }, #endif }; + removeObserverMap_ = { { DFX_SYS_EVENT_SERVICE_ABILITY_ID, std::bind(&ObserverManager::DisableHiSysEventObserver, std::placeholders::_1) }, @@ -103,18 +86,41 @@ void ObserverManager::InitSysAbilityListener() { AUDIO_POLICY_SERVICE_ID, std::bind(&ObserverManager::DisableAudioObserver, std::placeholders::_1) }, { MSDP_MOVEMENT_SERVICE_ID, std::bind(&ObserverManager::DisableDeviceMovementObserver, std::placeholders::_1) }, { MULTIMODAL_INPUT_SERVICE_ID, std::bind(&ObserverManager::DisableMMiEventObserver, std::placeholders::_1) }, - { ABILITY_MST_SERVICE_ID, std::bind(&ObserverManager::DisableConnectionSubscriber, std::placeholders::_1) }, + { ABILITY_MGR_SERVICE_ID, std::bind(&ObserverManager::DisableConnectionSubscriber, std::placeholders::_1) }, #ifdef RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE { AVSESSION_SERVICE_ID, std::bind(&ObserverManager::DisableAVSessionStateChangeListener, std::placeholders::_1) }, #endif }; +} + +void ObserverManager::InitSysAbilityListener() +{ + if (sysAbilityListener_ != nullptr) { + return; + } + + sysAbilityListener_ = new (std::nothrow) SystemAbilityStatusChangeListener(); + if (sysAbilityListener_ == nullptr) { + RESSCHED_LOGE("Failed to create statusChangeListener due to no memory"); + return; + } + + sptr systemAbilityManager + = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); + if (systemAbilityManager == nullptr) { + sysAbilityListener_ = nullptr; + RESSCHED_LOGE("systemAbilityManager is null"); + return; + } + InitObserverCbMap(); + AddItemToSysAbilityListener(DFX_SYS_EVENT_SERVICE_ABILITY_ID, systemAbilityManager); AddItemToSysAbilityListener(TELEPHONY_STATE_REGISTRY_SYS_ABILITY_ID, systemAbilityManager); AddItemToSysAbilityListener(AUDIO_POLICY_SERVICE_ID, systemAbilityManager); AddItemToSysAbilityListener(MSDP_MOVEMENT_SERVICE_ID, systemAbilityManager); AddItemToSysAbilityListener(MULTIMODAL_INPUT_SERVICE_ID, systemAbilityManager); - AddItemToSysAbilityListener(ABILITY_MST_SERVICE_ID, systemAbilityManager); + AddItemToSysAbilityListener(ABILITY_MGR_SERVICE_ID, systemAbilityManager); #ifdef RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE AddItemToSysAbilityListener(AVSESSION_SERVICE_ID, systemAbilityManager); #endif @@ -365,6 +371,7 @@ void ObserverManager::InitMMiEventObserver() "COMPONENT_NAME", "MAIN", "ERR_TYPE", "register failure", "ERR_MSG", "Register a mmi observer failed!"); + return; } // Get all events registered in multimodal input. GetAllMmiStatusData(); @@ -418,7 +425,7 @@ void ObserverManager::GetAllMmiStatusData() void ObserverManager::InitConnectionSubscriber() { - if (!connectionSubscriber_) { + if (connectionSubscriber_ == nullptr) { connectionSubscriber_ = std::make_shared(); } @@ -437,7 +444,7 @@ void ObserverManager::InitConnectionSubscriber() void ObserverManager::DisableConnectionSubscriber() { RESSCHED_LOGI("Disable connect subscriber state listener"); - if (!connectionSubscriber_) { + if (connectionSubscriber_ == nullptr) { RESSCHED_LOGD("ObserverManager has been disable connect subscriber state listener"); return; } @@ -455,7 +462,7 @@ void ObserverManager::DisableConnectionSubscriber() #ifdef RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE void ObserverManager::InitAVSessionStateChangeListener() { - if (!avSessionStateListener_) { + if (avSessionStateListener_ == nullptr) { avSessionStateListener_ = std::make_shared(); } diff --git a/ressched/services/BUILD.gn b/ressched/services/BUILD.gn index cabd6c4046adcd9c44c50556e550558d7d6ce6e7..64db79fb898086d2c4168bccf0c4b70ce5c5318e 100644 --- a/ressched/services/BUILD.gn +++ b/ressched/services/BUILD.gn @@ -124,6 +124,7 @@ ohos_shared_library("resschedsvc") { external_deps += [ "bluetooth:btframework" ] } if (ressched_with_resourceschedule_multimedia_av_session_enable) { + defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] sources += [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] external_deps += [ "av_session:avsession_client" ]