* Copyright (C) 2022 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 "mock_accessible_ability_manager_service_stub.h"
#include "hilog_wrapper.h"
namespace OHOS {
namespace Accessibility {
namespace {
constexpr uint32_t CONTENT_TIMEOUT_VALUE = 10;
constexpr int32_t MOUSE_AUTO_CLICK_VALUE = 10;
constexpr float BRIGHTNESS_DISCOUNT_VALUE = 0.3f;
}
MockAccessibleAbilityManagerServiceStub::MockAccessibleAbilityManagerServiceStub()
{
if (!runner_) {
runner_ = AppExecFwk::EventRunner::Create("Accessibility.Config.Unittest", AppExecFwk::ThreadMode::FFRT);
if (!runner_) {
return;
}
}
if (!handler_) {
handler_ = std::make_shared<AppExecFwk::EventHandler>(runner_);
if (!handler_) {
return;
}
}
}
MockAccessibleAbilityManagerServiceStub::~MockAccessibleAbilityManagerServiceStub()
{
}
int MockAccessibleAbilityManagerServiceStub::OnRemoteRequest(
uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)
{
(void)code;
(void)data;
(void)reply;
(void)option;
return 0;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SendEvent(const AccessibilityEventInfoParcel& eventInfoParcel,
int32_t flag)
{
(void)eventInfoParcel;
(void)flag;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetCaptionProperty(
const CaptionPropertyParcel &caption, bool isPermissionRequired)
{
captionProperty_ = caption;
(void)isPermissionRequired;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetCaptionState(bool state, bool isPermissionRequired)
{
captionState_ = state;
(void)isPermissionRequired;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterStateObserver(
const sptr<IAccessibleAbilityManagerStateObserver>& observer, uint32_t& state)
{
(void)observer;
(void)state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAbilityList(const uint32_t abilityTypes, const int32_t stateType,
std::vector<AccessibilityAbilityInfoParcel>& infos)
{
(void)abilityTypes;
(void)stateType;
(void)infos;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterElementOperatorByWindowId(int32_t windowId,
const sptr<IAccessibilityElementOperator> &elementOperator, uint64_t displayId)
{
(void)windowId;
(void)elementOperator;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterElementOperatorByParameter(const RegistrationPara& parameter,
const sptr<IAccessibilityElementOperator>& elementOperator)
{
(void)parameter;
(void)elementOperator;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeregisterElementOperatorByWindowId(
int32_t windowId, uint64_t displayId)
{
(void)windowId;
(void)displayId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeregisterElementOperatorByWindowIdAndTreeId(const int32_t windowId,
const int32_t treeId, uint64_t displayId)
{
(void)windowId;
(void)treeId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetCaptionProperty(CaptionPropertyParcel& caption,
bool isPermissionRequired)
{
(void)caption;
(void)isPermissionRequired;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterCaptionObserver(
const sptr<IAccessibleAbilityManagerCaptionObserver> &observer)
{
captionObserver_ = observer;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetCaptionState(bool &state, bool isPermissionRequired)
{
state = captionState_;
(void)isPermissionRequired;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetScreenReaderState(bool &state)
{
state = screenReaderState_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::EnableAbility(const std::string &name, const uint32_t capabilities,
const bool connectCallBackFlag)
{
(void)name;
(void)capabilities;
(void)connectCallBackFlag;
if (handler_) {
handler_->PostTask(std::bind([this]() {
abilityObserver_->OnAccessibilityEnableAbilityListsChanged();
}), "NotifyEnableAbility");
}
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetEnabledAbilities(std::vector<std::string> &enabledAbilities)
{
(void)enabledAbilities;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DisableAbility(const std::string &name)
{
(void)name;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetMagnificationState(const bool state)
{
(void)state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetActiveWindow(int32_t& windowId)
{
(void)windowId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetActiveWindowEx(int32_t& windowId)
{
(void)windowId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::CheckExtensionAbilityPermission(std::string& processName)
{
(void)processName;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::EnableUITestAbility(
const sptr<IRemoteObject> &obj, int32_t userId, int32_t& actualUserId)
{
(void)obj;
return RET_ERR_IPC_FAILED;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DisableUITestAbility(int32_t userId)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetScreenMagnificationState(const bool state)
{
screenMagnifier_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetShortKeyState(bool state)
{
shortkey_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetMouseKeyState(bool state)
{
mouseKey_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetMouseAutoClick(int32_t time)
{
mouseAutoClick_ = time;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetShortkeyTarget(const std::string &name)
{
shortkeyTarget_ = name;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetShortkeyMultiTarget(const std::vector<std::string> &name)
{
shortkeyMultiTarget_ = name;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetHighContrastTextState(bool state)
{
highContrastText_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetInvertColorState(bool state)
{
invertColor_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetAnimationOffState(bool state)
{
animationOff_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetAudioMonoState(bool state)
{
audioMono_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetDaltonizationState(bool state)
{
daltonizationState_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetDaltonizationColorFilter(uint32_t filter)
{
daltonizationColorFilter_ = filter;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetContentTimeout(uint32_t time)
{
contentTimeout_ = time;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetBrightnessDiscount(float discount)
{
brightnessDiscount_ = discount;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetAudioBalance(float balance)
{
audioBalance_ = balance;
if (handler_) {
handler_->PostTask(std::bind([this, balance]() {
observer_->OnConfigStateChanged(balance == 0 ? 0 : 0xFFFF);
observer_->OnAudioBalanceChanged(balance == 0 ? 0 : 1);
observer_->OnBrightnessDiscountChanged(balance == 0 ? 0 : 1);
observer_->OnContentTimeoutChanged(balance == 0 ? 0 : 1);
observer_->OnMouseAutoClickChanged(balance == 0 ? 0 : 1);
observer_->OnDaltonizationColorFilterChanged(balance == 0 ? 0 : 1);
observer_->OnShortkeyTargetChanged(balance == 0 ? "test_target1" : "test_target2");
AccessibilityConfig::CaptionProperty testProperty;
captionObserver_->OnPropertyChanged(testProperty);
}), "NotifyAll");
}
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetClickResponseTime(uint32_t time)
{
clickResponseTime_ = time;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetIgnoreRepeatClickState(bool state)
{
ignoreRepeatClickState_ = state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetIgnoreRepeatClickTime(uint32_t time)
{
ignoreRepeatClickTime_ = time;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetScreenMagnificationState(bool &state)
{
state = screenMagnifier_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetShortKeyState(bool &state)
{
state = shortkey_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetMouseKeyState(bool &state)
{
state = mouseKey_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetMouseAutoClick(int32_t &time)
{
time = mouseAutoClick_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetShortkeyTarget(std::string &name)
{
name = shortkeyTarget_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetShortkeyMultiTarget(std::vector<std::string> &name)
{
name = shortkeyMultiTarget_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetHighContrastTextState(bool &state)
{
state = highContrastText_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetInvertColorState(bool &state)
{
state = invertColor_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAnimationOffState(bool &state)
{
state = animationOff_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAudioMonoState(bool &state)
{
state = audioMono_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetFlashReminderSwitch(bool &state)
{
state = false;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetSeniorModeState(bool &state)
{
state = false;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetDaltonizationState(bool &state)
{
state = daltonizationState_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetDaltonizationColorFilter(uint32_t &type)
{
type = daltonizationColorFilter_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetContentTimeout(uint32_t &timer)
{
timer = contentTimeout_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetBrightnessDiscount(float &brightness)
{
brightness = brightnessDiscount_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAudioBalance(float &balance)
{
balance = audioBalance_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetClickResponseTime(uint32_t &time)
{
time = clickResponseTime_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetIgnoreRepeatClickState(bool &state)
{
state = ignoreRepeatClickState_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetIgnoreRepeatClickTime(uint32_t &time)
{
time = ignoreRepeatClickTime_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAllConfigs(AccessibilityConfigData& configData,
CaptionPropertyParcel& caption)
{
configData.highContrastText_ = true;
configData.invertColor_ = true;
configData.animationOff_ = true;
configData.audioMono_ = true;
configData.mouseKey_ = true;
configData.captionState_ = true;
configData.screenMagnifier_ = true;
configData.shortkey_ = true;
configData.daltonizationState_ = true;
configData.mouseAutoClick_ = MOUSE_AUTO_CLICK_VALUE;
configData.daltonizationColorFilter_ = 1;
configData.contentTimeout_ = CONTENT_TIMEOUT_VALUE;
configData.brightnessDiscount_ = BRIGHTNESS_DISCOUNT_VALUE;
configData.audioBalance_ = -1;
configData.shortkeyTarget_ = "test";
configData.shortkeyMultiTarget_ = {"test"};
configData.clickResponseTime_ = 1;
configData.ignoreRepeatClickState_ = false;
configData.ignoreRepeatClickTime_ = 1;
(void)caption;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterEnableAbilityListsObserver(
const sptr<IAccessibilityEnableAbilityListsObserver> &observer)
{
abilityObserver_ = observer;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterEnableAbilityCallbackObserver(
const sptr<IAccessibilityEnableAbilityCallbackObserver> &observer)
{
callbackObserver_ = observer;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterConfigObserver(
const sptr<IAccessibleAbilityManagerConfigObserver> &observer)
{
observer_ = observer;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetFocusedWindowId(int32_t &focusedWindowId)
{
focusedWindowId = 1;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RemoveRequestId(int32_t requestId)
{
(void)requestId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::InnerGetRootParentId(int32_t windowId, int32_t treeId,
int64_t& parentId)
{
(void)windowId;
(void)treeId;
(void)parentId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetRootParentId(int32_t windowId, int32_t treeId,
int64_t& parentId)
{
(void)windowId;
(void)treeId;
(void)parentId;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetRootParentIdEx(int32_t windowId, int32_t treeId,
int64_t& parentId)
{
(void)windowId;
(void)treeId;
(void)parentId;
return RET_OK;
}
int32_t MockAccessibleAbilityManagerServiceStub::SetEnhanceConfig(const AccessibilitySecCompRawdata& rawData)
{
return 0;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SearchNeedEvents(std::vector<uint32_t> &needEvents)
{
return RET_OK;
}
RetError MockAccessibleAbilityManagerServiceStub::ConfigureEvents(std::vector<uint32_t> needEvents)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetReadableRules(std::string &name)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeRegisterCaptionObserver(
const sptr<IRemoteObject>& obj)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeRegisterEnableAbilityListsObserver(
const sptr<IRemoteObject>& obj)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeRegisterEnableAbilityCallbackObserver(
const sptr<IRemoteObject>& obj)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeRegisterConfigObserver(
const sptr<IRemoteObject>& obj)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::IsInnerWindowRootElement(int64_t elementId, bool &state)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAnimationOffStateWithPermission(bool &state)
{
state = animationOff_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAudioMonoStateWithPermission(bool &state)
{
state = audioMono_;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetAccessibilityState(uint32_t &state)
{
(void)state;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::RegisterSeniorModeStateObserver(
const sptr<IAccessibilityAppSeniorModeStateObserver> &observer)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::DeRegisterSeniorModeStateObserver(const sptr<IRemoteObject>& obj)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetSeniorModeStateForApp(bool &state)
{
state = false;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetSeniorModeStateForApp(const bool state)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::GetSeniorModeStateForApp(const std::string &bundleName,
int32_t appIndex, bool &state)
{
state = false;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::SetSeniorModeStateForApp(
const std::vector<AccessibilityBundleSeniorModeInfoParcel> &infos)
{
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::StartBlinking(int32_t mode, int32_t scenario,
int32_t &funcResult)
{
(void)mode;
(void)scenario;
funcResult = 0;
return RET_OK;
}
ErrCode MockAccessibleAbilityManagerServiceStub::StopBlinking(int32_t mode, int32_t scenario,
int32_t &funcResult)
{
(void)mode;
(void)scenario;
funcResult = 0;
return RET_OK;
}
}
}