diff --git a/common/src/dscreen_util.cpp b/common/src/dscreen_util.cpp index 939db17377e1365cddc1399962860134ea9b80b5..afa69f762a86884f2e39519b215a1c39432e96b0 100644 --- a/common/src/dscreen_util.cpp +++ b/common/src/dscreen_util.cpp @@ -53,7 +53,10 @@ std::string GetRandomID() static std::uniform_int_distribution dist(0ULL, 0xFFFFFFFFFFFFFFFFULL); uint64_t ab = dist(randomDevice); uint64_t cd = dist(randomDevice); - uint32_t a, b, c, d; + uint32_t a; + uint32_t b; + uint32_t c; + uint32_t d; std::stringstream stringStream; ab = (ab & 0xFFFFFFFFFFFF0FFFULL) | 0x0000000000004000ULL; cd = (cd & 0x3FFFFFFFFFFFFFFFULL) | 0x8000000000000000ULL; diff --git a/interfaces/innerkits/native_cpp/screen_source/BUILD.gn b/interfaces/innerkits/native_cpp/screen_source/BUILD.gn index 90fe89a4aeee18a19f7e524b7b2423b33f5142cf..0b5ecb743ff8c3df5f65537ef6375822c9b4efdf 100644 --- a/interfaces/innerkits/native_cpp/screen_source/BUILD.gn +++ b/interfaces/innerkits/native_cpp/screen_source/BUILD.gn @@ -52,13 +52,9 @@ ohos_shared_library("distributed_screen_source_sdk") { external_deps = [ "c_utils:utils", - "graphic_2d:libcomposer", - "graphic_2d:librender_service_client", - "graphic_2d:surface", "hitrace:hitrace_meter", "ipc:ipc_core", "samgr:samgr_proxy", - "window_manager:libdm", ] subsystem_name = "distributedhardware" diff --git a/interfaces/innerkits/native_cpp/screen_source/include/dscreen_source_handler.h b/interfaces/innerkits/native_cpp/screen_source/include/dscreen_source_handler.h index 3f8322d7a5514f7fcb6fc31a74a4eb04fe9b8e4c..f57835a309b172815018c617f3f5b91dc5b283dc 100644 --- a/interfaces/innerkits/native_cpp/screen_source/include/dscreen_source_handler.h +++ b/interfaces/innerkits/native_cpp/screen_source/include/dscreen_source_handler.h @@ -52,7 +52,6 @@ private: DScreenSourceHandler(); ~DScreenSourceHandler() = default; - void DeleteExistDScreens(); std::mutex proxyMutex_; std::condition_variable proxyConVar_; sptr dScreenSourceProxy_ = nullptr; diff --git a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp index 0bc3a0ceaa87d182fd46196b0c216bcbeaea2337..4b14d84d1043141afb9f652d2831bd3268f3b9aa 100644 --- a/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp +++ b/interfaces/innerkits/native_cpp/screen_source/src/dscreen_source_handler.cpp @@ -34,7 +34,6 @@ #include "dscreen_log.h" #include "dscreen_source_load_callback.h" #include "dscreen_util.h" -#include "screen_manager.h" namespace OHOS { namespace DistributedHardware { @@ -138,32 +137,9 @@ int32_t DScreenSourceHandler::ReleaseSource() return ret; } -void DScreenSourceHandler::DeleteExistDScreens() -{ - std::vector> screens; - Rosen::ScreenManager::GetInstance().GetAllScreens(screens); - DHLOGI("screens size is: %" PRId32, screens.size()); - for (const auto &screen : screens) { - if (screen == nullptr) { - DHLOGE("screen is nullptr."); - continue; - } - std::string screenName = screen->GetName(); - DHLOGI("DeleteExistDScreens, screenName:%s", screenName.c_str()); - if (screenName.find(DSCREEN_PREFIX) != std::string::npos) { - DHLOGI("DestroyVirtualScreen"); - Rosen::DMError err = Rosen::ScreenManager::GetInstance().DestroyVirtualScreen(screen->GetId()); - if (err != Rosen::DMError::DM_OK) { - DHLOGE("remove virtual screen failed, screenId:%" PRIu64, screen->GetId()); - } - } - } -} - int32_t DScreenSourceHandler::RegisterDistributedHardware(const std::string &devId, const std::string &dhId, const EnableParam ¶m, std::shared_ptr callback) { - DeleteExistDScreens(); if (devId.empty() || dhId.empty()) { DHLOGE("device id or dh id empty."); return ERR_DH_SCREEN_STRING_PARAM_EMPTY; diff --git a/screenhandler/src/dscreen_handler.cpp b/screenhandler/src/dscreen_handler.cpp index 8a2b00a3c8b83157445f823f3609f5b10f3216f1..63e5507a9e36026b10e20a99f02856dca4b8a36b 100644 --- a/screenhandler/src/dscreen_handler.cpp +++ b/screenhandler/src/dscreen_handler.cpp @@ -171,7 +171,7 @@ std::vector DScreenHandler::Query() dhItem.subtype = "screen"; dhItem.attrs = attrJson.dump(); dhItemVec.push_back(dhItem); - DHLOGD("query result: dhId: %s, attrs: %s", GetAnonyString(dhId).c_str(), attrJson.dump().c_str()); + DHLOGD("query result: dhId: %s, attrs: %s", dhId.c_str(), attrJson.dump().c_str()); } return dhItemVec; } diff --git a/services/common/test/unittest/databuffer/data_buffer_test.h b/services/common/test/unittest/databuffer/data_buffer_test.h index 8e1d9e2bdf0369af196be5bbdd37bf226b8c6349..acf1b7541f53748c674dba707e12b338e01da163 100644 --- a/services/common/test/unittest/databuffer/data_buffer_test.h +++ b/services/common/test/unittest/databuffer/data_buffer_test.h @@ -18,7 +18,7 @@ #include #include -#include +#include #include "data_buffer.h" diff --git a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h index 9cbd7e6f5c8438292c18bf8f72677ac7dfebe9b2..cd684df0d57b3afee32268911481f5b50333db70 100644 --- a/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h +++ b/services/screenservice/sourceservice/dscreenservice/include/dscreen_source_service.h @@ -50,6 +50,7 @@ protected: private: bool Init(); + void DeleteExistDScreens(); bool registerToService_ = false; }; diff --git a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp index a381a4f62b32b2f168b244855a2e08df06453603..3cab837e915c9d18e0d9c05855ef73b501f84045 100644 --- a/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp +++ b/services/screenservice/sourceservice/dscreenservice/src/dscreen_source_service.cpp @@ -42,6 +42,29 @@ void DScreenSourceService::OnStart() { DHLOGI("dscreen source service start."); Init(); + DeleteExistDScreens(); +} + +void DScreenSourceService::DeleteExistDScreens() +{ + std::vector> screens; + Rosen::ScreenManager::GetInstance().GetAllScreens(screens); + DHLOGI("screens size is: %" PRId32, screens.size()); + for (const auto &screen : screens) { + if (screen == nullptr) { + DHLOGE("screen is nullptr."); + continue; + } + std::string screenName = screen->GetName(); + DHLOGI("DeleteExistDScreens, screenName:%s", screenName.c_str()); + if (screenName.find(DSCREEN_PREFIX) != std::string::npos) { + DHLOGI("DestroyVirtualScreen"); + Rosen::DMError err = Rosen::ScreenManager::GetInstance().DestroyVirtualScreen(screen->GetId()); + if (err != Rosen::DMError::DM_OK) { + DHLOGE("remove virtual screen failed, screenId:%" PRIu64, screen->GetId()); + } + } + } } void DScreenSourceService::OnStop() diff --git a/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp b/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp index 16206935875606c22b5c2b5fdaf6dd5794db83ea..86529b2b0677dd44bf911fa0253e95c136b14a18 100644 --- a/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp +++ b/services/screentransport/screensourceprocessor/encoder/src/image_source_encoder.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include