diff --git a/frameworks/native/inputmethod_controller/include/input_method_utils.h b/frameworks/native/inputmethod_controller/include/input_method_utils.h index 454adcc27f071f54a898b3f318bba32cd4477515..79dbe7c71aedc993f2cdb68dbf9b87c5017f84d3 100644 --- a/frameworks/native/inputmethod_controller/include/input_method_utils.h +++ b/frameworks/native/inputmethod_controller/include/input_method_utils.h @@ -361,6 +361,7 @@ public: double positionY = 0; double height = 0; Value commandValue; + RequestKeyboardReason requestKeyboardReason = RequestKeyboardReason::NONE; bool ReadFromParcel(Parcel &parcel); bool Marshalling(Parcel &parcel) const override; diff --git a/frameworks/native/inputmethod_controller/src/input_method_tools.cpp b/frameworks/native/inputmethod_controller/src/input_method_tools.cpp index 2325bb6ba6445964266d04005b21b0b8cb7f1da0..2635c6871bcc4ac9917b0df77f35ebf3d9e5c505 100644 --- a/frameworks/native/inputmethod_controller/src/input_method_tools.cpp +++ b/frameworks/native/inputmethod_controller/src/input_method_tools.cpp @@ -116,6 +116,7 @@ TextTotalConfigInner InputMethodTools::TextTotalConfigToInner(const TextTotalCon inner.positionY = textTotalConfig.positionY; inner.height = textTotalConfig.height; inner.commandValue.valueMap = textTotalConfig.privateCommand; + inner.requestKeyboardReason = textTotalConfig.requestKeyboardReason; return inner; } @@ -129,6 +130,7 @@ TextTotalConfig InputMethodTools::InnerToTextTotalConfig(const TextTotalConfigIn textTotalConfig.positionY = inner.positionY; textTotalConfig.height = inner.height; textTotalConfig.privateCommand = inner.commandValue.valueMap; + textTotalConfig.requestKeyboardReason = inner.requestKeyboardReason; return textTotalConfig; } diff --git a/frameworks/native/inputmethod_controller/src/input_method_utils.cpp b/frameworks/native/inputmethod_controller/src/input_method_utils.cpp index 14906c7455bfb56dc2b782a543f1271ba6d051f2..08539d596957dd284fdbf50772604b7c51dfd5ec 100644 --- a/frameworks/native/inputmethod_controller/src/input_method_utils.cpp +++ b/frameworks/native/inputmethod_controller/src/input_method_utils.cpp @@ -98,6 +98,7 @@ bool TextTotalConfigInner::ReadFromParcel(Parcel &in) return false; } commandValue = *commandValueInfo; + requestKeyboardReason = static_cast(in.ReadInt32()); return true; } @@ -291,6 +292,11 @@ bool TextTotalConfigInner::Marshalling(Parcel &out) const if (!out.WriteParcelable(&commandValue)) { return false; } + + if (!out.WriteInt32(static_cast(requestKeyboardReason))) { + return false; + } + return true; }