From 6898bb9e33668e3f40ebf548ab4eb18a3f534dbd Mon Sep 17 00:00:00 2001 From: xuzhenhai Date: Tue, 16 Jul 2024 19:19:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E5=96=84accessibility=5Ffeature?= =?UTF-8?q?=5Fpower=5Fmanager=20accessibility=5Ffeature=5Fdisplay=5Fmanage?= =?UTF-8?q?r=E4=B8=A4=E4=B8=AAfeature=EF=BC=8C=E7=8E=B0=E5=9C=A8=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E5=8A=A8=E6=80=81=E5=85=B3=E9=97=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I8010b8f4e517dafdd575677a61e48096b6ea31a9 --- bundle.json | 5 ++++- services/aams/src/accessibility_circle_drawing_manager.cpp | 2 ++ services/aams/src/accessibility_gesture_recognizer.cpp | 1 + services/aams/src/accessibility_multifinger_multitap.cpp | 1 + services/aams/src/accessibility_screen_touch.cpp | 4 ++++ services/aams/src/accessibility_touchEvent_injector.cpp | 1 + services/aams/src/accessibility_touch_guider.cpp | 1 + services/aams/src/accessibility_window_manager.cpp | 1 + services/aams/src/accessibility_zoom_gesture.cpp | 2 +- services/aams/src/accessible_ability_manager_service.cpp | 6 ++++++ 10 files changed, 22 insertions(+), 2 deletions(-) diff --git a/bundle.json b/bundle.json index 9fa1860b..a6841925 100644 --- a/bundle.json +++ b/bundle.json @@ -18,7 +18,10 @@ "SystemCapability.BarrierFree.Accessibility.Hearing", "SystemCapability.BarrierFree.Accessibility.Vision" ], - "features": [ "accessibility_feature_coverage = false" ], + "features": [ + "accessibility_feature_power_manager", + "accessibility_feature_display_manager" + ], "adapted_system_type": [ "standard" ], diff --git a/services/aams/src/accessibility_circle_drawing_manager.cpp b/services/aams/src/accessibility_circle_drawing_manager.cpp index 0c3fb069..e88e5266 100644 --- a/services/aams/src/accessibility_circle_drawing_manager.cpp +++ b/services/aams/src/accessibility_circle_drawing_manager.cpp @@ -44,7 +44,9 @@ constexpr int32_t DEFAULT_WIDTH = 500; constexpr int32_t DEFAULT_HEIGHT = 500; constexpr int32_t DEFAULT_HALF = 2; +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER constexpr int32_t DEFAULT_PIXEL_DENSITY = 160; +#endif constexpr int32_t HEXADECIMAL = 16; constexpr int32_t DECIMAL = 10; diff --git a/services/aams/src/accessibility_gesture_recognizer.cpp b/services/aams/src/accessibility_gesture_recognizer.cpp index 4a12d885..fcb5b849 100755 --- a/services/aams/src/accessibility_gesture_recognizer.cpp +++ b/services/aams/src/accessibility_gesture_recognizer.cpp @@ -15,6 +15,7 @@ #include "accessibility_gesture_recognizer.h" #include "hilog_wrapper.h" +#include namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_multifinger_multitap.cpp b/services/aams/src/accessibility_multifinger_multitap.cpp index 40953415..8bbd5bc0 100644 --- a/services/aams/src/accessibility_multifinger_multitap.cpp +++ b/services/aams/src/accessibility_multifinger_multitap.cpp @@ -16,6 +16,7 @@ #include #include "accessibility_multifinger_multitap.h" #include "hilog_wrapper.h" +#include namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_screen_touch.cpp b/services/aams/src/accessibility_screen_touch.cpp index b3651198..40c89024 100644 --- a/services/aams/src/accessibility_screen_touch.cpp +++ b/services/aams/src/accessibility_screen_touch.cpp @@ -47,9 +47,11 @@ constexpr uint32_t IGNORE_REPEAT_CLICK_TIME_LONGEST = 1300; // ms constexpr uint32_t CIRCLE_ANGLE = 360; +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER constexpr uint32_t NUMBER_10 = 10; constexpr uint64_t FOLD_SCREEN_ID = 5; // fold screen main screen id 5 +#endif const std::map CLICK_RESPONSE_TIME_MAP = { {CLICK_RESPONSE_DELAY_SHORT, CLICK_RESPONSE_TIME_SHORT}, @@ -141,6 +143,7 @@ bool AccessibilityScreenTouch::GetRealIgnoreRepeatClickState() void AccessibilityScreenTouch::DrawCircleProgress() { HILOG_DEBUG(); +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER AccessibilityDisplayManager &displayMgr = Singleton::GetInstance(); uint64_t screenId = displayMgr.GetDefaultDisplayId(); // default screenId 0 if (displayMgr.IsFoldable() == true && displayMgr.GetFoldDisplayMode() == Rosen::FoldDisplayMode::MAIN) { @@ -161,6 +164,7 @@ void AccessibilityScreenTouch::DrawCircleProgress() std::this_thread::yield(); std::this_thread::sleep_for(std::chrono::milliseconds(NUMBER_10)); } +#endif AccessibilityCircleDrawingManager::GetInstance()->UpdatePointerVisible(false); } diff --git a/services/aams/src/accessibility_touchEvent_injector.cpp b/services/aams/src/accessibility_touchEvent_injector.cpp index 73d5238a..739a15d1 100755 --- a/services/aams/src/accessibility_touchEvent_injector.cpp +++ b/services/aams/src/accessibility_touchEvent_injector.cpp @@ -17,6 +17,7 @@ #include "accessible_ability_manager_service.h" #include "hilog_wrapper.h" #include "utils.h" +#include namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_touch_guider.cpp b/services/aams/src/accessibility_touch_guider.cpp index 0d4bf566..04ba2393 100755 --- a/services/aams/src/accessibility_touch_guider.cpp +++ b/services/aams/src/accessibility_touch_guider.cpp @@ -18,6 +18,7 @@ #include "hilog_wrapper.h" #include "securec.h" #include "utils.h" +#include namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_window_manager.cpp b/services/aams/src/accessibility_window_manager.cpp index f1ffde2a..83ffc36b 100644 --- a/services/aams/src/accessibility_window_manager.cpp +++ b/services/aams/src/accessibility_window_manager.cpp @@ -20,6 +20,7 @@ #include "accessible_ability_manager_service.h" #include "hilog_wrapper.h" #include "utils.h" +#include namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_zoom_gesture.cpp b/services/aams/src/accessibility_zoom_gesture.cpp index ddc76af5..74456b11 100755 --- a/services/aams/src/accessibility_zoom_gesture.cpp +++ b/services/aams/src/accessibility_zoom_gesture.cpp @@ -53,7 +53,7 @@ AccessibilityZoomGesture::AccessibilityZoomGesture() float densityPixels = display->GetVirtualPixelRatio(); multiTapDistance_ = densityPixels * DOUBLE_TAP_SLOP + 0.5f; #else - HILOG_DEBUG("not support display manager") + HILOG_DEBUG("not support display manager"); multiTapDistance_ = 1 * DOUBLE_TAP_SLOP + 0.5f; #endif } diff --git a/services/aams/src/accessible_ability_manager_service.cpp b/services/aams/src/accessible_ability_manager_service.cpp index 0aa38de4..e3c0124e 100644 --- a/services/aams/src/accessible_ability_manager_service.cpp +++ b/services/aams/src/accessible_ability_manager_service.cpp @@ -128,7 +128,9 @@ void AccessibleAbilityManagerService::OnStop() HILOG_DEBUG(); Singleton::GetInstance().UnSubscriberEvent(); +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER Singleton::GetInstance().UnregisterDisplayListener(); +#endif Singleton::GetInstance().DeregisterWindowListener(); currentAccountId_ = -1; @@ -220,7 +222,9 @@ void AccessibleAbilityManagerService::OnRemoveSystemAbility(int32_t systemAbilit if (isReady_) { SwitchedUser(-1); Singleton::GetInstance().UnSubscriberEvent(); +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER Singleton::GetInstance().UnregisterDisplayListener(); +#endif Singleton::GetInstance().DeregisterWindowListener(); Singleton::GetInstance().DeInit(); @@ -993,7 +997,9 @@ bool AccessibleAbilityManagerService::Init() { HILOG_DEBUG(); Singleton::GetInstance().SubscriberEvent(handler_); +#ifdef OHOS_BUILD_ENABLE_DISPLAY_MANAGER Singleton::GetInstance().RegisterDisplayListener(handler_); +#endif Singleton::GetInstance().RegisterWindowListener(handler_); bool result = Singleton::GetInstance().Init(); HILOG_DEBUG("wms init result is %{public}d", result); -- Gitee From a063b2bb84244e860e3c9c88a97c988d85796f7f Mon Sep 17 00:00:00 2001 From: xuzhenhai Date: Thu, 18 Jul 2024 20:03:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0accessibility=5Ffeature?= =?UTF-8?q?=5Fdata=5Fshare=E5=AE=8F=E8=A7=A3=E8=80=A6data=5Fshare?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ib25f89bf31eace11044e36e21aa193416260ae53 --- accessibility_manager_service.gni | 6 ++++++ bundle.json | 3 ++- services/aams/BUILD.gn | 16 +++++++++++++--- .../include/accessibility_setting_provider.h | 5 ++++- .../aams/src/accessibility_setting_provider.cpp | 12 ++++++++++++ 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/accessibility_manager_service.gni b/accessibility_manager_service.gni index a4a1cbff..cbc027dd 100644 --- a/accessibility_manager_service.gni +++ b/accessibility_manager_service.gni @@ -16,6 +16,7 @@ import("//build/ohos.gni") declare_args() { accessibility_feature_power_manager = true accessibility_feature_display_manager = true + accessibility_feature_data_share = true accessibility_use_rosen_drawing = false if (defined(global_parts_info) && !defined(global_parts_info.powermgr_display_manager)) { @@ -37,6 +38,7 @@ print( print( "accessibility_feature_power_manager = ${accessibility_feature_power_manager}") print("accessibility_use_rosen_drawing = ${accessibility_use_rosen_drawing}") +print("accessibility_feature_data_share = ${accessibility_feature_data_share}") accessibility_default_defines = [] @@ -51,3 +53,7 @@ if (accessibility_feature_display_manager) { if (accessibility_use_rosen_drawing) { accessibility_default_defines += [ "USE_ROSEN_DRAWING" ] } + +if (accessibility_feature_data_share) { + accessibility_default_defines += [ "OHOS_BUILD_ENABLE_DATA_SHARE" ] +} \ No newline at end of file diff --git a/bundle.json b/bundle.json index a6841925..2fb64913 100644 --- a/bundle.json +++ b/bundle.json @@ -20,7 +20,8 @@ ], "features": [ "accessibility_feature_power_manager", - "accessibility_feature_display_manager" + "accessibility_feature_display_manager", + "accessibility_feature_data_share" ], "adapted_system_type": [ "standard" diff --git a/services/aams/BUILD.gn b/services/aams/BUILD.gn index 43ee45d6..1bff2468 100755 --- a/services/aams/BUILD.gn +++ b/services/aams/BUILD.gn @@ -111,8 +111,6 @@ ohos_shared_library("accessibleabilityms") { "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", - "data_share:datashare_consumer", - "display_manager:displaymgr", "eventhandler:libeventhandler", "graphic_2d:2d_graphics", "graphic_2d:librender_service_client", @@ -123,7 +121,6 @@ ohos_shared_library("accessibleabilityms") { "input:libmmi-client", "ipc:ipc_single", "os_account:os_account_innerkits", - "power_manager:powermgr_client", "preferences:native_preferences", "safwk:system_ability_fwk", "samgr:samgr_proxy", @@ -131,6 +128,19 @@ ohos_shared_library("accessibleabilityms") { "window_manager:libwm", ] + if (accessibility_feature_power_manager) { + external_deps += ["power_manager:powermgr_client"] + } + + if (accessibility_feature_display_manager) { + external_deps += ["display_manager:displaymgr"] + } + + if (accessibility_feature_data_share) { + external_deps += ["data_share:datashare_consumer"] + } + + install_enable = true subsystem_name = "barrierfree" diff --git a/services/aams/include/accessibility_setting_provider.h b/services/aams/include/accessibility_setting_provider.h index 654dc521..4efd639f 100644 --- a/services/aams/include/accessibility_setting_provider.h +++ b/services/aams/include/accessibility_setting_provider.h @@ -15,8 +15,9 @@ #ifndef ACCESSIBILITY_SETTING_PROVIDER_H #define ACCESSIBILITY_SETTING_PROVIDER_H - +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE #include "datashare_helper.h" +#endif #include "errors.h" #include "mutex" #include "accessibility_setting_observer.h" @@ -52,8 +53,10 @@ private: static sptr remoteObj_; static void Initialize(int32_t systemAbilityId); +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE static std::shared_ptr CreateDataShareHelper(); static bool ReleaseDataShareHelper(std::shared_ptr& helper); +#endif static Uri AssembleUri(const std::string& key); }; } // namespace Accessibility diff --git a/services/aams/src/accessibility_setting_provider.cpp b/services/aams/src/accessibility_setting_provider.cpp index 974c8d50..7c32c0e5 100644 --- a/services/aams/src/accessibility_setting_provider.cpp +++ b/services/aams/src/accessibility_setting_provider.cpp @@ -15,9 +15,11 @@ #include "accessibility_setting_provider.h" +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE #include "datashare_predicates.h" #include "datashare_result_set.h" #include "datashare_values_bucket.h" +#endif #include "ipc_skeleton.h" #include "iservice_registry.h" #include "rdb_errno.h" @@ -147,6 +149,7 @@ sptr AccessibilitySettingProvider::CreateObserver( ErrCode AccessibilitySettingProvider::RegisterObserver(const sptr& observer) { +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE std::string callingIdentity = IPCSkeleton::ResetCallingIdentity(); auto uri = AssembleUri(observer->GetKey()); auto helper = CreateDataShareHelper(); @@ -158,11 +161,13 @@ ErrCode AccessibilitySettingProvider::RegisterObserver(const sptr& observer) { +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE std::string callingIdentity = IPCSkeleton::ResetCallingIdentity(); auto uri = AssembleUri(observer->GetKey()); auto helper = CreateDataShareHelper(); @@ -174,6 +179,7 @@ ErrCode AccessibilitySettingProvider::UnregisterObserver(const sptrClose(); IPCSkeleton::SetCallingIdentity(callingIdentity); +#endif return ERR_OK; } ErrCode AccessibilitySettingProvider::PutStringValue (const std::string& key, const std::string& value, bool needNotify) { +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE std::string callingIdentity = IPCSkeleton::ResetCallingIdentity(); auto helper = CreateDataShareHelper(); if (helper == nullptr) { @@ -261,9 +270,11 @@ ErrCode AccessibilitySettingProvider::PutStringValue } ReleaseDataShareHelper(helper); IPCSkeleton::SetCallingIdentity(callingIdentity); +#endif return ERR_OK; } +#ifdef OHOS_BUILD_ENABLE_DATA_SHARE std::shared_ptr AccessibilitySettingProvider::CreateDataShareHelper() { auto helper = DataShare::DataShareHelper::Creator(remoteObj_, SETTING_URI_PROXY); @@ -283,6 +294,7 @@ bool AccessibilitySettingProvider::ReleaseDataShareHelper(std::shared_ptr