From 8f782022bccc19be0a69aa0c8355dd676032bd49 Mon Sep 17 00:00:00 2001 From: zhanghang Date: Fri, 8 Aug 2025 14:17:20 +0800 Subject: [PATCH] feat:intercept arkts1.2 Signed-off-by: zhanghang --- .../arkui/src/generated/arkts/type_check.ets | 20 ++- .../arkui-ohos/src/component/EnumsImpl.ts | 9 ++ .../arkts/ArkUIGeneratedNativeModule.ts | 2 + .../src/component/arkts/type_check.ts | 20 ++- .../arkui-ohos/src/component/common.ts | 35 +++++ .../peers/CallbackDeserializeCall.ts | 33 ++++- .../src/component/peers/CallbackKind.ts | 2 + .../arkui-ohos/src/component/ts/type_check.ts | 8 +- .../native/src/generated/Serializers.h | 120 ++++++++++++++++++ .../src/generated/arkoala_api_generated.h | 43 +++++++ .../native/src/generated/bridge_generated.cc | 7 + .../native/src/generated/callback_kind.h | 2 + .../src/generated/callback_managed_caller.cc | 51 ++++++++ .../native/src/generated/dummy_impl.cc | 13 ++ .../native/src/generated/real_impl.cc | 5 + .../interface/arkoala_api_generated.h | 43 +++++++ .../implementation/common_method_modifier.cpp | 20 +++ .../interfaces/native/utility/converter.h | 2 + .../native/utility/converter_enums.cpp | 21 +++ .../utility/generated/converter_generated.h | 4 + .../native/utility/reverse_converter.h | 2 + .../utility/reverse_converter_enums.cpp | 25 ++++ 22 files changed, 482 insertions(+), 5 deletions(-) diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/arkoala-arkts/arkui/src/generated/arkts/type_check.ets b/frameworks/bridge/arkts_frontend/koala_mirror/arkoala-arkts/arkui/src/generated/arkts/type_check.ets index 99cfbd6ed72..a45e61fbd7c 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/arkoala-arkts/arkui/src/generated/arkts/type_check.ets +++ b/frameworks/bridge/arkts_frontend/koala_mirror/arkoala-arkts/arkui/src/generated/arkts/type_check.ets @@ -19,7 +19,7 @@ import { KBoolean, KStringPtr, NativeBuffer, MaterializedBase } from "@koalaui/interop" import { int32 } from "@koalaui/common" import { AccessibilityHoverType, Alignment, AnimationStatus, AppRotation, ArrowPointPosition, Axis, AxisAction, AxisModel, BarState, BorderStyle, CheckBoxShape, Color, ClickEffectLevel, ColoringStrategy, CopyOptions, CrownAction, CrownSensitivity, DialogButtonStyle, Direction, DividerMode, Edge, EdgeEffect, EllipsisMode, EmbeddedType, FillMode, FlexAlign, FlexDirection, FlexWrap, FocusDrawLevel, FoldStatus, FontStyle, FontWeight, FunctionKey, GradientDirection, HeightBreakpoint, HitTestMode, HorizontalAlign, HoverEffect, IlluminatedType, ImageFit, ImageRepeat, ImageSize, ImageSpanAlignment, InteractionHand, ItemAlign, KeySource, KeyType, LineBreakStrategy, LineCapStyle, LineJoinStyle, MarqueeUpdateStrategy, ModifierKey, MouseAction, MouseButton, NestedScrollMode, ObscuredReasons, OptionWidthMode, PageFlipMode, PixelRoundCalcPolicy, PixelRoundMode, Placement, PlayMode, RelateType, RenderFit, ResponseType, ScrollSource, SharedTransitionEffectType, TextAlign, TextCase, TextContentStyle, TextDecorationStyle, TextDecorationType, TextHeightAdaptivePolicy, TextOverflow, TextSelectableMode, TitleHeight, TouchType, TransitionType, WidthBreakpoint, VerticalAlign, Visibility, Week, WordBreak, XComponentType } from "./../../component/enums" -import { AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, BlendApplyType, BlendMode, BlurStyle, BlurStyleActivePolicy, TouchEvent, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DraggingSizeChangeEffect, DragPreviewMode, DragResult, EffectEdge, EffectType, FinishCallbackType, SourceTool, GestureModifier, UIGestureEvent, HapticFeedbackMode, HoverModeAreaType, KeyboardAvoidMode, Layoutable, Measurable, GeometryInfo, SizeResult, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, RectResult, CommonConfiguration, TranslateOptions, ScaleOptions, RotateOptions, MenuPolicy, MenuPreviewMode, ModalTransition, NestedScrollOptions, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, PopupCommonOptions, MenuOptions, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollResult, ScrollSizeMode, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceType, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, AsymmetricTransitionOption, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, ClickEvent, KeyEvent, HoverCallback, HoverEvent, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, AlignRuleOption, BackgroundBrightnessOptions, BackgroundImageOptions, BackgroundOptions, BlurOptions, ChildrenMainSize, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragEvent, ModifierKeyStateGetter, Rectangle, DragInteractionOptions, DragItemInfo, DrawModifier, DropOptions, EdgeEffectOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InputCounterOptions, InvertOptions, ItemDragInfo, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, MeasureResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PopupButton, PreviewConfiguration, SheetDismiss, SpringBackAction, StateStyles, SystemAdaptiveOptions, ShadowOptions, TouchObject, TouchResult, BackgroundBlurStyleOptions, BlurStyleOptions, BackgroundEffectOptions, ContentCoverOptions, BindOptions, ContextMenuAnimationOptions, AnimationNumberRange, MultiShadowOptions, DragPreviewOptions, FadingEdgeOptions, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PopupMaskType, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TerminationInfo, TextDecorationOptions, DividerStyle, PixelStretchEffectOptions, PointLightStyle, RadialGradientOptions, SweepGradientOptions, TipsOptions, BorderImageOption, ContextMenuOptions, BorderRadiusType, CustomPopupOptions, PopupStateChangeCallback, EventTarget, FocusAxisEvent, BaseEvent, LayoutChild, PickerDialogButtonStyle, PickerTextStyle, PopupMessageOptions, TripleLengthDetents, AccessibilityHoverEvent, AxisEvent, PopupOptions } from "./../../component/common" +import { AccessibilityAction, AccessibilityActionInterceptResult, AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, BlendApplyType, BlendMode, BlurStyle, BlurStyleActivePolicy, TouchEvent, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DraggingSizeChangeEffect, DragPreviewMode, DragResult, EffectEdge, EffectType, FinishCallbackType, SourceTool, GestureModifier, UIGestureEvent, HapticFeedbackMode, HoverModeAreaType, KeyboardAvoidMode, Layoutable, Measurable, GeometryInfo, SizeResult, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, RectResult, CommonConfiguration, TranslateOptions, ScaleOptions, RotateOptions, MenuPolicy, MenuPreviewMode, ModalTransition, NestedScrollOptions, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, PopupCommonOptions, MenuOptions, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollResult, ScrollSizeMode, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceType, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, AsymmetricTransitionOption, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, ClickEvent, KeyEvent, HoverCallback, HoverEvent, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, AlignRuleOption, BackgroundBrightnessOptions, BackgroundImageOptions, BackgroundOptions, BlurOptions, ChildrenMainSize, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragEvent, ModifierKeyStateGetter, Rectangle, DragInteractionOptions, DragItemInfo, DrawModifier, DropOptions, EdgeEffectOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InputCounterOptions, InvertOptions, ItemDragInfo, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, MeasureResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PopupButton, PreviewConfiguration, SheetDismiss, SpringBackAction, StateStyles, SystemAdaptiveOptions, ShadowOptions, TouchObject, TouchResult, BackgroundBlurStyleOptions, BlurStyleOptions, BackgroundEffectOptions, ContentCoverOptions, BindOptions, ContextMenuAnimationOptions, AnimationNumberRange, MultiShadowOptions, DragPreviewOptions, FadingEdgeOptions, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PopupMaskType, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TerminationInfo, TextDecorationOptions, DividerStyle, PixelStretchEffectOptions, PointLightStyle, RadialGradientOptions, SweepGradientOptions, TipsOptions, BorderImageOption, ContextMenuOptions, BorderRadiusType, CustomPopupOptions, PopupStateChangeCallback, EventTarget, FocusAxisEvent, BaseEvent, LayoutChild, PickerDialogButtonStyle, PickerTextStyle, PopupMessageOptions, TripleLengthDetents, AccessibilityHoverEvent, AxisEvent, PopupOptions } from "./../../component/common" import { AnimationMode, BarMode, BarPosition, LayoutStyle, TabContentTransitionProxy, TabsAnimationEvent, TabsCacheMode, TabsController, TabContentAnimatedTransition, TabsOptions, BarGridColumnOptions, ScrollableBarModeOptions } from "./../../component/tabs" import { ArrowPosition, AvoidanceMode, MenuAlignType, MenuItemConfiguration, SelectOption, MenuOutlineOptions } from "./../../component/select" import { AutoCapitalizationMode, KeyboardAppearance, LayoutManager, PositionWithAffinity, MenuType, TextEditControllerEx, PreviewText, StyledStringController, StyledStringChangedListener, TextBaseController, TextRange, TextDataDetectorType, TextDeleteDirection, TextMenuOptions, TextMenuItemId, TextMenuShowMode, TextMenuItem, DeleteValue, EditMenuOptions, OnCreateMenuCallback, OnMenuItemClickCallback, FontSettingOptions, InsertValue, StyledStringChangeValue, OnDidChangeCallback, DecorationStyleResult, TextChangeOptions, CaretStyle, EditableTextChangeValue, TextDataDetectorConfig } from "./../../component/textCommon" @@ -174,6 +174,12 @@ export class TypeChecker { static isNativeBuffer(value: Object): boolean { return value instanceof NativeBuffer } + static isAccessibilityAction(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityAction + } + static isAccessibilityActionInterceptResult(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityActionInterceptResult + } static isAccessibilityHoverEvent(value: Object | string | number | undefined, arg0: boolean, arg1: boolean, arg2: boolean, arg3: boolean, arg4: boolean, arg5: boolean, arg6: boolean): boolean { return value instanceof AccessibilityHoverEvent } @@ -3489,6 +3495,18 @@ export class TypeChecker { static isXComponentType(value: Object | string | number | undefined): boolean { return value instanceof XComponentType } + static AccessibilityAction_ToNumeric(value: AccessibilityAction): int32 { + return value.valueOf() + } + static AccessibilityAction_FromNumeric(ordinal: int32): AccessibilityAction { + return AccessibilityAction.fromValue(ordinal) + } + static AccessibilityActionInterceptResult_ToNumeric(value: AccessibilityActionInterceptResult): int32 { + return value.valueOf() + } + static AccessibilityActionInterceptResult_FromNumeric(ordinal: int32): AccessibilityActionInterceptResult { + return AccessibilityActionInterceptResult.fromValue(ordinal) + } static AccessibilityHoverType_ToNumeric(value: AccessibilityHoverType): int32 { return value.valueOf() } diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/EnumsImpl.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/EnumsImpl.ts index a01be531698..942dfe8ba7d 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/EnumsImpl.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/EnumsImpl.ts @@ -554,6 +554,15 @@ export enum AccessibilityRoleType { XCOMPONENT = 123, ROLE_NONE = 124 } +export enum AccessibilityAction { + UNDEFINED_ACTION = 0, + ACCESSIBILITY_CLICK = 1 +} +export enum AccessibilityActionInterceptResult { + ACTION_INTERCEPT = 0, + ACTION_CONTINUE = 1, + ACTION_RISE = 2 +} export enum FinishCallbackType { REMOVED = 0, LOGICALLY = 1 diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts index e20901bb320..f0809feb8b9 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts @@ -610,6 +610,8 @@ export class ArkUIGeneratedNativeModule { @ani.unsafe.Direct native static _CommonMethod_onAccessibilityFocus(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void @ani.unsafe.Direct + native static _CommonMethod_onAccessibilityActionIntercept(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void + @ani.unsafe.Direct native static _CommonMethod_accessibilityTextHint(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void @ani.unsafe.Direct native static _CommonMethod_accessibilityDescription0(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/type_check.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/type_check.ts index a01944d04a5..db90d17633e 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/type_check.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/type_check.ts @@ -19,7 +19,7 @@ import { KBoolean, KStringPtr, NativeBuffer, MaterializedBase } from "@koalaui/interop" import { int32 } from "@koalaui/common" import { AccessibilityHoverType, Alignment, AnimationStatus, AppRotation, ArrowPointPosition, Axis, AxisAction, AxisModel, BarState, BorderStyle, CheckBoxShape, ClickEffectLevel, Color, ColoringStrategy, CopyOptions, CrownAction, CrownSensitivity, Curve, DialogButtonStyle, Direction, DividerMode, Edge, EdgeEffect, EllipsisMode, EmbeddedType, FillMode, FlexAlign, FlexDirection, FlexWrap, FocusDrawLevel, FoldStatus, FontStyle, FontWeight, FunctionKey, GradientDirection, HeightBreakpoint, HitTestMode, HorizontalAlign, HoverEffect, IlluminatedType, ImageFit, ImageRepeat, ImageSize, ImageSpanAlignment, InteractionHand, ItemAlign, KeySource, KeyType, LineBreakStrategy, LineCapStyle, LineJoinStyle, MarqueeUpdateStrategy, ModifierKey, MouseAction, MouseButton, NestedScrollMode, ObscuredReasons, OptionWidthMode, PageFlipMode, PixelRoundCalcPolicy, PixelRoundMode, Placement, PlayMode, RelateType, RenderFit, ResponseType, ScrollSource, TextAlign, SharedTransitionEffectType, TextOverflow, TextContentStyle, TextHeightAdaptivePolicy, WordBreak, TextCase, TextSelectableMode, TextDecorationStyle, TextDecorationType, TitleHeight, TouchType, TransitionType, VerticalAlign, Visibility, Week, WidthBreakpoint, XComponentType } from "./../enums" -import { AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, Bindable, CommonMethod, BlurStyle, BlendApplyType, BlurStyleActivePolicy, PickerTextStyle, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DragEvent, DragResult, Rectangle, DraggingSizeChangeEffect, DragPreviewMode, DrawModifier, EffectEdge, EffectType, FinishCallbackType, GestureModifier, UIGestureEvent, ScrollableCommonMethod, ItemDragInfo, CustomBuilder, NestedScrollOptions, EdgeEffectOptions, HapticFeedbackMode, HoverModeAreaType, ICurve, KeyboardAvoidMode, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, ChildrenMainSize, RectResult, Literal_Boolean_isVisible, MenuPolicy, MenuPreviewMode, ModalTransition, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollSizeMode, TextDecorationOptions, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceTool, SourceType, BackgroundEffectOptions, BackgroundBlurStyleOptions, TranslateOptions, InputCounterOptions, ShadowOptions, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, TransitionEffects, RotateOptions, ScaleOptions, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, Callback_ClickEvent_Void, ClickEvent, Callback_TouchEvent_Void, TouchEvent, Callback_KeyEvent_Void, KeyEvent, HoverCallback, HoverEvent, Callback_MouseEvent_Void, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, View, Callback_KeyEvent_Boolean, BackgroundBrightnessOptions, BackgroundImageOptions, BlurOptions, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragInteractionOptions, DragItemInfo, DropOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InvertOptions, Tuple_ResourceColor_Number, LinearGradient_common, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, BackgroundOptions, Literal_Number_offset_span, HorizontalAlignParam, VerticalAlignParam, Literal_String_value_Callback_Void_action, Literal_TransitionEffect_appear_disappear, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, Measurable, MeasureResult, SizeResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PixelStretchEffectOptions, PreviewConfiguration, RadialGradientOptions, Tuple_Length_Length, SheetDismiss, SpringBackAction, StateStyles, SweepGradientOptions, SystemAdaptiveOptions, TipsOptions, TouchObject, TouchResult, AlignRuleOption, BlurStyleOptions, ContentCoverOptions, BindOptions, Callback_DismissContentCoverAction_Void, ContextMenuAnimationOptions, MultiShadowOptions, DragPreviewOptions, EventTarget, FadingEdgeOptions, FocusAxisEvent, BaseEvent, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, Literal_ResourceColor_color, Literal_Union_Number_Literal_Number_offset_span_lg_md_sm_xs, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PickerDialogButtonStyle, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TransitionOptions, AccessibilityHoverEvent, AxisEvent, BorderImageOption, CustomPopupOptions, Callback_Literal_Boolean_isVisible_Void, Callback_DismissPopupAction_Void, PointLightStyle, PopupMessageOptions, Type_SheetOptions_detents, Callback_SheetDismiss_Void, Callback_DismissSheetAction_Void, Callback_SpringBackAction_Void, Callback_SheetType_Void, ContextMenuOptions, BorderRadiusType, MenuOptions, PopupOptions, NavDestinationInfo, NavigationInfo, RouterPageInfo, Theme, PromptActionDialogController, LayoutChild, Layoutable, PopupButton, PopupMaskType, DividerStyle, BlendMode, PopupCommonOptions } from "./../common" +import { AccessibilityAction, AccessibilityActionInterceptResult, AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, Bindable, CommonMethod, BlurStyle, BlendApplyType, BlurStyleActivePolicy, PickerTextStyle, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DragEvent, DragResult, Rectangle, DraggingSizeChangeEffect, DragPreviewMode, DrawModifier, EffectEdge, EffectType, FinishCallbackType, GestureModifier, UIGestureEvent, ScrollableCommonMethod, ItemDragInfo, CustomBuilder, NestedScrollOptions, EdgeEffectOptions, HapticFeedbackMode, HoverModeAreaType, ICurve, KeyboardAvoidMode, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, ChildrenMainSize, RectResult, Literal_Boolean_isVisible, MenuPolicy, MenuPreviewMode, ModalTransition, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollSizeMode, TextDecorationOptions, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceTool, SourceType, BackgroundEffectOptions, BackgroundBlurStyleOptions, TranslateOptions, InputCounterOptions, ShadowOptions, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, TransitionEffects, RotateOptions, ScaleOptions, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, Callback_ClickEvent_Void, ClickEvent, Callback_TouchEvent_Void, TouchEvent, Callback_KeyEvent_Void, KeyEvent, HoverCallback, HoverEvent, Callback_MouseEvent_Void, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, View, Callback_KeyEvent_Boolean, BackgroundBrightnessOptions, BackgroundImageOptions, BlurOptions, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragInteractionOptions, DragItemInfo, DropOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InvertOptions, Tuple_ResourceColor_Number, LinearGradient_common, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, BackgroundOptions, Literal_Number_offset_span, HorizontalAlignParam, VerticalAlignParam, Literal_String_value_Callback_Void_action, Literal_TransitionEffect_appear_disappear, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, Measurable, MeasureResult, SizeResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PixelStretchEffectOptions, PreviewConfiguration, RadialGradientOptions, Tuple_Length_Length, SheetDismiss, SpringBackAction, StateStyles, SweepGradientOptions, SystemAdaptiveOptions, TipsOptions, TouchObject, TouchResult, AlignRuleOption, BlurStyleOptions, ContentCoverOptions, BindOptions, Callback_DismissContentCoverAction_Void, ContextMenuAnimationOptions, MultiShadowOptions, DragPreviewOptions, EventTarget, FadingEdgeOptions, FocusAxisEvent, BaseEvent, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, Literal_ResourceColor_color, Literal_Union_Number_Literal_Number_offset_span_lg_md_sm_xs, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PickerDialogButtonStyle, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TransitionOptions, AccessibilityHoverEvent, AxisEvent, BorderImageOption, CustomPopupOptions, Callback_Literal_Boolean_isVisible_Void, Callback_DismissPopupAction_Void, PointLightStyle, PopupMessageOptions, Type_SheetOptions_detents, Callback_SheetDismiss_Void, Callback_DismissSheetAction_Void, Callback_SpringBackAction_Void, Callback_SheetType_Void, ContextMenuOptions, BorderRadiusType, MenuOptions, PopupOptions, NavDestinationInfo, NavigationInfo, RouterPageInfo, Theme, PromptActionDialogController, LayoutChild, Layoutable, PopupButton, PopupMaskType, DividerStyle, BlendMode, PopupCommonOptions } from "./../common" import { Affinity, TextBox, LineMetrics, RunMetrics, TextDirection } from "./../arkui-graphics-text" import { AlphabetIndexerAttribute, Callback_Number_Void, OnAlphabetIndexerSelectCallback, OnAlphabetIndexerRequestPopupDataCallback, OnAlphabetIndexerPopupSelectCallback, IndexerAlign, Callback_Opt_Number_Void, AlphabetIndexerOptions } from "./../alphabetIndexer" import { ResourceColor, Font, Position, Length, SizeOptions, Offset, ColorFilter, ResourceStr, Dimension, LengthConstrain, VoidCallback, DividerStyleOptions, ConstraintSizeOptions, AccessibilityOptions, Bias, BorderRadiuses, ChainWeightOptions, DirectionalEdgesT, EdgeOutlineStyles, EdgeOutlineWidths, EdgeWidths, OutlineRadiuses, Padding, VP, Area, EdgeColors, PX, LPX, LocalizedBorderRadiuses, LocalizedEdgeColors, LocalizedEdges, LocalizedEdgeWidths, LocalizedPadding, LocalizedPosition, MarkStyle, BorderOptions, OutlineOptions, EdgeStyles, Edges } from "./../units" @@ -178,6 +178,12 @@ export class TypeChecker { static isNativeBuffer(value: Object): boolean { return value instanceof NativeBuffer } + static isAccessibilityAction(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityAction + } + static isAccessibilityActionInterceptResult(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityActionInterceptResult + } static isAccessibilityHoverEvent(value: Object | string | number | undefined, arg0: boolean, arg1: boolean, arg2: boolean, arg3: boolean, arg4: boolean, arg5: boolean, arg6: boolean): boolean { return value instanceof AccessibilityHoverEvent } @@ -3574,6 +3580,18 @@ export class TypeChecker { static isXComponentType(value: Object | string | number | undefined): boolean { return value instanceof XComponentType } + static AccessibilityAction_ToNumeric(value: AccessibilityAction): int32 { + return value.valueOf() + } + static AccessibilityAction_FromNumeric(ordinal: int32): AccessibilityAction { + return AccessibilityAction.fromValue(ordinal) + } + static AccessibilityActionInterceptResult_ToNumeric(value: AccessibilityActionInterceptResult): int32 { + return value.valueOf() + } + static AccessibilityActionInterceptResult_FromNumeric(ordinal: int32): AccessibilityActionInterceptResult { + return AccessibilityActionInterceptResult.fromValue(ordinal) + } static AccessibilityHoverType_ToNumeric(value: AccessibilityHoverType): int32 { return value.valueOf() } diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/common.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/common.ts index 6a6f2129fc4..7798fccd1a0 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/common.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/common.ts @@ -5169,6 +5169,18 @@ export class ArkCommonMethodPeer extends PeerNode { ArkUIGeneratedNativeModule._CommonMethod_onAccessibilityFocus(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) thisSerializer.release() } + onAccessibilityActionInterceptAttribute(value: AccessibilityActionInterceptCallback | undefined): void { + const thisSerializer : Serializer = Serializer.hold() + let value_type : int32 = RuntimeType.UNDEFINED + value_type = runtimeType(value) + thisSerializer.writeInt8(value_type as int32) + if ((RuntimeType.UNDEFINED) != (value_type)) { + const value_value = value! + thisSerializer.holdAndWriteCallback(value_value) + } + ArkUIGeneratedNativeModule._CommonMethod_onAccessibilityActionIntercept(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) + thisSerializer.release() + } accessibilityTextHintAttribute(value: string | undefined): void { const thisSerializer : Serializer = Serializer.hold() let value_type : int32 = RuntimeType.UNDEFINED @@ -7070,6 +7082,16 @@ export enum AccessibilityRoleType { XCOMPONENT = 123, ROLE_NONE = 124 } +export enum AccessibilityAction { + UNDEFINED_ACTION = 0, + ACCESSIBILITY_CLICK = 1 +} +export enum AccessibilityActionInterceptResult { + ACTION_INTERCEPT = 0, + ACTION_CONTINUE = 1, + ACTION_RISE = 2 +} +export type AccessibilityActionInterceptCallback = (action: AccessibilityAction) => AccessibilityActionInterceptResult; export type AccessibilityFocusCallback = (isFocus: boolean) => void; export enum FinishCallbackType { REMOVED = 0, @@ -8161,6 +8183,7 @@ export interface CommonMethod { accessibilityUseSamePage(value: AccessibilitySamePageMode | undefined): this {return this;} accessibilityScrollTriggerable(value: boolean | undefined): this {return this;} accessibilityRole(value: AccessibilityRoleType | undefined): this {return this;} + onAccessibilityActionIntercept(value: AccessibilityActionInterceptCallback | undefined): this { return this;} onAccessibilityFocus(value: AccessibilityFocusCallback | undefined): this {return this;} accessibilityTextHint(value: string | undefined): this {return this;} accessibilityDescription(value: string | undefined | Resource | undefined): this {return this;} @@ -8360,6 +8383,7 @@ export class ArkCommonMethodStyle implements CommonMethod { accessibilityUseSamePage_value?: AccessibilitySamePageMode | undefined accessibilityScrollTriggerable_value?: boolean | undefined accessibilityRole_value?: AccessibilityRoleType | undefined + OnAccessibilityActionIntercept_value?: AccessibilityActionInterceptCallback | undefined onAccessibilityFocus_value?: AccessibilityFocusCallback | undefined accessibilityTextHint_value?: string | undefined accessibilityDescription_value?: string | undefined @@ -8805,6 +8829,9 @@ export class ArkCommonMethodStyle implements CommonMethod { public accessibilityRole(value: AccessibilityRoleType | undefined): this { return this } + public onAccessibilityActionIntercept(value: AccessibilityActionInterceptCallback): this { + return this + } public onAccessibilityFocus(value: AccessibilityFocusCallback | undefined): this { return this } @@ -10849,6 +10876,14 @@ export class ArkCommonMethodComponent extends ComponentBase implements CommonMet } return this } + public onAccessibilityActionIntercept(value: AccessibilityActionInterceptCallback): this { + if (this.checkPriority("onAccessibilityActionIntercept")) { + const value_casted = value as (AccessibilityActionInterceptCallback) + this.getPeer()?.onAccessibilityActionInterceptAttribute(value_casted) + return this + } + return this + } public onAccessibilityFocus(value: AccessibilityFocusCallback | undefined): this { if (this.checkPriority("onAccessibilityFocus")) { const value_casted = value as (AccessibilityFocusCallback | undefined) diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackDeserializeCall.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackDeserializeCall.ts index 2c1d761f10b..4b8bbb5a695 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackDeserializeCall.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackDeserializeCall.ts @@ -19,9 +19,10 @@ import { CallbackKind } from "./CallbackKind" import { Deserializer } from "./Deserializer" import { int32, float32, int64 } from "@koalaui/common" -import { ResourceHolder, KInt, KStringPtr, wrapSystemCallback, KPointer, RuntimeType, KSerializerBuffer, NativeBuffer } from "@koalaui/interop" +import { ResourceHolder, KInt, KStringPtr, wrapSystemCallback, DeserializerBase, SerializerBase, CallbackResource, InteropNativeModule, KPointer, RuntimeType, KSerializerBuffer, NativeBuffer } from "@koalaui/interop" import { CallbackTransformer } from "./CallbackTransformer" -import { AccessibilityCallback, AccessibilityHoverEvent, AccessibilityFocusCallback, Callback_Area_Area_Void, Callback_Array_TouchTestInfo_TouchResult, TouchTestInfo, TouchResult, Callback_AxisEvent_Void, AxisEvent, Callback_Boolean_HoverEvent_Void, HoverEvent, Callback_ClickEvent_Void, ClickEvent, Callback_CrownEvent_Void, CrownEvent, CustomBuilder, Callback_DismissContentCoverAction_Void, DismissContentCoverAction, Callback_DismissPopupAction_Void, DismissPopupAction, Callback_DismissSheetAction_Void, DismissSheetAction, Callback_DragEvent_String_Union_CustomBuilder_DragItemInfo, DragEvent, DragItemInfo, Callback_DragEvent_String_Void, Callback_FocusAxisEvent_Void, FocusAxisEvent, Callback_GestureInfo_BaseGestureEvent_GestureJudgeResult, Callback_HoverEvent_Void, ItemDragInfo, Callback_KeyEvent_Boolean, KeyEvent, Callback_KeyEvent_Void, Callback_Literal_Boolean_isVisible_Void, Literal_Boolean_isVisible, Callback_MouseEvent_Void, MouseEvent, Callback_PreDragStatus_Void, PreDragStatus, Callback_SheetDismiss_Void, SheetDismiss, Callback_SheetType_Void, SheetType, Callback_SpringBackAction_Void, SpringBackAction, Callback_TouchEvent_HitTestMode, TouchEvent, Callback_TouchEvent_Void, GestureRecognizerJudgeBeginCallback, HoverCallback, OnDragEventCallback, OnMoveHandler, OnScrollCallback, PopupStateChangeCallback, PopupStateChangeParam, ReuseIdCallback, ShouldBuiltInRecognizerParallelWithCallback, SizeChangeCallback, TransitionFinishCallback, VisibleAreaChangeCallback, ScrollResult, OnWillScrollCallback, SelectedCallback, IndexCallback, IndexerSelectedCallback, RefreshingCallback } from "./../common" +import { Serializer } from "./Serializer" +import { AccessibilityActionInterceptCallback, AccessibilityAction, AccessibilityActionInterceptResult, AccessibilityCallback, AccessibilityHoverEvent, AccessibilityFocusCallback, Callback_Area_Area_Void, Callback_Array_TouchTestInfo_TouchResult, TouchTestInfo, TouchResult, Callback_AxisEvent_Void, AxisEvent, Callback_Boolean_HoverEvent_Void, HoverEvent, Callback_ClickEvent_Void, ClickEvent, Callback_CrownEvent_Void, CrownEvent, CustomBuilder, Callback_DismissContentCoverAction_Void, DismissContentCoverAction, Callback_DismissPopupAction_Void, DismissPopupAction, Callback_DismissSheetAction_Void, DismissSheetAction, Callback_DragEvent_String_Union_CustomBuilder_DragItemInfo, DragEvent, DragItemInfo, Callback_DragEvent_String_Void, Callback_FocusAxisEvent_Void, FocusAxisEvent, Callback_GestureInfo_BaseGestureEvent_GestureJudgeResult, Callback_HoverEvent_Void, ItemDragInfo, Callback_KeyEvent_Boolean, KeyEvent, Callback_KeyEvent_Void, Callback_Literal_Boolean_isVisible_Void, Literal_Boolean_isVisible, Callback_MouseEvent_Void, MouseEvent, Callback_PreDragStatus_Void, PreDragStatus, Callback_SheetDismiss_Void, SheetDismiss, Callback_SheetType_Void, SheetType, Callback_SpringBackAction_Void, SpringBackAction, Callback_TouchEvent_HitTestMode, TouchEvent, Callback_TouchEvent_Void, GestureRecognizerJudgeBeginCallback, HoverCallback, OnDragEventCallback, OnMoveHandler, OnScrollCallback, PopupStateChangeCallback, PopupStateChangeParam, ReuseIdCallback, ShouldBuiltInRecognizerParallelWithCallback, SizeChangeCallback, TransitionFinishCallback, VisibleAreaChangeCallback, ScrollResult, OnWillScrollCallback, SelectedCallback, IndexCallback, IndexerSelectedCallback, RefreshingCallback } from "./../common" import { AsyncCallback_Array_TextMenuItem_Array_TextMenuItem, TextMenuItem, AsyncCallback_TextMenuItem_TextRange_Boolean, TextRange, DeleteValue, EditableTextChangeValue, InsertValue, Callback_StyledStringChangeValue_Boolean, StyledStringChangeValue, EditableTextOnChangeCallback, PreviewText, TextChangeOptions, OnDidChangeCallback } from "./../textCommon" import { AsyncCallback_image_PixelMap_Void, ReceiveCallback } from "./../arkui-external" import { PixelMap } from "#external" @@ -113,6 +114,26 @@ import { NodeContainer_AboutToResizeCallback } from "./../nodeContainer" import { Size, DrawContext } from "../../Graphics" import { DrawCallback } from "./../../RenderNode" import { ToggleConfiguration } from "../toggle" +export function deserializeAndCallAccessibilityActionInterceptCallback(thisDeserializer: DeserializerBase): void { + const _resourceId : int32 = thisDeserializer.readInt32() + const _call = (ResourceHolder.instance().get(_resourceId) as AccessibilityActionInterceptCallback) + let action : AccessibilityAction = AccessibilityAction.fromValue(thisDeserializer.readInt32()) + const continuationBufferBufResource : CallbackResource = thisDeserializer.readCallbackResource() + const continuationBufferBufCall : KPointer = thisDeserializer.readPointer() + const continuationBufferBufCallSync : KPointer = thisDeserializer.readPointer() + let continuationResult : ((value: AccessibilityActionInterceptResult) => void) = (value: AccessibilityActionInterceptResult):void => { + const continuationBufferBufArgsSerializer : Serializer = Serializer.hold(); + continuationBufferBufArgsSerializer.writeInt32(continuationBufferBufResource.resourceId); + continuationBufferBufArgsSerializer.writePointer(continuationBufferBufCall); + continuationBufferBufArgsSerializer.writePointer(continuationBufferBufCallSync); + continuationBufferBufArgsSerializer.writeInt32(value.valueOf()); + InteropNativeModule._CallCallbackSync(-1365174832, continuationBufferBufArgsSerializer.asBuffer(), continuationBufferBufArgsSerializer.length()); + continuationBufferBufArgsSerializer.release(); + return; + } + const _callResult = _call(action) + continuationResult(_callResult) +} export function deserializeAndCallAccessibilityCallback(thisDeserializer: Deserializer): void { const _resourceId : int32 = thisDeserializer.readInt32() const _call = (ResourceHolder.instance().get(_resourceId) as AccessibilityCallback) @@ -161,6 +182,12 @@ export function deserializeAndCallButtonTriggerClickCallback(thisDeserializer: D let yPos : number = (thisDeserializer.readNumber() as number) _call(xPos, yPos) } +export function deserializeAndCallCallback_AccessibilityActionInterceptResult_Void(thisDeserializer: DeserializerBase): void { + const _resourceId : int32 = thisDeserializer.readInt32() + const _call = (ResourceHolder.instance().get(_resourceId) as ((value: AccessibilityActionInterceptResult) => void)) + let value : AccessibilityActionInterceptResult = AccessibilityActionInterceptResult.fromValue(thisDeserializer.readInt32()) + _call(value) +} export function deserializeAndCallCallback_Any_Void(thisDeserializer: Deserializer): void { const _resourceId : int32 = thisDeserializer.readInt32() const _call = (ResourceHolder.instance().get(_resourceId) as ((info: object) => void)) @@ -2817,6 +2844,8 @@ export function deserializeAndCallSliderModifierBuilder(thisDeserializer: Deseri export function deserializeAndCallCallback(thisDeserializer: Deserializer): void { const kind : int32 = thisDeserializer.readInt32() switch (kind) { + case -321958515/*CallbackKind.Kind_AccessibilityActionInterceptCallback*/: return deserializeAndCallAccessibilityActionInterceptCallback(thisDeserializer); + case -1365174832/*CallbackKind.Kind_AccessibilityActionInterceptResult_Void*/: return deserializeAndCallCallback_AccessibilityActionInterceptResult_Void(thisDeserializer); case 589030517/*CallbackKind.Kind_AccessibilityCallback*/: return deserializeAndCallAccessibilityCallback(thisDeserializer); case 1715445305/*CallbackKind.Kind_AccessibilityFocusCallback*/: return deserializeAndCallAccessibilityFocusCallback(thisDeserializer); case 300202685/*CallbackKind.Kind_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem*/: return deserializeAndCallAsyncCallback_Array_TextMenuItem_Array_TextMenuItem(thisDeserializer); diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackKind.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackKind.ts index be0ebaa79ee..4bfaa003702 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackKind.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/peers/CallbackKind.ts @@ -1,11 +1,13 @@ import { int32, float32 } from "@koalaui/common" export enum CallbackKind { + Kind_AccessibilityActionInterceptCallback = -321958515, Kind_AccessibilityCallback = 589030517, Kind_AccessibilityFocusCallback = 1715445305, Kind_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem = 300202685, Kind_AsyncCallback_image_PixelMap_Void = 1289587365, Kind_AsyncCallback_TextMenuItem_TextRange_Boolean = -1581515233, Kind_ButtonTriggerClickCallback = -1964292933, + Kind_Callback_AccessibilityActionInterceptResult_Void = -1365174832, Kind_Callback_Any_Void = 197193081, Kind_Callback_Area_Area_Void = -2024393616, Kind_Callback_Array_Number_Void = 582384234, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/ts/type_check.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/ts/type_check.ts index 3df170d3079..51f1b571efe 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/ts/type_check.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/ts/type_check.ts @@ -19,7 +19,7 @@ import { KBoolean, KStringPtr, NativeBuffer, MaterializedBase } from "@koalaui/interop" import { int32 } from "@koalaui/common" import { AccessibilityHoverType, Alignment, AnimationStatus, AppRotation, ArrowPointPosition, Axis, AxisAction, AxisModel, BarState, BorderStyle, CheckBoxShape, ClickEffectLevel, Color, ColoringStrategy, CopyOptions, CrownAction, CrownSensitivity, Curve, DialogButtonStyle, Direction, DividerMode, Edge, EdgeEffect, EllipsisMode, EmbeddedType, FillMode, FlexAlign, FlexDirection, FlexWrap, FocusDrawLevel, FoldStatus, FontStyle, FontWeight, FunctionKey, GradientDirection, HeightBreakpoint, HitTestMode, HorizontalAlign, HoverEffect, IlluminatedType, ImageFit, ImageRepeat, ImageSize, ImageSpanAlignment, InteractionHand, ItemAlign, KeySource, KeyType, LineBreakStrategy, LineCapStyle, LineJoinStyle, MarqueeUpdateStrategy, ModifierKey, MouseAction, MouseButton, NestedScrollMode, ObscuredReasons, OptionWidthMode, PageFlipMode, PixelRoundCalcPolicy, PixelRoundMode, Placement, PlayMode, RelateType, RenderFit, ResponseType, ScrollSource, TextAlign, SharedTransitionEffectType, TextOverflow, TextContentStyle, TextHeightAdaptivePolicy, WordBreak, TextCase, TextSelectableMode, TextDecorationStyle, TextDecorationType, TitleHeight, TouchType, TransitionType, VerticalAlign, Visibility, Week, WidthBreakpoint, XComponentType } from "./../enums" -import { AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, CommonMethod, BlurStyle, BlendApplyType, BlurStyleActivePolicy, PickerTextStyle, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DragEvent, DragResult, Rectangle, DraggingSizeChangeEffect, DragPreviewMode, DrawModifier, EffectEdge, EffectType, FinishCallbackType, GestureModifier, UIGestureEvent, ScrollableCommonMethod, ItemDragInfo, CustomBuilder, NestedScrollOptions, EdgeEffectOptions, HapticFeedbackMode, HoverModeAreaType, ICurve, KeyboardAvoidMode, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, ChildrenMainSize, RectResult, Literal_Boolean_isVisible, MenuPolicy, MenuPreviewMode, ModalTransition, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollSizeMode, TextDecorationOptions, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceTool, SourceType, BackgroundEffectOptions, BackgroundBlurStyleOptions, TranslateOptions, InputCounterOptions, ShadowOptions, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, TransitionEffects, RotateOptions, ScaleOptions, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, Callback_ClickEvent_Void, ClickEvent, Callback_TouchEvent_Void, TouchEvent, Callback_KeyEvent_Void, KeyEvent, HoverCallback, HoverEvent, Callback_MouseEvent_Void, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, View, Callback_KeyEvent_Boolean, BackgroundBrightnessOptions, BackgroundImageOptions, BlurOptions, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragInteractionOptions, DragItemInfo, DropOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InvertOptions, Tuple_ResourceColor_Number, LinearGradient_common, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, BackgroundOptions, Literal_Number_offset_span, HorizontalAlignParam, VerticalAlignParam, Literal_String_value_Callback_Void_action, Literal_TransitionEffect_appear_disappear, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, Measurable, MeasureResult, SizeResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PixelStretchEffectOptions, PreviewConfiguration, RadialGradientOptions, Tuple_Length_Length, SheetDismiss, SpringBackAction, StateStyles, SweepGradientOptions, SystemAdaptiveOptions, TipsOptions, TouchObject, TouchResult, AlignRuleOption, BlurStyleOptions, ContentCoverOptions, BindOptions, Callback_DismissContentCoverAction_Void, ContextMenuAnimationOptions, MultiShadowOptions, DragPreviewOptions, EventTarget, FadingEdgeOptions, FocusAxisEvent, BaseEvent, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, Literal_ResourceColor_color, Literal_Union_Number_Literal_Number_offset_span_lg_md_sm_xs, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PickerDialogButtonStyle, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TransitionOptions, AccessibilityHoverEvent, AxisEvent, BorderImageOption, CustomPopupOptions, Callback_Literal_Boolean_isVisible_Void, Callback_DismissPopupAction_Void, PointLightStyle, PopupMessageOptions, Type_SheetOptions_detents, Callback_SheetDismiss_Void, Callback_DismissSheetAction_Void, Callback_SpringBackAction_Void, Callback_SheetType_Void, ContextMenuOptions, BorderRadiusType, MenuOptions, PopupOptions, NavDestinationInfo, NavigationInfo, RouterPageInfo, Theme, PromptActionDialogController, LayoutChild, Layoutable, DividerStyle, BlendMode } from "./../common" +import { AccessibilityAction, AccessibilityActionInterceptResult, AccessibilityRoleType, AccessibilitySamePageMode, AdaptiveColor, CommonMethod, BlurStyle, BlendApplyType, BlurStyleActivePolicy, PickerTextStyle, ChainStyle, ContentClipMode, DismissReason, DragBehavior, DragEvent, DragResult, Rectangle, DraggingSizeChangeEffect, DragPreviewMode, DrawModifier, EffectEdge, EffectType, FinishCallbackType, GestureModifier, UIGestureEvent, ScrollableCommonMethod, ItemDragInfo, CustomBuilder, NestedScrollOptions, EdgeEffectOptions, HapticFeedbackMode, HoverModeAreaType, ICurve, KeyboardAvoidMode, LayoutPolicy, LayoutSafeAreaEdge, LayoutSafeAreaType, ChildrenMainSize, RectResult, Literal_Boolean_isVisible, MenuPolicy, MenuPreviewMode, ModalTransition, OutlineStyle, PixelMapMock, PopupStateChangeParam, PreDragStatus, ProgressMask, RepeatMode, SelectionOptions, SafeAreaEdge, SafeAreaType, ScrollSizeMode, TextDecorationOptions, TextContentControllerBase, ShadowStyle, ShadowType, SheetKeyboardAvoidMode, SheetMode, SheetSize, SheetType, SourceTool, SourceType, BackgroundEffectOptions, BackgroundBlurStyleOptions, TranslateOptions, InputCounterOptions, ShadowOptions, CaretOffset, TextContentControllerOptions, ThemeColorMode, TouchTestInfo, TouchTestStrategy, TransitionEdge, TransitionEffect, TransitionEffects, RotateOptions, ScaleOptions, AnimateParam, TransitionHierarchyStrategy, UICommonEvent, Callback_ClickEvent_Void, ClickEvent, Callback_TouchEvent_Void, TouchEvent, Callback_KeyEvent_Void, KeyEvent, HoverCallback, HoverEvent, Callback_MouseEvent_Void, MouseEvent, SizeChangeCallback, VisibleAreaEventOptions, VisibleAreaChangeCallback, SheetOptions, View, Callback_KeyEvent_Boolean, BackgroundBrightnessOptions, BackgroundImageOptions, BlurOptions, ClickEffect, CrownEvent, DateRange, DismissContentCoverAction, DismissPopupAction, DismissSheetAction, DragInteractionOptions, DragItemInfo, DropOptions, ExpectedFrameRateRange, FocusMovement, ForegroundEffectOptions, GeometryTransitionOptions, InvertOptions, Tuple_ResourceColor_Number, LinearGradient_common, FractionStop, LinearGradientBlurOptions, LinearGradientOptions, BackgroundOptions, Literal_Number_offset_span, HorizontalAlignParam, VerticalAlignParam, Literal_String_value_Callback_Void_action, Literal_TransitionEffect_appear_disappear, LocalizedHorizontalAlignParam, LocalizedVerticalAlignParam, Measurable, MeasureResult, SizeResult, MotionBlurAnchor, MotionBlurOptions, MotionPathOptions, OverlayOffset, PixelRoundPolicy, PixelStretchEffectOptions, PreviewConfiguration, RadialGradientOptions, Tuple_Length_Length, SheetDismiss, SpringBackAction, StateStyles, SweepGradientOptions, SystemAdaptiveOptions, TipsOptions, TouchObject, TouchResult, AlignRuleOption, BlurStyleOptions, ContentCoverOptions, BindOptions, Callback_DismissContentCoverAction_Void, ContextMenuAnimationOptions, MultiShadowOptions, DragPreviewOptions, EventTarget, FadingEdgeOptions, FocusAxisEvent, BaseEvent, ForegroundBlurStyleOptions, HistoricalPoint, LightSource, Literal_ResourceColor_color, Literal_Union_Number_Literal_Number_offset_span_lg_md_sm_xs, LocalizedAlignRuleOptions, MenuElement, OverlayOptions, PickerDialogButtonStyle, ReuseOptions, ReuseIdCallback, sharedTransitionOptions, SheetTitleOptions, TransitionOptions, AccessibilityHoverEvent, AxisEvent, BorderImageOption, CustomPopupOptions, Callback_Literal_Boolean_isVisible_Void, Callback_DismissPopupAction_Void, PointLightStyle, PopupMessageOptions, Type_SheetOptions_detents, Callback_SheetDismiss_Void, Callback_DismissSheetAction_Void, Callback_SpringBackAction_Void, Callback_SheetType_Void, ContextMenuOptions, BorderRadiusType, MenuOptions, PopupOptions, NavDestinationInfo, NavigationInfo, RouterPageInfo, Theme, PromptActionDialogController, LayoutChild, Layoutable, DividerStyle, BlendMode } from "./../common" import { Affinity, TextBox, LineMetrics, RunMetrics, TextDirection } from "./../arkui-graphics-text" import { AlphabetIndexerAttribute, Callback_Number_Void, OnAlphabetIndexerSelectCallback, OnAlphabetIndexerRequestPopupDataCallback, OnAlphabetIndexerPopupSelectCallback, IndexerAlign, Callback_Opt_Number_Void, AlphabetIndexerOptions } from "./../alphabetIndexer" import { ResourceColor, Font, Position, Length, SizeOptions, Offset, ColorFilter, ResourceStr, Dimension, LengthConstrain, VoidCallback, DividerStyleOptions, ConstraintSizeOptions, AccessibilityOptions, Bias, BorderRadiuses, ChainWeightOptions, DirectionalEdgesT, EdgeOutlineStyles, EdgeOutlineWidths, EdgeWidths, OutlineRadiuses, Padding, VP, Area, EdgeColors, PX, LPX, LocalizedBorderRadiuses, LocalizedEdgeColors, LocalizedEdges, LocalizedEdgeWidths, LocalizedPadding, LocalizedPosition, MarkStyle, BorderOptions, OutlineOptions, EdgeStyles } from "./../units" @@ -174,6 +174,12 @@ export class TypeChecker { static isNativeBuffer(value: Object): boolean { return value instanceof ArrayBuffer } + static isAccessibilityAction(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityAction + } + static isAccessibilityActionInterceptResult(value: Object | string | number | undefined): boolean { + return value instanceof AccessibilityActionInterceptResult + } static isAccessibilityHoverEvent(value: Object | string | number | undefined | boolean, duplicated_type: boolean, duplicated_x: boolean, duplicated_y: boolean, duplicated_displayX: boolean, duplicated_displayY: boolean, duplicated_windowX: boolean, duplicated_windowY: boolean): boolean { if ((!duplicated_type) && (value?.hasOwnProperty("type"))) { return true diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/Serializers.h b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/Serializers.h index 4462ff8f9f4..9026e2513b2 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/Serializers.h +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/Serializers.h @@ -30,6 +30,37 @@ inline Ark_RuntimeType runtimeType(const Opt_Int32& value) return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); } template <> +inline Ark_RuntimeType runtimeType(const AccessibilityActionInterceptCallback& value) +{ + return INTEROP_RUNTIME_OBJECT; +} +template <> +inline void WriteToString(std::string* result, const AccessibilityActionInterceptCallback* value) { + result->append("{"); + result->append(".resource="); + WriteToString(result, &value->resource); + result->append(", .call=0"); + result->append("}"); +} +template <> +inline void WriteToString(std::string* result, const Opt_AccessibilityActionInterceptCallback* value) { + result->append("{.tag="); + result->append(tagNameExact(reinterpret_cast(value->tag))); + result->append(", .value="); + if (value->tag != INTEROP_TAG_UNDEFINED) { + WriteToString(result, &value->value); + } else { + Ark_Undefined undefined = { 0 }; + WriteToString(result, undefined); + } + result->append("}"); +} +template <> +inline Ark_RuntimeType runtimeType(const Opt_AccessibilityActionInterceptCallback& value) +{ + return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); +} +template <> inline Ark_RuntimeType runtimeType(const AccessibilityCallback& value) { return INTEROP_RUNTIME_OBJECT; @@ -92,6 +123,64 @@ inline Ark_RuntimeType runtimeType(const Opt_AccessibilityFocusCallback& value) return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); } template <> +inline Ark_RuntimeType runtimeType(const Ark_AccessibilityAction& value) +{ + return INTEROP_RUNTIME_NUMBER; +} +template <> +inline void WriteToString(std::string* result, const Ark_AccessibilityAction value) { + result->append("Ark_AccessibilityAction("); + WriteToString(result, (Ark_Int32) value); + result->append(")"); +} +template <> +inline void WriteToString(std::string* result, const Opt_AccessibilityAction* value) { + result->append("{.tag="); + result->append(tagNameExact(reinterpret_cast(value->tag))); + result->append(", .value="); + if (value->tag != INTEROP_TAG_UNDEFINED) { + WriteToString(result, value->value); + } else { + Ark_Undefined undefined = { 0 }; + WriteToString(result, undefined); + } + result->append("}"); +} +template <> +inline Ark_RuntimeType runtimeType(const Opt_AccessibilityAction& value) +{ + return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); +} +template <> +inline Ark_RuntimeType runtimeType(const Ark_AccessibilityActionInterceptResult& value) +{ + return INTEROP_RUNTIME_NUMBER; +} +template <> +inline void WriteToString(std::string* result, const Ark_AccessibilityActionInterceptResult value) { + result->append("Ark_AccessibilityActionInterceptResult("); + WriteToString(result, (Ark_Int32) value); + result->append(")"); +} +template <> +inline void WriteToString(std::string* result, const Opt_AccessibilityActionInterceptResult* value) { + result->append("{.tag="); + result->append(tagNameExact(reinterpret_cast(value->tag))); + result->append(", .value="); + if (value->tag != INTEROP_TAG_UNDEFINED) { + WriteToString(result, value->value); + } else { + Ark_Undefined undefined = { 0 }; + WriteToString(result, undefined); + } + result->append("}"); +} +template <> +inline Ark_RuntimeType runtimeType(const Opt_AccessibilityActionInterceptResult& value) +{ + return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); +} +template <> inline Ark_RuntimeType runtimeType(const Ark_AccessibilityHoverType& value) { return INTEROP_RUNTIME_NUMBER; @@ -21163,6 +21252,37 @@ inline Ark_RuntimeType runtimeType(const Opt_ButtonTriggerClickCallback& value) return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); } template <> +inline Ark_RuntimeType runtimeType(const Callback_AccessibilityActionInterceptResult_Void& value) +{ + return INTEROP_RUNTIME_OBJECT; +} +template <> +inline void WriteToString(std::string* result, const Callback_AccessibilityActionInterceptResult_Void* value) { + result->append("{"); + result->append(".resource="); + WriteToString(result, &value->resource); + result->append(", .call=0"); + result->append("}"); +} +template <> +inline void WriteToString(std::string* result, const Opt_Callback_AccessibilityActionInterceptResult_Void* value) { + result->append("{.tag="); + result->append(tagNameExact(reinterpret_cast(value->tag))); + result->append(", .value="); + if (value->tag != INTEROP_TAG_UNDEFINED) { + WriteToString(result, &value->value); + } else { + Ark_Undefined undefined = { 0 }; + WriteToString(result, undefined); + } + result->append("}"); +} +template <> +inline Ark_RuntimeType runtimeType(const Opt_Callback_AccessibilityActionInterceptResult_Void& value) +{ + return (value.tag != INTEROP_TAG_UNDEFINED) ? (INTEROP_RUNTIME_OBJECT) : (INTEROP_RUNTIME_UNDEFINED); +} +template <> inline Ark_RuntimeType runtimeType(const Callback_Any_Void& value) { return INTEROP_RUNTIME_OBJECT; diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h index 2377b035374..a5d7adbfa61 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h @@ -260,6 +260,8 @@ typedef struct _Ark_Canvas* Ark_CanvasHandle; typedef struct Opt_Int32 Opt_Int32; +typedef struct AccessibilityActionInterceptCallback AccessibilityActionInterceptCallback; +typedef struct Opt_AccessibilityActionInterceptCallback Opt_AccessibilityActionInterceptCallback; typedef struct AccessibilityCallback AccessibilityCallback; typedef struct Opt_AccessibilityCallback Opt_AccessibilityCallback; typedef struct AccessibilityFocusCallback AccessibilityFocusCallback; @@ -1092,6 +1094,8 @@ typedef struct ButtonModifierBuilder ButtonModifierBuilder; typedef struct Opt_ButtonModifierBuilder Opt_ButtonModifierBuilder; typedef struct ButtonTriggerClickCallback ButtonTriggerClickCallback; typedef struct Opt_ButtonTriggerClickCallback Opt_ButtonTriggerClickCallback; +typedef struct Callback_AccessibilityActionInterceptResult_Void Callback_AccessibilityActionInterceptResult_Void; +typedef struct Opt_Callback_AccessibilityActionInterceptResult_Void Opt_Callback_AccessibilityActionInterceptResult_Void; typedef struct AsyncCallback_TextMenuItem_TextRange_Boolean AsyncCallback_TextMenuItem_TextRange_Boolean; typedef struct Opt_AsyncCallback_TextMenuItem_TextRange_Boolean Opt_AsyncCallback_TextMenuItem_TextRange_Boolean; typedef struct Callback_Any_Void Callback_Any_Void; @@ -3343,6 +3347,23 @@ typedef struct Ark_PopupButton Ark_PopupButton; typedef struct Opt_PopupButton Opt_PopupButton; typedef Ark_Object Ark_ContentModifier; typedef Opt_Object Opt_ContentModifier; +typedef enum Ark_AccessibilityAction { + ARK_ACCESSIBILITY_ACTION_UNDEFINED_ACTION = 0, + ARK_ACCESSIBILITY_ACTION_ACCESSIBILITY_CLICK = 1, +} Ark_AccessibilityAction; +typedef struct Opt_AccessibilityAction { + Ark_Tag tag; + Ark_AccessibilityAction value; +} Opt_AccessibilityAction; +typedef enum Ark_AccessibilityActionInterceptResult { + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_INTERCEPT = 0, + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_CONTINUE = 1, + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_RISE = 2, +} Ark_AccessibilityActionInterceptResult; +typedef struct Opt_AccessibilityActionInterceptResult { + Ark_Tag tag; + Ark_AccessibilityActionInterceptResult value; +} Opt_AccessibilityActionInterceptResult; typedef enum Ark_AccessibilityHoverType { ARK_ACCESSIBILITY_HOVER_TYPE_HOVER_ENTER = 0, ARK_ACCESSIBILITY_HOVER_TYPE_HOVER_MOVE = 1, @@ -6879,6 +6900,16 @@ typedef struct Opt_Int32 { Ark_Tag tag; Ark_Int32 value; } Opt_Int32; +typedef struct AccessibilityActionInterceptCallback { + /* kind: Callback */ + Ark_CallbackResource resource; + void (*call)(const Ark_Int32 resourceId, Ark_AccessibilityAction action, const Callback_AccessibilityActionInterceptResult_Void continuation); + void (*callSync)(Ark_VMContext vmContext, const Ark_Int32 resourceId, Ark_AccessibilityAction action, const Callback_AccessibilityActionInterceptResult_Void continuation); +} AccessibilityActionInterceptCallback; +typedef struct Opt_AccessibilityActionInterceptCallback { + Ark_Tag tag; + AccessibilityActionInterceptCallback value; +} Opt_AccessibilityActionInterceptCallback; typedef struct AccessibilityCallback { Ark_CallbackResource resource; void (*call)(const Ark_Int32 resourceId, const Ark_Boolean isHover, const Ark_AccessibilityHoverEvent event); @@ -9314,6 +9345,16 @@ typedef struct Opt_ButtonTriggerClickCallback { Ark_Tag tag; ButtonTriggerClickCallback value; } Opt_ButtonTriggerClickCallback; +typedef struct Callback_AccessibilityActionInterceptResult_Void { + /* kind: Callback */ + Ark_CallbackResource resource; + void (*call)(const Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value); + void (*callSync)(Ark_VMContext vmContext, const Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value); +} Callback_AccessibilityActionInterceptResult_Void; +typedef struct Opt_Callback_AccessibilityActionInterceptResult_Void { + Ark_Tag tag; + Callback_AccessibilityActionInterceptResult_Void value; +} Opt_Callback_AccessibilityActionInterceptResult_Void; typedef struct AsyncCallback_TextMenuItem_TextRange_Boolean { Ark_CallbackResource resource; void (*call)(const Ark_Int32 resourceId, const Ark_TextMenuItem menuItem, const Ark_TextRange range, const Callback_Boolean_Void continuation); @@ -20788,6 +20829,8 @@ typedef struct GENERATED_ArkUICommonMethodModifier { const Opt_AccessibilityRoleType* value); void (*setOnAccessibilityFocus)(Ark_NativePointer node, const Opt_AccessibilityFocusCallback* value); + void (*setOnAccessibilityActionIntercept)(Ark_NativePointer node, + const AccessibilityActionInterceptCallback* value); void (*setAccessibilityTextHint)(Ark_NativePointer node, const Opt_String* value); void (*setAccessibilityDescription0)(Ark_NativePointer node, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc index c7b6bece4d5..f650dde5e09 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc @@ -5478,6 +5478,13 @@ void impl_CommonMethod_onAccessibilityFocus(Ark_NativePointer thisPtr, KSerializ GetNodeModifiers()->getCommonMethodModifier()->setOnAccessibilityFocus(self, (const Opt_AccessibilityFocusCallback*)&value_value); } KOALA_INTEROP_DIRECT_V3(CommonMethod_onAccessibilityFocus, Ark_NativePointer, KSerializerBuffer, int32_t) +void impl_CommonMethod_onAccessibilityActionIntercept(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) { + Ark_NodeHandle self = reinterpret_cast(thisPtr); + DeserializerBase thisDeserializer(thisArray, thisLength); + AccessibilityActionInterceptCallback valueValueTemp = {thisDeserializer.readCallbackResource(), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCaller(Kind_AccessibilityActionInterceptCallback)))), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCallerSync(Kind_AccessibilityActionInterceptCallback))))};; + GetNodeModifiers()->getCommonMethodModifier()->setOnAccessibilityActionIntercept(self, static_cast(&valueValueTemp)); +} +KOALA_INTEROP_DIRECT_V3(CommonMethod_onAccessibilityActionIntercept, Ark_NativePointer, KSerializerBuffer, int32_t) void impl_CommonMethod_accessibilityTextHint(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) { Ark_NodeHandle self = reinterpret_cast(thisPtr); Deserializer thisDeserializer(thisArray, thisLength); diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_kind.h b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_kind.h index ce0c3f0e140..940da72e882 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_kind.h +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_kind.h @@ -3,12 +3,14 @@ #define _CALLBACK_KIND_H typedef enum CallbackKind { + Kind_AccessibilityActionInterceptCallback = -321958515, Kind_AccessibilityCallback = 589030517, Kind_AccessibilityFocusCallback = 1715445305, Kind_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem = 300202685, Kind_AsyncCallback_image_PixelMap_Void = 1289587365, Kind_AsyncCallback_TextMenuItem_TextRange_Boolean = -1581515233, Kind_ButtonTriggerClickCallback = -1964292933, + Kind_Callback_AccessibilityActionInterceptResult_Void = -1365174832, Kind_Callback_Any_Void = 197193081, Kind_Callback_Area_Area_Void = -2024393616, Kind_Callback_Array_Number_Void = 582384234, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_managed_caller.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_managed_caller.cc index 6659c3d1193..0490a5960d4 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_managed_caller.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/callback_managed_caller.cc @@ -20,6 +20,32 @@ #include "callbacks.h" #include "arkoala_api_generated.h" +void callManagedAccessibilityActionInterceptCallback(Ark_Int32 resourceId, Ark_AccessibilityAction action, Callback_AccessibilityActionInterceptResult_Void continuation) +{ + CallbackBuffer callbackBuffer = {{}, {}}; + const Ark_CallbackResource callbackResourceSelf = {resourceId, holdManagedCallbackResource, releaseManagedCallbackResource}; + callbackBuffer.resourceHolder.holdCallbackResource(&callbackResourceSelf); + SerializerBase argsSerializer = SerializerBase((KSerializerBuffer)&(callbackBuffer.buffer), sizeof(callbackBuffer.buffer), &(callbackBuffer.resourceHolder)); + argsSerializer.writeInt32(Kind_AccessibilityActionInterceptCallback); + argsSerializer.writeInt32(resourceId); + argsSerializer.writeInt32(static_cast(action)); + argsSerializer.writeCallbackResource(continuation.resource); + argsSerializer.writePointer(reinterpret_cast(continuation.call)); + argsSerializer.writePointer(reinterpret_cast(continuation.callSync)); + enqueueCallback(&callbackBuffer); +} +void callManagedAccessibilityActionInterceptCallbackSync(Ark_VMContext vmContext, Ark_Int32 resourceId, Ark_AccessibilityAction action, Callback_AccessibilityActionInterceptResult_Void continuation) +{ + uint8_t dataBuffer[4096]; + SerializerBase argsSerializer = SerializerBase((KSerializerBuffer)&dataBuffer, sizeof(dataBuffer), nullptr); + argsSerializer.writeInt32(Kind_AccessibilityActionInterceptCallback); + argsSerializer.writeInt32(resourceId); + argsSerializer.writeInt32(static_cast(action)); + argsSerializer.writeCallbackResource(continuation.resource); + argsSerializer.writePointer(reinterpret_cast(continuation.call)); + argsSerializer.writePointer(reinterpret_cast(continuation.callSync)); + KOALA_INTEROP_CALL_VOID(vmContext, 1, sizeof(dataBuffer), dataBuffer); +} void callManagedAccessibilityCallback(Ark_Int32 resourceId, Ark_Boolean isHover, Ark_AccessibilityHoverEvent event) { CallbackBuffer _buffer = {{}, {}}; @@ -168,6 +194,26 @@ void callManagedButtonTriggerClickCallbackSync(Ark_VMContext vmContext, Ark_Int3 argsSerializer.writeNumber(yPos); KOALA_INTEROP_CALL_VOID(vmContext, 1, sizeof(_buffer), _buffer); } +void callManagedCallback_AccessibilityActionInterceptResult_Void(Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value) +{ + CallbackBuffer callbackBuffer = {{}, {}}; + const Ark_CallbackResource callbackResourceSelf = {resourceId, holdManagedCallbackResource, releaseManagedCallbackResource}; + callbackBuffer.resourceHolder.holdCallbackResource(&callbackResourceSelf); + SerializerBase argsSerializer = SerializerBase((KSerializerBuffer)&(callbackBuffer.buffer), sizeof(callbackBuffer.buffer), &(callbackBuffer.resourceHolder)); + argsSerializer.writeInt32(Kind_Callback_AccessibilityActionInterceptResult_Void); + argsSerializer.writeInt32(resourceId); + argsSerializer.writeInt32(static_cast(value)); + enqueueCallback(&callbackBuffer); +} +void callManagedCallback_AccessibilityActionInterceptResult_VoidSync(Ark_VMContext vmContext, Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value) +{ + uint8_t dataBuffer[4096]; + SerializerBase argsSerializer = SerializerBase((KSerializerBuffer)&dataBuffer, sizeof(dataBuffer), nullptr); + argsSerializer.writeInt32(Kind_Callback_AccessibilityActionInterceptResult_Void); + argsSerializer.writeInt32(resourceId); + argsSerializer.writeInt32(static_cast(value)); + KOALA_INTEROP_CALL_VOID(vmContext, 1, sizeof(dataBuffer), dataBuffer); +} void callManagedCallback_Any_Void(Ark_Int32 resourceId, Ark_Object info) { CallbackBuffer _buffer = {{}, {}}; @@ -8085,12 +8131,15 @@ void callManagedSliderModifierBuilderSync(Ark_VMContext vmContext, Ark_Int32 res Ark_NativePointer getManagedCallbackCaller(CallbackKind kind) { switch (kind) { + + case Kind_AccessibilityActionInterceptCallback: return reinterpret_cast(callManagedAccessibilityActionInterceptCallback); case Kind_AccessibilityCallback: return reinterpret_cast(callManagedAccessibilityCallback); case Kind_AccessibilityFocusCallback: return reinterpret_cast(callManagedAccessibilityFocusCallback); case Kind_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem: return reinterpret_cast(callManagedAsyncCallback_Array_TextMenuItem_Array_TextMenuItem); case Kind_AsyncCallback_image_PixelMap_Void: return reinterpret_cast(callManagedAsyncCallback_image_PixelMap_Void); case Kind_AsyncCallback_TextMenuItem_TextRange_Boolean: return reinterpret_cast(callManagedAsyncCallback_TextMenuItem_TextRange_Boolean); case Kind_ButtonTriggerClickCallback: return reinterpret_cast(callManagedButtonTriggerClickCallback); + case Kind_Callback_AccessibilityActionInterceptResult_Void: return reinterpret_cast(callManagedCallback_AccessibilityActionInterceptResult_Void); case Kind_Callback_Any_Void: return reinterpret_cast(callManagedCallback_Any_Void); case Kind_Callback_Area_Area_Void: return reinterpret_cast(callManagedCallback_Area_Area_Void); case Kind_Callback_Array_Number_Void: return reinterpret_cast(callManagedCallback_Array_Number_Void); @@ -8410,12 +8459,14 @@ Ark_NativePointer getManagedCallbackCaller(CallbackKind kind) Ark_NativePointer getManagedCallbackCallerSync(CallbackKind kind) { switch (kind) { + case Kind_AccessibilityActionInterceptCallback: return reinterpret_cast(callManagedAccessibilityActionInterceptCallbackSync); case Kind_AccessibilityCallback: return reinterpret_cast(callManagedAccessibilityCallbackSync); case Kind_AccessibilityFocusCallback: return reinterpret_cast(callManagedAccessibilityFocusCallbackSync); case Kind_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem: return reinterpret_cast(callManagedAsyncCallback_Array_TextMenuItem_Array_TextMenuItemSync); case Kind_AsyncCallback_image_PixelMap_Void: return reinterpret_cast(callManagedAsyncCallback_image_PixelMap_VoidSync); case Kind_AsyncCallback_TextMenuItem_TextRange_Boolean: return reinterpret_cast(callManagedAsyncCallback_TextMenuItem_TextRange_BooleanSync); case Kind_ButtonTriggerClickCallback: return reinterpret_cast(callManagedButtonTriggerClickCallbackSync); + case Kind_Callback_AccessibilityActionInterceptResult_Void: return reinterpret_cast(callManagedCallback_AccessibilityActionInterceptResult_VoidSync); case Kind_Callback_Any_Void: return reinterpret_cast(callManagedCallback_Any_VoidSync); case Kind_Callback_Area_Area_Void: return reinterpret_cast(callManagedCallback_Area_Area_VoidSync); case Kind_Callback_Array_Number_Void: return reinterpret_cast(callManagedCallback_Array_Number_VoidSync); diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc index a750d2b0e26..1b6de172b29 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc @@ -3982,6 +3982,18 @@ namespace OHOS::Ace::NG::GeneratedModifier { out.append(") \n"); appendGroupedLog(1, out); } + void OnAccessibilityActionInterceptImpl(Ark_NativePointer node, + const Opt_AccessibilityActionInterceptCallback* value) + { + if (!needGroupedLog(1)) + { + return; + } + string out("onAccessibilityActionIntercept("); + WriteToString(&out, value); + out.append(") \n"); + appendGroupedLog(1, out); + } void AccessibilityTextHintImpl(Ark_NativePointer node, const Opt_String* value) { @@ -21102,6 +21114,7 @@ namespace OHOS::Ace::NG::GeneratedModifier { CommonMethodModifier::AccessibilityScrollTriggerableImpl, CommonMethodModifier::AccessibilityRoleImpl, CommonMethodModifier::OnAccessibilityFocusImpl, + CommonMethodModifier::OnAccessibilityActionInterceptImpl, CommonMethodModifier::AccessibilityTextHintImpl, CommonMethodModifier::AccessibilityDescription0Impl, CommonMethodModifier::AccessibilityDescription1Impl, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc index a389e207b28..10378541511 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc @@ -2180,6 +2180,10 @@ namespace OHOS::Ace::NG::GeneratedModifier { const Opt_AccessibilityFocusCallback* value) { } + void SetOnAccessibilityActionInterceptImpl(Ark_NativePointer node, + const Opt_AccessibilityActionInterceptCallback* value) + { + } void AccessibilityTextHintImpl(Ark_NativePointer node, const Opt_String* value) { @@ -9518,6 +9522,7 @@ namespace OHOS::Ace::NG::GeneratedModifier { CommonMethodModifier::AccessibilityScrollTriggerableImpl, CommonMethodModifier::AccessibilityRoleImpl, CommonMethodModifier::OnAccessibilityFocusImpl, + CommonMethodModifier::OnAccessibilityActionInterceptImpl, CommonMethodModifier::AccessibilityTextHintImpl, CommonMethodModifier::AccessibilityDescription0Impl, CommonMethodModifier::AccessibilityDescription1Impl, diff --git a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h index d737d13e359..0f952373445 100644 --- a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h +++ b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h @@ -260,6 +260,8 @@ typedef struct _Ark_Canvas* Ark_CanvasHandle; typedef struct Opt_Int32 Opt_Int32; +typedef struct AccessibilityActionInterceptCallback AccessibilityActionInterceptCallback; +typedef struct Opt_AccessibilityActionInterceptCallback Opt_AccessibilityActionInterceptCallback; typedef struct AccessibilityCallback AccessibilityCallback; typedef struct Opt_AccessibilityCallback Opt_AccessibilityCallback; typedef struct AccessibilityFocusCallback AccessibilityFocusCallback; @@ -1090,6 +1092,8 @@ typedef struct ButtonModifierBuilder ButtonModifierBuilder; typedef struct Opt_ButtonModifierBuilder Opt_ButtonModifierBuilder; typedef struct ButtonTriggerClickCallback ButtonTriggerClickCallback; typedef struct Opt_ButtonTriggerClickCallback Opt_ButtonTriggerClickCallback; +typedef struct Callback_AccessibilityActionInterceptResult_Void Callback_AccessibilityActionInterceptResult_Void; +typedef struct Opt_Callback_AccessibilityActionInterceptResult_Void Opt_Callback_AccessibilityActionInterceptResult_Void; typedef struct AsyncCallback_TextMenuItem_TextRange_Boolean AsyncCallback_TextMenuItem_TextRange_Boolean; typedef struct Opt_AsyncCallback_TextMenuItem_TextRange_Boolean Opt_AsyncCallback_TextMenuItem_TextRange_Boolean; typedef struct Callback_Any_Void Callback_Any_Void; @@ -3341,6 +3345,23 @@ typedef struct Ark_PopupButton Ark_PopupButton; typedef struct Opt_PopupButton Opt_PopupButton; typedef Ark_Object Ark_ContentModifier; typedef Opt_Object Opt_ContentModifier; +typedef enum Ark_AccessibilityAction { + ARK_ACCESSIBILITY_ACTION_UNDEFINED_ACTION = 0, + ARK_ACCESSIBILITY_ACTION_ACCESSIBILITY_CLICK = 1, +} Ark_AccessibilityAction; +typedef struct Opt_AccessibilityAction { + Ark_Tag tag; + Ark_AccessibilityAction value; +} Opt_AccessibilityAction; +typedef enum Ark_AccessibilityActionInterceptResult { + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_INTERCEPT = 0, + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_CONTINUE = 1, + ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_RISE = 2, +} Ark_AccessibilityActionInterceptResult; +typedef struct Opt_AccessibilityActionInterceptResult { + Ark_Tag tag; + Ark_AccessibilityActionInterceptResult value; +} Opt_AccessibilityActionInterceptResult; typedef enum Ark_AccessibilityHoverType { ARK_ACCESSIBILITY_HOVER_TYPE_HOVER_ENTER = 0, ARK_ACCESSIBILITY_HOVER_TYPE_HOVER_MOVE = 1, @@ -6877,6 +6898,16 @@ typedef struct Opt_Int32 { Ark_Tag tag; Ark_Int32 value; } Opt_Int32; +typedef struct AccessibilityActionInterceptCallback { + /* kind: Callback */ + Ark_CallbackResource resource; + void (*call)(const Ark_Int32 resourceId, Ark_AccessibilityAction action, const Callback_AccessibilityActionInterceptResult_Void continuation); + void (*callSync)(Ark_VMContext vmContext, const Ark_Int32 resourceId, Ark_AccessibilityAction action, const Callback_AccessibilityActionInterceptResult_Void continuation); +} AccessibilityActionInterceptCallback; +typedef struct Opt_AccessibilityActionInterceptCallback { + Ark_Tag tag; + AccessibilityActionInterceptCallback value; +} Opt_AccessibilityActionInterceptCallback; typedef struct AccessibilityCallback { Ark_CallbackResource resource; void (*call)(const Ark_Int32 resourceId, const Ark_Boolean isHover, const Ark_AccessibilityHoverEvent event); @@ -9303,6 +9334,16 @@ typedef struct Opt_ButtonTriggerClickCallback { Ark_Tag tag; ButtonTriggerClickCallback value; } Opt_ButtonTriggerClickCallback; +typedef struct Callback_AccessibilityActionInterceptResult_Void { + /* kind: Callback */ + Ark_CallbackResource resource; + void (*call)(const Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value); + void (*callSync)(Ark_VMContext vmContext, const Ark_Int32 resourceId, Ark_AccessibilityActionInterceptResult value); +} Callback_AccessibilityActionInterceptResult_Void; +typedef struct Opt_Callback_AccessibilityActionInterceptResult_Void { + Ark_Tag tag; + Callback_AccessibilityActionInterceptResult_Void value; +} Opt_Callback_AccessibilityActionInterceptResult_Void; typedef struct AsyncCallback_TextMenuItem_TextRange_Boolean { Ark_CallbackResource resource; void (*call)(const Ark_Int32 resourceId, const Ark_TextMenuItem menuItem, const Ark_TextRange range, const Callback_Boolean_Void continuation); @@ -20787,6 +20828,8 @@ typedef struct GENERATED_ArkUICommonMethodModifier { const Opt_AccessibilityRoleType* value); void (*setOnAccessibilityFocus)(Ark_NativePointer node, const Opt_AccessibilityFocusCallback* value); + void (*setOnAccessibilityActionIntercept)(Ark_NativePointer node, + const Opt_AccessibilityActionInterceptCallback* value); void (*setAccessibilityTextHint)(Ark_NativePointer node, const Opt_String* value); void (*setAccessibilityDescription0)(Ark_NativePointer node, diff --git a/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp b/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp index 84f0b853f8a..703397a84c0 100644 --- a/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp +++ b/frameworks/core/interfaces/native/implementation/common_method_modifier.cpp @@ -19,6 +19,7 @@ #include "base/utils/system_properties.h" #include "base/utils/time_util.h" +#include "core/accessibility/accessibility_utils.h" #include "core/accessibility/static/accessibility_static_utils.h" #include "core/components/common/properties/alignment.h" #include "core/components/common/properties/border_image.h" @@ -70,6 +71,7 @@ #include "frameworks/core/interfaces/native/implementation/bind_sheet_utils.h" #include "base/log/log_wrapper.h" + using namespace OHOS::Ace::NG::Converter; namespace { @@ -4669,6 +4671,23 @@ void OnAccessibilityFocusImpl(Ark_NativePointer node, }; ViewAbstractModelNG::SetOnAccessibilityFocus(frameNode, std::move(onFocus)); } +void OnAccessibilityActionInterceptImpl(Ark_NativePointer node, + const Opt_AccessibilityActionInterceptCallback* value) +{ + auto frameNode = reinterpret_cast(node); + CHECK_NULL_VOID(frameNode); + auto optValue = Converter::GetOptPtr(value); + if (!optValue) { + ViewAbstractModelNG::SetOnAccessibilityActionIntercept(frameNode, nullptr); + return; + } + auto onAccessibilityActionIntercept = [callback = CallbackHelper(*optValue)](AccessibilityInterfaceAction action) -> AccessibilityActionInterceptResult { + auto arkAccessibilityAction = Converter::ArkValue(action); + auto resultOpt = callback.InvokeWithOptConvertResult(arkAccessibilityAction); + return resultOpt.value_or(AccessibilityActionInterceptResult::ACTION_CONTINUE); + }; + ViewAbstractModelNG::SetOnAccessibilityActionIntercept(frameNode, std::move(onAccessibilityActionIntercept)); +} void AccessibilityTextHintImpl(Ark_NativePointer node, const Opt_String* value) { @@ -6135,6 +6154,7 @@ const GENERATED_ArkUICommonMethodModifier* GetCommonMethodModifier() CommonMethodModifier::AccessibilityScrollTriggerableImpl, CommonMethodModifier::AccessibilityRoleImpl, CommonMethodModifier::OnAccessibilityFocusImpl, + CommonMethodModifier::OnAccessibilityActionInterceptImpl, CommonMethodModifier::AccessibilityTextHintImpl, CommonMethodModifier::AccessibilityDescription0Impl, CommonMethodModifier::AccessibilityDescription1Impl, diff --git a/frameworks/core/interfaces/native/utility/converter.h b/frameworks/core/interfaces/native/utility/converter.h index fbb6737ddd9..dd4c492d5bb 100644 --- a/frameworks/core/interfaces/native/utility/converter.h +++ b/frameworks/core/interfaces/native/utility/converter.h @@ -654,6 +654,8 @@ namespace Converter { // SORTED_SECTION: No multiline declarations, please! template<> void AssignCast(std::optional& dst, const Ark_ResolutionQuality& src); + template<> void AssignCast(std::optional& dst, const Ark_AccessibilityAction& src); + template<> void AssignCast(std::optional& dst, const Ark_AccessibilityActionInterceptResult& src); template<> void AssignCast(std::optional& dst, const Ark_AccessibilityHoverType& src); template<> void AssignCast(std::optional& dst, const Ark_AdaptiveColor& src); template<> void AssignCast(std::optional& dst, const Ark_Alignment& src); diff --git a/frameworks/core/interfaces/native/utility/converter_enums.cpp b/frameworks/core/interfaces/native/utility/converter_enums.cpp index 6a667f37e61..aea4de0a936 100644 --- a/frameworks/core/interfaces/native/utility/converter_enums.cpp +++ b/frameworks/core/interfaces/native/utility/converter_enums.cpp @@ -1146,6 +1146,27 @@ void AssignCast(std::optional& dst, const Ark_Accessib } } +template<> +void AssignCast(std::optional& dst, const Ark_AccessibilityAction& src) +{ + switch (src) { + case ARK_ACCESSIBILITY_ACTION_UNDEFINED_ACTION: dst = AccessibilityInterfaceAction::UNDEFINED_ACTION; break; + case ARK_ACCESSIBILITY_ACTION_ACCESSIBILITY_CLICK: dst = AccessibilityInterfaceAction::ACCESSIBILITY_CLICK; break; + default: LOGE("Unexpected enum value in Ark_AccessibilityAction: %{public}d", src); + } +} + +template<> +void AssignCast(std::optional& dst, const Ark_AccessibilityActionInterceptResult& src) +{ + switch (src) { + case ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_INTERCEPT: dst = AccessibilityActionInterceptResult::ACTION_INTERCEPT; break; + case ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_CONTINUE: dst = AccessibilityActionInterceptResult::ACTION_CONTINUE; break; + case ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_RISE: dst = AccessibilityActionInterceptResult::ACTION_RISE; break; + default: LOGE("Unexpected enum value in Ark_AccessibilityActionInterceptResult: %{public}d", src); + } +} + template<> void AssignCast(std::optional& dst, const Ark_AdaptiveColor& src) { diff --git a/frameworks/core/interfaces/native/utility/generated/converter_generated.h b/frameworks/core/interfaces/native/utility/generated/converter_generated.h index 1e2dadf838d..d69f4533bc9 100644 --- a/frameworks/core/interfaces/native/utility/generated/converter_generated.h +++ b/frameworks/core/interfaces/native/utility/generated/converter_generated.h @@ -3226,6 +3226,9 @@ void WithOptional(const name& src, T call) { \ } \ } ASSIGN_OPT(Opt_Int32) +ASSIGN_OPT(Opt_AccessibilityActionInterceptCallback) +ASSIGN_OPT(Opt_AccessibilityAction) +ASSIGN_OPT(Opt_AccessibilityActionInterceptResult) ASSIGN_OPT(Opt_AccessibilityCallback) ASSIGN_OPT(Opt_AccessibilityFocusCallback) ASSIGN_OPT(Opt_AccessibilityHoverType) @@ -3898,6 +3901,7 @@ ASSIGN_OPT(Opt_AsyncCallback_Array_TextMenuItem_Array_TextMenuItem) ASSIGN_OPT(Opt_AsyncCallback_image_PixelMap_Void) ASSIGN_OPT(Opt_AsyncCallback_TextMenuItem_TextRange_Boolean) ASSIGN_OPT(Opt_ButtonTriggerClickCallback) +ASSIGN_OPT(Opt_Callback_AccessibilityActionInterceptResult_Void) ASSIGN_OPT(Opt_Callback_Any_Void) ASSIGN_OPT(Opt_Callback_Area_Area_Void) ASSIGN_OPT(Opt_Callback_Array_Number_Void) diff --git a/frameworks/core/interfaces/native/utility/reverse_converter.h b/frameworks/core/interfaces/native/utility/reverse_converter.h index 7f8b62173b7..e294afdf38f 100644 --- a/frameworks/core/interfaces/native/utility/reverse_converter.h +++ b/frameworks/core/interfaces/native/utility/reverse_converter.h @@ -175,6 +175,8 @@ namespace OHOS::Ace::NG::Converter { } // SORTED_SECTION + void AssignArkValue(Ark_AccessibilityAction& dst, const AccessibilityInterfaceAction& src); + void AssignArkValue(Ark_AccessibilityActionInterceptResult& dst, const AccessibilityActionInterceptResult& src); void AssignArkValue(Ark_AccessibilityHoverType& dst, const AccessibilityHoverAction& src); void AssignArkValue(Ark_Affinity& dst, const Ace::TextAffinity& src); void AssignArkValue(Ark_Affinity& dst, const TextAffinity& src); diff --git a/frameworks/core/interfaces/native/utility/reverse_converter_enums.cpp b/frameworks/core/interfaces/native/utility/reverse_converter_enums.cpp index f3cfba9dd93..4e8ccb4c9ce 100644 --- a/frameworks/core/interfaces/native/utility/reverse_converter_enums.cpp +++ b/frameworks/core/interfaces/native/utility/reverse_converter_enums.cpp @@ -24,6 +24,31 @@ #include "reverse_converter.h" namespace OHOS::Ace::NG::Converter { +void AssignArkValue(Ark_AccessibilityAction& dst, const AccessibilityInterfaceAction& src) +{ + switch (src) { + case AccessibilityInterfaceAction::UNDEFINED_ACTION: dst = ARK_ACCESSIBILITY_ACTION_UNDEFINED_ACTION; break; + case AccessibilityInterfaceAction::ACCESSIBILITY_CLICK: dst = ARK_ACCESSIBILITY_ACTION_ACCESSIBILITY_CLICK; break; + default: + dst = static_cast(-1); + LOGE("Unexpected enum value in Ark_AccessibilityAction: %{public}d", src); + break; + } +} + +void AssignArkValue(Ark_AccessibilityActionInterceptResult& dst, const AccessibilityActionInterceptResult& src) +{ + switch (src) { + case AccessibilityActionInterceptResult::ACTION_INTERCEPT: dst = ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_INTERCEPT; break; + case AccessibilityActionInterceptResult::ACTION_CONTINUE: dst = ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_CONTINUE; break; + case AccessibilityActionInterceptResult::ACTION_RISE: dst = ARK_ACCESSIBILITY_ACTION_INTERCEPT_RESULT_ACTION_RISE; break; + default: + dst = static_cast(-1); + LOGE("Unexpected enum value in Ark_AccessibilityActionInterceptResult: %{public}d", src); + break; + } +} + void AssignArkValue(Ark_AccessibilityHoverType& dst, const AccessibilityHoverAction& src) { switch (src) { -- Gitee