已合并
闪控球/窗更新时保留绑定属性 #19762
loumou创建于 7月23日
闪控球/窗更新时保留绑定属性 #19762
已合并
共 3 个文件变更+8-0
| @@ -143,6 +143,10 @@ bool KeyboardSession::GetSkipFlagForCallingSession(const sptr<SceneSession>& cal | |||
| 143 | if (!callingSession) { | 143 | if (!callingSession) { |
| 144 | return false; | 144 | return false; |
| 145 | } | 145 | } |
| 146 | + if (WindowHelper::IsFvWindow(callingSession->GetWindowType())) { | ||
| 147 | + TLOGI(WmsLogTag::WMS_KEYBOARD, "fv window use fv session flag"); | ||
| 148 | + return callingSession->isSkipSelfWhenShowOnVirtualScreen_.load(); | ||
| 149 | + } | ||
| 146 | auto mainSession = callingSession->GetMainSession(); | 150 | auto mainSession = callingSession->GetMainSession(); |
| 147 | if (!mainSession) { | 151 | if (!mainSession) { |
| 148 | return false; | 152 | return false; |
| @@ -558,6 +558,7 @@ WMError FloatViewController::SetVisibilityInApp(bool visibleInApp) | |||
| 558 | option_.GetFvTemplateInfo(fvTemplateInfo); | 558 | option_.GetFvTemplateInfo(fvTemplateInfo); |
| 559 | fvTemplateInfo.id_ = id_; | 559 | fvTemplateInfo.id_ = id_; |
| 560 | fvTemplateInfo.isBind_ = bindState_; | 560 | fvTemplateInfo.isBind_ = bindState_; |
| 561 | + fvTemplateInfo.bindWindowId_ = bindWindowId_; | ||
| 561 | errorCode = window_->UpdateFloatView(fvTemplateInfo); | 562 | errorCode = window_->UpdateFloatView(fvTemplateInfo); |
| 562 | if (errorCode != WMError::WM_OK) { | 563 | if (errorCode != WMError::WM_OK) { |
| 563 | TLOGE(WmsLogTag::WMS_SYSTEM, "Update float view failed when set visibility in app, err: %{public}u", errorCode); | 564 | TLOGE(WmsLogTag::WMS_SYSTEM, "Update float view failed when set visibility in app, err: %{public}u", errorCode); |
| @@ -624,6 +625,7 @@ WMError FloatViewController::UpdateFloatView() | |||
| 624 | option_.GetFvTemplateInfo(fvTemplateInfo); | 625 | option_.GetFvTemplateInfo(fvTemplateInfo); |
| 625 | fvTemplateInfo.id_ = id_; | 626 | fvTemplateInfo.id_ = id_; |
| 626 | fvTemplateInfo.isBind_ = bindState_; | 627 | fvTemplateInfo.isBind_ = bindState_; |
| 628 | + fvTemplateInfo.bindWindowId_ = bindWindowId_; | ||
| 627 | auto errCode = window_->UpdateFloatView(fvTemplateInfo); | 629 | auto errCode = window_->UpdateFloatView(fvTemplateInfo); |
| 628 | if (errCode != WMError::WM_OK) { | 630 | if (errCode != WMError::WM_OK) { |
| 629 | TLOGE(WmsLogTag::WMS_SYSTEM, "Update float view failed when change float view, err: %{public}u", errCode); | 631 | TLOGE(WmsLogTag::WMS_SYSTEM, "Update float view failed when change float view, err: %{public}u", errCode); |
| @@ -143,6 +143,8 @@ WMError FloatingBallController::UpdateFloatingBall(sptr<FbOption>& option) | |||
| 143 | option->GetFbTemplateBaseInfo(fbTemplateBaseInfo); | 143 | option->GetFbTemplateBaseInfo(fbTemplateBaseInfo); |
| 144 | fbTemplateBaseInfo.isVisibleInApp_ = visibleInApp_; | 144 | fbTemplateBaseInfo.isVisibleInApp_ = visibleInApp_; |
| 145 | fbTemplateBaseInfo.id_ = id_; | 145 | fbTemplateBaseInfo.id_ = id_; |
| 146 | + fbTemplateBaseInfo.isBind_ = bindState_; | ||
| 147 | + fbTemplateBaseInfo.bindWindowId_ = bindWindowId_; | ||
| 146 | auto errCode = window_->UpdateFloatingBall(fbTemplateBaseInfo, option->GetIcon()); | 148 | auto errCode = window_->UpdateFloatingBall(fbTemplateBaseInfo, option->GetIcon()); |
| 147 | std::ostringstream ss; | 149 | std::ostringstream ss; |
| 148 | errCode == WMError::WM_OK ? (ss << "") : (ss << "Update floating ball window session failed, errCode:" | 150 | errCode == WMError::WM_OK ? (ss << "") : (ss << "Update floating ball window session failed, errCode:" |