diff --git a/services/screenservice/sinkservice/BUILD.gn b/services/screenservice/sinkservice/BUILD.gn index d3255df9cb4e2adc0f00a4c78767136e1639d2fa..184f3d63c2c98d11ee725e9906b0bab5a2e1527b 100644 --- a/services/screenservice/sinkservice/BUILD.gn +++ b/services/screenservice/sinkservice/BUILD.gn @@ -87,6 +87,7 @@ ohos_shared_library("distributed_screen_sink") { "distributed_hardware_fwk:distributed_av_receiver", "distributed_hardware_fwk:libdhfwk_sdk", "graphic_2d:libgraphic_utils", + "graphic_2d:librender_service_client", "graphic_2d:surface", "hisysevent:libhisysevent", "hitrace:hitrace_meter", diff --git a/services/screenservice/sourceservice/BUILD.gn b/services/screenservice/sourceservice/BUILD.gn index 345bdb2bcb15d71b4bc1b84f4f865cc0cdbd76f3..8554628bb72dca49d1e79fa35bf1d2812c748ede 100644 --- a/services/screenservice/sourceservice/BUILD.gn +++ b/services/screenservice/sourceservice/BUILD.gn @@ -94,6 +94,7 @@ ohos_shared_library("distributed_screen_source") { "distributed_hardware_fwk:distributedhardwareutils", "distributed_hardware_fwk:libdhfwk_sdk", "graphic_2d:libcomposer", + "graphic_2d:librender_service_client", "graphic_2d:surface", "hicollie:libhicollie", "hisysevent:libhisysevent", diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/1.0/include/dscreen.h index 2266d35e26c1468238e005bd6bf39257f6cd3894..fda3b09cf18704eb13d28f9e0502e726b431bcdb 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/include/dscreen.h @@ -25,6 +25,7 @@ #include "iscreen_source_trans.h" #include "iscreen_source_trans_callback.h" #include "video_param.h" +#include "transaction/rs_interfaces.h" namespace OHOS { namespace DistributedHardware { diff --git a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp index 631b584f4f53d679fc0d410ab92bfe34dd2ef0de..e0f647191d3598d47694e16f31ecef8bd596779d 100644 --- a/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/1.0/src/dscreen.cpp @@ -389,6 +389,7 @@ void DScreen::HandleDisconnect() return; } SetState(ENABLED); + Rosen::RSInterfaces::GetInstance().SetVirtualScreenUsingStatus(false); ReportScreenMirrorEvent(DSCREEN_PROJECT_END, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen disconnect success"); } diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h index b1d65692a14440cbc8f16fed43d4380e3ac4d933..eb09e2ba0125a5263c7fb70565c637c34fe6d0fe 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h @@ -33,6 +33,7 @@ #include "histreamer_ability_parser.h" #include "video_param.h" #include "av_sender_engine_adapter.h" +#include "transaction/rs_interfaces.h" namespace OHOS { namespace DistributedHardware { diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index 859372381f69af6f5b4818caea7b54ac16c8a9ee..c93f59dcbcd302660d88519a1b7655504d69f955 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -242,6 +242,7 @@ void DScreen::HandleDisconnect() } SetState(ENABLED); RemoveSurface(); + Rosen::RSInterfaces::GetInstance().SetVirtualScreenUsingStatus(false); ReportScreenMirrorEvent(DSCREEN_PROJECT_END, GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str(), "dscreen disconnect success"); } diff --git a/services/screenservice/sourceservice/dscreenmgr/common/include/screen_manager_adapter.h b/services/screenservice/sourceservice/dscreenmgr/common/include/screen_manager_adapter.h index ed2a022e5bf0dbb210a6228ffa13f319c7446a6c..a143185e378d737cf8e2d9a4d321c17a8c4b7afd 100644 --- a/services/screenservice/sourceservice/dscreenmgr/common/include/screen_manager_adapter.h +++ b/services/screenservice/sourceservice/dscreenmgr/common/include/screen_manager_adapter.h @@ -24,6 +24,7 @@ #include "dscreen_maprelation.h" #include "video_param.h" +#include "transaction/rs_interfaces.h" namespace OHOS { namespace DistributedHardware { diff --git a/services/screenservice/sourceservice/dscreenmgr/common/src/screen_manager_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/common/src/screen_manager_adapter.cpp index f7e4b26b0b97f923b7dd45e88916007fc463747f..bc01feb7ead9fbef64dacbd3631c2edca95fcd16 100644 --- a/services/screenservice/sourceservice/dscreenmgr/common/src/screen_manager_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/common/src/screen_manager_adapter.cpp @@ -151,6 +151,7 @@ int32_t ScreenMgrAdapter::SetImageSurface(uint64_t screenId, sptr return ERR_DH_SCREEN_SA_SET_IMAGESURFACE_FAIL; } DHLOGI("SetImageSurface for virtualscreen, screenId: %" PRIu64, screenId); + Rosen::RSInterfaces::GetInstance().SetVirtualScreenUsingStatus(true); Rosen::ScreenManager::GetInstance().SetVirtualScreenSurface(screenId, surface); return DH_SUCCESS; } diff --git a/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn b/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn index ca522c3e079fb5ad6a4e92bb8ad03fcd05c55818..8020d0953f16f4ad81af0b9bdc882898a253e69e 100644 --- a/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn +++ b/services/screenservice/test/fuzztest/sourceservice/dscreenmgr/onchange_fuzzer/BUILD.gn @@ -62,6 +62,7 @@ ohos_fuzztest("OnChangeFuzzTest") { external_deps = [ "c_utils:utils", "distributed_hardware_fwk:distributed_av_sender", + "graphic_2d:librender_service_client", "graphic_2d:surface", "window_manager:libdm", ] diff --git a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn index 9b55ff115f4a74c4f70e87149c4172148154be68..94487ea907f4dbf4459cd223881a0b0ef213efe2 100644 --- a/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sinkservice/screenregionmgr/BUILD.gn @@ -75,6 +75,7 @@ ohos_unittest("DscreenRegionMgrTest") { "distributed_hardware_fwk:distributedhardwareutils", "graphic_2d:libcomposer", "graphic_2d:libgraphic_utils", + "graphic_2d:librender_service_client", "graphic_2d:surface", "hisysevent:libhisysevent", "window_manager:libdm", diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn index 5f052a7419cd3c6e5b024681f0de6b0e0938fbaa..9cd0515311a2eaa334273c853f48525eb695fb1f 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/BUILD.gn @@ -79,6 +79,7 @@ ohos_unittest("DscreenMgrTest") { "distributed_hardware_fwk:distributedhardwareutils", "distributed_hardware_fwk:libdhfwk_sdk", "graphic_2d:libcomposer", + "graphic_2d:librender_service_client", "graphic_2d:surface", "graphic_2d:sync_fence", "hdf_core:libhdi",