From 1d06748664921481241e12174023b5ff15d9114c Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 17 Apr 2025 10:24:24 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99=E6=A8=A1=E5=BC=8F-=E7=89=B9?= =?UTF-8?q?=E6=80=A7=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianyong325 --- common/src/itypes_util.cpp | 6 +++-- .../js_input_method_engine_setting.cpp | 14 ++++++++++ .../js_input_method_engine_setting.h | 1 + .../js_text_input_client_engine.cpp | 7 +++++ .../js_get_input_method_controller.cpp | 27 ++++++++++++++++++- .../js_get_input_method_controller.h | 1 + .../include/input_attribute.h | 17 ++++++++++-- .../include/input_attribute.h.rej | 14 ++++++++++ .../ndk/include/native_inputmethod_types.h | 1 + .../cpp_test/src/input_method_attach_test.cpp | 24 +++++++++++++++++ 10 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 frameworks/native/inputmethod_controller/include/input_attribute.h.rej diff --git a/common/src/itypes_util.cpp b/common/src/itypes_util.cpp index 6df768c01..480b791f1 100644 --- a/common/src/itypes_util.cpp +++ b/common/src/itypes_util.cpp @@ -190,7 +190,7 @@ bool ITypesUtil::Marshalling(const InputAttribute &input, MessageParcel &data) { if (!Marshal(data, input.inputPattern, input.enterKeyType, input.inputOption, input.isTextPreviewSupported, input.bundleName, input.immersiveMode, input.windowId, input.callingDisplayId, - input.placeholder, input.abilityName)) { + input.placeholder, input.abilityName, static_cast(input.capitalizeMode))) { IMSA_HILOGE("write InputAttribute to message parcel failed."); return false; } @@ -199,12 +199,14 @@ bool ITypesUtil::Marshalling(const InputAttribute &input, MessageParcel &data) bool ITypesUtil::Unmarshalling(InputAttribute &output, MessageParcel &data) { + int32_t capitalizeMode = 0; if (!Unmarshal(data, output.inputPattern, output.enterKeyType, output.inputOption, output.isTextPreviewSupported, output.bundleName, output.immersiveMode, output.windowId, output.callingDisplayId, - output.placeholder, output.abilityName)) { + output.placeholder, output.abilityName, capitalizeMode)) { IMSA_HILOGE("read InputAttribute from message parcel failed."); return false; } + output.capitalizeMode = static_cast(capitalizeMode); return true; } diff --git a/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.cpp b/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.cpp index 71bce3a3a..9c10248d0 100644 --- a/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.cpp +++ b/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.cpp @@ -93,6 +93,7 @@ napi_value JsInputMethodEngineSetting::Init(napi_env env, napi_value exports) DECLARE_NAPI_STATIC_PROPERTY("ExtendAction", GetJsExtendActionProperty(env)), DECLARE_NAPI_STATIC_PROPERTY("SecurityMode", GetJsSecurityModeProperty(env)), DECLARE_NAPI_STATIC_PROPERTY("ImmersiveMode", GetJsImmersiveModeProperty(env)), + DECLARE_NAPI_STATIC_PROPERTY("CapitalizeMode", GetJsCapitalizeModeProperty(env)) }; NAPI_CALL( env, napi_define_properties(env, exports, sizeof(descriptor) / sizeof(napi_property_descriptor), descriptor)); @@ -197,6 +198,19 @@ napi_value JsInputMethodEngineSetting::GetJsExtendActionProperty(napi_env env) return action; } +napi_value JsInputMethodEngineSetting::GetJsCapitalizeModeProperty(napi_env env) +{ + napi_value jsObject = nullptr; + napi_create_object(env, &jsObject); + bool ret = JsUtil::Object::WriteProperty(env, jsObject, "NONE", static_cast(CapitalizeMode::NONE)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "SENTENCES", + static_cast(CapitalizeMode::SENTENCES)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "WORDS", static_cast(CapitalizeMode::WORDS)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "CHARACTERS", + static_cast(CapitalizeMode::CHARACTERS)); + return ret ? jsObject : JsUtil::Const::Null(env); +} + napi_value JsInputMethodEngineSetting::GetJsSecurityModeProperty(napi_env env) { napi_value securityMode = nullptr; diff --git a/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.h b/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.h index 7b73cf7ff..fc6d2c3dc 100644 --- a/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.h +++ b/frameworks/js/napi/inputmethodability/js_input_method_engine_setting.h @@ -93,6 +93,7 @@ private: static napi_value GetJsExtendActionProperty(napi_env env); static napi_value GetJsSecurityModeProperty(napi_env env); static napi_value GetIntJsConstProperty(napi_env env, int32_t num); + static napi_value GetJsCapitalizeModeProperty(napi_env env); static napi_value GetIMEInstance(napi_env env, napi_callback_info info); static napi_status GetContext(napi_env env, napi_value in, std::shared_ptr &context); void RegisterListener(napi_value callback, std::string type, std::shared_ptr callbackObj); diff --git a/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp b/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp index 51aa8806d..b8ab08c34 100644 --- a/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp +++ b/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp @@ -977,6 +977,8 @@ napi_value JsInputAttribute::Write(napi_env env, const InputAttribute &nativeObj static_cast(nativeObject.callingDisplayId)); ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "placeholder", Str16ToStr8(nativeObject.placeholder)); ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "abilityName", Str16ToStr8(nativeObject.abilityName)); + int32_t capitalizeMode = static_cast(nativeObject.capitalizeMode); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "capitalizeMode", capitalizeMode); return ret ? jsObject : JsUtil::Const::Null(env); } @@ -990,6 +992,11 @@ bool JsInputAttribute::Read(napi_env env, napi_value jsObject, InputAttribute &n JsUtil::Object::ReadProperty(env, jsObject, "bundleName", nativeObject.bundleName); JsUtil::Object::ReadProperty(env, jsObject, "placeholder", nativeObject.placeholder); JsUtil::Object::ReadProperty(env, jsObject, "abilityName", nativeObject.abilityName); + int32_t capitalizeMode; + if (!JsUtil::Object::ReadProperty(env, jsObject, "capitalizeMode", capitalizeMode)) { + nativeObject.capitalizeMode = CapitalizeMode::NONE; + } + nativeObject.capitalizeMode = static_cast(capitalizeMode); ret = ret && JsUtil::Object::ReadProperty(env, jsObject, "immersiveMode", nativeObject.immersiveMode); return ret; } diff --git a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp index 80ec6b2f4..6273751b6 100644 --- a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp +++ b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp @@ -69,7 +69,8 @@ napi_value JsGetInputMethodController::Init(napi_env env, napi_value info) DECLARE_NAPI_STATIC_PROPERTY("Direction", GetJsDirectionProperty(env)), DECLARE_NAPI_STATIC_PROPERTY("ExtendAction", GetJsExtendActionProperty(env)), DECLARE_NAPI_STATIC_PROPERTY("EnabledState", GetJsEnabledStateProperty(env)), - DECLARE_NAPI_STATIC_PROPERTY("RequestKeyboardReason", GetJsRequestKeyboardReasonProperty(env)) + DECLARE_NAPI_STATIC_PROPERTY("RequestKeyboardReason", GetJsRequestKeyboardReasonProperty(env)), + DECLARE_NAPI_STATIC_PROPERTY("CapitalizeMode", GetJsCapitalizeModeProperty(env)) }; NAPI_CALL(env, napi_define_properties(env, info, sizeof(descriptor) / sizeof(napi_property_descriptor), descriptor)); @@ -243,6 +244,19 @@ napi_value JsGetInputMethodController::GetJsExtendActionProperty(napi_env env) return action; } +napi_value JsGetInputMethodController::GetJsCapitalizeModeProperty(napi_env env) +{ + napi_value jsObject = nullptr; + napi_create_object(env, &jsObject); + bool ret = JsUtil::Object::WriteProperty(env, jsObject, "NONE", static_cast(CapitalizeMode::NONE)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "SENTENCES", + static_cast(CapitalizeMode::SENTENCES)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "WORDS", static_cast(CapitalizeMode::WORDS)); + ret = ret && JsUtil::Object::WriteProperty(env, jsObject, "CHARACTERS", + static_cast(CapitalizeMode::CHARACTERS)); + return ret ? jsObject : JsUtil::Const::Null(env); +} + napi_value JsGetInputMethodController::GetJsEnabledStateProperty(napi_env env) { napi_value status = nullptr; @@ -594,6 +608,17 @@ bool JsGetInputMethodController::GetValue(napi_env env, napi_value in, TextConfi if (!result) { IMSA_HILOGE("get newEditBox failed."); } + int32_t capitalizeMode = 0; + CapitalizeMode tempCapitalizeMode = CapitalizeMode::NONE; + result = JsUtil::Object::ReadProperty(env, in, "capitalizeMode", capitalizeMode); + if (!result) { + IMSA_HILOGE("not found capitalizeMode."); + } + tempCapitalizeMode = static_cast(capitalizeMode); + if (tempCapitalizeMode < CapitalizeMode::NONE || tempCapitalizeMode > CapitalizeMode::CHARACTERS) { + IMSA_HILOGE("get capitalize mode value failed."); + } + out.inputAttribute.capitalizeMode = tempCapitalizeMode; return ret; } diff --git a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.h b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.h index 2964e1fef..da9589ba8 100644 --- a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.h +++ b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.h @@ -237,6 +237,7 @@ private: static napi_value GetJsDirectionProperty(napi_env env); static napi_value GetJsExtendActionProperty(napi_env env); static napi_value GetJsEnabledStateProperty(napi_env env); + static napi_value GetJsCapitalizeModeProperty(napi_env env); static napi_value GetJsRequestKeyboardReasonProperty(napi_env env); static std::shared_ptr GetEventHandler(); static bool IsTextPreviewSupported(); diff --git a/frameworks/native/inputmethod_controller/include/input_attribute.h b/frameworks/native/inputmethod_controller/include/input_attribute.h index 91dbf35ac..75525dff2 100644 --- a/frameworks/native/inputmethod_controller/include/input_attribute.h +++ b/frameworks/native/inputmethod_controller/include/input_attribute.h @@ -24,6 +24,13 @@ namespace OHOS { namespace MiscServices { +enum class CapitalizeMode: int32_t { + NONE = 0, + SENTENCES, + WORDS, + CHARACTERS +}; + struct InputAttribute { static const int32_t PATTERN_TEXT = 0x00000001; static const int32_t PATTERN_PASSWORD = 0x00000007; @@ -41,6 +48,7 @@ struct InputAttribute { uint64_t callingDisplayId = 0; std::u16string placeholder { u"" }; std::u16string abilityName { u"" }; + CapitalizeMode capitalizeMode = CapitalizeMode::NONE; static bool Marshalling(const InputAttribute &in, MessageParcel &data) { @@ -48,16 +56,21 @@ struct InputAttribute { data.WriteInt32(in.inputOption) && data.WriteString(in.bundleName) && data.WriteInt32(in.immersiveMode) && data.WriteUint32(in.windowId) && data.WriteUint64(in.callingDisplayId) && - data.WriteString16(in.placeholder) && data.WriteString16(in.abilityName); + data.WriteString16(in.placeholder) && data.WriteString16(in.abilityName) && + data.WriteInt32(static_cast(in.capitalizeMode));; } static bool Unmarshalling(InputAttribute &out, MessageParcel &data) { - return data.ReadInt32(out.inputPattern) && data.ReadInt32(out.enterKeyType) && + bool ret = data.ReadInt32(out.inputPattern) && data.ReadInt32(out.enterKeyType) && data.ReadInt32(out.inputOption) && data.ReadString(out.bundleName) && data.ReadInt32(out.immersiveMode) && data.ReadUint32(out.windowId) && data.ReadUint64(out.callingDisplayId) && data.ReadString16(out.placeholder) && data.ReadString16(out.abilityName); + int32_t capitalizeMode = 0; + ret = ret && data.ReadInt32(capitalizeMode); + out.capitalizeMode = static_cast(capitalizeMode); + return ret; } bool GetSecurityFlag() const diff --git a/frameworks/native/inputmethod_controller/include/input_attribute.h.rej b/frameworks/native/inputmethod_controller/include/input_attribute.h.rej new file mode 100644 index 000000000..d493964b4 --- /dev/null +++ b/frameworks/native/inputmethod_controller/include/input_attribute.h.rej @@ -0,0 +1,14 @@ +diff a/frameworks/native/inputmethod_controller/include/input_attribute.h b/frameworks/native/inputmethod_controller/include/input_attribute.h (rejected hunks) +@@ -82,12 +95,6 @@ struct InputAttribute { + inputOption == info.inputOption && isTextPreviewSupported == info.isTextPreviewSupported; + } + +- inline std::string ToUtf8(const std::u16string &in) const +- { +- std::wstring_convert, char16_t> converter; +- return converter.to_bytes(in); +- } +- + inline std::string ToString() const + { + std::stringstream ss; diff --git a/frameworks/ndk/include/native_inputmethod_types.h b/frameworks/ndk/include/native_inputmethod_types.h index 2e1ac3cdf..8f765bae6 100644 --- a/frameworks/ndk/include/native_inputmethod_types.h +++ b/frameworks/ndk/include/native_inputmethod_types.h @@ -39,6 +39,7 @@ struct InputMethod_TextAvoidInfo { double positionY; double height; }; + struct InputMethod_TextConfig { InputMethod_TextInputType inputType; InputMethod_EnterKeyType enterKeyType; diff --git a/test/unittest/cpp_test/src/input_method_attach_test.cpp b/test/unittest/cpp_test/src/input_method_attach_test.cpp index 7bfc660d0..dfba51a6e 100644 --- a/test/unittest/cpp_test/src/input_method_attach_test.cpp +++ b/test/unittest/cpp_test/src/input_method_attach_test.cpp @@ -778,5 +778,29 @@ HWTEST_F(InputMethodAttachTest, testAttach007, TestSize.Level0) EXPECT_EQ(ret, ErrorCode::NO_ERROR); EXPECT_EQ(inputPattern, config.inputAttribute.inputPattern); } + + +/** + * @tc.name: testSetCapitalizeMode_001 + * @tc.desc: test set capitalizeMode after attach + * @tc.type: FUNC + */ +HWTEST_F(InputMethodAttachTest, testSetCapitalizeMode_001, TestSize.Level0) +{ + IMSA_HILOGI("test testSetCapitalizeMode_001."); + sptr textListener = new TextListener(); + InputAttribute attribute; + attribute.inputPattern = 0; + attribute.enterKeyType = 0; + TextConfig config; + config.inputAttribute = attribute; + config.inputAttribute.capitalizeMode = CapitalizeMode::WORDS; + auto ret = inputMethodController_->Attach(textListener, false, config); + EXPECT_EQ(ret, ErrorCode::NO_ERROR); + TextTotalConfig totalConfig; + ret = inputMethodAbility_->GetTextConfig(totalConfig); + EXPECT_EQ(ret, ErrorCode::NO_ERROR); + EXPECT_EQ(totalConfig.inputAttribute.capitalizeMode, config.inputAttribute.capitalizeMode); +} } // namespace MiscServices } // namespace OHOS -- Gitee From 98dfc9c9626a1b2d3705e9d1abdb31b1a0ac7d29 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Thu, 17 Apr 2025 10:25:28 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=86=99=E6=A8=A1=E5=BC=8F-=E7=89=B9?= =?UTF-8?q?=E6=80=A7=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianyong325 --- .../include/input_attribute.h.rej | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 frameworks/native/inputmethod_controller/include/input_attribute.h.rej diff --git a/frameworks/native/inputmethod_controller/include/input_attribute.h.rej b/frameworks/native/inputmethod_controller/include/input_attribute.h.rej deleted file mode 100644 index d493964b4..000000000 --- a/frameworks/native/inputmethod_controller/include/input_attribute.h.rej +++ /dev/null @@ -1,14 +0,0 @@ -diff a/frameworks/native/inputmethod_controller/include/input_attribute.h b/frameworks/native/inputmethod_controller/include/input_attribute.h (rejected hunks) -@@ -82,12 +95,6 @@ struct InputAttribute { - inputOption == info.inputOption && isTextPreviewSupported == info.isTextPreviewSupported; - } - -- inline std::string ToUtf8(const std::u16string &in) const -- { -- std::wstring_convert, char16_t> converter; -- return converter.to_bytes(in); -- } -- - inline std::string ToString() const - { - std::stringstream ss; -- Gitee From 2df0096c61141cddb2d4cf8ec50fc3325d7eb1aa Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 18 Apr 2025 10:19:27 +0800 Subject: [PATCH 3/7] code fix Signed-off-by: qianyong325 --- .../inputmethodclient/js_get_input_method_controller.cpp | 8 +++++--- .../inputmethod_controller/include/input_attribute.h | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp index 6273751b6..323d7806d 100644 --- a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp +++ b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp @@ -614,10 +614,12 @@ bool JsGetInputMethodController::GetValue(napi_env env, napi_value in, TextConfi if (!result) { IMSA_HILOGE("not found capitalizeMode."); } - tempCapitalizeMode = static_cast(capitalizeMode); - if (tempCapitalizeMode < CapitalizeMode::NONE || tempCapitalizeMode > CapitalizeMode::CHARACTERS) { - IMSA_HILOGE("get capitalize mode value failed."); + if (capitalizeMode < static_castCapitalizeMode::NONE || + capitalizeMode > static_castCapitalizeMode::CHARACTERS) { + capitalizeMode = 0; // 0 Default value + IMSA_HILOGE("capitalizeMode value invalid."); } + tempCapitalizeMode = static_cast(capitalizeMode); out.inputAttribute.capitalizeMode = tempCapitalizeMode; return ret; } diff --git a/frameworks/native/inputmethod_controller/include/input_attribute.h b/frameworks/native/inputmethod_controller/include/input_attribute.h index 75525dff2..a16eed8ed 100644 --- a/frameworks/native/inputmethod_controller/include/input_attribute.h +++ b/frameworks/native/inputmethod_controller/include/input_attribute.h @@ -69,6 +69,10 @@ struct InputAttribute { data.ReadString16(out.placeholder) && data.ReadString16(out.abilityName); int32_t capitalizeMode = 0; ret = ret && data.ReadInt32(capitalizeMode); + if (capitalizeMode < static_castCapitalizeMode::NONE || + capitalizeMode > static_castCapitalizeMode::CHARACTERS) { + capitalizeMode = 0; + } out.capitalizeMode = static_cast(capitalizeMode); return ret; } -- Gitee From 9ea9ff0f1ed73453def2e17b2ad01ac5bf3d5027 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 18 Apr 2025 13:58:25 +0800 Subject: [PATCH 4/7] code fix Signed-off-by: qianyong325 --- .../inputmethodclient/js_get_input_method_controller.cpp | 4 ++-- .../native/inputmethod_controller/include/input_attribute.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp index 323d7806d..e66cecfa6 100644 --- a/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp +++ b/frameworks/js/napi/inputmethodclient/js_get_input_method_controller.cpp @@ -614,8 +614,8 @@ bool JsGetInputMethodController::GetValue(napi_env env, napi_value in, TextConfi if (!result) { IMSA_HILOGE("not found capitalizeMode."); } - if (capitalizeMode < static_castCapitalizeMode::NONE || - capitalizeMode > static_castCapitalizeMode::CHARACTERS) { + if (capitalizeMode < static_cast(CapitalizeMode::NONE) || + capitalizeMode > static_cast(CapitalizeMode::CHARACTERS)) { capitalizeMode = 0; // 0 Default value IMSA_HILOGE("capitalizeMode value invalid."); } diff --git a/frameworks/native/inputmethod_controller/include/input_attribute.h b/frameworks/native/inputmethod_controller/include/input_attribute.h index a16eed8ed..e7508fadc 100644 --- a/frameworks/native/inputmethod_controller/include/input_attribute.h +++ b/frameworks/native/inputmethod_controller/include/input_attribute.h @@ -57,7 +57,7 @@ struct InputAttribute { data.WriteInt32(in.immersiveMode) && data.WriteUint32(in.windowId) && data.WriteUint64(in.callingDisplayId) && data.WriteString16(in.placeholder) && data.WriteString16(in.abilityName) && - data.WriteInt32(static_cast(in.capitalizeMode));; + data.WriteInt32(static_cast(in.capitalizeMode)); } static bool Unmarshalling(InputAttribute &out, MessageParcel &data) @@ -69,8 +69,8 @@ struct InputAttribute { data.ReadString16(out.placeholder) && data.ReadString16(out.abilityName); int32_t capitalizeMode = 0; ret = ret && data.ReadInt32(capitalizeMode); - if (capitalizeMode < static_castCapitalizeMode::NONE || - capitalizeMode > static_castCapitalizeMode::CHARACTERS) { + if (capitalizeMode < static_cast(CapitalizeMode::NONE) || + capitalizeMode > static_cast(CapitalizeMode::CHARACTERS)) { capitalizeMode = 0; } out.capitalizeMode = static_cast(capitalizeMode); -- Gitee From f42519424ed046edc72384e5117f7fd4b55a000e Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Mon, 21 Apr 2025 06:04:12 +0000 Subject: [PATCH 5/7] update frameworks/ndk/include/native_inputmethod_types.h. Signed-off-by: qianyong325 --- frameworks/ndk/include/native_inputmethod_types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/ndk/include/native_inputmethod_types.h b/frameworks/ndk/include/native_inputmethod_types.h index 8f765bae6..2e1ac3cdf 100644 --- a/frameworks/ndk/include/native_inputmethod_types.h +++ b/frameworks/ndk/include/native_inputmethod_types.h @@ -39,7 +39,6 @@ struct InputMethod_TextAvoidInfo { double positionY; double height; }; - struct InputMethod_TextConfig { InputMethod_TextInputType inputType; InputMethod_EnterKeyType enterKeyType; -- Gitee From 0015ecccefeb6c08649ce25162e464cebf2985c1 Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Wed, 23 Apr 2025 06:06:30 +0000 Subject: [PATCH 6/7] update test/unittest/cpp_test/src/input_method_attach_test.cpp. Signed-off-by: qianyong325 --- test/unittest/cpp_test/src/input_method_attach_test.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/test/unittest/cpp_test/src/input_method_attach_test.cpp b/test/unittest/cpp_test/src/input_method_attach_test.cpp index dfba51a6e..0d1373dee 100644 --- a/test/unittest/cpp_test/src/input_method_attach_test.cpp +++ b/test/unittest/cpp_test/src/input_method_attach_test.cpp @@ -779,7 +779,6 @@ HWTEST_F(InputMethodAttachTest, testAttach007, TestSize.Level0) EXPECT_EQ(inputPattern, config.inputAttribute.inputPattern); } - /** * @tc.name: testSetCapitalizeMode_001 * @tc.desc: test set capitalizeMode after attach -- Gitee From 86edb64d971be031b19c6c7057b448deceb7f37f Mon Sep 17 00:00:00 2001 From: qianyong325 Date: Fri, 25 Apr 2025 10:26:47 +0800 Subject: [PATCH 7/7] code fix Signed-off-by: qianyong325 --- .../js/napi/inputmethodability/js_text_input_client_engine.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp b/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp index b8ab08c34..cdc1f2488 100644 --- a/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp +++ b/frameworks/js/napi/inputmethodability/js_text_input_client_engine.cpp @@ -995,8 +995,9 @@ bool JsInputAttribute::Read(napi_env env, napi_value jsObject, InputAttribute &n int32_t capitalizeMode; if (!JsUtil::Object::ReadProperty(env, jsObject, "capitalizeMode", capitalizeMode)) { nativeObject.capitalizeMode = CapitalizeMode::NONE; + } else { + nativeObject.capitalizeMode = static_cast(capitalizeMode); } - nativeObject.capitalizeMode = static_cast(capitalizeMode); ret = ret && JsUtil::Object::ReadProperty(env, jsObject, "immersiveMode", nativeObject.immersiveMode); return ret; } -- Gitee