!194 修正eventFilter设定相关bug

Merge pull request !194 from Mupceet/release_0620_eventFilter
This commit is contained in:
openharmony_ci
2022-06-21 06:57:52 +00:00
committed by Gitee
2 changed files with 25 additions and 23 deletions
@@ -178,7 +178,7 @@ protected:
std::string settingsAbility_;
uint32_t abilityTypes_ = ACCESSIBILITY_ABILITY_TYPE_INVALID;
uint32_t eventTypes_ = EventType::TYPES_ALL_MASK;
uint32_t eventTypes_ = EventType::TYPE_VIEW_INVALID;
std::vector<std::string> targetBundleNames_;
};
@@ -28,7 +28,9 @@ using namespace OHOS::AbilityRuntime;
namespace OHOS {
namespace Accessibility {
namespace {
constexpr int32_t ERROR_CODE_ONE = 1;
constexpr int32_t CONTEXT_ERROR = 1;
constexpr int32_t PARAMETER_ERROR = 2;
constexpr int32_t RESULT_ERROR = 3;
static void ConvertAccessibilityWindowInfoToJS(
napi_env env, napi_value result, const AccessibilityWindowInfo& accessibilityWindowInfo)
@@ -141,10 +143,6 @@ private:
uint32_t filter = TYPE_VIEW_INVALID;
ConvertJSToEventTypes(reinterpret_cast<napi_env>(&engine),
reinterpret_cast<napi_value>(info.argv[PARAM0]), filter);
if (filter == TYPE_VIEW_INVALID) {
HILOG_ERROR("ConvertJSToEventTypes failed");
return engine.CreateUndefined();
}
HILOG_INFO("filter = %{public}d", filter);
AsyncTask::CompleteCallback complete =
@@ -153,16 +151,20 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
if (filter == TYPE_VIEW_INVALID) {
HILOG_ERROR("filter is invalid");
task.Reject(engine, CreateJsError(engine, PARAMETER_ERROR, "filter is invalid"));
return;
}
bool ret = context->SetEventTypeFilter(filter);
if (ret) {
task.Resolve(engine, engine.CreateBoolean(ret));
} else {
HILOG_ERROR("set event type failed. ret: %{public}d.", ret);
task.Reject(engine, CreateJsError(engine, false, "set event type failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "set event type failed."));
}
};
@@ -194,7 +196,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -203,7 +205,7 @@ private:
task.Resolve(engine, engine.CreateBoolean(ret));
} else {
HILOG_ERROR("set target bundle name failed. ret: %{public}d.", ret);
task.Reject(engine, CreateJsError(engine, false, "set target bundle name failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "set target bundle name failed."));
}
};
@@ -255,7 +257,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -273,7 +275,7 @@ private:
task.Resolve(engine, nativeElementInfo);
} else {
HILOG_ERROR("Get focus elementInfo failed. ret: %{public}d", ret);
task.Reject(engine, CreateJsError(engine, false, "Get focus elementInfo failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Get focus elementInfo failed."));
}
};
@@ -325,7 +327,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -353,7 +355,7 @@ private:
task.Resolve(engine, nativeElementInfo);
} else {
HILOG_ERROR("Get root elementInfo failed. ret : %{public}d", ret);
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Get root elementInfo failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Get root elementInfo failed."));
}
};
@@ -420,7 +422,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -435,7 +437,7 @@ private:
task.Resolve(engine, nativeWindowInfos);
} else {
HILOG_ERROR("Get windowInfos failed.");
task.Reject(engine, CreateJsError(engine, false, "Get windowInfos failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Get windowInfos failed."));
}
};
@@ -454,7 +456,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -469,7 +471,7 @@ private:
task.Resolve(engine, nativeWindowInfos);
} else {
HILOG_ERROR("Get windowInfos failed.");
task.Reject(engine, CreateJsError(engine, false, "Get windowInfos failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Get windowInfos failed."));
}
};
@@ -505,7 +507,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
@@ -514,7 +516,7 @@ private:
task.Resolve(engine, engine.CreateBoolean(ret));
} else {
HILOG_ERROR("Perform common action failed. ret: %{public}d.", ret);
task.Reject(engine, CreateJsError(engine, false, "Perform common action failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Perform common action failed."));
}
};
@@ -566,7 +568,7 @@ private:
auto context = weak.lock();
if (!context) {
HILOG_ERROR("context is released");
task.Reject(engine, CreateJsError(engine, ERROR_CODE_ONE, "Context is released"));
task.Reject(engine, CreateJsError(engine, CONTEXT_ERROR, "Context is released"));
return;
}
bool ret = false;
@@ -579,7 +581,7 @@ private:
task.Resolve(engine, engine.CreateBoolean(ret));
} else {
HILOG_ERROR("Gesture inject failed. ret: %{public}d.", ret);
task.Reject(engine, CreateJsError(engine, false, "Gesture inject failed."));
task.Reject(engine, CreateJsError(engine, RESULT_ERROR, "Gesture inject failed."));
}
};