From adece1d32d21b078ad5de8e088d400e8e1eb0176 Mon Sep 17 00:00:00 2001 From: luwh0708 Date: Thu, 21 Apr 2022 15:42:31 +0800 Subject: [PATCH 1/3] - deps Change-Id: I5057cc53eef30b83068265046bfb871c05250993 --- frameworks/kits/ability/native/BUILD.gn | 1 - frameworks/kits/ability/native/test/BUILD.gn | 8 -------- services/abilitymgr/BUILD.gn | 1 - services/abilitymgr/test/BUILD.gn | 1 - .../abilitymgr/test/mock/appmgr_test_service/BUILD.gn | 1 - .../test/moduletest/panding_want_manager_test/BUILD.gn | 1 - 6 files changed, 13 deletions(-) diff --git a/frameworks/kits/ability/native/BUILD.gn b/frameworks/kits/ability/native/BUILD.gn index 15fa4d87267..eac1a221002 100644 --- a/frameworks/kits/ability/native/BUILD.gn +++ b/frameworks/kits/ability/native/BUILD.gn @@ -303,7 +303,6 @@ ohos_shared_library("abilitykit_native") { public_deps += [ "//base/global/i18n/frameworks/intl:intl_util", - "//foundation/graphic/standard:libwmclient", "//foundation/multimedia/image_standard/interfaces/innerkits:image_native", "//foundation/windowmanager/dm:libdm", "//foundation/windowmanager/interfaces/kits/napi/window_runtime:windowstage_kit", diff --git a/frameworks/kits/ability/native/test/BUILD.gn b/frameworks/kits/ability/native/test/BUILD.gn index 9d76e0a2d64..0e875746ea6 100644 --- a/frameworks/kits/ability/native/test/BUILD.gn +++ b/frameworks/kits/ability/native/test/BUILD.gn @@ -128,7 +128,6 @@ ohos_unittest("ability_test") { ] if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -632,7 +631,6 @@ ohos_unittest("ability_thread_test") { } if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -691,7 +689,6 @@ ohos_unittest("form_provider_client_test") { "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_base:appexecfwk_base", "//foundation/appexecfwk/standard/interfaces/innerkits/libeventhandler:libeventhandler", "//foundation/distributedschedule/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy", - "//foundation/graphic/standard:libwmclient", "//third_party/googletest:gtest_main", "//utils/native/base:utils", ] @@ -757,7 +754,6 @@ ohos_unittest("data_ability_impl_test") { } if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -812,7 +808,6 @@ ohos_unittest("data_ability_impl_file_secondpart_test") { } if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -867,7 +862,6 @@ ohos_unittest("data_ability_impl_file_test") { } if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -924,7 +918,6 @@ ohos_unittest("ability_thread_dataability_test") { } if (ability_runtime_graphics) { - deps += [ "//foundation/graphic/standard:libwmclient" ] external_deps += [ "input:libmmi-client" ] } } @@ -1138,7 +1131,6 @@ ohos_unittest("form_host_client_test") { "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_base:appexecfwk_base", "//foundation/appexecfwk/standard/interfaces/innerkits/libeventhandler:libeventhandler", "//foundation/distributedschedule/samgr/interfaces/innerkits/samgr_proxy:samgr_proxy", - "//foundation/graphic/standard:libwmclient", "//third_party/googletest:gmock_main", "//third_party/googletest:gtest_main", "//utils/native/base:utils", diff --git a/services/abilitymgr/BUILD.gn b/services/abilitymgr/BUILD.gn index dc722f9aa92..6ad2c545610 100644 --- a/services/abilitymgr/BUILD.gn +++ b/services/abilitymgr/BUILD.gn @@ -132,7 +132,6 @@ ohos_shared_library("abilityms") { "//foundation/ace/ace_engine/interfaces/innerkits/ui_service_manager:ui_service_mgr", "//third_party/libpng:libpng", ] - public_deps = [ "//foundation/graphic/standard:libwmservice" ] external_deps += [ "i18n:intl_util", "multimedia_image_standard:image_native", diff --git a/services/abilitymgr/test/BUILD.gn b/services/abilitymgr/test/BUILD.gn index e0300cbadb8..718e21886e4 100644 --- a/services/abilitymgr/test/BUILD.gn +++ b/services/abilitymgr/test/BUILD.gn @@ -133,7 +133,6 @@ ohos_source_set("abilityms_test_source") { deps += [ "//base/global/i18n/frameworks/intl:intl_util", "//foundation/ace/ace_engine/interfaces/innerkits/ui_service_manager:ui_service_mgr", - "//foundation/graphic/standard:libwmservice", "//foundation/multimedia/image_standard/interfaces/innerkits:image_native", ] } diff --git a/services/abilitymgr/test/mock/appmgr_test_service/BUILD.gn b/services/abilitymgr/test/mock/appmgr_test_service/BUILD.gn index c86c48b956a..db97e5b93eb 100644 --- a/services/abilitymgr/test/mock/appmgr_test_service/BUILD.gn +++ b/services/abilitymgr/test/mock/appmgr_test_service/BUILD.gn @@ -54,7 +54,6 @@ ohos_source_set("appmgr_test_service") { ] if (ability_runtime_graphics) { - public_deps = [ "//foundation/graphic/standard:libwmservice" ] defines = [ "SUPPORT_GRAPHICS" ] } diff --git a/services/test/moduletest/panding_want_manager_test/BUILD.gn b/services/test/moduletest/panding_want_manager_test/BUILD.gn index dd4522f7654..2623c1072a0 100644 --- a/services/test/moduletest/panding_want_manager_test/BUILD.gn +++ b/services/test/moduletest/panding_want_manager_test/BUILD.gn @@ -95,7 +95,6 @@ ohos_moduletest("PandingWantMgrTest") { deps += [ "//base/global/i18n/frameworks/intl:intl_util", "//foundation/ace/ace_engine/interfaces/innerkits/ui_service_manager:ui_service_mgr", - "//foundation/graphic/standard:libwmservice", "//third_party/libpng:libpng", ] -- Gitee From d32d3e07ff51784b1ad02818550edbbe0cd9dafa Mon Sep 17 00:00:00 2001 From: luwh0708 Date: Thu, 21 Apr 2022 15:42:35 +0800 Subject: [PATCH 2/3] + utils Change-Id: I1d962d4de5c611aa2a79cc41258b2866d04145fa --- interfaces/kits/napi/aafwk/app/ability_delegator/BUILD.gn | 5 +---- interfaces/kits/napi/aafwk/formHost/BUILD.gn | 1 + interfaces/kits/napi/aafwk/formManager/BUILD.gn | 1 + interfaces/kits/napi/aafwk/formProvider/BUILD.gn | 1 + interfaces/kits/napi/aafwk/uri_permission/BUILD.gn | 6 ++---- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/interfaces/kits/napi/aafwk/app/ability_delegator/BUILD.gn b/interfaces/kits/napi/aafwk/app/ability_delegator/BUILD.gn index 0df3d093d2d..e5509d6ccd8 100644 --- a/interfaces/kits/napi/aafwk/app/ability_delegator/BUILD.gn +++ b/interfaces/kits/napi/aafwk/app/ability_delegator/BUILD.gn @@ -50,12 +50,9 @@ ohos_shared_library("abilitydelegatorregistry") { "ipc:ipc_core", "ipc_js:rpc", "napi:ace_napi", + "utils_base:utils", ] - if (!ability_runtime_graphics) { - external_deps += [ "utils_base:utils" ] - } - relative_install_dir = "module/application" subsystem_name = "aafwk" diff --git a/interfaces/kits/napi/aafwk/formHost/BUILD.gn b/interfaces/kits/napi/aafwk/formHost/BUILD.gn index a59572545f1..ea8342335dc 100644 --- a/interfaces/kits/napi/aafwk/formHost/BUILD.gn +++ b/interfaces/kits/napi/aafwk/formHost/BUILD.gn @@ -41,6 +41,7 @@ ohos_shared_library("formhost_napi") { "bundle_framework:appexecfwk_base", "hiviewdfx_hilog_native:libhilog", "napi:ace_napi", + "utils_base:utils", ] relative_install_dir = "module/application" diff --git a/interfaces/kits/napi/aafwk/formManager/BUILD.gn b/interfaces/kits/napi/aafwk/formManager/BUILD.gn index bf84bcf6f37..faa46e1ba4d 100644 --- a/interfaces/kits/napi/aafwk/formManager/BUILD.gn +++ b/interfaces/kits/napi/aafwk/formManager/BUILD.gn @@ -37,6 +37,7 @@ ohos_shared_library("formmanager") { "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", "napi:ace_napi", + "utils_base:utils", ] relative_install_dir = "module/ability" diff --git a/interfaces/kits/napi/aafwk/formProvider/BUILD.gn b/interfaces/kits/napi/aafwk/formProvider/BUILD.gn index 20582548ff5..d720c64e39f 100644 --- a/interfaces/kits/napi/aafwk/formProvider/BUILD.gn +++ b/interfaces/kits/napi/aafwk/formProvider/BUILD.gn @@ -39,6 +39,7 @@ ohos_shared_library("formprovider_napi") { "form_runtime:form_manager", "hiviewdfx_hilog_native:libhilog", "napi:ace_napi", + "utils_base:utils", ] relative_install_dir = "module/application" diff --git a/interfaces/kits/napi/aafwk/uri_permission/BUILD.gn b/interfaces/kits/napi/aafwk/uri_permission/BUILD.gn index e02dc104711..36ffcad79ad 100644 --- a/interfaces/kits/napi/aafwk/uri_permission/BUILD.gn +++ b/interfaces/kits/napi/aafwk/uri_permission/BUILD.gn @@ -37,13 +37,11 @@ ohos_shared_library("uripermissionmanager_napi") { "ability_runtime:runtime", "bundle_framework:appexecfwk_base", "hiviewdfx_hilog_native:libhilog", + "utils_base:utils", ] if (!ability_runtime_graphics) { - external_deps += [ - "ipc:ipc_core", - "utils_base:utils", - ] + external_deps += [ "ipc:ipc_core" ] } relative_install_dir = "module/application" -- Gitee From 3722b254f2ce7133ae4172b77cca796b5f4478f1 Mon Sep 17 00:00:00 2001 From: luwh0708 Date: Thu, 21 Apr 2022 15:43:03 +0800 Subject: [PATCH 3/3] - impl: screenshot Change-Id: Ib0bb86cddaec792fdcc162c20803540c9bae4ade --- .../abilitymgr/include/screenshot_handler.h | 12 ---- .../abilitymgr/include/screenshot_response.h | 10 ---- .../abilitymgr/src/screenshot_handler.cpp | 59 +------------------ .../abilitymgr/src/screenshot_response.cpp | 30 ---------- 4 files changed, 1 insertion(+), 110 deletions(-) diff --git a/services/abilitymgr/include/screenshot_handler.h b/services/abilitymgr/include/screenshot_handler.h index c5e218047a3..a785be92e51 100644 --- a/services/abilitymgr/include/screenshot_handler.h +++ b/services/abilitymgr/include/screenshot_handler.h @@ -22,9 +22,6 @@ #include #include "nocopyable.h" #include "screenshot_response.h" -#ifdef SUPPORT_GRAPHICS -#include "window_manager_service_client.h" -#endif namespace OHOS { namespace AAFwk { @@ -34,16 +31,7 @@ public: virtual ~ScreenshotHandler() = default; void StartScreenshot(int32_t missionId, int32_t winId); -#ifdef SUPPORT_GRAPHICS - OHOS::WMImageInfo GetImageInfo(int32_t missionId); -#endif void RemoveImageInfo(int32_t missionId); - -private: -#ifdef SUPPORT_GRAPHICS - std::map screenShot_; - sptr windowMS_; -#endif }; } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/include/screenshot_response.h b/services/abilitymgr/include/screenshot_response.h index f8f321c60bc..0ae4a50fadd 100644 --- a/services/abilitymgr/include/screenshot_response.h +++ b/services/abilitymgr/include/screenshot_response.h @@ -22,9 +22,6 @@ #include #include #include "nocopyable.h" -#ifdef SUPPORT_GRAPHICS -#include "../wmclient/wm_common.h" -#endif namespace OHOS { namespace AAFwk { @@ -32,18 +29,11 @@ class ScreenShotResponse { public: ScreenShotResponse() = default; virtual ~ScreenShotResponse() = default; -#ifdef SUPPORT_GRAPHICS - void OnWindowShot(const OHOS::WMImageInfo &info); - OHOS::WMImageInfo GetImageInfo(); -#endif private: static constexpr int TIME_OUT = 200 * 1000; std::mutex mutex_; std::condition_variable condition_; -#ifdef SUPPORT_GRAPHICS - std::shared_ptr info_; -#endif }; } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/src/screenshot_handler.cpp b/services/abilitymgr/src/screenshot_handler.cpp index 3cab309ddf4..80f5d7bbd7a 100644 --- a/services/abilitymgr/src/screenshot_handler.cpp +++ b/services/abilitymgr/src/screenshot_handler.cpp @@ -24,75 +24,18 @@ namespace AAFwk { ScreenshotHandler::ScreenshotHandler() { - auto wmsClient = WindowManagerServiceClient::GetInstance(); - if (wmsClient) { - HILOG_INFO("init window manager service."); - wmsClient->Init(); - windowMS_ = wmsClient->GetService(); - } } void ScreenshotHandler::StartScreenshot(int32_t missionId, int32_t winId) { HILOG_INFO("StartScreenshot"); - if (!windowMS_) { - HILOG_INFO("wms is nullptr."); - return; - } auto response = std::make_shared(); - - auto promise = windowMS_->ShotWindow(winId); - if (!promise) { - HILOG_INFO("promise is nullptr."); - return; - } - - auto then = [response](const auto &wmsinfo) { - OHOS::WMImageInfo wminfo = { - .wret = wmsinfo.wret, - .width = wmsinfo.width, - .height = wmsinfo.height, - .format = wmsinfo.format, - .size = wmsinfo.stride * wmsinfo.height, - .data = nullptr, - }; - - auto data = mmap(nullptr, wminfo.size, PROT_READ, MAP_SHARED, wmsinfo.fd, 0); - wminfo.data = data; - - response->OnWindowShot(wminfo); - - // 0xffffffff - uint8_t *errPtr = nullptr; - errPtr--; - if (data != errPtr) { - munmap(data, wminfo.size); - } - }; - promise->Then(then); - - auto imageInfo = response->GetImageInfo(); - screenShot_.emplace(missionId, imageInfo); -} - -OHOS::WMImageInfo ScreenshotHandler::GetImageInfo(int32_t missionId) -{ - HILOG_DEBUG("%{public}s begin", __func__); - OHOS::WMImageInfo imageInfo; - auto iter = screenShot_.find(missionId); - if (iter != screenShot_.end()) { - imageInfo = iter->second; - } - - return imageInfo; } void ScreenshotHandler::RemoveImageInfo(int32_t missionId) { HILOG_DEBUG("%{public}s begin", __func__); - screenShot_.erase(missionId); - HILOG_DEBUG("%{public}zu screenShot_ size", screenShot_.size()); } } // namespace AAFwk -} // namespace OHOS \ No newline at end of file +} // namespace OHOS diff --git a/services/abilitymgr/src/screenshot_response.cpp b/services/abilitymgr/src/screenshot_response.cpp index 47ab18297b6..77897c4bf24 100644 --- a/services/abilitymgr/src/screenshot_response.cpp +++ b/services/abilitymgr/src/screenshot_response.cpp @@ -18,35 +18,5 @@ namespace OHOS { namespace AAFwk { - -void ScreenShotResponse::OnWindowShot(const OHOS::WMImageInfo &info) -{ - HILOG_INFO("On screen shot call back."); - std::unique_lock lock(mutex_); - info_ = std::make_shared(); - if (!info_) { - return; - } - info_->width = info.width; - info_->size = info.size; - info_->height = info.height; - info_->format = info.format; - info_->data = info.data; - condition_.notify_all(); -} - -OHOS::WMImageInfo ScreenShotResponse::GetImageInfo() -{ - std::unique_lock lock(mutex_); - if (info_ == nullptr) { - if (condition_.wait_for(lock, std::chrono::milliseconds(TIME_OUT)) == std::cv_status::timeout) { - return OHOS::WMImageInfo(); - } - } - - OHOS::WMImageInfo info = *info_; - info_.reset(); - return info; -} } // namespace AAFwk } // namespace OHOS -- Gitee