From 51a398347b3b4e185b0744591b0e68b358f057a9 Mon Sep 17 00:00:00 2001 From: tsatsulya Date: Tue, 5 Aug 2025 16:29:14 +0300 Subject: [PATCH] Restrict enum and number comparison Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICR1OO Signed-off-by: tsatsulya --- .../@ohos.arkui.advanced.ComposeTitleBar.ets | 8 ++++---- .../@ohos.arkui.advanced.MultiNavigation.ets | 6 +++--- .../@ohos.arkui.advanced.SelectTitleBar.ets | 8 +++++--- .../subheader/@ohos.arkui.advanced.SubHeader.ets | 2 +- .../tabtitlebar/@ohos.arkui.advanced.TabTitleBar.ets | 8 ++++---- .../koala_mirror/interop/src/arkts/DeserializerBase.ts | 2 +- .../koala_projects/interop/src/arkts/DeserializerBase.ts | 2 +- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/advanced_ui_component_static/composetitlebar/@ohos.arkui.advanced.ComposeTitleBar.ets b/advanced_ui_component_static/composetitlebar/@ohos.arkui.advanced.ComposeTitleBar.ets index 7acac2de046..efe05d96351 100644 --- a/advanced_ui_component_static/composetitlebar/@ohos.arkui.advanced.ComposeTitleBar.ets +++ b/advanced_ui_component_static/composetitlebar/@ohos.arkui.advanced.ComposeTitleBar.ets @@ -364,8 +364,8 @@ struct CollapsibleMenuSection { this.isMoreIconOnHover = isOn }) .onKeyEvent((event: KeyEvent) => { - if (event.keyCode !== KeyCode.KEYCODE_ENTER && - event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && + event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return; } if (event.type === KeyType.Down) { @@ -612,7 +612,7 @@ struct ImageMenuItem { if (!this.item.isEnabled) { return } - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return } if (event.type === KeyType.Down) { @@ -712,7 +712,7 @@ struct ImageMenuItem { if (!this.item.isEnabled) { return } - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return } if (event.type === KeyType.Down) { diff --git a/advanced_ui_component_static/multinavigation/@ohos.arkui.advanced.MultiNavigation.ets b/advanced_ui_component_static/multinavigation/@ohos.arkui.advanced.MultiNavigation.ets index a9c53b81e41..c7fa949bbe6 100644 --- a/advanced_ui_component_static/multinavigation/@ohos.arkui.advanced.MultiNavigation.ets +++ b/advanced_ui_component_static/multinavigation/@ohos.arkui.advanced.MultiNavigation.ets @@ -254,7 +254,7 @@ export struct SubNavigation { if (DeviceHelper.isPhone() && DeviceHelper.isStraightProduct()) { return NavigationMode.Stack; } - if (this.displayMode === display.FoldStatus.FOLD_STATUS_UNKNOWN) { + if (this.displayMode === display.FoldStatus.FOLD_STATUS_UNKNOWN.valueOf()) { try { this.displayMode = display.getFoldStatus(); } catch (err) { @@ -530,7 +530,7 @@ class SubNavigationStack { private replaceSecond(info: MultiNavPolicyInfo, animated?: boolean): void { this.secondaryStack.policyInfoList.pop(); this.secondaryStack.policyInfoList.push(info) - return this.secondaryStack.replacePath(info.navInfo as NavPathInfo, + return this.secondaryStack.replacePath(info.navInfo as NavPathInfo, {launchMode:LaunchMode.STANDARD,animated: animated} as NavigationOptions); } @@ -1613,7 +1613,7 @@ export class MultiNavPathStack extends NavPathStack { return false; } if (DeviceHelper.isPhone() && DeviceHelper.isFold() && - this.needRenderDisplayMode.displayMode === display.FoldStatus.FOLD_STATUS_FOLDED) { + this.needRenderDisplayMode.displayMode === display.FoldStatus.FOLD_STATUS_FOLDED.valueOf()) { console.log('do not show placeHolder for fold status'); return false; } diff --git a/advanced_ui_component_static/selecttitlebar/@ohos.arkui.advanced.SelectTitleBar.ets b/advanced_ui_component_static/selecttitlebar/@ohos.arkui.advanced.SelectTitleBar.ets index 0f7160888ed..04114b62aea 100644 --- a/advanced_ui_component_static/selecttitlebar/@ohos.arkui.advanced.SelectTitleBar.ets +++ b/advanced_ui_component_static/selecttitlebar/@ohos.arkui.advanced.SelectTitleBar.ets @@ -379,7 +379,7 @@ struct CollapsibleMenuSection { this.isMoreIconOnHover = isOn }) .onKeyEvent((event: KeyEvent) => { - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return } if (event.type === KeyType.Down) { @@ -624,7 +624,8 @@ struct ImageMenuItem { if (!this.item.isEnabled) { return } - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && + event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return } if (event.type === KeyType.Down) { @@ -697,7 +698,8 @@ struct ImageMenuItem { if (!this.item.isEnabled) { return } - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && + event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return } if (event.type === KeyType.Down) { diff --git a/advanced_ui_component_static/subheader/@ohos.arkui.advanced.SubHeader.ets b/advanced_ui_component_static/subheader/@ohos.arkui.advanced.SubHeader.ets index 3d3c2a72023..73ea58472b5 100644 --- a/advanced_ui_component_static/subheader/@ohos.arkui.advanced.SubHeader.ets +++ b/advanced_ui_component_static/subheader/@ohos.arkui.advanced.SubHeader.ets @@ -282,7 +282,7 @@ export struct SubHeader { if (!event) { return; } - if ((event.keyCode === KeyCode.KEYCODE_SPACE || event.keyCode === KeyCode.KEYCODE_ENTER) && + if ((event.keyCode === KeyCode.KEYCODE_SPACE.valueOf() || event.keyCode === KeyCode.KEYCODE_ENTER.valueOf()) && event.type === KeyType.Down) { if ((this.operationType === OperationType.TEXT_ARROW || this.operationType === OperationType.BUTTON) && this.operationItem && this.operationItem.length > 0 && this.operationItem[0].action) { diff --git a/advanced_ui_component_static/tabtitlebar/@ohos.arkui.advanced.TabTitleBar.ets b/advanced_ui_component_static/tabtitlebar/@ohos.arkui.advanced.TabTitleBar.ets index 277b5183143..e400da26346 100644 --- a/advanced_ui_component_static/tabtitlebar/@ohos.arkui.advanced.TabTitleBar.ets +++ b/advanced_ui_component_static/tabtitlebar/@ohos.arkui.advanced.TabTitleBar.ets @@ -409,7 +409,7 @@ export struct CollapsibleMenuSection { this.isMoreIconOnHover = isOn; }) .onKeyEvent((event: KeyEvent): boolean => { - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return false; } if (event.type === KeyType.Down) { @@ -601,7 +601,7 @@ struct TabContentItem { this.isOnHover = isOn; }) .onKeyEvent((event: KeyEvent): boolean => { - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return false; } if (event.type === KeyType.Down) { @@ -696,7 +696,7 @@ struct TabContentItem { this.isOnHover = isOn; }) .onKeyEvent((event: KeyEvent): boolean => { - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return false; } if (event.type === KeyType.Down) { @@ -902,7 +902,7 @@ struct ImageMenuItem { if (!this.item.isEnabled) { return false; } - if (event.keyCode !== KeyCode.KEYCODE_ENTER && event.keyCode !== KeyCode.KEYCODE_SPACE) { + if (event.keyCode !== KeyCode.KEYCODE_ENTER.valueOf() && event.keyCode !== KeyCode.KEYCODE_SPACE.valueOf()) { return false; } if (event.type === KeyType.Down) { diff --git a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts index 5388affb848..49cb91199fc 100644 --- a/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts +++ b/frameworks/bridge/arkts_frontend/koala_mirror/interop/src/arkts/DeserializerBase.ts @@ -163,7 +163,7 @@ export class DeserializerBase implements Disposable { this._position = newPos const value = unsafeMemory.readInt8(pos); - if (value == Tags.UNDEFINED) + if (value == Tags.UNDEFINED.valueOf()) return false; return value == 1 diff --git a/frameworks/bridge/arkts_frontend/koala_projects/interop/src/arkts/DeserializerBase.ts b/frameworks/bridge/arkts_frontend/koala_projects/interop/src/arkts/DeserializerBase.ts index 4579c40d237..e0682e9cc10 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/interop/src/arkts/DeserializerBase.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/interop/src/arkts/DeserializerBase.ts @@ -163,7 +163,7 @@ export class DeserializerBase implements Disposable { this._position = newPos const value = unsafeMemory.readInt8(pos); - if (value == Tags.UNDEFINED) + if (value == Tags.UNDEFINED.valueOf()) return false; return value == 1 -- Gitee