diff --git a/frameworks/native/ability/native/BUILD.gn b/frameworks/native/ability/native/BUILD.gn index d22ef2fa2a..2ae99e3132 100644 --- a/frameworks/native/ability/native/BUILD.gn +++ b/frameworks/native/ability/native/BUILD.gn @@ -988,6 +988,7 @@ ohos_shared_library("ui_extension") { if (ability_runtime_graphics) { external_deps += [ "ace_engine:ace_uicontent", + "window_manager:libdm", "window_manager:libwm", ] } diff --git a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension.cpp b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension.cpp index bd28672bd0..00cc73e9ba 100755 --- a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension.cpp +++ b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension.cpp @@ -239,8 +239,21 @@ void JsUIExtension::OnStart(const AAFwk::Want &want) HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__); TAG_LOGD(AAFwkTag::UI_EXT, "JsUIExtension OnStart begin."); Extension::OnStart(want); + auto context = GetContext(); + if (context != nullptr) { + int32_t displayId = static_cast(Rosen::DisplayManager::GetInstance().GetDefaultDisplayId()); + displayId = want.GetIntParam(Want::PARAM_RESV_DISPLAY_ID, displayId); + TAG_LOGD(AAFwkTag::UI_EXT, "displayId %{public}d", displayId); + auto configUtils = std::make_shared(); + configUtils->InitDisplayConfig(displayId, context->GetConfiguration(), context->GetResourceManager()); + } + HandleScope handleScope(jsRuntime_); napi_env env = jsRuntime_.GetNapiEnv(); + if (context != nullptr) { + JsExtensionContext::ConfigurationUpdated(env, shellContextRef_, context->GetConfiguration()); + } + napi_value napiWant = OHOS::AppExecFwk::WrapWant(env, want); napi_value argv[] = {napiWant}; CallObjectMethod("onCreate", argv, ARGC_ONE); diff --git a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_content_session.cpp b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_content_session.cpp index ef12a04e3c..b028621c1e 100644 --- a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_content_session.cpp +++ b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_content_session.cpp @@ -280,7 +280,7 @@ napi_value JsUIExtensionContentSession::OnGetUIExtensionHostWindowProxy(napi_env ThrowError(env, AbilityErrorCode::ERROR_CODE_INNER); return CreateJsUndefined(env); } - + napi_value jsExtensionWindow = Rosen::JsExtensionWindow::CreateJsExtensionWindow(env, uiWindow_, sessionInfo_->hostWindowId); if (jsExtensionWindow == nullptr) { @@ -520,7 +520,7 @@ void JsUIExtensionContentSession::StartAbilityForResultRuntimeTask(napi_env env, napi_value JsUIExtensionContentSession::OnTerminateSelf(napi_env env, NapiCallbackInfo& info) { - TAG_LOGD(AAFwkTag::UI_EXT, "OnTerminateSelf called"); + TAG_LOGI(AAFwkTag::UI_EXT, "OnTerminateSelf called"); NapiAsyncTask::CompleteCallback complete = [sessionInfo = sessionInfo_](napi_env env, NapiAsyncTask& task, int32_t status) { if (sessionInfo == nullptr) { @@ -544,7 +544,7 @@ napi_value JsUIExtensionContentSession::OnTerminateSelf(napi_env env, NapiCallba napi_value JsUIExtensionContentSession::OnTerminateSelfWithResult(napi_env env, NapiCallbackInfo& info) { - TAG_LOGD(AAFwkTag::UI_EXT, "called"); + TAG_LOGI(AAFwkTag::UI_EXT, "called"); if (info.argc < ARGC_ONE) { TAG_LOGE(AAFwkTag::UI_EXT, "invalid param"); ThrowError(env, AbilityErrorCode::ERROR_CODE_INVALID_PARAM); diff --git a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_context.cpp b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_context.cpp index 6662144492..296636a8d7 100755 --- a/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_context.cpp +++ b/frameworks/native/ability/native/ui_extension_ability/js_ui_extension_context.cpp @@ -340,7 +340,7 @@ napi_value JsUIExtensionContext::OnOpenLink(napi_env env, NapiCallbackInfo& info napi_value JsUIExtensionContext::OnTerminateSelf(napi_env env, NapiCallbackInfo& info) { - TAG_LOGD(AAFwkTag::UI_EXT, "OnTerminateSelf is called"); + TAG_LOGI(AAFwkTag::UI_EXT, "OnTerminateSelf is called"); NapiAsyncTask::CompleteCallback complete = [weak = context_](napi_env env, NapiAsyncTask& task, int32_t status) { auto context = weak.lock(); @@ -414,7 +414,7 @@ napi_value JsUIExtensionContext::OnStartAbilityForResult(napi_env env, NapiCallb napi_value JsUIExtensionContext::OnTerminateSelfWithResult(napi_env env, NapiCallbackInfo& info) { - TAG_LOGD(AAFwkTag::UI_EXT, "called"); + TAG_LOGI(AAFwkTag::UI_EXT, "called"); if (info.argc == 0) { TAG_LOGE(AAFwkTag::UI_EXT, "Not enough params"); ThrowTooFewParametersError(env); diff --git a/interfaces/kits/native/ability/native/ui_extension_ability/js_ui_extension.h b/interfaces/kits/native/ability/native/ui_extension_ability/js_ui_extension.h index 9364ce8759..29faeaf2f8 100755 --- a/interfaces/kits/native/ability/native/ui_extension_ability/js_ui_extension.h +++ b/interfaces/kits/native/ability/native/ui_extension_ability/js_ui_extension.h @@ -17,6 +17,7 @@ #define OHOS_ABILITY_RUNTIME_JS_UI_EXTENSION_H #include "configuration.h" +#include "display_manager.h" #include "js_ui_extension_content_session.h" #include "ui_extension.h" #include