diff --git a/accessibility_manager_service.gni b/accessibility_manager_service.gni index a4a1cbff8c6879d39366d868e38eec2c6331228e..cbc027ddd6ec882377730037380ef1aa44282618 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 9fa1860b6d943f2b29f9d51f274694364918967d..2fb649138fc07edee5e55a0a78023569359d51c9 100644 --- a/bundle.json +++ b/bundle.json @@ -18,7 +18,11 @@ "SystemCapability.BarrierFree.Accessibility.Hearing", "SystemCapability.BarrierFree.Accessibility.Vision" ], - "features": [ "accessibility_feature_coverage = false" ], + "features": [ + "accessibility_feature_power_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 43ee45d62971fabd635b008036c59a574626c900..1bff24687e6cdd6d976e53494004463be561bfef 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 654dc5219bfc4e151a8bb5c29cd4317e778b6606..4efd639fb8b630008fb3add59b208b3b0ccb286a 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_circle_drawing_manager.cpp b/services/aams/src/accessibility_circle_drawing_manager.cpp index 0c3fb069689300719d40cd0ea969363a5d48013f..e88e5266e64cfcbf71dd71327b0f1e0f045efa84 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 4a12d8855f335cde5b1f7dc64dcd3b1514f1a915..fcb5b849df10bd1bf471360015128a073d61f4d4 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 40953415b9519834695ebcb82935d21a933c4fe7..8bbd5bc0b56d8d9ea0cd62a028b1bc9f41da29b6 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 b36511980aed6fc0b1f5b558836686a329d5a4c1..40c8902496820dece1c7f1514f394b41cd3816e7 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_setting_provider.cpp b/services/aams/src/accessibility_setting_provider.cpp index 974c8d5039fe27677c5f5ced583f90026fa1c36f..7c32c0e576b1c27bcd19347a81864564ef82b1a1 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 namespace OHOS { namespace Accessibility { diff --git a/services/aams/src/accessibility_touch_guider.cpp b/services/aams/src/accessibility_touch_guider.cpp index 0d4bf5662bbbeea5d917b6bc61070e0dedbb00c2..04ba23930bfbb9f5dce2ae9e7182a4425b341d20 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 f1ffde2a0cdfb51af308e8bbf40d6c7d46c7be8c..83ffc36b2a61c4daab5cb5dc12a7ed48fa0658a5 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 ddc76af5693d76dc9c94ca159444b0617823d3aa..74456b116ecf8b2f048ba23410fb2aa1bcf7ed96 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 0aa38de4a76eb7f1bf8cda0c6011dabdbe616d18..e3c0124e286bd288877386902c9f9f865bb93a6a 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);