From af8168fa3483e897e83a045b016a76d760e60490 Mon Sep 17 00:00:00 2001 From: Ilya Erokhin Date: Fri, 20 Jun 2025 15:31:07 +0300 Subject: [PATCH] Working config for v103 Signed-off-by: Ilya Erokhin --- arkoala-arkts/arkui/sdk/NativeLog.ets | 2 + arkoala-arkts/arkui/src/CallbacksChecker.ts | 2 +- arkoala-arkts/arkui/src/ets/Application.ets | 4 +- .../arkui/src/ets/CallbacksChecker.ets | 2 +- arkoala-arkts/arkui/src/ets/NativeLog.ets | 4 + .../src/generated/arkoala_api_generated.h | 2 +- .../har/app/arkoala/BuildProfile.ets | 15 - .../har/arkoala-har-bundle/bundle.mjs | 10 +- .../har/arkoala-har-bundle/loader.js | 6 +- arkoala-arkts/shopping/user/src/ets/hello.ets | 2 +- .../user/src/ets/pages/collect/collected.ets | 14 +- .../src/ets/pages/collect/singlePage1.ets | 10 +- .../src/ets/pages/collect/singlePage2.ets | 10 +- .../src/ets/pages/collect/singlePage3.ets | 2 +- .../user/src/ets/pages/homePage/User.ets | 34 +- .../user/src/ets/pages/homePage/boutique.ets | 6 +- .../user/src/ets/pages/homePage/cart.ets | 8 +- .../user/src/ets/pages/homePage/goodsList.ets | 6 +- .../user/src/ets/pages/homePage/imageItem.ets | 8 +- .../src/ets/pages/homePage/informance.ets | 2 +- .../user/src/ets/pages/homePage/other.ets | 4 +- .../user/src/ets/pages/homePage/shopCart.ets | 22 +- .../user/src/ets/pages/homePage/visitPage.ets | 2 +- .../user/src/ets/pages/index-entry.ets | 6 +- .../trivial/user/app/user/BuildProfile.ets | 15 - interop/src/cpp/common-interop.cc | 1 - interop/src/cpp/vmloader.cc | 325 ++---------------- 27 files changed, 116 insertions(+), 408 deletions(-) diff --git a/arkoala-arkts/arkui/sdk/NativeLog.ets b/arkoala-arkts/arkui/sdk/NativeLog.ets index 71899660d3..85576b22ae 100644 --- a/arkoala-arkts/arkui/sdk/NativeLog.ets +++ b/arkoala-arkts/arkui/sdk/NativeLog.ets @@ -28,6 +28,8 @@ export class NativeLog { getNativeLog(group: int32): string { throw new Error('stub') } printNativeLog(group: int32) {} + + directLog(str: string) {} } export function nLog(...data: (object|int32|float32|boolean|string|undefined)[]): void {} diff --git a/arkoala-arkts/arkui/src/CallbacksChecker.ts b/arkoala-arkts/arkui/src/CallbacksChecker.ts index 31d5cead01..ae129841b9 100644 --- a/arkoala-arkts/arkui/src/CallbacksChecker.ts +++ b/arkoala-arkts/arkui/src/CallbacksChecker.ts @@ -24,7 +24,7 @@ enum CallbackEventKind { Event_ReleaseManagedResource = 2, } -const bufferSize = 4096 +const bufferSize = 4100 const buffer = new KBuffer(bufferSize) const deserializer = new Deserializer(buffer.buffer, bufferSize) export function checkArkoalaCallbacks() { diff --git a/arkoala-arkts/arkui/src/ets/Application.ets b/arkoala-arkts/arkui/src/ets/Application.ets index 96a038ee6e..604641d25d 100644 --- a/arkoala-arkts/arkui/src/ets/Application.ets +++ b/arkoala-arkts/arkui/src/ets/Application.ets @@ -539,7 +539,6 @@ export class Application implements UserApplicationControl { static createApplication(appUrl: string, userPandaFilesPath: string, params: string, useNativeLog: boolean, vmKind: int32): Application { let suffix = vmKind == 2 ? "ets" : "ani" - console.log(`Use ${suffix} flavour`) registerNativeModuleLibraryName("InteropNativeModule", `ArkoalaNative_${suffix}`) registerNativeModuleLibraryName("ArkUINativeModule", `ArkoalaNative_${suffix}`) registerNativeModuleLibraryName("ArkUIGeneratedNativeModule", `ArkoalaNative_${suffix}`) @@ -548,7 +547,8 @@ export class Application implements UserApplicationControl { // TODO remove this line once we fix static blocks loadLibrary(`ArkoalaNative_${suffix}`) - // + + InteropNativeModule._NativeLog(`Use ${suffix} flavour, appUrl = ${appUrl}`) Application.linker.addAbcFiles(userPandaFilesPath) const userView = Application.linker.createUserObject(appUrl) as UserView diff --git a/arkoala-arkts/arkui/src/ets/CallbacksChecker.ets b/arkoala-arkts/arkui/src/ets/CallbacksChecker.ets index 5f10d8c463..d52d51bb70 100644 --- a/arkoala-arkts/arkui/src/ets/CallbacksChecker.ets +++ b/arkoala-arkts/arkui/src/ets/CallbacksChecker.ets @@ -23,7 +23,7 @@ enum CallbackEventKind { Event_ReleaseManagedResource = 2, } -const bufferSize = 4096 +const bufferSize = 4100 const buffer = new KBuffer(bufferSize) const deserializer = new DeserializerBase(buffer.buffer, bufferSize) export function checkArkoalaCallbacks() { diff --git a/arkoala-arkts/arkui/src/ets/NativeLog.ets b/arkoala-arkts/arkui/src/ets/NativeLog.ets index 982cb60e3b..b20ea9a637 100644 --- a/arkoala-arkts/arkui/src/ets/NativeLog.ets +++ b/arkoala-arkts/arkui/src/ets/NativeLog.ets @@ -55,6 +55,10 @@ export class NativeLog { printNativeLog(group: int32) { InteropNativeModule._PrintGroupedLog(group) } + + directLog(str: string) { + InteropNativeModule._NativeLog(str) + } } export function nLog(...data: (object|int32|float32|boolean|string|undefined)[]): void { diff --git a/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h b/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h index d61d9e8e82..8373ef75d7 100644 --- a/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h +++ b/arkoala-arkts/framework/native/src/generated/arkoala_api_generated.h @@ -194,7 +194,7 @@ typedef struct InteropObject { // The only include allowed in this file! Do not add anything else ever. #include -#define GENERATED_ARKUI_FULL_API_VERSION 9999 +#define GENERATED_ARKUI_FULL_API_VERSION 130 #define GENERATED_ARKUI_NODE_API_VERSION GENERATED_ARKUI_FULL_API_VERSION #define GENERATED_ARKUI_BASIC_NODE_API_VERSION 1 diff --git a/arkoala-arkts/har/app/arkoala/BuildProfile.ets b/arkoala-arkts/har/app/arkoala/BuildProfile.ets index 703587f8e5..3a501e5dde 100644 --- a/arkoala-arkts/har/app/arkoala/BuildProfile.ets +++ b/arkoala-arkts/har/app/arkoala/BuildProfile.ets @@ -1,18 +1,3 @@ -/* - * Copyright (c) 2025 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - /** * Use these variables when you tailor your ArkTS code. They must be of the const type. */ diff --git a/arkoala-arkts/har/arkoala-har-bundle/bundle.mjs b/arkoala-arkts/har/arkoala-har-bundle/bundle.mjs index ffdb6617e8..4af1085a51 100644 --- a/arkoala-arkts/har/arkoala-har-bundle/bundle.mjs +++ b/arkoala-arkts/har/arkoala-har-bundle/bundle.mjs @@ -47,15 +47,7 @@ export function wrapOnWindowStageCreate(receiver) { } let newCb = (err, data, ...rest) => { windowStage.getMainWindowSync().getUIContext().runScopedTask(() => { - let abilityInfo = receiver.context.abilityInfo - let bundleName = abilityInfo.bundleName, moduleName = abilityInfo.moduleName - - var appName = bundleName.split(".").map(item => item.charAt(0).toUpperCase() + item.slice(1)).join('') - - console.log(">>>>>", appName) - - // startArkoala(url, { bundleName, moduleName }); - checkLoader(`panda-${vmkind}`, appName) + checkLoader(`panda-${vmkind}`) }); return cb?.(err, data, ...rest); }; diff --git a/arkoala-arkts/har/arkoala-har-bundle/loader.js b/arkoala-arkts/har/arkoala-har-bundle/loader.js index 57a163bf8a..55f601f3cf 100644 --- a/arkoala-arkts/har/arkoala-har-bundle/loader.js +++ b/arkoala-arkts/har/arkoala-har-bundle/loader.js @@ -105,7 +105,7 @@ export async function runEventLoop() { console.log("EXIT_APP"); process?.exit(0) } -export function checkLoader(vmkind, appName) { +export function checkLoader(vmkind) { let vm = -1; let classPath = `/data/storage/el1/bundle/libs/__ARCH__`; let nativePath = classPath; @@ -119,9 +119,9 @@ export function checkLoader(vmkind, appName) { break; } } - let result = nativeModule()._LoadVirtualMachine(vm, classPath, nativePath); + let result = nativeModule()._LoadVirtualMachine(vm, classPath, classPath, nativePath); if (result == 0) { - rootPointer = nativeModule()._StartApplication(appName, "ArkTSLoaderParam"); + rootPointer = nativeModule()._StartApplication("@ohos.example.src.ets.entry.Entry", "ArkTSLoaderParam"); if (rootPointer != 0) { setTimeout(async () => runEventLoop(), 0); } diff --git a/arkoala-arkts/shopping/user/src/ets/hello.ets b/arkoala-arkts/shopping/user/src/ets/hello.ets index ff9c731bf0..7765ab0b43 100644 --- a/arkoala-arkts/shopping/user/src/ets/hello.ets +++ b/arkoala-arkts/shopping/user/src/ets/hello.ets @@ -19,7 +19,7 @@ import { Button, Column, ColumnOptions, ClickEvent } from "@ohos.arkui" struct Hello { @State state: number = 1 build() { - Column({}) { + Column({} as ColumnOptions) { Button("One").width(200).height(100) Button("Two").width(200).height(100) Button("Click! " + this.state).width(200).height(100) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/collect/collected.ets b/arkoala-arkts/shopping/user/src/ets/pages/collect/collected.ets index ee968baa30..460e95a116 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/collect/collected.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/collect/collected.ets @@ -56,8 +56,8 @@ struct CollectedPage { */ build() { - Column({}) { - Column({}) { + Column({} as ColumnOptions) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Image('/resources/icon/arrow_left.png') .width(30 * this.ratio) @@ -73,7 +73,7 @@ struct CollectedPage { .fontSize(15 * this.ratio) }.fontSize(18 * this.ratio) - Row({}) { + Row({} as RowOptions) { Image('/resources/icon/search.png') .width(25 * this.ratio) .aspectRatio(1) @@ -88,17 +88,17 @@ struct CollectedPage { Tabs({}) { TabContent() { Stack({ alignContent: Alignment.TopEnd }) { - Column({}) { + Column({} as ColumnOptions) { if (this.layoutId == 0) { - Column({}) { + Column({} as ColumnOptions) { SinglePage1({ ratio: this.ratio }) } } else if (this.layoutId == 1) { - Column({}) { + Column({} as ColumnOptions) { SinglePage2({ ratio: this.ratio }) } } else { - Column({}) { + Column({} as ColumnOptions) { SinglePage3({ ratio: this.ratio }) } } diff --git a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage1.ets b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage1.ets index 82c0ecb55e..b06e09b3fc 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage1.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage1.ets @@ -24,7 +24,7 @@ export struct SinglePage1 { @State collected: boolean = true; build() { - Column({}) { + Column({} as ColumnOptions) { if (this.collected) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { @@ -61,15 +61,15 @@ export struct SinglePage1 { .border({ radius: 5 } as BorderOptions) .padding(10) - Column({}) { - Row({}) { + Column({} as ColumnOptions) { + Row({} as RowOptions) { Image(this.collectData.src) .width('40%') .height('100%') .objectFit(ImageFit.Contain) .border({ radius: 10 * this.ratio } as BorderOptions) - Row({}) { - Column({}) { + Row({} as RowOptions) { + Column({} as ColumnOptions) { Text(this.collectData.name) .fontSize(15 * this.ratio) .fontWeight(FontWeight.Bolder) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage2.ets b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage2.ets index 686986bfd1..b95d442c02 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage2.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage2.ets @@ -24,7 +24,7 @@ export struct SinglePage2 { '300+人收藏', '¥4500', true);; build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ alignItems: ItemAlign.Center }) { @@ -51,8 +51,8 @@ export struct SinglePage2 { .border({ radius: 5 } as BorderOptions) .padding(10) - Row({}) { - Column({}) { + Row({} as RowOptions) { + Column({} as ColumnOptions) { Text('最近收藏') .fontSize(15 * this.ratio) .margin({ top: 10, bottom: 10 } as Margin) @@ -66,9 +66,9 @@ export struct SinglePage2 { .alignItems(HorizontalAlign.Start) .padding({ left: 10 } as Padding) - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Column({}) { + Column({} as ColumnOptions) { Image(this.collectData.src) .width('20%') .height('8%') diff --git a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage3.ets b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage3.ets index dd3ef01bd5..b21f33f7ba 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage3.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/collect/singlePage3.ets @@ -22,7 +22,7 @@ export struct SinglePage3 { '【首降600+12期免息】XX/XXMate 40 Pro 5G 全网通 (亮黑色) 超大内存 极快网速 全球n多人的选择,你值得拥有', '300+人收藏', '¥4500', true); build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ alignItems: ItemAlign.Center }) { diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets index fcfe58106f..ee13631a92 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/User.ets @@ -35,21 +35,21 @@ export struct User { build() { Scroll({}) { - Column({}) { - Row({}) { + Column({} as ColumnOptions) { + Row({} as RowOptions) { Image(this.url) .width(90 * this.ratio) .aspectRatio(1) .objectFit(ImageFit.Contain) .border({ radius: 45 * this.ratio } as BorderOptions) .margin(10) - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Text(this.cardName) .fontSize(15 * this.ratio) .fontWeight(FontWeight.Bold) .margin({ top: 10, bottom: 5 } as Margin) - Row({}) { + Row({} as RowOptions) { Image('/resources/icon/code.png') .width(30 * this.ratio) .aspectRatio(1) @@ -63,7 +63,7 @@ export struct User { } .padding({ right: 20 } as Padding) - Row({}) { + Row({} as RowOptions) { Text(this.signName) .fontSize(10 * this.ratio) .fontColor(Color.Grey) @@ -78,7 +78,7 @@ export struct User { .width('52%') .margin({ top: 5, bottom: 5 } as Margin) - Row({}) { + Row({} as RowOptions) { Text('关注 100') .fontSize(10 * this.ratio) .margin({ right: 10 } as Margin) @@ -97,7 +97,7 @@ export struct User { Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) { ForEach(this.record, (item: RecordModel) => { - Column({}) { + Column({} as ColumnOptions) { Image(item.img) .width(30 * this.ratio) .aspectRatio(1) @@ -119,7 +119,7 @@ export struct User { } Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Row({}) { + Row({} as RowOptions) { Text('活动') .fontSize(12 * this.ratio) .fontColor(Color.White) @@ -131,7 +131,7 @@ export struct User { .fontSize(13 * this.ratio) } - Row({}) { + Row({} as RowOptions) { Text('去看看') .fontSize(14 * this.ratio) .fontColor(Color.Grey) @@ -146,12 +146,12 @@ export struct User { .backgroundColor(Color.White) .border({ radius: 10 * this.ratio } as BorderOptions) - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Text('我的订单') .fontSize(14 * this.ratio) .fontWeight(FontWeight.Bolder) - Row({}) { + Row({} as RowOptions) { Text('全部') .fontSize(14 * this.ratio) .fontColor(Color.Grey) @@ -164,7 +164,7 @@ export struct User { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { ForEach(this.orderData, (item: OrderModel) => { - Column({}) { + Column({} as ColumnOptions) { Image(item.img) .width(30 * this.ratio) .aspectRatio(1) @@ -211,10 +211,10 @@ export struct User { .backgroundColor(Color.White) .border({ radius: 10 * this.ratio } as BorderOptions) - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) { ForEach(this.discountData, (item: DiscountModel) => { - Column({}) { + Column({} as ColumnOptions) { Image(item.img) .width(35 * this.ratio) .aspectRatio(1) @@ -236,10 +236,10 @@ export struct User { .backgroundColor(Color.White) .border({ radius: 10 * this.ratio } as BorderOptions) - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) { ForEach(this.serviceData, (item: ServiceModel) => { - Column({}) { + Column({} as ColumnOptions) { Image(item.img) .width(30 * this.ratio) .aspectRatio(1) @@ -257,7 +257,7 @@ export struct User { .backgroundColor(Color.White) .border({ radius: 10 * this.ratio } as BorderOptions) - Column({}) { + Column({} as ColumnOptions) { Core2({ ratio: this.ratio }) } .margin({ top: 10 } as Margin) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/boutique.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/boutique.ets index 5ea78b8a7b..d7f67398a4 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/boutique.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/boutique.ets @@ -24,17 +24,17 @@ export struct Boutique { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ wrap: FlexWrap.Wrap, direction: FlexDirection.Row }) { ForEach(this.boutiqueData, (item: BoutiqueModel) => { - Column({}) { + Column({} as ColumnOptions) { Text(item.text1) .fontSize(15 * this.ratio) .fontWeight(item.text2) Text(item.text2) .fontSize(15 * this.ratio) .margin(5) - Row({}) { + Row({} as RowOptions) { Image(item.img1) .width('45%') .aspectRatio(0.8) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/cart.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/cart.ets index d8dca9699d..61c1958034 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/cart.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/cart.ets @@ -21,16 +21,16 @@ export struct Cart { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Row({}) { + Row({} as RowOptions) { Image('/resources/homeImg/imgLoads/product004.png') .width(130 * this.ratio) .aspectRatio(1) .objectFit(ImageFit.Contain) .border({ radius: 10 * this.ratio } as BorderOptions) Flex({ justifyContent: FlexAlign.SpaceBetween, direction: FlexDirection.Column }) { - Column({}) { + Column({} as ColumnOptions) { Text('功能手机5G网速') .fontSize(15 * this.ratio) .fontWeight(FontWeight.Bolder) @@ -44,7 +44,7 @@ export struct Cart { .margin({ bottom: 20 } as Margin) Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Row({}) { + Row({} as RowOptions) { Text('¥') .fontSize(12 * this.ratio) .fontColor(Color.Red) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/goodsList.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/goodsList.ets index 0aab5c54b5..7cd274ee84 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/goodsList.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/goodsList.ets @@ -52,7 +52,7 @@ struct GGGItem { @Link ratio: number build() { GridItem({}) { - Column({}) { + Column({} as ColumnOptions) { Image(this.data.uri) .width('100%') .height('40%') @@ -62,7 +62,7 @@ struct GGGItem { .fontSize(16 * this.ratio) .fontWeight(600) .margin({ bottom: 10, left: 10 } as Margin) - Row({}) { + Row({} as RowOptions) { Text(this.data.labels) .fontSize(10 * this.ratio) .border({ width: 1, color: '#FA808080' } as BorderOptions) @@ -111,7 +111,7 @@ export struct GoodsList { } build() { - Column({}) { + Column({} as ColumnOptions) { Grid(undefined, undefined) { LazyForEach(this.data, (item: Number, index: number): void => { GGGItem({ data: this.productData[item.valueOf() % 14], ratio: this.ratio }) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/imageItem.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/imageItem.ets index 19564e703f..b8e7294272 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/imageItem.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/imageItem.ets @@ -29,7 +29,7 @@ export struct ImageItem { @State iconSrc: Array = findIconSrcData build() { - Column({}) { + Column({} as ColumnOptions) { Image(this.imgSrc[this.itemNum].imgSrc) .width('100%') .height('70%') @@ -40,7 +40,7 @@ export struct ImageItem { .maxLines(2) .textOverflow({ overflow: TextOverflow.Ellipsis } as TextOverflowOptions) .height('15%') - Row({}) { + Row({} as RowOptions) { Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) { Image(this.iconSrc[this.itemNum].iconSrc) .width(20 * this.ratio) @@ -57,8 +57,8 @@ export struct ImageItem { .width('66%') .height('100%') - Row({}) { - Row({}) { + Row({} as RowOptions) { + Row({} as RowOptions) { Image(`${this.flag ? '/resources/icon/hearted.png' : '/resources/icon/heart.png'}`) .width(20 * this.ratio) .aspectRatio(1) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/informance.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/informance.ets index d57dda6ca4..9f725c9dd8 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/informance.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/informance.ets @@ -37,7 +37,7 @@ export struct Information { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Button("CallFetchWithCoroutine") .backgroundColor(this.color1) .width(200).height(100) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/other.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/other.ets index 89bf69abf1..3c0843afd4 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/other.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/other.ets @@ -24,7 +24,7 @@ export struct Other { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Image(this.shopCartItem[this.item].img) .width('95%') .aspectRatio(0.8) @@ -36,7 +36,7 @@ export struct Other { .padding({ left: 10, right: 10 } as Padding) .textOverflow({ overflow: TextOverflow.Ellipsis } as TextOverflowOptions) Flex({ alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceBetween }) { - Row({}) { + Row({} as RowOptions) { Text("", {}) { Span('¥') .fontSize(10 * this.ratio) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/shopCart.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/shopCart.ets index 625faee384..1eb736252c 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/shopCart.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/shopCart.ets @@ -27,9 +27,9 @@ export struct ShopCart { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Row({}) { + Row({} as RowOptions) { Text('购物车') .fontSize(15 * this.ratio) .fontWeight(FontWeight.Bold) @@ -49,10 +49,10 @@ export struct ShopCart { .padding({ top: 8, bottom: 8 } as Padding) Scroll({}) { - Column({}) { - Column({}) { + Column({} as ColumnOptions) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { - Row({}) { + Row({} as RowOptions) { Image('/resources/icon/smile.png') .width(30 * this.ratio) .aspectRatio(1) @@ -76,7 +76,7 @@ export struct ShopCart { .fontSize(15 * this.ratio) .fontColor('#80FF0000') .margin({ right: 10 } as Margin) - Column({}) { + Column({} as ColumnOptions) { Image('/resources/icon/hearted.png') .width('70%') .aspectRatio(1) @@ -97,19 +97,19 @@ export struct ShopCart { } .margin({ top: 10, bottom: 10 } as Margin) - Row({}) { - Column({}) { + Row({} as RowOptions) { + Column({} as ColumnOptions) { ForEach(this.cartNum, (item: Number) => { - Column({}) { + Column({} as ColumnOptions) { Other({ item: item.valueOf() % 6, ratio: this.ratio }) } }, (item: Number): string => cacheId(item.valueOf())) } .margin(2) - Column({}) { + Column({} as ColumnOptions) { ForEach(this.cartNum, (item: Number) => { - Column({}) { + Column({} as ColumnOptions) { Other({ item: item.valueOf() % 6, ratio: this.ratio }) } }, (item: Number): string => cacheId(item.valueOf())) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/homePage/visitPage.ets b/arkoala-arkts/shopping/user/src/ets/pages/homePage/visitPage.ets index b35231e458..6a932f0a47 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/homePage/visitPage.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/homePage/visitPage.ets @@ -24,7 +24,7 @@ export struct VisitPage { @Prop ratio: number build() { - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) { Image('/resources/icon/camera.png') .width(30 * this.ratio) diff --git a/arkoala-arkts/shopping/user/src/ets/pages/index-entry.ets b/arkoala-arkts/shopping/user/src/ets/pages/index-entry.ets index e15b801bc5..9a9e2d16b8 100644 --- a/arkoala-arkts/shopping/user/src/ets/pages/index-entry.ets +++ b/arkoala-arkts/shopping/user/src/ets/pages/index-entry.ets @@ -69,8 +69,8 @@ struct Index { build() { Stack({}) { Navigation(this.pathInfos) { - Column({}) { - Column({}) { + Column({} as ColumnOptions) { + Column({} as ColumnOptions) { Tabs({ barPosition: BarPosition.Start, controller: this.controller, index: this.tabsIndex }) { TabContent() { MainPage({ num: this.width1, ratio: this.ratio }) @@ -90,7 +90,7 @@ struct Index { .animationDuration(200) .height('92%') - Column({}) { + Column({} as ColumnOptions) { Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) { ForEach(this.tabTittleData, (item: TabTitleModel) => { Flex({ diff --git a/arkoala-arkts/trivial/user/app/user/BuildProfile.ets b/arkoala-arkts/trivial/user/app/user/BuildProfile.ets index 703587f8e5..3a501e5dde 100644 --- a/arkoala-arkts/trivial/user/app/user/BuildProfile.ets +++ b/arkoala-arkts/trivial/user/app/user/BuildProfile.ets @@ -1,18 +1,3 @@ -/* - * Copyright (c) 2025 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - /** * Use these variables when you tailor your ArkTS code. They must be of the const type. */ diff --git a/interop/src/cpp/common-interop.cc b/interop/src/cpp/common-interop.cc index ca9d1979ec..4665f4b4ff 100644 --- a/interop/src/cpp/common-interop.cc +++ b/interop/src/cpp/common-interop.cc @@ -359,7 +359,6 @@ void impl_Free(KNativePointer data) { KOALA_INTEROP_DIRECT_V1(Free, KNativePointer) KInt impl_ReadByte(KNativePointer data, KLong index, KLong length) { - if (index >= length) INTEROP_FATAL("impl_ReadByte: index %lld is equal or greater than length %lld", (long long)index, (long long) length); uint8_t* ptr = reinterpret_cast(data); return ptr[index]; } diff --git a/interop/src/cpp/vmloader.cc b/interop/src/cpp/vmloader.cc index 9efbfeff33..877ba6cd86 100644 --- a/interop/src/cpp/vmloader.cc +++ b/interop/src/cpp/vmloader.cc @@ -29,10 +29,6 @@ #include "jni.h" #endif -#ifdef KOALA_ETS_NAPI -#include "etsapi.h" -#endif - #ifdef KOALA_ANI #include "ani.h" #endif @@ -59,11 +55,9 @@ #ifdef KOALA_ANI #define KOALA_USE_PANDA_VM 1 #endif -#ifdef KOALA_ETS_NAPI -#define KOALA_USE_PANDA_VM 1 -#endif #endif +bool ends_with(std::string str, std::string suffix); void traverseDir(const std::string& root, std::vector& paths, std::string suffix, const std::vector& fallbackPaths = {}); struct VMLibInfo { @@ -87,12 +81,12 @@ const VMLibInfo javaVMLib = { }; #endif -#if defined(KOALA_ETS_NAPI) || defined(KOALA_ANI) +#if defined(KOALA_ANI) const VMLibInfo pandaVMLib = { // sdkPath #if defined(KOALA_OHOS) #ifdef KOALA_OHOS_ARM32 - "/system/lib" + "/system/lib/platformsdk" #elif KOALA_OHOS_ARM64 "/system/lib64" #else @@ -171,45 +165,6 @@ int loadES2Panda(const char* appClassPath, const char* appLibPath) { return 0; } -#ifdef KOALA_ETS_NAPI -namespace { - -enum PandaLog2MobileLog : int { - UNKNOWN = 0, - DEFAULT, - VERBOSE, - DEBUG, - INFO, - WARN, - ERROR, - FATAL, - SILENT, -}; - -int ArkMobileLog(int id, int level, const char *component, const char *fmt, const char *msg) -{ - switch (level) { - case PandaLog2MobileLog::DEFAULT: - case PandaLog2MobileLog::VERBOSE: - case PandaLog2MobileLog::DEBUG: - case PandaLog2MobileLog::INFO: - case PandaLog2MobileLog::SILENT: - LOGI("ArkRuntime [%" LOG_PUBLIC "s]: %" LOG_PUBLIC "s", component, msg); - break; - case PandaLog2MobileLog::UNKNOWN: - case PandaLog2MobileLog::WARN: - case PandaLog2MobileLog::ERROR: - case PandaLog2MobileLog::FATAL: - default: - LOGE("ArkRuntime [%" LOG_PUBLIC "s]: %" LOG_PUBLIC "s", component, msg); - break; - } - return 0; -} - -} -#endif - #ifdef KOALA_ANI static void AniMobileLog([[maybe_unused]] FILE *stream, int level, @@ -244,6 +199,7 @@ static std::string makeClasspath(const std::vector& files) static std::pair GetBootAndAppPandaFiles(const VMLibInfo* thisVM, const char* bootFilesPath, const char* userFilesPath) { std::vector bootFiles; + std::vector userFiles; #if USE_SYSTEM_ARKVM bootFiles.push_back(SYSTEM_ARK_STDLIB_PATH); #elif defined(KOALA_OHOS) @@ -258,17 +214,37 @@ static std::pair GetBootAndAppPandaFiles(const VMLibIn }); #endif - std::vector userFiles; - traverseDir(userFilesPath, userFiles, ".abc"); - std::sort(userFiles.begin(), userFiles.end()); - traverseDir(bootFilesPath, bootFiles, ".abc"); std::sort(bootFiles.begin(), bootFiles.end()); - if (bootFiles.empty() || userFiles.empty()) - return {"",""}; + if (std::string(userFilesPath) == std::string(bootFilesPath)) { + std::string userFileName = "user.abc"; + + traverseDir(userFilesPath, userFiles, userFileName); + std::sort(userFiles.begin(), userFiles.end()); + + #if defined(KOALA_OHOS) + userFileName += ".so"; + #endif + + std::vector filteredBootFiles; + std::copy_if(bootFiles.begin(), bootFiles.end(), std::back_inserter(filteredBootFiles), + [userFileName](const std::string& item) { return !ends_with(item, userFileName); }); + std::sort(filteredBootFiles.begin(), filteredBootFiles.end()); - return { makeClasspath(bootFiles), makeClasspath(userFiles) }; + if (filteredBootFiles.empty() || userFiles.empty()) + return {"",""}; + + return { makeClasspath(filteredBootFiles), makeClasspath(userFiles) }; + } else { + traverseDir(userFilesPath, userFiles, ".abc"); + std::sort(userFiles.begin(), userFiles.end()); + + if (bootFiles.empty() || userFiles.empty()) + return {"",""}; + + return { makeClasspath(bootFiles), makeClasspath(userFiles) }; + } } static std::string GetAOTFiles(const char* appClassPath) @@ -302,7 +278,7 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* bootFiles #ifdef KOALA_JNI (vmKind == JAVA_VM_KIND) ? &javaVMLib : #endif - #if defined(KOALA_ETS_NAPI) || defined(KOALA_ANI) + #if defined(KOALA_ANI) (vmKind == PANDA_VM_KIND || vmKind == PANDA_ANI_VM_KIND) ? &pandaVMLib : #endif nullptr; @@ -312,7 +288,7 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* bootFiles return -1; } - LOGI("Starting VM %" LOG_PUBLIC "d with bootFilesDir=%" LOG_PUBLIC "s bootFilesDir=%" LOG_PUBLIC "s native=%" LOG_PUBLIC "s", vmKind, bootFilesDir, userFilesDir, appLibPath); + LOGI("Starting VM %" LOG_PUBLIC "d with bootFilesDir=%" LOG_PUBLIC "s userFilesDir=%" LOG_PUBLIC "s native=%" LOG_PUBLIC "s", vmKind, bootFilesDir, userFilesDir, appLibPath); std::string libPath = #if USE_SYSTEM_ARKVM @@ -410,68 +386,6 @@ extern "C" DLL_EXPORT KInt LoadVirtualMachine(KInt vmKind, const char* bootFiles #endif /* KOALA_ANI */ // For now we use ETS API for VM startup and entry. -#if defined(KOALA_ETS_NAPI) - if (vmKind == PANDA_VM_KIND) { - EtsVMInitArgs pandaVMArgs; - pandaVMArgs.version = ETS_NAPI_VERSION_1_0; - std::vector etsVMOptions; - std::vector files; - traverseDir(std::string(bootFilesDir), files, ".abc"); - std::sort(files.begin(), files.end()); - std::vector files_aot; - traverseDir(std::string(bootFilesDir), files_aot, ".an"); - std::sort(files_aot.begin(), files_aot.end()); - etsVMOptions = { -#if USE_SYSTEM_ARKVM - {EtsOptionType::ETS_BOOT_FILE, SYSTEM_ARK_STDLIB_PATH}, -#elif defined(KOALA_OHOS) - {EtsOptionType::ETS_BOOT_FILE, (std::string(OHOS_USER_LIBS) + "/" + "etsstdlib.abc").c_str() }, - -#elif defined(KOALA_LINUX) || defined(KOALA_MACOS) || defined(KOALA_WINDOWS) - {EtsOptionType::ETS_BOOT_FILE, (char*)strdup((std::string(thisVM->sdkPath) + "/ets/etsstdlib.abc").c_str())}, -#endif - }; - std::string all_files; - for (const std::string& path : files) { - etsVMOptions.push_back({EtsOptionType::ETS_BOOT_FILE, (char*)strdup(path.c_str())}); - if (all_files.size() > 0) all_files.append(":"); - all_files.append(path); - } - LOGI("Using ETSNAPI: classpath \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files.c_str(), bootFilesDir); - std::string all_files_aot; - for (const std::string& path : files_aot) { - etsVMOptions.push_back({EtsOptionType::ETS_AOT_FILE, (char*)strdup(path.c_str())}); - if (all_files_aot.size() > 0) all_files_aot.append(":"); - all_files_aot.append(path); - } - LOGI("ETSNAPI classpath (aot) \"%" LOG_PUBLIC "s\" from %" LOG_PUBLIC "s", all_files_aot.c_str(), bootFilesDir); - etsVMOptions.push_back({EtsOptionType::ETS_GC_TRIGGER_TYPE, "heap-trigger"}); - etsVMOptions.push_back({EtsOptionType::ETS_NATIVE_LIBRARY_PATH, (char*)strdup(std::string(appLibPath).c_str())}); - etsVMOptions.push_back({EtsOptionType::ETS_VERIFICATION_MODE, "on-the-fly"}); - etsVMOptions.push_back({EtsOptionType::ETS_JIT, nullptr}); - etsVMOptions.push_back({EtsOptionType::ETS_MOBILE_LOG, (void*)ArkMobileLog}); - etsVMOptions.push_back({EtsOptionType::ETS_AOT, nullptr}); - pandaVMArgs.nOptions = etsVMOptions.size(); - pandaVMArgs.options = etsVMOptions.data(); - g_vmEntry.vmKind = vmKind; - - int32_t nVMs = 0; - typedef int (*createVM_t)(void** pVM, void** pEnv, void* vmInitArgs); - typedef int (*getVMs_t)(void** pVM, int32_t bufLen, int32_t* nVMs); - createVM_t createVM = (createVM_t)findSymbol(handle, "ETS_CreateVM"); - getVMs_t getVMs = (getVMs_t)findSymbol(handle, "ETS_GetCreatedVMs"); - result = getVMs ? getVMs(&vm, 1, &nVMs) : 0; - if (nVMs != 0) { - __EtsVM* vmInstance = (__EtsVM*)vm; - EtsEnv* pEnv = nullptr; - vmInstance->GetEnv(&pEnv, ETS_NAPI_VERSION_1_0); - env = static_cast(pEnv); - - } else { - result = createVM(&vm, &env, &pandaVMArgs); - } - } -#endif if (result != 0) { LOGE("Error creating a VM of kind %" LOG_PUBLIC "d: %" LOG_PUBLIC "d\n", vmKind, result); @@ -514,34 +428,6 @@ const AppInfo javaAppInfo = { }; #endif -#ifdef KOALA_ETS_NAPI -const AppInfo pandaAppInfo = { - "@ohos/arkui/Application/Application", - "createApplication", - "Lstd/core/String;Lstd/core/String;ZI:L@ohos/arkui/Application/Application;", - "start", - "J:J", - "enter", - "IIJ:Z", - "emitEvent", - "IIII:Lstd/core/String;", - "UNUSED", - "I:I" -}; -const AppInfo harnessAppInfo = { - "@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication", - "createApplication", - "Lstd/core/String;Lstd/core/String;ZI:L@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication;", - "start", - "J:J", - "enter", - "IIJ:Z", - "emitEvent", - "IIII:Lstd/core/String;", - "restartWith", - "Lstd/core/String;:V", - }; -#endif #ifdef KOALA_ANI const AppInfo harnessAniAppInfo = { "L@koalaui/ets-harness/src/EtsHarnessApplication/EtsHarnessApplication;", @@ -582,9 +468,6 @@ extern "C" DLL_EXPORT KNativePointer StartApplication(const char* appUrl, const #ifdef KOALA_JNI (g_vmEntry.vmKind == JAVA_VM_KIND) ? &javaAppInfo : #endif - #if defined(KOALA_ETS_NAPI) - (g_vmEntry.vmKind == PANDA_VM_KIND) ? isTestEnv ? &harnessAppInfo : &pandaAppInfo : - #endif #if defined(KOALA_ANI) (g_vmEntry.vmKind == PANDA_ANI_VM_KIND) ? isTestEnv ? &harnessAniAppInfo : &aniAppInfo : #endif @@ -630,83 +513,6 @@ extern "C" DLL_EXPORT KNativePointer StartApplication(const char* appUrl, const app, start)); } #endif -#if defined(KOALA_ETS_NAPI) - if (g_vmEntry.vmKind == PANDA_VM_KIND) { - EtsEnv* etsEnv = (EtsEnv*)g_vmEntry.env; - ets_class appClass = etsEnv->FindClass(appInfo->className); - if (!appClass) { - LOGE("Cannot load main class %" LOG_PUBLIC "s\n", appInfo->className); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return nullptr; - } - ets_method create = etsEnv->GetStaticp_method(appClass, appInfo->createMethodName, appInfo->createMethodSig); - if (!create) { - LOGE("Cannot find create method %" LOG_PUBLIC "s\n", appInfo->createMethodName); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return nullptr; - } - auto useNativeLog = false; - auto app = etsEnv->NewGlobalRef(etsEnv->CallStaticObjectMethod( - appClass, create, - etsEnv->NewStringUTF(appUrl), etsEnv->NewStringUTF(appParams), - useNativeLog, - g_vmEntry.vmKind - )); - if (!app) { - LOGE("createApplication returned null"); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - return nullptr; - } - return nullptr; - } - g_vmEntry.app = (void*)app; - auto start = etsEnv->Getp_method(appClass, appInfo->startMethodName, appInfo->startMethodSig); - g_vmEntry.enter = (void*)(etsEnv->Getp_method(appClass, appInfo->enterMethodName, nullptr /*appInfo->enterMethodSig */)); - if (!g_vmEntry.enter) { - LOGE("Cannot find enter method %" LOG_PUBLIC "s", appInfo->enterMethodName); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return nullptr; - } - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - return nullptr; - } - g_vmEntry.emitEvent = (void*)(etsEnv->Getp_method(appClass, appInfo->emitEventMethodName, appInfo->emitEventMethodSig)); - if (!g_vmEntry.emitEvent) { - LOGE("Cannot find enter emitEvent %" LOG_PUBLIC "s", appInfo->emitEventMethodSig); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return nullptr; - } - if (isTestEnv) { - g_vmEntry.restartWith = (void*)(etsEnv->Getp_method(appClass, appInfo->restartWithMethodName, appInfo->restartWithMethodSig)); - if (!g_vmEntry.restartWith) { - LOGE("Cannot find enter restartWith %" LOG_PUBLIC "s", appInfo->restartWithMethodSig); - if (etsEnv->ErrorCheck()) { - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return nullptr; - } - } - // TODO: pass app entry point! - return reinterpret_cast(etsEnv->CallLongMethod((ets_object)(app), start, &g_vmEntry.foreignVMContext)); - } -#endif #if defined(KOALA_ANI) if (g_vmEntry.vmKind == PANDA_ANI_VM_KIND) { auto *env = reinterpret_cast(g_vmEntry.env); @@ -840,28 +646,6 @@ extern "C" DLL_EXPORT KBoolean RunApplication(const KInt arg0, const KInt arg1) return result; } #endif -#if defined(KOALA_ETS_NAPI) - if (g_vmEntry.vmKind == PANDA_VM_KIND) { - EtsEnv* etsEnv = (EtsEnv*)(g_vmEntry.env); - if (!g_vmEntry.enter) { - LOGE("Cannot find enter method"); - return -1; - } - auto result = etsEnv->CallBooleanMethod( - (ets_object)(g_vmEntry.app), - (ets_method)(g_vmEntry.enter), - (ets_int)arg0, - (ets_int)arg1, - (int64_t)(intptr_t)(&g_vmEntry.foreignVMContext) - ); - if (etsEnv->ErrorCheck()) { - LOGE("Calling enter() method gave an error"); - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - return result; - } -#endif #if defined(KOALA_ANI) if (g_vmEntry.vmKind == PANDA_ANI_VM_KIND) { ani_env* env = reinterpret_cast(g_vmEntry.env); @@ -911,30 +695,6 @@ extern "C" DLL_EXPORT const char* EmitEvent(const KInt type, const KInt target, } #endif -#if defined(KOALA_ETS_NAPI) - if (g_vmEntry.vmKind == PANDA_VM_KIND) { - EtsEnv* etsEnv = (EtsEnv*)(g_vmEntry.env); - if (!g_vmEntry.emitEvent) { - LOGE("Cannot find emitEvent method"); - return "-1"; - } - auto rv = (ets_string)etsEnv->CallObjectMethod( - (ets_object)(g_vmEntry.app), - (ets_method)(g_vmEntry.emitEvent), - (ets_int)type, - (ets_int)target, - (ets_int)arg0, - (ets_int)arg1 - ); - if (etsEnv->ErrorCheck()) { - LOGE("Calling emitEvent() method gave an error"); - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - const char *result = etsEnv->GetStringUTFChars(rv, 0); - return result; - } -#endif #if defined(KOALA_ANI) if (g_vmEntry.vmKind == PANDA_ANI_VM_KIND) { ani_env *env = reinterpret_cast(g_vmEntry.env); @@ -997,25 +757,6 @@ extern "C" DLL_EXPORT void RestartWith(const char* page) } } #endif -#if defined(KOALA_ETS_NAPI) - if (g_vmEntry.vmKind == PANDA_VM_KIND) { - EtsEnv* etsEnv = (EtsEnv*)(g_vmEntry.env); - if (!g_vmEntry.restartWith) { - LOGE("Cannot find restartWith method"); - return; - } - etsEnv->CallVoidMethod( - (ets_object)(g_vmEntry.app), - (ets_method)(g_vmEntry.restartWith), - etsEnv->NewStringUTF(page) - ); - if (etsEnv->ErrorCheck()) { - LOGE("Calling restartWith() method gave an error"); - etsEnv->ErrorDescribe(); - etsEnv->ErrorClear(); - } - } -#endif #if defined(KOALA_ANI) if (g_vmEntry.vmKind == PANDA_ANI_VM_KIND) { ani_env *env = reinterpret_cast(g_vmEntry.env); -- Gitee