fix global parameters

Signed-off-by: tantingting <tantingting5@huawei.com>
This commit is contained in:
tantingting
2024-09-09 15:50:17 +08:00
parent 531f6ed2fb
commit 04e2316579
4 changed files with 32 additions and 2 deletions
@@ -41,6 +41,26 @@ void ConfigurationUtils::UpdateGlobalConfig(const Configuration &configuration,
resourceConfig.UpdateResConfig(configuration, resourceManager);
}
void ConfigurationUtils::UpdateGlobalConfig(const Configuration &configuration,
std::shared_ptr<Configuration> targetConfiguration, std::shared_ptr<ResourceManager> resourceManager)
{
HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
if (targetConfiguration == nullptr || resourceManager == nullptr) {
TAG_LOGE(AAFwkTag::ABILITY, "Input invalid");
return;
}
std::vector<std::string> changeKeyV;
targetConfiguration->CompareDifferent(changeKeyV, configuration);
if (changeKeyV.empty()) {
TAG_LOGD(AAFwkTag::ABILITY, "There's no changed config");
return;
}
targetConfiguration->Merge(changeKeyV, configuration);
ResourceConfigHelper resourceConfig;
GetGlobalConfig(configuration, resourceConfig);
resourceConfig.UpdateResConfig(configuration, resourceManager);
}
void ConfigurationUtils::GetGlobalConfig(const Configuration &configuration,
OHOS::AbilityRuntime::ResourceConfigHelper &resourceConfig)
{
@@ -944,7 +944,7 @@ void JsUIExtension::OnConfigurationUpdated(const AppExecFwk::Configuration& conf
}
auto configUtils = std::make_shared<ConfigurationUtils>();
configUtils->UpdateGlobalConfig(configuration, context->GetResourceManager());
configUtils->UpdateGlobalConfig(configuration, context->GetConfiguration(), context->GetResourceManager());
ConfigurationUpdated();
}
@@ -782,7 +782,7 @@ void JsUIExtensionBase::OnConfigurationUpdated(const AppExecFwk::Configuration &
}
auto configUtils = std::make_shared<ConfigurationUtils>();
configUtils->UpdateGlobalConfig(configuration, context_->GetResourceManager());
configUtils->UpdateGlobalConfig(configuration, context_->GetConfiguration(), context_->GetResourceManager());
ConfigurationUpdated();
}
@@ -40,6 +40,16 @@ public:
*/
void UpdateGlobalConfig(const Configuration &configuration, std::shared_ptr<ResourceManager> resourceManager);
/**
* @brief Update global configuration to context configuration and resource manager.
*
* @param configuration global configuration
* @param contextConfig context configuration
* @param resourceManager resource manager
*/
void UpdateGlobalConfig(const Configuration &configuration, std::shared_ptr<Configuration> contextConfig,
std::shared_ptr<ResourceManager> resourceManager);
private:
void GetGlobalConfig(const Configuration &configuration,
OHOS::AbilityRuntime::ResourceConfigHelper &resourceConfig);