From 630c4bc4e20d2e7db5576ef5406d61ab4eddc363 Mon Sep 17 00:00:00 2001 From: zexin_c Date: Tue, 10 Feb 2026 21:52:07 +0800 Subject: [PATCH] fix gn error & add extension process mode Signed-off-by: zexin_c --- .../js/js/agent_ui_extension_ability/BUILD.gn | 3 +-- agent_runtime_framework/frameworks/js/napi/BUILD.gn | 1 + .../js/napi/agent_ui_extension_ability/BUILD.gn | 3 ++- .../include/js_agent_ui_extension.h | 9 +++++---- .../src/js_agent_ui_extension.cpp | 11 +++++++++-- .../native/agent_ui_extension_ability/BUILD.gn | 5 ++--- .../src/extension_record/extension_record_manager.cpp | 4 +++- 7 files changed, 23 insertions(+), 13 deletions(-) diff --git a/agent_runtime_framework/frameworks/js/js/agent_ui_extension_ability/BUILD.gn b/agent_runtime_framework/frameworks/js/js/agent_ui_extension_ability/BUILD.gn index ed363067a8..fd8069eea4 100644 --- a/agent_runtime_framework/frameworks/js/js/agent_ui_extension_ability/BUILD.gn +++ b/agent_runtime_framework/frameworks/js/js/agent_ui_extension_ability/BUILD.gn @@ -28,8 +28,7 @@ gen_js_obj("agent_ui_extension_ability_js") { } gen_js_obj("agent_ui_extension_ability_abc") { - input = - get_label_info(":gen_agent_ui_extension_ability_abc", + input = get_label_info(":gen_agent_ui_extension_ability_abc", "target_out_dir") + "/agent_ui_extension_ability.abc" output = target_out_dir + "/agent_ui_extension_ability_abc.o" dep = ":gen_agent_ui_extension_ability_abc" diff --git a/agent_runtime_framework/frameworks/js/napi/BUILD.gn b/agent_runtime_framework/frameworks/js/napi/BUILD.gn index f96f249837..73b13e60b9 100644 --- a/agent_runtime_framework/frameworks/js/napi/BUILD.gn +++ b/agent_runtime_framework/frameworks/js/napi/BUILD.gn @@ -22,5 +22,6 @@ group("agent_runtime_napi_packages") { "${agent_runtime_framework_path}/frameworks/js/napi/agent_extension_context:js_agent_extension_context", "${agent_runtime_framework_path}/frameworks/js/napi/agent_manager:agentmanager_napi", "${agent_runtime_framework_path}/frameworks/js/napi/agent_ui_extension_ability:agentuiextensionability", + "${agent_runtime_framework_path}/frameworks/js/napi/agent_ui_extension_ability:js_agent_ui_extension", ] } diff --git a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/BUILD.gn b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/BUILD.gn index 06f6eab8b3..f4f1006b17 100644 --- a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/BUILD.gn +++ b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/BUILD.gn @@ -73,10 +73,11 @@ ohos_shared_library("js_agent_ui_extension") { include_dirs = [ "include", + "${agent_runtime_framework_path}/frameworks/native/agent_ui_extension_ability/include", ] sources = [ - "src/js_agent_extension.cpp", + "src/js_agent_ui_extension.cpp", ] deps = [ diff --git a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/include/js_agent_ui_extension.h b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/include/js_agent_ui_extension.h index 71ddce9f53..a97c0c5634 100644 --- a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/include/js_agent_ui_extension.h +++ b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/include/js_agent_ui_extension.h @@ -20,14 +20,15 @@ #include "agent_ui_extension.h" -namespace OHOS::AbilityRuntime { -class Runtime; -class JsUIExtensionBase; +namespace OHOS { +namespace AbilityRuntime { + class Runtime; } -namespace OHOS { namespace AgentRuntime { +using namespace OHOS::AbilityRuntime; class AgentUIExtension; + /** * @brief Basic action extension components. */ diff --git a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/src/js_agent_ui_extension.cpp b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/src/js_agent_ui_extension.cpp index 92ec9cd461..445989411d 100644 --- a/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/src/js_agent_ui_extension.cpp +++ b/agent_runtime_framework/frameworks/js/napi/agent_ui_extension_ability/src/js_agent_ui_extension.cpp @@ -19,6 +19,12 @@ #include "hitrace_meter.h" #include "js_ui_extension_base.h" +#ifdef WINDOWS_PLATFORM +#define JS_EXPORT __declspec(dllexport) +#else +#define JS_EXPORT __attribute__((visibility("default"))) +#endif + namespace OHOS { namespace AgentRuntime { JsAgentUIExtension::JsAgentUIExtension(const std::unique_ptr &runtime) @@ -33,9 +39,10 @@ JsAgentUIExtension::~JsAgentUIExtension() TAG_LOGD(AAFwkTag::SER_ROUTER, "destructor"); } -extern "C" JS_EXPORT AgentUIExtension* OHOS_CreateJsAgentUIExtension(const std::unique_ptr &runtime) +extern "C" JS_EXPORT AgentUIExtension* OHOS_CreateJsAgentUIExtension( + const std::unique_ptr &runtime) { - return new JsAgentUIExtension(static_cast(*runtime)); + return new JsAgentUIExtension(runtime); } } // namespace AgentRuntime } // namespace OHOS \ No newline at end of file diff --git a/agent_runtime_framework/frameworks/native/agent_ui_extension_ability/BUILD.gn b/agent_runtime_framework/frameworks/native/agent_ui_extension_ability/BUILD.gn index 94774fd050..9c55502e01 100644 --- a/agent_runtime_framework/frameworks/native/agent_ui_extension_ability/BUILD.gn +++ b/agent_runtime_framework/frameworks/native/agent_ui_extension_ability/BUILD.gn @@ -93,8 +93,7 @@ ohos_shared_library("agent_ui_extension") { debug = false } branch_protector_ret = "pac_ret" - defines = [ "AMS_LOG_TAG = \"Agent\"" ] - defines += [ "AMS_LOG_DOMAIN = 0xD001353" ] + configs = [ ":agent_ui_extension_config", "${ability_runtime_services_path}/common:optimize_config", @@ -102,7 +101,7 @@ ohos_shared_library("agent_ui_extension") { include_dirs = [ "include", - "${agent_runtime_framework_path}/frameworks/js/napi/agent_ui_extension_ability/include", + "${agent_runtime_framework_path}/frameworks/native/agent_ui_extension_ability/include", ] sources = [ diff --git a/services/abilitymgr/src/extension_record/extension_record_manager.cpp b/services/abilitymgr/src/extension_record/extension_record_manager.cpp index 98bfd449d7..b261a9cbd0 100644 --- a/services/abilitymgr/src/extension_record/extension_record_manager.cpp +++ b/services/abilitymgr/src/extension_record/extension_record_manager.cpp @@ -31,6 +31,8 @@ constexpr const char *EMBEDDEDUI = "embeddedUI"; const std::string IS_PRELOAD_UIEXTENSION_ABILITY = "ability.want.params.is_preload_uiextension_ability"; constexpr const char* UIEXTENSION_TYPE_KEY = "ability.want.params.uiExtensionType"; constexpr size_t HOST_PID_INDEX = 3; +constexpr const char* AGENT_EXTENSION_TYPE = "agent"; + int32_t GetAppIndexByRecord(std::shared_ptr abilityRecord, std::shared_ptr callerRecord, const AAFwk::AbilityRequest &abilityRequest) { @@ -295,7 +297,7 @@ int32_t ExtensionRecordManager::UpdateProcessName(const AAFwk::AbilityRequest &a switch (record->processMode_) { case PROCESS_MODE_AGENT_UI: { std::string process = abilityRequest.abilityInfo.bundleName - + SEPARATOR + abilityRequest.abilityInfo.extensionTypeName; + + SEPARATOR + AGENT_EXTENSION_TYPE; abilityRecord->SetProcessName(process); break; }