diff --git a/frameworks/ets/ani/form_extension_ability/BUILD.gn b/frameworks/ets/ani/form_extension_ability/BUILD.gn deleted file mode 100644 index 94439d9bfbfac7bd2995fe0ff8bd3be0e8fdb80a..0000000000000000000000000000000000000000 --- a/frameworks/ets/ani/form_extension_ability/BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2025 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. - -import("//build/config/components/ets_frontend/ets2abc_config.gni") -import("//build/ohos.gni") - -generate_static_abc("form_extension_ability_ani") { - base_url = "./ets" - files = [ - "./ets/@ohos.app.form.FormExtensionAbility.ets", - "./ets/application/FormExtensionContext.ets", - ] - - is_boot_abc = "True" - device_dst_file = "/system/framework/form_extension_ability_ani.abc" -} - -ohos_prebuilt_etc("form_extension_ability_etc") { - source = "$target_out_dir/form_extension_ability_ani.abc" - deps = [ ":form_extension_ability_ani" ] - module_install_dir = "framework" - subsystem_name = "ability" - part_name = "ability_runtime" -} diff --git a/frameworks/ets/ani/form_extension_ability/include/sts_form_extension.h b/frameworks/ets/ani/form_extension_ability/include/sts_form_extension.h index 31b5cf3671eb87249b564d3c97cc21bb744d3de3..4986c4943a1502905b815ff04a6522771b1794fa 100644 --- a/frameworks/ets/ani/form_extension_ability/include/sts_form_extension.h +++ b/frameworks/ets/ani/form_extension_ability/include/sts_form_extension.h @@ -18,20 +18,20 @@ #include "ani.h" #include "form_extension.h" -#include "sts_runtime.h" +#include "ets_runtime.h" class NativeReference; class STSNativeReference; namespace OHOS { namespace AbilityRuntime { class FormExtension; -class STSRuntime; +class ETSRuntime; class STSFormExtension : public FormExtension { public: static STSFormExtension *Create(const std::unique_ptr &runtime); - const STSRuntime &GetSTSRuntime(); - explicit STSFormExtension(STSRuntime &stsRuntime); + const ETSRuntime &GetSTSRuntime(); + explicit STSFormExtension(ETSRuntime &stsRuntime); ~STSFormExtension() override; void Init(const std::shared_ptr &record, @@ -73,10 +73,10 @@ private: std::string ANIUtils_ANIStringToStdString(ani_env *env, ani_string ani_str); ani_status ANIUtils_FormIdToAniString(ani_env *env, int64_t formId, ani_string &formIdStr); std::unique_ptr stsObj_; - std::shared_ptr stsAbilityObj_; - STSRuntime &stsRuntime_; + std::shared_ptr stsAbilityObj_; + ETSRuntime &stsRuntime_; sptr providerRemoteObject_ = nullptr; }; // namespace AbilityRuntime } // namespace AbilityRuntime } // namespace OHOS -#endif // OHOS_ABILITY_RUNTIME_SIMULATOR_STS_ABILITY_CONTEXT_H \ No newline at end of file +#endif // OHOS_ABILITY_RUNTIME_SIMULATOR_STS_ABILITY_CONTEXT_H diff --git a/frameworks/ets/ani/form_extension_ability/src/sts_form_extension.cpp b/frameworks/ets/ani/form_extension_ability/src/sts_form_extension.cpp index 3dcbc33ffdba40eef97c6b57d6cdd3223548fe9a..ba9d3fe1d2e61b700ce526f185fd7b09bdeb70ca 100644 --- a/frameworks/ets/ani/form_extension_ability/src/sts_form_extension.cpp +++ b/frameworks/ets/ani/form_extension_ability/src/sts_form_extension.cpp @@ -38,15 +38,15 @@ constexpr const char* RECORD_CLASS_NAME = "Lescompat/Record;"; STSFormExtension *STSFormExtension::Create(const std::unique_ptr &runtime) { TAG_LOGI(AAFwkTag::FORM_EXT, "call___%{public}d", runtime->GetLanguage()); - return new STSFormExtension(static_cast(*runtime)); + return new STSFormExtension(static_cast(*runtime)); } -const STSRuntime &STSFormExtension::GetSTSRuntime() +const ETSRuntime &STSFormExtension::GetSTSRuntime() { return stsRuntime_; } -STSFormExtension::STSFormExtension(STSRuntime &stsRuntime) : stsRuntime_(stsRuntime) {} +STSFormExtension::STSFormExtension(ETSRuntime &stsRuntime) : stsRuntime_(stsRuntime) {} STSFormExtension::~STSFormExtension() { @@ -656,25 +656,6 @@ void STSFormExtension::OnStop() TAG_LOGI(AAFwkTag::FORM_EXT, "OnStop End"); } -void STSFormExtension::OnConfigurationUpdated(const AppExecFwk::Configuration& configuration) -{ - TAG_LOGI(AAFwkTag::FORM_EXT, "OnConfigurationUpdated call"); - FormExtension::OnConfigurationUpdated(configuration); - - HandleScope handleScope(jsRuntime_); - napi_env env = jsRuntime_.GetNapiEnv(); - - // Notify extension context - auto fullConfig = GetContext()->GetConfiguration(); - if (!fullConfig) { - TAG_LOGE(AAFwkTag::FORM_EXT, "null fullConfig"); - return; - } - JsExtensionContext::ConfigurationUpdated(env, shellContextRef_, fullConfig); - - napi_value napiConfiguration = OHOS::AppExecFwk::WrapConfiguration(env, *fullConfig); - CallObjectMethod("onConfigurationUpdate", "onConfigurationUpdated", &napiConfiguration, 1); -} } // namespace AbilityRuntime } // namespace OHOS diff --git a/frameworks/ets/ani/form_extension_ability/ets/@ohos.app.form.FormExtensionAbility.ets b/frameworks/ets/ets/@ohos.app.form.FormExtensionAbility.ets similarity index 100% rename from frameworks/ets/ani/form_extension_ability/ets/@ohos.app.form.FormExtensionAbility.ets rename to frameworks/ets/ets/@ohos.app.form.FormExtensionAbility.ets diff --git a/frameworks/ets/ets/BUILD.gn b/frameworks/ets/ets/BUILD.gn index 4fa2d8b8e1c6bf5fd99c0c084d2576ec6b165d6f..9d219bc26b1faae77a71e9e9ba3808e8fcd199c5 100644 --- a/frameworks/ets/ets/BUILD.gn +++ b/frameworks/ets/ets/BUILD.gn @@ -418,6 +418,25 @@ ohos_prebuilt_etc("ability_runtime_ability_context_constant_abc_etc") { deps = [ ":ability_runtime_ability_context_constant_abc" ] } +generate_static_abc("form_extension_ability_ani") { + base_url = "./" + files = [ + "./@ohos.app.form.FormExtensionAbility.ets", + "./application/FormExtensionContext.ets", + ] + + is_boot_abc = "True" + device_dst_file = "/system/framework/form_extension_ability_ani.abc" +} + +ohos_prebuilt_etc("form_extension_ability_etc") { + source = "$target_out_dir/form_extension_ability_ani.abc" + deps = [ ":form_extension_ability_ani" ] + module_install_dir = "framework" + subsystem_name = "ability" + part_name = "ability_runtime" +} + group("ets_packages") { deps = [ ":ability_delegator_abc_etc", @@ -444,5 +463,6 @@ group("ets_packages") { ":ability_runtime_ui_ability_context_abc_etc", ":service_extension_ability_abc_etc", ":ui_extension_ability_ani_etc", + ":form_extension_ability_etc", ] } diff --git a/frameworks/ets/ani/form_extension_ability/ets/application/FormExtensionContext.ets b/frameworks/ets/ets/application/FormExtensionContext.ets similarity index 100% rename from frameworks/ets/ani/form_extension_ability/ets/application/FormExtensionContext.ets rename to frameworks/ets/ets/application/FormExtensionContext.ets diff --git a/frameworks/native/ability/native/BUILD.gn b/frameworks/native/ability/native/BUILD.gn index d74769b20b175e496d97098d1ad261ef911b9f3f..853b4b1ad6033688574adea7f3f22c846189a4f3 100644 --- a/frameworks/native/ability/native/BUILD.gn +++ b/frameworks/native/ability/native/BUILD.gn @@ -961,6 +961,7 @@ ohos_shared_library("form_extension") { defines += [ "AMS_LOG_DOMAIN = 0xD001300" ] if (ability_runtime_graphics) { include_dirs = [ + "${ability_runtime_path}/frameworks/ets/ani/form_extension_ability/include", "${ability_runtime_path}/interfaces/kits/native/ability/native", "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime", ] @@ -972,6 +973,8 @@ ohos_shared_library("form_extension") { "${ability_runtime_native_path}/ability/native/form_runtime/js_form_extension.cpp", "${ability_runtime_native_path}/ability/native/form_runtime/js_form_extension_context.cpp", "${ability_runtime_native_path}/appkit/ability_runtime/form_extension_context.cpp", + "${ability_runtime_path}/frameworks/ets/ani/form_extension_ability/src/sts_form_extension.cpp", + "${ability_runtime_path}/frameworks/ets/ani/form_extension_ability/src/sts_form_extension_context.cpp", ] deps = [ @@ -982,6 +985,7 @@ ohos_shared_library("form_extension") { "${ability_runtime_native_path}/ability:ability_context_native", "${ability_runtime_native_path}/ability/native:ability_business_error", "${ability_runtime_native_path}/appkit:app_context", + "${ability_runtime_path}/frameworks/ets/ani/ani_common:ani_common", ] external_deps = [ @@ -995,6 +999,7 @@ ohos_shared_library("form_extension") { "ipc:ipc_core", "ipc:ipc_napi", "napi:ace_napi", + "runtime_core:ani", ] if (form_fwk_enable) { diff --git a/frameworks/native/ability/native/form_extension.cpp b/frameworks/native/ability/native/form_extension.cpp index 1b94c7d69aa85173accabf9de79e9f6074932620..7c63fffcfbabb92e9037cc6da4d3ebe8db29834e 100644 --- a/frameworks/native/ability/native/form_extension.cpp +++ b/frameworks/native/ability/native/form_extension.cpp @@ -19,6 +19,7 @@ #include "form_extension_context.h" #include "form_runtime/cj_form_extension_instance.h" #include "form_runtime/js_form_extension.h" +#include "sts_form_extension.h" #include "hilog_tag_wrapper.h" #include "runtime.h" @@ -36,6 +37,8 @@ FormExtension* FormExtension::Create(const std::unique_ptr& runtime) return JsFormExtension::Create(runtime); case Runtime::Language::CJ: return CreateCJFormExtension(); + case Runtime::Language::ETS: + return STSFormExtension::Create(runtime); default: return new FormExtension(); }