mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-25 12:23:20 -04:00
fix global parameters
Signed-off-by: tantingting <tantingting5@huawei.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user