From a8ff330948af7499687a0b4ae1ce15e587a6c706 Mon Sep 17 00:00:00 2001 From: zhangzezhong Date: Thu, 22 May 2025 17:08:32 +0800 Subject: [PATCH] add code language hybrid Signed-off-by: zhangzezhong --- frameworks/native/appkit/app/main_thread.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/frameworks/native/appkit/app/main_thread.cpp b/frameworks/native/appkit/app/main_thread.cpp index 4885026ba59..091a1c24294 100644 --- a/frameworks/native/appkit/app/main_thread.cpp +++ b/frameworks/native/appkit/app/main_thread.cpp @@ -1770,7 +1770,8 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con for (auto& runtime : runtimes) { application_->AddRuntime(std::move(runtime)); } - if (appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_2) { + if (appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_2 || + appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_HYBRID) { application_->InitAniApplicationContext(); application_->InitAniContext(); } @@ -1793,7 +1794,6 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con #ifdef CJ_FRONTEND if (!isCJApp) { #endif - auto &runtime = application_->GetRuntime(appInfo.codeLanguage); if (application_ != nullptr) { TAG_LOGE(AAFwkTag::APPKIT, "main_thread bundleName is %{public}s", appInfo.bundleName.c_str()); @@ -1801,6 +1801,11 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con LoadAllExtensions(); } if (appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_0) { + auto &runtime = application_->GetRuntime(AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_0); + if (runtime == nullptr) { + TAG_LOGE(AAFwkTag::APPKIT, "null runtime"); + return; + } auto &jsEngine = (static_cast(*runtime)).GetNativeEngine(); IdleTimeCallback callback = [wpApplication](int32_t idleTime) { auto app = wpApplication.lock(); @@ -1825,7 +1830,8 @@ void MainThread::HandleLaunchApplication(const AppLaunchData &appLaunchData, con auto helper = std::make_shared(application_); helper->SetAppFreezeFilterCallback(); } - if (appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_2) { + if (appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_2 || + appInfo.codeLanguage == AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_HYBRID) { auto& runtime = application_->GetRuntime(AbilityRuntime::APPLICAITON_CODE_LANGUAGE_ARKTS_1_2); if (runtime == nullptr) { TAG_LOGE(AAFwkTag::APPKIT, "null runtime"); -- Gitee