mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-24 22:21:36 -04:00
fix support passing want to window
Signed-off-by: xiehd <xiehuandong@huawei.com>
This commit is contained in:
@@ -715,6 +715,7 @@ bool JsUIExtension::HandleSessionCreate(const AAFwk::Want &want, const sptr<AAFw
|
||||
std::lock_guard<std::mutex> lock(uiWindowMutex_);
|
||||
TAG_LOGD(AAFwkTag::UI_EXT, "UIExtension component id: %{public}" PRId64 ", element: %{public}s",
|
||||
sessionInfo->uiExtensionComponentId, want.GetElement().GetURI().c_str());
|
||||
std::shared_ptr<AAFwk::Want> sharedWant = std::make_shared<AAFwk::Want>();
|
||||
auto compId = sessionInfo->uiExtensionComponentId;
|
||||
if (uiWindowMap_.find(compId) == uiWindowMap_.end()) {
|
||||
auto context = GetContext();
|
||||
@@ -746,11 +747,15 @@ bool JsUIExtension::HandleSessionCreate(const AAFwk::Want &want, const sptr<AAFw
|
||||
CallObjectMethod("onSessionCreate", argv, ARGC_TWO);
|
||||
}
|
||||
uiWindowMap_[compId] = uiWindow;
|
||||
uiWindow->UpdateExtensionConfig(sharedWant);
|
||||
#ifdef SUPPORT_GRAPHICS
|
||||
if (context->GetWindow() == nullptr) {
|
||||
context->SetWindow(uiWindow);
|
||||
}
|
||||
#endif // SUPPORT_GRAPHICS
|
||||
} else {
|
||||
auto& uiWindow = uiWindowMap_[compId];
|
||||
uiWindow->UpdateExtensionConfig(sharedWant);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -707,6 +707,7 @@ bool JsUIExtensionBase::HandleSessionCreate(const AAFwk::Want &want, const sptr<
|
||||
TAG_LOGE(AAFwkTag::UI_EXT, "Invalid sessionInfo");
|
||||
return false;
|
||||
}
|
||||
std::shared_ptr<AAFwk::Want> sharedWant = std::make_shared<AAFwk::Want>();
|
||||
auto componentId = sessionInfo->uiExtensionComponentId;
|
||||
if (uiWindowMap_.find(componentId) == uiWindowMap_.end()) {
|
||||
if (context_ == nullptr || context_->GetAbilityInfo() == nullptr) {
|
||||
@@ -731,11 +732,15 @@ bool JsUIExtensionBase::HandleSessionCreate(const AAFwk::Want &want, const sptr<
|
||||
return false;
|
||||
}
|
||||
uiWindowMap_[componentId] = uiWindow;
|
||||
uiWindow->UpdateExtensionConfig(sharedWant);
|
||||
#ifdef SUPPORT_GRAPHICS
|
||||
if (context_->GetWindow() == nullptr) {
|
||||
context_->SetWindow(uiWindow);
|
||||
}
|
||||
#endif // SUPPORT_GRAPHICS
|
||||
} else {
|
||||
auto& uiWindow = uiWindowMap_[componentId];
|
||||
uiWindow->UpdateExtensionConfig(sharedWant);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user