diff --git a/services/aams/include/accessibility_settings_config.h b/services/aams/include/accessibility_settings_config.h index fb17898ed19bcd7ced31a8c7afbfbbd6bedefe92..286b667cc7f30655d67a6b379c0f7f1b87d2d751 100644 --- a/services/aams/include/accessibility_settings_config.h +++ b/services/aams/include/accessibility_settings_config.h @@ -44,6 +44,7 @@ public: RetError SetCaptionProperty(const AccessibilityConfig::CaptionProperty &caption); RetError SetCaptionState(const bool state); RetError SetScreenMagnificationState(const bool state); + RetError SetMagnificationState(const bool state); RetError SetScreenMagnificationType(const uint32_t type); RetError SetScreenMagnificationMode(const uint32_t mode); RetError SetScreenMagnificationScale(const float scale); diff --git a/services/aams/src/accessibility_settings_config.cpp b/services/aams/src/accessibility_settings_config.cpp index 5441b9e1958902dbef113f2a498257ff996ff798..d723170cccd378e614461a71b23bf030c65ffd68 100644 --- a/services/aams/src/accessibility_settings_config.cpp +++ b/services/aams/src/accessibility_settings_config.cpp @@ -177,6 +177,18 @@ RetError AccessibilitySettingsConfig::SetCaptionState(const bool state) RetError AccessibilitySettingsConfig::SetScreenMagnificationState(const bool state) { HILOG_DEBUG("state = [%{public}s]", state ? "True" : "False"); + auto ret = SetConfigState(SCREEN_MAGNIFICATION_KEY, state); + if (ret != RET_OK) { + Utils::RecordDatashareInteraction(A11yDatashareValueType::UPDATE, "SetScreenMagnificationState"); + HILOG_ERROR("set SetScreenMagnificationState failed"); + return ret; + } + SetMagnificationState(state); + return ret; +} + +RetError AccessibilitySettingsConfig::SetMagnificationState(const bool state) +{ isScreenMagnificationState_ = state; return RET_OK; } diff --git a/services/aams/src/accessible_ability_manager_service.cpp b/services/aams/src/accessible_ability_manager_service.cpp index 92ae412278df2606e6bd7d8465242baf2dca8751..95b09fc30c14be5dd31f04f831b080a4f2c3d00d 100644 --- a/services/aams/src/accessible_ability_manager_service.cpp +++ b/services/aams/src/accessible_ability_manager_service.cpp @@ -3488,7 +3488,7 @@ void AccessibleAbilityManagerService::OnScreenMagnificationStateChanged() bool screenMagnificationEnabled = false; screenMagnificationEnabled = config->GetDbHandle()->GetBoolValue(SCREEN_MAGNIFICATION_KEY, false); - config->SetScreenMagnificationState(screenMagnificationEnabled); + config->SetMagnificationState(screenMagnificationEnabled); Singleton::GetInstance().UpdateInputFilter(); if (!screenMagnificationEnabled) { OffZoomGesture(); diff --git a/services/aams/test/mock/src/mock_accessibility_settings_config.cpp b/services/aams/test/mock/src/mock_accessibility_settings_config.cpp index 7bf8987d47ee065f3c374c1be94d5acdfea3e4f4..143bf05ed3ec00c6ebf82cd7297e829ab712b754 100644 --- a/services/aams/test/mock/src/mock_accessibility_settings_config.cpp +++ b/services/aams/test/mock/src/mock_accessibility_settings_config.cpp @@ -66,6 +66,13 @@ RetError AccessibilitySettingsConfig::SetScreenMagnificationState(const bool sta return RET_OK; } +RetError AccessibilitySettingsConfig::SetMagnificationState(const bool state) +{ + HILOG_DEBUG("start."); + isScreenMagnificationState_ = state; + return RET_OK; +} + RetError AccessibilitySettingsConfig::SetScreenMagnificationType(const uint32_t type) { HILOG_DEBUG("start.");