From 8bf191591b3e8c5aec2cf8a6d327595358214638 Mon Sep 17 00:00:00 2001 From: sunlian Date: Tue, 16 Apr 2024 15:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E6=94=B9=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: sunlian --- .../benchmark_arkts_compiler}/.gitignore | 0 .../AppScope/app.json5 | 10 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin .../benchmark_arkts_compiler/README_CN.md | 53 + .../build-profile.json5 | 0 .../entry/.gitignore | 0 .../entry/build-profile.json5 | 0 .../entry/hvigorfile.ts | 0 .../entry/obfuscation-rules.txt | 0 .../entry/oh-package.json5 | 10 + .../src/main/ets/cases}/BenchmarkMeasure.ts | 0 .../entry/src/main/ets/cases}/Octane/box2d.ts | 0 .../src/main/ets/cases}/Octane/deltablue.ts | 0 .../main/ets/cases}/Octane/navier-stoke.ts | 0 .../src/main/ets/cases}/Octane/raytrace.ts | 0 .../src/main/ets/cases}/Octane/richards.ts | 0 .../src/main/ets/cases}/SunSpider/base64.ts | 0 .../main/ets/cases}/SunSpider/crypto-aes.ts | 0 .../main/ets/cases}/SunSpider/crypto-md5.ts | 0 .../main/ets/cases}/SunSpider/crypto-sha1.ts | 0 .../main/ets/entryability/EntryAbility.ets | 0 .../entry/src/main/ets/pages/Index.ets | 41 + .../entry/src/main/module.json5 | 0 .../main}/resources/base/element/color.json | 0 .../main/resources/base}/element/string.json | 0 .../src/main/resources/base/media/icon.png | Bin .../main/resources/base/media/startIcon.png | Bin .../resources/base/profile/main_pages.json | 0 .../main/resources/en_US/element/string.json | 0 .../main/resources/zh_CN/element/string.json | 16 + .../src/ohosTest/ets/test/Ability.test.ets | 0 .../entry/src/ohosTest/ets/test/List.test.ets | 0 .../ohosTest/ets/testability/TestAbility.ets | 0 .../ohosTest/ets/testability/pages/Index.ets | 0 .../ets/testrunner/OpenHarmonyTestRunner.ets | 0 .../entry/src/ohosTest/module.json5 | 0 .../resources/base/element/color.json | 0 .../resources/base/element/string.json | 0 .../ohosTest/resources/base/media/icon.png | Bin .../resources/base/profile/test_pages.json | 0 .../entry/src/test/List.test.ets | 0 .../entry/src/test/LocalUnit.test.ets | 0 .../hvigor/hvigor-config.json5 | 0 .../hvigor/hvigor-wrapper.js | 0 .../benchmark_arkts_compiler}/hvigorfile.ts | 0 .../arkts/benchmark_arkts_compiler}/hvigorw | 0 .../benchmark_arkts_compiler}/hvigorw.bat | 0 .../oh-package-lock.json5 | 0 .../benchmark_arkts_compiler/oh-package.json5 | 13 + .../screenshots/home.png | Bin 0 -> 67609 bytes .../compiler_workload/mix-case/README_CN.md | 88 -- .../compiler_workload/mix-case/run_all.py | 144 --- .../mix-case/swift/Octane/deltablue.swift | 787 --------------- .../mix-case/swift/Octane/navier-stoke.swift | 565 ----------- .../mix-case/swift/Octane/raytrace.swift | 767 --------------- .../mix-case/swift/Octane/richards.swift | 606 ------------ .../mix-case/swift/SunSpider/base64.swift | 280 ------ .../mix-case/swift/SunSpider/crypto-aes.swift | 534 ---------- .../mix-case/swift/SunSpider/crypto-md5.swift | 392 -------- .../swift/SunSpider/crypto-sha1.swift | 318 ------ .../compiler_workload/mix-case/swift/run.sh | 57 -- .../compiler_workload/mix-case/ts/run.sh | 63 -- scenario/{arkui/MyWps => MyDoc}/.gitignore | 0 .../{arkui/MyWps => MyDoc}/AppScope/app.json5 | 20 +- .../resources/base/element/string.json | 16 +- .../resources/base/media/app_icon.png | Bin scenario/{arkui/MyWps => MyDoc}/README_zh.md | 0 .../MyWps => MyDoc}/build-profile.json5 | 96 +- .../{arkui/MyMusic => MyDoc}/entry/.gitignore | 0 .../entry/build-profile.json5 | 0 .../MyMusic => MyDoc}/entry/hvigorfile.ts | 0 .../entry/obfuscation-rules.txt | 0 .../MyMusic => MyDoc}/entry/oh-package.json5 | 0 .../main/ets/entryability/EntryAbility.ets | 86 +- .../entry/src/main/ets/pages/Index.ets | 0 .../entry/src/main/ets/pages/wps/HomePage.ets | 460 ++++----- .../entry/src/main/module.json5 | 0 .../main/resources/base/element/color.json | 466 ++++----- .../main/resources/base/element/string.json | 0 .../src/main/resources/base/media/file.png | Bin .../main/resources/base/media/ic_dialog.png | Bin .../resources/base/media/ic_image_dirs.png | Bin .../resources/base/media/ic_image_effects.png | Bin .../base/media/ic_image_wpsdaoke.png | Bin .../base/media/ic_image_wpsenddoc.png | Bin .../base/media/ic_image_wpsevent.png | Bin .../base/media/ic_image_wpsfilter.png | Bin .../base/media/ic_image_wpshomepage.png | Bin .../resources/base/media/ic_image_wpsme.png | Bin .../base/media/ic_image_wpsservice.png | Bin .../base/media/ic_image_wpsstart.png | Bin .../resources/base/media/ic_images_wpsdoc.png | Bin .../resources/base/media/ic_images_wpsdot.png | Bin .../base/media/ic_images_wpsexcel.png | Bin .../main/resources/base/media/ic_search.png | Bin .../media/ic_select_option_collection.png | Bin .../src/main/resources/base/media/ic_user.png | Bin .../src/main/resources/base/media/icon.png | Bin .../src/main/resources/base/media/image.png | Bin .../src/main/resources/base/media/myAudio.png | Bin .../main/resources/base/media/startIcon.png | Bin .../resources/base/media/utdType_back.svg | 0 .../src/main/resources/base/media/video.png | Bin .../resources/base/profile/main_pages.json | 0 .../main/resources/en_US/element/string.json | 16 + .../main/resources/zh_CN/element/string.json | 0 .../src/ohosTest/ets/test/Ability.test.ets | 0 .../entry/src/ohosTest/ets/test/List.test.ets | 5 + .../ohosTest/ets/testability/TestAbility.ets | 0 .../ohosTest/ets/testability/pages/Index.ets | 0 .../ets/testrunner/OpenHarmonyTestRunner.ets | 0 .../entry/src/ohosTest/module.json5 | 0 .../resources/base/element/color.json | 0 .../resources/base/element/string.json | 0 .../ohosTest}/resources/base/media/icon.png | Bin .../resources/base/profile/test_pages.json | 0 .../entry/src/test/List.test.ets | 0 .../entry/src/test/LocalUnit.test.ets | 0 .../hvigor/hvigor-config.json5 | 0 .../MyNews => MyDoc}/hvigor/hvigor-wrapper.js | 0 .../{arkui/MyShopping => MyDoc}/hvigorfile.ts | 0 scenario/{arkui/MyMusic => MyDoc}/hvigorw | 0 scenario/{arkui/MyMusic => MyDoc}/hvigorw.bat | 0 .../MyNews => MyDoc}/oh-package-lock.json5 | 0 .../{arkui/MyWps => MyDoc}/oh-package.json5 | 24 +- .../MyWps => MyDoc}/screenshots/main.png | Bin scenario/MyMap/.gitignore | 11 + scenario/{arkui => }/MyMap/AppScope/app.json5 | 20 +- .../resources/base/element/string.json | 16 +- .../resources/base/media/app_icon.png | Bin .../resources/base/media/icon_fMyMap.png | Bin scenario/{arkui => }/MyMap/README_zh.md | 100 +- .../{arkui => }/MyMap/build-profile.json5 | 128 +-- .../{arkui/MyNews => MyMap}/entry/.gitignore | 0 .../MyMap/entry/build-profile.json5 | 92 +- .../MyShopping => MyMap}/entry/hvigorfile.ts | 0 .../entry/obfuscation-rules.txt | 0 .../{arkui => }/MyMap/entry/oh-package.json5 | 50 +- .../main/ets/entryability/EntryAbility.ets | 116 +-- .../MyMap/entry/src/main/ets/pages/Index.ets | 0 .../entry/src/main/ets/pages/map/travel.ets | 914 +++++++++--------- .../MyMap/entry/src/main/ets/util/Logger.ts | 0 .../MyMap/entry/src/main/module.json5 | 104 +- .../main/resources/base/element/color.json | 786 +++++++-------- .../main/resources/base/element/string.json | 0 .../base/media/background_fMyMap.png | Bin .../base/media/circle_guide_fMyMap.png | Bin .../base/media/ic_custom_dialog_voice.png | Bin .../resources/base/media/ic_gray_fMyMap.png | Bin .../resources/base/media/ic_orange_fMyMap.png | Bin .../resources/base/media/ic_purple_fMyMap.png | Bin .../resources/base/media/ic_right_arrow.png | Bin .../resources/base/media/icon_blue_fMyMap.png | Bin .../main/resources/base/media/icon_fMyMap.png | Bin .../base/media/icon_feedback_fMyMap.png | Bin .../base/media/icon_green_fMyMap.png | Bin .../resources/base/media/icon_path_fMyMap.png | Bin .../resources/base/media/layer_fMyMap.png | Bin .../resources/base/media/location_fMyMap.png | Bin .../base/media/openMicrophone_fMyMap.png | Bin .../resources/base/media/photo_fMyMap.png | Bin .../resources/base/media/search_fMyMap.png | Bin .../main/resources/base/media/startIcon.png | Bin .../resources/base/media/upArrow_fMyMap.png | Bin .../resources/base/profile/main_pages.json | 0 .../main/resources/en_US/element/string.json | 16 + .../main/resources/zh_CN/element/string.json | 0 .../src/ohosTest/ets/test/Ability.test.ets | 0 .../entry/src/ohosTest/ets/test/List.test.ets | 0 .../ohosTest/ets/testability/TestAbility.ets | 0 .../ohosTest/ets/testability/pages/Index.ets | 0 .../ets/testrunner/OpenHarmonyTestRunner.ets | 0 .../MyMap/entry/src/ohosTest/module.json5 | 104 +- .../resources/base/element/color.json | 0 .../resources/base/element/string.json | 0 .../ohosTest/resources/base/media/icon.png | Bin .../resources/base/profile/test_pages.json | 0 .../MyMap/entry/src/test/List.test.ets | 0 .../MyMap/entry/src/test/LocalUnit.test.ets | 0 .../MyMap/hvigor/hvigor-config.json5 | 66 +- .../MyMap/hvigor/hvigor-wrapper.js | 0 scenario/{arkui => }/MyMap/hvigorfile.ts | 0 scenario/{arkui/MyNews => MyMap}/hvigorw | 0 scenario/{arkui/MyNews => MyMap}/hvigorw.bat | 0 scenario/{arkui => }/MyMap/oh-package.json5 | 24 +- .../{arkui => }/MyMap/screenshots/main.jpeg | Bin scenario/{arkui => }/MyMusic/.gitignore | 0 .../{arkui => }/MyMusic/AppScope/app.json5 | 0 .../resources/base/element/string.json | 0 .../resources/base/media/app_icon.png | Bin scenario/{arkui => }/MyMusic/README_zh.md | 0 .../{arkui => }/MyMusic/build-profile.json5 | 0 .../MyShopping => MyMusic}/entry/.gitignore | 0 .../entry/build-profile.json5 | 0 .../MyWps => MyMusic}/entry/hvigorfile.ts | 0 .../entry/obfuscation-rules.txt | 0 .../MyNews => MyMusic}/entry/oh-package.json5 | 0 .../ets/common/constants/CommonConstants.ets | 0 .../entry/src/main/ets/common/utils/Logger.ts | 0 .../src/main/ets/entryability/EntryAbility.ts | 0 .../entry/src/main/ets/manager/AudioItem.ets | 0 .../src/main/ets/manager/PlayerManager.ets | 0 .../entry/src/main/ets/pages/LoginPage.ets | 0 .../entry/src/main/ets/pages/MainPage.ets | 0 .../entry/src/main/ets/view/BookFirstItem.ets | 0 .../src/main/ets/view/BookSecondItem.ets | 0 .../entry/src/main/ets/view/BookTriItem.ets | 0 .../entry/src/main/ets/view/Community.ets | 0 .../src/main/ets/view/CommunityHeadRight.ets | 0 .../entry/src/main/ets/view/CommunityRoom.ets | 0 .../src/main/ets/view/CommunitySquare.ets | 0 .../src/main/ets/view/CommunityVideo.ets | 0 .../entry/src/main/ets/view/FindHead.ets | 0 .../entry/src/main/ets/view/Follow.ets | 0 .../entry/src/main/ets/view/FollowHead.ets | 0 .../MyMusic/entry/src/main/ets/view/Home.ets | 0 .../entry/src/main/ets/view/ListHead.ets | 0 .../src/main/ets/view/ListHistoryItem.ets | 0 .../entry/src/main/ets/view/MidItem.ets | 0 .../MyMusic/entry/src/main/ets/view/Mine.ets | 0 .../entry/src/main/ets/view/MineActivity.ets | 0 .../src/main/ets/view/MineActivityItem.ets | 0 .../entry/src/main/ets/view/MineHead.ets | 0 .../entry/src/main/ets/view/MineInfo.ets | 0 .../entry/src/main/ets/view/MineListItem.ets | 0 .../entry/src/main/ets/view/MineMusic.ets | 0 .../entry/src/main/ets/view/MinePodCast.ets | 0 .../entry/src/main/ets/view/MineUserItem.ets | 0 .../entry/src/main/ets/view/PlayList.ets | 0 .../entry/src/main/ets/view/PlayerBar.ets | 0 .../entry/src/main/ets/view/PlayerDetail.ets | 0 .../entry/src/main/ets/view/PodCast.ets | 0 .../src/main/ets/view/PodCastBigItem.ets | 0 .../src/main/ets/view/PodCastContentFirst.ets | 0 .../main/ets/view/PodCastContentFourth.ets | 0 .../main/ets/view/PodCastContentSecond.ets | 0 .../src/main/ets/view/PodCastContentThird.ets | 0 .../entry/src/main/ets/view/PodCastHead.ets | 0 .../src/main/ets/view/PodCastHeadRight.ets | 0 .../src/main/ets/view/PodCastListenItem.ets | 0 .../entry/src/main/ets/view/RadioItem.ets | 0 .../src/main/ets/view/SelectFirstItem.ets | 0 .../entry/src/main/ets/view/Setting.ets | 0 .../entry/src/main/ets/view/SmallItem.ets | 0 .../entry/src/main/ets/view/SquareTriItem.ets | 0 .../entry/src/main/ets/view/TriItem.ets | 0 .../entry/src/main/ets/view/TriTitleItem.ets | 0 .../entry/src/main/ets/view/VideoMV.ets | 0 .../src/main/ets/view/VideoMVDataSource.ets | 0 .../src/main/ets/view/VideoRecommend.ets | 0 .../src/main/ets/view/VideoRecommendItem.ets | 0 .../main/ets/viewmodel/BookTriItemData.ets | 0 .../main/ets/viewmodel/FollowerItemData.ets | 0 .../entry/src/main/ets/viewmodel/ItemData.ets | 0 .../src/main/ets/viewmodel/ListHeadData.ets | 0 .../ets/viewmodel/ListHistoryItemData.ets | 0 .../entry/src/main/ets/viewmodel/LrcLine.ets | 0 .../src/main/ets/viewmodel/MainViewModel.ets | 0 .../src/main/ets/viewmodel/MidItemData.ets | 0 .../ets/viewmodel/MineActivityItemData.ets | 0 .../main/ets/viewmodel/MineListItemData.ets | 0 .../main/ets/viewmodel/PodCastBigItemData.ets | 0 .../src/main/ets/viewmodel/RadioItemData.ets | 0 .../ets/viewmodel/SelectFirstItemData.ets | 0 .../main/ets/viewmodel/SettingItemData.ets | 0 .../main/ets/viewmodel/SquareTriItemData.ets | 0 .../src/main/ets/viewmodel/TriItemData.ets | 0 .../main/ets/viewmodel/TriTitleItemData.ets | 0 .../main/ets/viewmodel/VideoMVItemData.ets | 0 .../ets/viewmodel/VideoRecommendItemData.ets | 0 .../MyMusic/entry/src/main/module.json5 | 0 .../main/resources/base/element/color.json | 0 .../main/resources/base/element/float.json | 0 .../main/resources/base/element/string.json | 0 .../src/main/resources/base/media/about.png | Bin .../src/main/resources/base/media/account.png | Bin .../src/main/resources/base/media/arrow.png | Bin .../src/main/resources/base/media/brand.png | Bin .../src/main/resources/base/media/brand1.png | Bin .../src/main/resources/base/media/circle.png | Bin .../src/main/resources/base/media/data.png | Bin .../resources/base/media/discover_normal.png | Bin .../base/media/discover_selected.png | Bin .../main/resources/base/media/favorite.png | Bin .../src/main/resources/base/media/fig1.png | Bin .../src/main/resources/base/media/fig2.png | Bin .../src/main/resources/base/media/fig21.png | Bin .../src/main/resources/base/media/fig3.png | Bin .../src/main/resources/base/media/fig31.png | Bin .../src/main/resources/base/media/fig4.png | Bin .../src/main/resources/base/media/fig41.png | Bin .../src/main/resources/base/media/fig5.png | Bin .../src/main/resources/base/media/found.png | Bin .../main/resources/base/media/green2023.png | Bin .../main/resources/base/media/home_normal.png | Bin .../resources/base/media/home_selected.png | Bin .../base/media/ic_files_new_folder.png | Bin .../ic_gallery_frame_overlay_soundphoto.png | Bin .../base/media/ic_gallery_photoedit_more.png | Bin .../base/media/ic_message_continue.png | Bin .../resources/base/media/ic_message_emoji.png | Bin .../resources/base/media/ic_public_add.png | Bin .../base/media/ic_public_add_norm_filled.png | Bin .../base/media/ic_public_appstore_filled.png | Bin .../media/ic_public_appstore_filled_red.png | Bin .../base/media/ic_public_arrow_down_0.png | Bin .../base/media/ic_public_arrow_right.png | Bin .../base/media/ic_public_arrow_right_grey.png | Bin .../base/media/ic_public_arrow_right_red.png | Bin .../resources/base/media/ic_public_cancel.png | Bin .../base/media/ic_public_close_bk.png | Bin .../base/media/ic_public_close_wh.png | Bin .../base/media/ic_public_cloud_download.png | Bin .../base/media/ic_public_cloud_upload.png | Bin .../base/media/ic_public_comments.png | Bin .../media/ic_public_community_messages.png | Bin .../ic_public_community_messages_select.png | Bin .../resources/base/media/ic_public_copy.png | Bin .../resources/base/media/ic_public_delete.png | Bin .../base/media/ic_public_download_black.png | Bin .../resources/base/media/ic_public_drawer.png | Bin .../resources/base/media/ic_public_fast.png | Bin .../resources/base/media/ic_public_favor.png | Bin .../base/media/ic_public_highlight.png | Bin .../base/media/ic_public_highlight_select.png | Bin .../base/media/ic_public_history.png | Bin .../resources/base/media/ic_public_home.png | Bin .../base/media/ic_public_home_select.png | Bin .../base/media/ic_public_input_scan.png | Bin .../base/media/ic_public_list_cycle.png | Bin .../resources/base/media/ic_public_mine.png | Bin .../base/media/ic_public_mine_select.png | Bin .../base/media/ic_public_more_list.png | Bin .../resources/base/media/ic_public_music.png | Bin .../base/media/ic_public_music_grey.png | Bin .../base/media/ic_public_music_red.png | Bin .../base/media/ic_public_order_play.png | Bin .../resources/base/media/ic_public_pause.png | Bin .../base/media/ic_public_pause_norm.png | Bin .../resources/base/media/ic_public_play.png | Bin .../base/media/ic_public_play_last.png | Bin .../base/media/ic_public_play_next.png | Bin .../base/media/ic_public_play_norm.png | Bin .../base/media/ic_public_play_white.png | Bin .../resources/base/media/ic_public_random.png | Bin .../base/media/ic_public_refresh.png | Bin .../resources/base/media/ic_public_share.png | Bin .../base/media/ic_public_single_cycle.png | Bin .../base/media/ic_public_sound_filled.png | Bin .../base/media/ic_public_sound_off_filled.png | Bin .../base/media/ic_public_thumbsup.png | Bin .../base/media/ic_public_thumbsup_filled.png | Bin .../base/media/ic_public_view_list.png | Bin .../base/media/ic_screenshot_line.png | Bin .../base/media/ic_screenshot_line_select.png | Bin .../base/media/ic_statusbar_cast.png | Bin .../base/media/ic_statusbar_cast_select.png | Bin .../src/main}/resources/base/media/icon.png | Bin .../resources/base/media/login_method1.png | Bin .../resources/base/media/login_method2.png | Bin .../resources/base/media/login_method3.png | Bin .../src/main/resources/base/media/logo.png | Bin .../src/main/resources/base/media/love.png | Bin .../src/main/resources/base/media/menu.png | Bin .../src/main/resources/base/media/message.png | Bin .../main/resources/base/media/mine_normal.png | Bin .../resources/base/media/mine_selected.png | Bin .../src/main/resources/base/media/new.png | Bin .../src/main/resources/base/media/news.png | Bin .../src/main/resources/base/media/privacy.png | Bin .../main/resources/base/media/quareblue0.png | Bin .../main/resources/base/media/quareblue1.png | Bin .../main/resources/base/media/quareblue2.png | Bin .../main/resources/base/media/quareblue3.png | Bin .../main/resources/base/media/quareblue4.png | Bin .../main/resources/base/media/quareblue5.png | Bin .../main/resources/base/media/quareblue6.png | Bin .../main/resources/base/media/quareblue7.png | Bin .../main/resources/base/media/quareblue8.png | Bin .../main/resources/base/media/quaregreen0.png | Bin .../main/resources/base/media/quaregreen1.png | Bin .../main/resources/base/media/quaregreen2.png | Bin .../main/resources/base/media/quaregreen3.png | Bin .../main/resources/base/media/quaregreen4.png | Bin .../main/resources/base/media/quaregreen5.png | Bin .../main/resources/base/media/quaregreen6.png | Bin .../main/resources/base/media/quaregreen7.png | Bin .../main/resources/base/media/quaregreen8.png | Bin .../main/resources/base/media/quarepink0.png | Bin .../main/resources/base/media/quarepink1.png | Bin .../main/resources/base/media/quarepink2.png | Bin .../main/resources/base/media/quarepink3.png | Bin .../main/resources/base/media/quarepink4.png | Bin .../main/resources/base/media/quarepink5.png | Bin .../main/resources/base/media/quarepink6.png | Bin .../main/resources/base/media/quarepink7.png | Bin .../main/resources/base/media/quarepink8.png | Bin .../main/resources/base/media/quarered0.png | Bin .../main/resources/base/media/quarered1.png | Bin .../main/resources/base/media/quarered2.png | Bin .../main/resources/base/media/quarered3.png | Bin .../main/resources/base/media/quarered4.png | Bin .../main/resources/base/media/quarered5.png | Bin .../main/resources/base/media/quarered6.png | Bin .../main/resources/base/media/quarered7.png | Bin .../main/resources/base/media/quarered8.png | Bin .../src/main/resources/base/media/radio.png | Bin .../resources/base/media/radio_select.png | Bin .../src/main/resources/base/media/record.png | Bin .../src/main/resources/base/media/recycle.png | Bin .../main/resources/base/media/right_grey.png | Bin .../src/main/resources/base/media/search.png | Bin .../main/resources/base/media/shopping.png | Bin .../src/main/resources/base/media/storage.png | Bin .../src/main/resources/base/media/target.png | Bin .../src/main/resources/base/media/top.png | Bin .../src/main/resources/base/media/yellow0.png | Bin .../src/main/resources/base/media/yellow1.png | Bin .../src/main/resources/base/media/yellow2.png | Bin .../src/main/resources/base/media/yellow3.png | Bin .../src/main/resources/base/media/yellow4.png | Bin .../src/main/resources/base/media/yellow5.png | Bin .../src/main/resources/base/media/yellow6.png | Bin .../src/main/resources/base/media/yellow7.png | Bin .../src/main/resources/base/media/yellow8.png | Bin .../resources/base/profile/main_pages.json | 0 .../main/resources/en_US/element/string.json | 0 .../src/main/resources/rawfile/quareblue0.png | Bin .../src/main/resources/rawfile/quareblue1.png | Bin .../src/main/resources/rawfile/quareblue2.png | Bin .../src/main/resources/rawfile/quareblue3.png | Bin .../src/main/resources/rawfile/quareblue4.png | Bin .../src/main/resources/rawfile/quareblue5.png | Bin .../src/main/resources/rawfile/quareblue6.png | Bin .../src/main/resources/rawfile/quareblue7.png | Bin .../src/main/resources/rawfile/quareblue8.png | Bin .../main/resources/rawfile/quaregreen0.png | Bin .../main/resources/rawfile/quaregreen1.png | Bin .../main/resources/rawfile/quaregreen2.png | Bin .../main/resources/rawfile/quaregreen3.png | Bin .../main/resources/rawfile/quaregreen4.png | Bin .../main/resources/rawfile/quaregreen5.png | Bin .../main/resources/rawfile/quaregreen6.png | Bin .../main/resources/rawfile/quaregreen7.png | Bin .../main/resources/rawfile/quaregreen8.png | Bin .../src/main/resources/rawfile/quarepink0.png | Bin .../src/main/resources/rawfile/quarepink1.png | Bin .../src/main/resources/rawfile/quarepink2.png | Bin .../src/main/resources/rawfile/quarepink3.png | Bin .../src/main/resources/rawfile/quarepink4.png | Bin .../src/main/resources/rawfile/quarepink5.png | Bin .../src/main/resources/rawfile/quarepink6.png | Bin .../src/main/resources/rawfile/quarepink7.png | Bin .../src/main/resources/rawfile/quarepink8.png | Bin .../src/main/resources/rawfile/quarered0.png | Bin .../src/main/resources/rawfile/quarered1.png | Bin .../src/main/resources/rawfile/quarered2.png | Bin .../src/main/resources/rawfile/quarered3.png | Bin .../src/main/resources/rawfile/quarered4.png | Bin .../src/main/resources/rawfile/quarered5.png | Bin .../src/main/resources/rawfile/quarered6.png | Bin .../src/main/resources/rawfile/quarered7.png | Bin .../src/main/resources/rawfile/quarered8.png | Bin .../src/main/resources/rawfile/test1.mp4 | Bin .../src/main/resources/rawfile/test2.mp4 | Bin .../src/main/resources/rawfile/video1.mp4 | Bin .../src/main/resources/rawfile/video2.mp4 | Bin .../main/resources/zh_CN/element/string.json | 0 .../entry/src/ohosTest/ets/test/List.test.ets | 0 .../entry/src/ohosTest/ets/test/Page.test.ets | 0 .../src/ohosTest/ets/test/Playback.test.ets | 0 .../src/ohosTest/ets/test/Playlist.test.ets | 0 .../ohosTest/ets/testability/TestAbility.ets | 0 .../ohosTest/ets/testability/pages/Index.ets | 0 .../ets/testrunner/OpenHarmonyTestRunner.ets | 0 .../MyMusic/entry/src/ohosTest/module.json5 | 0 .../resources/base/element/color.json | 0 .../resources/base/element/string.json | 0 .../ohosTest/resources/base/media/icon.png | Bin .../resources/base/profile/test_pages.json | 0 .../MyMusic/entry/src/test/List.test.ets | 0 .../MyMusic/entry/src/test/LocalUnit.test.ets | 0 .../hvigor/hvigor-config.json5 | 36 +- .../hvigor/hvigor-wrapper.js | 0 .../{arkui/MyWps => MyMusic}/hvigorfile.ts | 0 .../{arkui/MyShopping => MyMusic}/hvigorw | 0 .../{arkui/MyShopping => MyMusic}/hvigorw.bat | 0 .../MyWps => MyMusic}/oh-package-lock.json5 | 0 scenario/{arkui => }/MyMusic/oh-package.json5 | 0 .../{arkui => }/MyMusic/screenshots/home.jpeg | Bin .../{arkui => }/MyMusic/screenshots/mine.jpeg | Bin .../MyMusic/screenshots/podcast.jpeg | Bin scenario/{arkui => }/MyNews/.gitignore | 0 .../{arkui => }/MyNews/AppScope/app.json5 | 0 .../resources/base/element/string.json | 0 .../resources/base/media/app_icon.png | Bin scenario/{arkui => }/MyNews/README.md | 0 scenario/MyNews/build-profile.json5 | 36 + .../{arkui/MyWps => MyNews}/entry/.gitignore | 0 .../entry/build-profile.json5 | 60 +- .../{arkui => }/MyNews/entry/hvigorfile.ts | 0 .../entry/obfuscation-rules.txt | 0 .../entry/oh-package.json5 | 0 .../MyNews/entry/src/main/data/ImgPool.ets | 0 .../MyNews/entry/src/main/data/TextPool.ets | 0 .../MyNews/entry/src/main/data/UserData.ets | 0 .../src/main/ets/common/utils/GetArticles.ets | 0 .../entry/src/main/ets/common/utils/Login.ets | 0 .../main/ets/common/utils/RandomResource.ets | 0 .../main/ets/entryability/EntryAbility.ets | 0 .../entry/src/main/ets/pages/LoginPage.ets | 0 .../entry/src/main/ets/pages/MainPage.ets | 0 .../entry/src/main/ets/pages/PublishPage.ets | 0 .../entry/src/main/ets/pages/SearchPage.ets | 0 .../main/ets/view/Common/BasicUserInfo.ets | 0 .../entry/src/main/ets/view/Home/Home.ets | 0 .../entry/src/main/ets/view/Home/HomeTabs.ets | 0 .../Home/Recommendation/ImgNewsOverview.ets | 0 .../Recommendation/PureTextNewsOverview.ets | 0 .../Home/Recommendation/Recommendation.ets | 0 .../entry/src/main/ets/view/Home/TopBar.ets | 0 .../src/main/ets/view/Login/BottomBtns.ets | 0 .../src/main/ets/view/Login/FailureDialog.ets | 0 .../src/main/ets/view/Login/LoginArea.ets | 0 .../view/Login/OtherLoginMethodsDialog.ets | 0 .../entry/src/main/ets/view/Login/TopBtns.ets | 0 .../src/main/ets/view/Mall/GoodsCard.ets | 0 .../src/main/ets/view/Mall/GoodsList.ets | 0 .../entry/src/main/ets/view/Mall/Mall.ets | 0 .../entry/src/main/ets/view/Mall/TopBar.ets | 0 .../src/main/ets/view/Profile/AdsSwiper.ets | 0 .../src/main/ets/view/Profile/FuncArea.ets | 0 .../src/main/ets/view/Profile/Profile.ets | 0 .../main/ets/view/Profile/UserInfoArea.ets | 0 .../src/main/ets/view/Publish/MicroNews.ets | 0 .../src/main/ets/view/Publish/PublishTabs.ets | 0 .../src/main/ets/view/Search/BottomBar.ets | 0 .../view/Search/IncognitoModeIndicator.ets | 0 .../entry/src/main/ets/view/Search/TopBar.ets | 0 .../main/ets/view/Search/TrendingTopics.ets | 0 .../MyNews/entry/src/main/ets/view/Task.ets | 0 .../MyNews/entry/src/main/ets/view/Video.ets | 0 .../entry/src/main/ets/viewmodel/Article.ets | 0 .../main/ets/viewmodel/GoodsDataSource.ets | 0 .../src/main/ets/viewmodel/RouterParams.ets | 0 scenario/MyNews/entry/src/main/module.json5 | 37 + .../main/resources/base/element/color.json | 0 .../main/resources/base/element/string.json | 0 .../src/main/resources/base/media/fig_1.jpg | Bin .../src/main/resources/base/media/fig_10.png | Bin .../src/main/resources/base/media/fig_11.png | Bin .../src/main/resources/base/media/fig_12.png | Bin .../src/main/resources/base/media/fig_13.png | Bin .../src/main/resources/base/media/fig_14.png | Bin .../src/main/resources/base/media/fig_15.png | Bin .../src/main/resources/base/media/fig_16.png | Bin .../src/main/resources/base/media/fig_17.png | Bin .../src/main/resources/base/media/fig_18.jpg | Bin .../src/main/resources/base/media/fig_19.jpg | Bin .../src/main/resources/base/media/fig_2.jpg | Bin .../src/main/resources/base/media/fig_20.jpg | Bin .../src/main/resources/base/media/fig_3.jpg | Bin .../src/main/resources/base/media/fig_4.jpg | Bin .../src/main/resources/base/media/fig_5.jpg | Bin .../src/main/resources/base/media/fig_6.jpg | Bin .../src/main/resources/base/media/fig_7.jpg | Bin .../src/main/resources/base/media/fig_8.jpg | Bin .../src/main/resources/base/media/fig_9.png | Bin .../ic_controlcenter_eyeconfort_filled.svg | 0 .../base/media/ic_desktop_servicewidgets.svg | 0 .../base/media/ic_device_earphone.svg | 0 .../media/ic_gallery_privacy_statement.svg | 0 .../resources/base/media/ic_public_add.svg | 0 .../base/media/ic_public_add_norm_filled.svg | 0 .../resources/base/media/ic_public_app.svg | 0 .../base/media/ic_public_appstore.svg | 0 .../base/media/ic_public_appstore_filled.svg | 0 .../base/media/ic_public_arrow_down_0.svg | 0 .../base/media/ic_public_arrow_left.svg | 0 .../media/ic_public_arrow_left_filled.svg | 0 .../base/media/ic_public_arrow_right.svg | 0 .../media/ic_public_arrow_right_filled.svg | 0 .../base/media/ic_public_backtotop.svg | 0 .../base/media/ic_public_calendar.svg | 0 .../base/media/ic_public_calendar_filled.svg | 0 .../resources/base/media/ic_public_cancel.svg | 0 .../ic_public_community_messages_filled.svg | 0 .../base/media/ic_public_contacts.svg | 0 .../base/media/ic_public_contacts_filled.svg | 0 .../resources/base/media/ic_public_delete.svg | 0 .../media/ic_public_devices_phone_filled.svg | 0 .../base/media/ic_public_download.svg | 0 .../base/media/ic_public_face_filled.svg | 0 .../resources/base/media/ic_public_fail.svg | 0 .../resources/base/media/ic_public_folder.svg | 0 .../base/media/ic_public_history.svg | 0 .../resources/base/media/ic_public_home.svg | 0 .../base/media/ic_public_home_filled.svg | 0 .../base/media/ic_public_input_search.svg | 0 .../base/media/ic_public_lock_filled.svg | 0 .../resources/base/media/ic_public_notes.svg | 0 .../resources/base/media/ic_public_play.svg | 0 .../resources/base/media/ic_public_ring.svg | 0 .../resources/base/media/ic_public_scan.svg | 0 .../base/media/ic_public_settings.svg | 0 .../resources/base/media/ic_public_share.svg | 0 .../base/media/ic_public_thumbsup.svg | 0 .../resources/base/media/ic_public_video.svg | 0 .../base/media/ic_public_video_filled.svg | 0 .../base/media/ic_public_view_list.svg | 0 .../src/main/resources/base/media/icon.png | Bin .../main/resources/base/media/startIcon.png | Bin .../resources/base/profile/main_pages.json | 0 .../main/resources/en_US/element/string.json | 0 .../main/resources/zh_CN/element/string.json | 0 .../entry/src/ohosTest/ets/test/List.test.ets | 0 .../src/ohosTest/ets/test/Login.test.ets | 0 .../ohosTest/ets/testability/TestAbility.ets | 0 .../ohosTest/ets/testability/pages/Index.ets | 0 .../ets/testrunner/OpenHarmonyTestRunner.ets | 0 .../entry/src/ohosTest/module.json5 | 74 +- .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 0 .../ohosTest/resources/base/media/icon.png | Bin .../resources/base/profile/test_pages.json | 0 .../MyNews/entry/src/test/List.test.ets | 0 .../MyNews/entry/src/test/LocalUnit.test.ets | 0 scenario/MyNews/hvigor/hvigor-config.json5 | 18 + scenario/MyNews/hvigor/hvigor-wrapper.js | 1 + scenario/{arkui => }/MyNews/hvigorfile.ts | 0 scenario/{arkui/MyWps => MyNews}/hvigorw | 0 scenario/{arkui/MyWps => MyNews}/hvigorw.bat | 0 scenario/{arkui => }/MyNews/oh-package.json5 | 0 .../{arkui => }/MyNews/screenshots/home.png | Bin .../{arkui => }/MyNews/screenshots/login.png | Bin .../{arkui => }/MyNews/screenshots/mall.png | Bin .../MyNews/screenshots/profile.png | Bin .../MyNews/screenshots/publish.png | Bin .../{arkui => }/MyNews/screenshots/search.png | Bin scenario/{arkui => }/MyShopping/.gitignore | 0 .../{arkui => }/MyShopping/AppScope/app.json5 | 0 .../resources/base/element/string.json | 0 .../resources/base/media/app_icon.png | Bin 0 -> 2041 bytes scenario/{arkui => }/MyShopping/README.md | 0 .../MyShopping/build-profile.json5 | 0 scenario/MyShopping/entry/.gitignore | 6 + scenario/MyShopping/entry/build-profile.json5 | 31 + scenario/MyShopping/entry/hvigorfile.ts | 6 + .../MyShopping/entry/obfuscation-rules.txt | 18 + .../entry/oh-package.json5 | 20 +- .../src/main/ets/data/WaterFlowDataSource.ets | 0 .../entry/src/main/ets/data/merchandise.ets | 0 .../src/main/ets/dataModel/merchandise.ets | 0 .../main/ets/entryability/EntryAbility.ets | 43 + .../entry/src/main/ets/pages/Index.ets | 0 .../classification/classification.ets | 0 .../pages/components/contentPlate/banner.ets | 0 .../pages/components/contentPlate/content.ets | 0 .../components/contentPlate/contentMenu.ets | 0 .../ets/pages/components/homeTab/Home.ets | 0 .../entry/src/main/module.json5 | 72 +- .../main/resources/base/element/color.json | 0 .../main/resources/base/element/string.json | 0 .../src/main/resources/base/media/banner.png | Bin .../src/main/resources/base/media/flower.jpg | Bin .../resources/base/media/ic_99_notebook.svg | 0 .../main/resources/base/media/ic_99_paper.jpg | Bin .../main/resources/base/media/ic_99_toy.svg | 0 .../main/resources/base/media/ic_99_water.png | Bin .../main/resources/base/media/ic_99baoyou.png | Bin .../base/media/ic_animations_animateto.svg | 0 .../base/media/ic_animations_animation.svg | 0 .../base/media/ic_animations_path.svg | 0 .../resources/base/media/ic_auxiliary.png | Bin .../src/main/resources/base/media/ic_back.png | Bin .../resources/base/media/ic_basic_gesture.png | Bin .../base/media/ic_basic_gestures.svg | 0 .../base/media/ic_blank_and_divider.png | Bin .../main/resources/base/media/ic_butie1.png | Bin .../main/resources/base/media/ic_butie2.svg | 0 .../base/media/ic_button_and_selection.png | Bin .../base/media/ic_button_circle_add.png | Bin .../resources/base/media/ic_button_click.png | Bin .../base/media/ic_button_loading.png | Bin .../resources/base/media/ic_call_green.svg | 0 .../main/resources/base/media/ic_cancel.svg | 0 .../media/ic_canvas_and_graphic_drawing.png | Bin .../resources/base/media/ic_click_event.png | Bin .../base/media/ic_combine_gestures.png | Bin .../base/media/ic_combined_gestures.svg | 0 .../base/media/ic_component_blurr.svg | 0 .../base/media/ic_component_clip.png | Bin .../resources/base/media/ic_component_id.svg | 0 .../base/media/ic_custom_dialog_location.png | Bin .../base/media/ic_custom_dialog_voice.png | Bin .../main/resources/base/media/ic_dialog.png | Bin .../main/resources/base/media/ic_display.png | Bin .../resources/base/media/ic_down_arrow.png | Bin .../resources/base/media/ic_drag_event.svg | 0 .../base/media/ic_event_area_change.png | Bin .../resources/base/media/ic_event_drag.png | Bin .../resources/base/media/ic_event_focus.png | Bin .../base/media/ic_event_load_and_hide.png | Bin .../resources/base/media/ic_event_mouse.png | Bin .../resources/base/media/ic_event_touch.png | Bin .../main/resources/base/media/ic_focus.svg | 0 .../resources/base/media/ic_focus_event.svg | 0 .../resources/base/media/ic_global_menu.svg | 0 .../base/media/ic_graphic_transformation.png | Bin .../resources/base/media/ic_grid_setting.svg | 0 .../resources/base/media/ic_image_alt.png | Bin .../resources/base/media/ic_image_effects.png | Bin .../base/media/ic_image_video_media.png | Bin ...ation_presentation_and_dynamic_effects.png | Bin .../resources/base/media/ic_interaction.png | Bin .../media/ic_interpolation_calculation.png | Bin .../resources/base/media/ic_key_press.svg | 0 .../resources/base/media/ic_lifecycle.png | Bin .../src/main/resources/base/media/ic_list.png | Bin .../resources/base/media/ic_list_and_grid.png | Bin .../main/resources/base/media/ic_miaosha1.svg | 0 .../main/resources/base/media/ic_miaosha2.svg | 0 .../resources/base/media/ic_mount_event.svg | 0 .../resources/base/media/ic_mouse_event.svg | 0 .../resources/base/media/ic_navigation.png | Bin .../src/main/resources/base/media/ic_ok.svg | 0 .../main/resources/base/media/ic_other.png | Bin .../src/main/resources/base/media/ic_pen.png | Bin .../base/media/ic_prop_background.png | Bin .../resources/base/media/ic_prop_border.png | Bin .../resources/base/media/ic_prop_font.png | Bin .../resources/base/media/ic_prop_size.png | Bin .../base/media/ic_properties_border.png | Bin .../base/media/ic_properties_constraint.svg | 0 .../base/media/ic_properties_flex.svg | 0 .../base/media/ic_properties_location.svg | 0 .../resources/base/media/ic_public_camera.png | Bin .../media/ic_public_community_messages.png | Bin .../resources/base/media/ic_public_scan.png | Bin .../resources/base/media/ic_restore_id.svg | 0 .../resources/base/media/ic_right_arrow.png | Bin .../base/media/ic_rows_and_columns.png | Bin .../main/resources/base/media/ic_scenery1.png | Bin .../main/resources/base/media/ic_scenery2.png | Bin .../main/resources/base/media/ic_scenery3.png | Bin .../main/resources/base/media/ic_scenery4.png | Bin .../resources/base/media/ic_scroll_event.svg | 0 .../base/media/ic_select_animation.png | Bin .../base/media/ic_select_component.png | Bin .../resources/base/media/ic_select_global.png | Bin .../media/ic_select_option_collection.png | Bin .../base/media/ic_select_option_gesture.png | Bin .../base/media/ic_select_option_picture.png | Bin .../base/media/ic_select_universal.png | Bin .../resources/base/media/ic_shape_crop.svg | 0 .../base/media/ic_stack_flex_and_grid.png | Bin .../resources/base/media/ic_tabbar_home.png | Bin .../base/media/ic_text_and_input.png | Bin .../base/media/ic_transition_animation.png | Bin .../base/media/ic_unselect_animation.png | Bin .../base/media/ic_unselect_component.png | Bin .../base/media/ic_unselect_global.png | Bin .../base/media/ic_unselect_universal.png | Bin .../src/main/resources/base/media/ic_user.png | Bin .../src/main/resources/base/media/ic_web.png | Bin .../src/main/resources/base/media/icon.png | Bin 0 -> 2041 bytes .../resources/base/media/image_animator_1.jpg | Bin .../base/media/image_animator_10.jpg | Bin .../resources/base/media/image_animator_2.jpg | Bin .../resources/base/media/image_animator_3.jpg | Bin .../resources/base/media/image_animator_4.jpg | Bin .../resources/base/media/image_animator_5.jpg | Bin .../resources/base/media/image_animator_6.jpg | Bin .../resources/base/media/image_animator_7.jpg | Bin .../resources/base/media/image_animator_8.jpg | Bin .../resources/base/media/image_animator_9.jpg | Bin .../resources/base/media/image_show_test.jpg | Bin .../main/resources/base/media/img_love.svg | 0 .../main/resources/base/media/img_test_1.jpg | Bin .../main/resources/base/media/img_test_2.jpg | Bin .../main/resources/base/media/img_test_3.jpg | Bin .../main/resources/base/media/img_test_4.jpg | Bin .../main/resources/base/media/img_test_5.jpg | Bin .../main/resources/base/media/startIcon.png | Bin 0 -> 4351 bytes .../src/main/resources/base/media/test01.png | Bin .../src/main/resources/base/media/test02.png | Bin .../main/resources/base/media/test_image.jpg | Bin .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 0 .../main/resources/zh_CN/element/string.json | 0 .../src/ohosTest/ets/test/Ability.test.ets | 35 + .../entry/src/ohosTest/ets/test/List.test.ets | 0 .../ets/test/uiTestSuites/home.test.ets | 0 .../ohosTest/ets/testability/TestAbility.ets | 50 + .../ohosTest/ets/testability/pages/Index.ets | 17 + .../ets/testrunner/OpenHarmonyTestRunner.ets | 47 + .../entry/src/ohosTest/module.json5 | 37 + .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 16 + .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/test_pages.json | 5 + .../MyShopping/entry/src/test/List.test.ets | 5 + .../entry/src/test/LocalUnit.test.ets | 33 + scenario/MyShopping/hvigorfile.ts | 6 + scenario/MyShopping/hvigorw | 48 + scenario/MyShopping/hvigorw.bat | 64 ++ .../{arkui => }/MyShopping/oh-package.json5 | 0 .../MyShopping/screenshots/shoppingApp.jpg | Bin scenario/{arkuiTest => }/ostest.py | 0 810 files changed, 2754 insertions(+), 6576 deletions(-) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/.gitignore (100%) mode change 100755 => 100644 create mode 100644 performance/arkts/benchmark_arkts_compiler/AppScope/app.json5 create mode 100644 performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/element/string.json rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/AppScope/resources/base/media/app_icon.png (100%) mode change 100755 => 100644 create mode 100644 performance/arkts/benchmark_arkts_compiler/README_CN.md rename {scenario/arkui/MyNews => performance/arkts/benchmark_arkts_compiler}/build-profile.json5 (100%) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/.gitignore (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/entry/build-profile.json5 (100%) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/hvigorfile.ts (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/obfuscation-rules.txt (100%) mode change 100755 => 100644 create mode 100644 performance/arkts/benchmark_arkts_compiler/entry/oh-package.json5 rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/BenchmarkMeasure.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/Octane/box2d.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/Octane/deltablue.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/Octane/navier-stoke.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/Octane/raytrace.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/Octane/richards.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/SunSpider/base64.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/SunSpider/crypto-aes.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/SunSpider/crypto-md5.ts (100%) rename performance/arkts/{benchmarks/compiler_workload/mix-case/ts => benchmark_arkts_compiler/entry/src/main/ets/cases}/SunSpider/crypto-sha1.ts (100%) rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/main/ets/entryability/EntryAbility.ets (100%) create mode 100644 performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/pages/Index.ets rename {scenario/arkui/MyNews => performance/arkts/benchmark_arkts_compiler}/entry/src/main/module.json5 (100%) rename {scenario/arkui/MyMap/entry/src/ohosTest => performance/arkts/benchmark_arkts_compiler/entry/src/main}/resources/base/element/color.json (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap/entry/src/main/resources/en_US => performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base}/element/string.json (100%) mode change 100755 => 100644 rename {scenario/arkui/MyNews => performance/arkts/benchmark_arkts_compiler}/entry/src/main/resources/base/media/icon.png (100%) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/src/main/resources/base/media/startIcon.png (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/src/main/resources/base/profile/main_pages.json (100%) mode change 100755 => 100644 rename {scenario/arkui/MyWps => performance/arkts/benchmark_arkts_compiler}/entry/src/main/resources/en_US/element/string.json (100%) mode change 100755 => 100644 create mode 100644 performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/zh_CN/element/string.json rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/ets/test/Ability.test.ets (100%) rename {scenario/arkui/MyWps => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/ets/test/List.test.ets (100%) mode change 100755 => 100644 rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/ets/testability/TestAbility.ets (100%) rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/ets/testability/pages/Index.ets (100%) rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets (100%) rename {scenario/arkui/MyNews => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/module.json5 (100%) rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/resources/base/element/color.json (100%) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/resources/base/element/string.json (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/resources/base/media/icon.png (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/entry/src/ohosTest/resources/base/profile/test_pages.json (100%) mode change 100755 => 100644 rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/test/List.test.ets (100%) rename {scenario/arkui/MyShopping => performance/arkts/benchmark_arkts_compiler}/entry/src/test/LocalUnit.test.ets (100%) rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/hvigor/hvigor-config.json5 (100%) rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/hvigor/hvigor-wrapper.js (100%) rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/hvigorfile.ts (100%) rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/hvigorw (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMap => performance/arkts/benchmark_arkts_compiler}/hvigorw.bat (100%) mode change 100755 => 100644 rename {scenario/arkui/MyMusic => performance/arkts/benchmark_arkts_compiler}/oh-package-lock.json5 (100%) create mode 100644 performance/arkts/benchmark_arkts_compiler/oh-package.json5 create mode 100644 performance/arkts/benchmark_arkts_compiler/screenshots/home.png delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/README_CN.md delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/run_all.py delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/deltablue.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/navier-stoke.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/raytrace.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/richards.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/base64.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-aes.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-md5.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-sha1.swift delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/swift/run.sh delete mode 100644 performance/arkts/benchmarks/compiler_workload/mix-case/ts/run.sh rename scenario/{arkui/MyWps => MyDoc}/.gitignore (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/AppScope/app.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/AppScope/resources/base/element/string.json (91%) mode change 100755 => 100644 rename scenario/{arkui/MyMusic => MyDoc}/AppScope/resources/base/media/app_icon.png (100%) rename scenario/{arkui/MyWps => MyDoc}/README_zh.md (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/build-profile.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui/MyMusic => MyDoc}/entry/.gitignore (100%) rename scenario/{arkui/MyNews => MyDoc}/entry/build-profile.json5 (100%) rename scenario/{arkui/MyMusic => MyDoc}/entry/hvigorfile.ts (100%) rename scenario/{arkui/MyMusic => MyDoc}/entry/obfuscation-rules.txt (100%) rename scenario/{arkui/MyMusic => MyDoc}/entry/oh-package.json5 (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/ets/entryability/EntryAbility.ets (97%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/ets/pages/Index.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/ets/pages/wps/HomePage.ets (96%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/module.json5 (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/element/color.json (94%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/element/string.json (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/file.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/resources/base/media/ic_dialog.png (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_dirs.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/resources/base/media/ic_image_effects.png (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsdaoke.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsenddoc.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsevent.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsfilter.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpshomepage.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsme.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsservice.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_image_wpsstart.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_images_wpsdoc.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_images_wpsdot.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_images_wpsexcel.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/ic_search.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/resources/base/media/ic_select_option_collection.png (100%) rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/resources/base/media/ic_user.png (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/icon.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/image.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/myAudio.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyNews => MyDoc}/entry/src/main/resources/base/media/startIcon.png (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/utdType_back.svg (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/base/media/video.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/main/resources/base/profile/main_pages.json (100%) create mode 100644 scenario/MyDoc/entry/src/main/resources/en_US/element/string.json rename scenario/{arkui/MyWps => MyDoc}/entry/src/main/resources/zh_CN/element/string.json (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/ohosTest/ets/test/Ability.test.ets (100%) mode change 100755 => 100644 create mode 100644 scenario/MyDoc/entry/src/ohosTest/ets/test/List.test.ets rename scenario/{arkui/MyWps => MyDoc}/entry/src/ohosTest/ets/testability/TestAbility.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/ohosTest/ets/testability/pages/Index.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyDoc}/entry/src/ohosTest/module.json5 (100%) rename scenario/{arkui/MyNews => MyDoc}/entry/src/ohosTest/resources/base/element/color.json (100%) rename scenario/{arkui/MyMusic => MyDoc}/entry/src/ohosTest/resources/base/element/string.json (100%) rename scenario/{arkui/MyMusic/entry/src/main => MyDoc/entry/src/ohosTest}/resources/base/media/icon.png (100%) rename scenario/{arkui/MyMusic => MyDoc}/entry/src/ohosTest/resources/base/profile/test_pages.json (100%) rename scenario/{arkui/MyWps => MyDoc}/entry/src/test/List.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/entry/src/test/LocalUnit.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui/MyNews => MyDoc}/hvigor/hvigor-config.json5 (100%) rename scenario/{arkui/MyNews => MyDoc}/hvigor/hvigor-wrapper.js (100%) rename scenario/{arkui/MyShopping => MyDoc}/hvigorfile.ts (100%) rename scenario/{arkui/MyMusic => MyDoc}/hvigorw (100%) rename scenario/{arkui/MyMusic => MyDoc}/hvigorw.bat (100%) rename scenario/{arkui/MyNews => MyDoc}/oh-package-lock.json5 (100%) rename scenario/{arkui/MyWps => MyDoc}/oh-package.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyDoc}/screenshots/main.png (100%) mode change 100755 => 100644 create mode 100644 scenario/MyMap/.gitignore rename scenario/{arkui => }/MyMap/AppScope/app.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/AppScope/resources/base/element/string.json (91%) mode change 100755 => 100644 rename scenario/{arkui/MyNews => MyMap}/AppScope/resources/base/media/app_icon.png (100%) rename scenario/{arkui => }/MyMap/AppScope/resources/base/media/icon_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/README_zh.md (95%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/build-profile.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui/MyNews => MyMap}/entry/.gitignore (100%) rename scenario/{arkui => }/MyMap/entry/build-profile.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMap}/entry/hvigorfile.ts (100%) rename scenario/{arkui/MyNews => MyMap}/entry/obfuscation-rules.txt (100%) rename scenario/{arkui => }/MyMap/entry/oh-package.json5 (97%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/ets/entryability/EntryAbility.ets (97%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/ets/pages/Index.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/ets/pages/map/travel.ets (96%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/ets/util/Logger.ts (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/module.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/element/color.json (94%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/element/string.json (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/background_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/circle_guide_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/ic_custom_dialog_voice.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/ic_gray_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/ic_orange_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/ic_purple_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/ic_right_arrow.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/icon_blue_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/icon_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/icon_feedback_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/icon_green_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/icon_path_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/layer_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/location_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/openMicrophone_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/photo_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/search_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMap}/entry/src/main/resources/base/media/startIcon.png (100%) rename scenario/{arkui => }/MyMap/entry/src/main/resources/base/media/upArrow_fMyMap.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyMap}/entry/src/main/resources/base/profile/main_pages.json (100%) mode change 100755 => 100644 create mode 100644 scenario/MyMap/entry/src/main/resources/en_US/element/string.json rename scenario/{arkui => }/MyMap/entry/src/main/resources/zh_CN/element/string.json (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/ets/test/Ability.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/ets/test/List.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/ets/testability/TestAbility.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/ets/testability/pages/Index.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/ohosTest/module.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMap}/entry/src/ohosTest/resources/base/element/color.json (100%) rename scenario/{arkui/MyNews => MyMap}/entry/src/ohosTest/resources/base/element/string.json (100%) rename scenario/{arkui/MyMusic => MyMap}/entry/src/ohosTest/resources/base/media/icon.png (100%) rename scenario/{arkui/MyNews => MyMap}/entry/src/ohosTest/resources/base/profile/test_pages.json (100%) rename scenario/{arkui => }/MyMap/entry/src/test/List.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/entry/src/test/LocalUnit.test.ets (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/hvigor/hvigor-config.json5 (97%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/hvigor/hvigor-wrapper.js (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/hvigorfile.ts (100%) mode change 100755 => 100644 rename scenario/{arkui/MyNews => MyMap}/hvigorw (100%) rename scenario/{arkui/MyNews => MyMap}/hvigorw.bat (100%) rename scenario/{arkui => }/MyMap/oh-package.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMap/screenshots/main.jpeg (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMusic/.gitignore (100%) rename scenario/{arkui => }/MyMusic/AppScope/app.json5 (100%) rename scenario/{arkui => }/MyMusic/AppScope/resources/base/element/string.json (100%) rename scenario/{arkui/MyShopping => MyMusic}/AppScope/resources/base/media/app_icon.png (100%) rename scenario/{arkui => }/MyMusic/README_zh.md (100%) rename scenario/{arkui => }/MyMusic/build-profile.json5 (100%) rename scenario/{arkui/MyShopping => MyMusic}/entry/.gitignore (100%) rename scenario/{arkui/MyShopping => MyMusic}/entry/build-profile.json5 (100%) rename scenario/{arkui/MyWps => MyMusic}/entry/hvigorfile.ts (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMusic}/entry/obfuscation-rules.txt (100%) rename scenario/{arkui/MyNews => MyMusic}/entry/oh-package.json5 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/common/constants/CommonConstants.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/common/utils/Logger.ts (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/entryability/EntryAbility.ts (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/manager/AudioItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/manager/PlayerManager.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/pages/LoginPage.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/pages/MainPage.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/BookFirstItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/BookSecondItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/BookTriItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/Community.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/CommunityHeadRight.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/CommunityRoom.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/CommunitySquare.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/CommunityVideo.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/FindHead.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/Follow.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/FollowHead.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/Home.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/ListHead.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/ListHistoryItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MidItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/Mine.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineActivity.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineActivityItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineHead.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineInfo.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineListItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineMusic.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MinePodCast.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/MineUserItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PlayList.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PlayerBar.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PlayerDetail.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCast.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastBigItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastContentFirst.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastContentFourth.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastContentSecond.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastContentThird.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastHead.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastHeadRight.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/PodCastListenItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/RadioItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/SelectFirstItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/Setting.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/SmallItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/SquareTriItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/TriItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/TriTitleItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/VideoMV.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/VideoMVDataSource.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/VideoRecommend.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/view/VideoRecommendItem.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/BookTriItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/FollowerItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/ItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/ListHeadData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/ListHistoryItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/LrcLine.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/MainViewModel.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/MidItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/MineActivityItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/MineListItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/PodCastBigItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/RadioItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/SelectFirstItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/SettingItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/SquareTriItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/TriItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/TriTitleItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/VideoMVItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/ets/viewmodel/VideoRecommendItemData.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/module.json5 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/element/color.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/element/float.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/element/string.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/about.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/account.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/arrow.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/brand.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/brand1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/circle.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/data.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/discover_normal.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/discover_selected.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/favorite.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig21.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig31.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig41.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/fig5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/found.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/green2023.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/home_normal.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/home_selected.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_files_new_folder.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_gallery_frame_overlay_soundphoto.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_gallery_photoedit_more.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_message_continue.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_message_emoji.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_add.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_add_norm_filled.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled_red.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_down_0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_grey.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_red.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_cancel.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_close_bk.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_close_wh.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_download.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_upload.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_comments.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_copy.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_delete.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_download_black.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_drawer.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_fast.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_favor.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_highlight.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_highlight_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_history.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_home.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_home_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_input_scan.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_list_cycle.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_mine.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_mine_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_more_list.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_music.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_music_grey.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_music_red.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_order_play.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_pause.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_pause_norm.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_play.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_play_last.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_play_next.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_play_norm.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_play_white.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_random.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_refresh.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_share.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_single_cycle.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_sound_filled.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_sound_off_filled.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup_filled.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_public_view_list.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast_select.png (100%) rename scenario/{arkui/MyNews/entry/src/ohosTest => MyMusic/entry/src/main}/resources/base/media/icon.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/login_method1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/login_method2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/login_method3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/logo.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/love.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/menu.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/message.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/mine_normal.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/mine_selected.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/new.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/news.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/privacy.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quareblue8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quaregreen8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarepink8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/quarered8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/radio.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/radio_select.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/record.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/recycle.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/right_grey.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/search.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/shopping.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/storage.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/target.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/top.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/media/yellow8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/base/profile/main_pages.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/en_US/element/string.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quareblue8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quaregreen8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarepink8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered0.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered1.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered2.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered3.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered4.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered5.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered6.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered7.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/quarered8.png (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/test1.mp4 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/test2.mp4 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/video1.mp4 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/rawfile/video2.mp4 (100%) rename scenario/{arkui => }/MyMusic/entry/src/main/resources/zh_CN/element/string.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/test/List.test.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/test/Page.test.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/test/Playback.test.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/test/Playlist.test.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/testability/TestAbility.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/testability/pages/Index.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/ohosTest/module.json5 (100%) rename scenario/{arkui/MyWps => MyMusic}/entry/src/ohosTest/resources/base/element/color.json (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMusic}/entry/src/ohosTest/resources/base/element/string.json (100%) rename scenario/{arkui/MyShopping => MyMusic}/entry/src/ohosTest/resources/base/media/icon.png (100%) rename scenario/{arkui/MyShopping => MyMusic}/entry/src/ohosTest/resources/base/profile/test_pages.json (100%) rename scenario/{arkui => }/MyMusic/entry/src/test/List.test.ets (100%) rename scenario/{arkui => }/MyMusic/entry/src/test/LocalUnit.test.ets (100%) rename scenario/{arkui/MyWps => MyMusic}/hvigor/hvigor-config.json5 (97%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyMusic}/hvigor/hvigor-wrapper.js (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyMusic}/hvigorfile.ts (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyMusic}/hvigorw (100%) rename scenario/{arkui/MyShopping => MyMusic}/hvigorw.bat (100%) rename scenario/{arkui/MyWps => MyMusic}/oh-package-lock.json5 (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyMusic/oh-package.json5 (100%) rename scenario/{arkui => }/MyMusic/screenshots/home.jpeg (100%) rename scenario/{arkui => }/MyMusic/screenshots/mine.jpeg (100%) rename scenario/{arkui => }/MyMusic/screenshots/podcast.jpeg (100%) rename scenario/{arkui => }/MyNews/.gitignore (100%) rename scenario/{arkui => }/MyNews/AppScope/app.json5 (100%) rename scenario/{arkui => }/MyNews/AppScope/resources/base/element/string.json (100%) rename scenario/{arkui/MyWps => MyNews}/AppScope/resources/base/media/app_icon.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyNews/README.md (100%) create mode 100644 scenario/MyNews/build-profile.json5 rename scenario/{arkui/MyWps => MyNews}/entry/.gitignore (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyNews}/entry/build-profile.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui => }/MyNews/entry/hvigorfile.ts (100%) rename scenario/{arkui/MyWps => MyNews}/entry/obfuscation-rules.txt (100%) mode change 100755 => 100644 rename scenario/{arkui/MyShopping => MyNews}/entry/oh-package.json5 (100%) rename scenario/{arkui => }/MyNews/entry/src/main/data/ImgPool.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/data/TextPool.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/data/UserData.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/common/utils/GetArticles.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/common/utils/Login.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/common/utils/RandomResource.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/entryability/EntryAbility.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/pages/LoginPage.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/pages/MainPage.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/pages/PublishPage.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/pages/SearchPage.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Common/BasicUserInfo.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/Home.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/HomeTabs.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/Recommendation/ImgNewsOverview.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/Recommendation/PureTextNewsOverview.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/Recommendation/Recommendation.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Home/TopBar.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Login/BottomBtns.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Login/FailureDialog.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Login/LoginArea.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Login/OtherLoginMethodsDialog.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Login/TopBtns.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Mall/GoodsCard.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Mall/GoodsList.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Mall/Mall.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Mall/TopBar.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Profile/AdsSwiper.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Profile/FuncArea.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Profile/Profile.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Profile/UserInfoArea.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Publish/MicroNews.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Publish/PublishTabs.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Search/BottomBar.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Search/IncognitoModeIndicator.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Search/TopBar.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Search/TrendingTopics.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Task.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/view/Video.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/viewmodel/Article.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/viewmodel/GoodsDataSource.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/main/ets/viewmodel/RouterParams.ets (100%) create mode 100644 scenario/MyNews/entry/src/main/module.json5 rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/element/color.json (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/element/string.json (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_1.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_10.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_11.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_12.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_13.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_14.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_15.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_16.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_17.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_18.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_19.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_2.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_20.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_3.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_4.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_5.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_6.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_7.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_8.jpg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/fig_9.png (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_controlcenter_eyeconfort_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_desktop_servicewidgets.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_device_earphone.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_gallery_privacy_statement.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_add.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_add_norm_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_app.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_appstore.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_appstore_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_arrow_down_0.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_backtotop.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_calendar.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_calendar_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_cancel.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_community_messages_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_contacts.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_contacts_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_delete.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_devices_phone_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_download.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_face_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_fail.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_folder.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_history.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_home.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_home_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_input_search.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_lock_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_notes.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_play.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_ring.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_scan.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_settings.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_share.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_thumbsup.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_video.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_video_filled.svg (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/media/ic_public_view_list.svg (100%) rename scenario/{arkui/MyShopping => MyNews}/entry/src/main/resources/base/media/icon.png (100%) rename scenario/{arkui/MyWps => MyNews}/entry/src/main/resources/base/media/startIcon.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyNews/entry/src/main/resources/base/profile/main_pages.json (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/en_US/element/string.json (100%) rename scenario/{arkui => }/MyNews/entry/src/main/resources/zh_CN/element/string.json (100%) rename scenario/{arkui => }/MyNews/entry/src/ohosTest/ets/test/List.test.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/ohosTest/ets/test/Login.test.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/ohosTest/ets/testability/TestAbility.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/ohosTest/ets/testability/pages/Index.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets (100%) rename scenario/{arkui/MyWps => MyNews}/entry/src/ohosTest/module.json5 (96%) mode change 100755 => 100644 create mode 100644 scenario/MyNews/entry/src/ohosTest/resources/base/element/color.json rename scenario/{arkui/MyWps => MyNews}/entry/src/ohosTest/resources/base/element/string.json (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyNews}/entry/src/ohosTest/resources/base/media/icon.png (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyNews}/entry/src/ohosTest/resources/base/profile/test_pages.json (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyNews/entry/src/test/List.test.ets (100%) rename scenario/{arkui => }/MyNews/entry/src/test/LocalUnit.test.ets (100%) create mode 100644 scenario/MyNews/hvigor/hvigor-config.json5 create mode 100644 scenario/MyNews/hvigor/hvigor-wrapper.js rename scenario/{arkui => }/MyNews/hvigorfile.ts (100%) rename scenario/{arkui/MyWps => MyNews}/hvigorw (100%) mode change 100755 => 100644 rename scenario/{arkui/MyWps => MyNews}/hvigorw.bat (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyNews/oh-package.json5 (100%) rename scenario/{arkui => }/MyNews/screenshots/home.png (100%) rename scenario/{arkui => }/MyNews/screenshots/login.png (100%) rename scenario/{arkui => }/MyNews/screenshots/mall.png (100%) rename scenario/{arkui => }/MyNews/screenshots/profile.png (100%) rename scenario/{arkui => }/MyNews/screenshots/publish.png (100%) rename scenario/{arkui => }/MyNews/screenshots/search.png (100%) rename scenario/{arkui => }/MyShopping/.gitignore (100%) rename scenario/{arkui => }/MyShopping/AppScope/app.json5 (100%) rename scenario/{arkui => }/MyShopping/AppScope/resources/base/element/string.json (100%) create mode 100644 scenario/MyShopping/AppScope/resources/base/media/app_icon.png rename scenario/{arkui => }/MyShopping/README.md (100%) rename scenario/{arkui => }/MyShopping/build-profile.json5 (100%) create mode 100644 scenario/MyShopping/entry/.gitignore create mode 100644 scenario/MyShopping/entry/build-profile.json5 create mode 100644 scenario/MyShopping/entry/hvigorfile.ts create mode 100644 scenario/MyShopping/entry/obfuscation-rules.txt rename scenario/{arkui/MyWps => MyShopping}/entry/oh-package.json5 (95%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/ets/data/WaterFlowDataSource.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/data/merchandise.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/dataModel/merchandise.ets (100%) create mode 100644 scenario/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/Index.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/components/classification/classification.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/components/contentPlate/banner.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/components/contentPlate/content.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/components/contentPlate/contentMenu.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/ets/pages/components/homeTab/Home.ets (100%) rename scenario/{arkui/MyWps => MyShopping}/entry/src/main/module.json5 (96%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/element/color.json (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/element/string.json (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/banner.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/flower.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_99_notebook.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_99_paper.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_99_toy.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_99_water.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_99baoyou.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_animations_animateto.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_animations_animation.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_animations_path.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_auxiliary.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_back.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_basic_gesture.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_basic_gestures.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_blank_and_divider.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_butie1.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_butie2.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_button_and_selection.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_button_circle_add.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_button_click.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_button_loading.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_call_green.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_cancel.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_canvas_and_graphic_drawing.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_click_event.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_combine_gestures.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_combined_gestures.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_component_blurr.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_component_clip.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_component_id.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_location.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_voice.png (100%) rename scenario/{arkui/MyWps => MyShopping}/entry/src/main/resources/base/media/ic_dialog.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_display.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_down_arrow.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_drag_event.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_area_change.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_drag.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_focus.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_load_and_hide.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_mouse.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_event_touch.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_focus.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_focus_event.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_global_menu.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_graphic_transformation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_grid_setting.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_image_alt.png (100%) rename scenario/{arkui/MyWps => MyShopping}/entry/src/main/resources/base/media/ic_image_effects.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_image_video_media.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_information_presentation_and_dynamic_effects.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_interaction.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_interpolation_calculation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_key_press.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_lifecycle.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_list.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_list_and_grid.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_miaosha1.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_miaosha2.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_mount_event.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_mouse_event.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_navigation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_ok.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_other.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_pen.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_prop_background.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_prop_border.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_prop_font.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_prop_size.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_properties_border.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_properties_constraint.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_properties_flex.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_properties_location.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_public_camera.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_public_community_messages.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_public_scan.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_restore_id.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_right_arrow.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_rows_and_columns.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_scenery1.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_scenery2.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_scenery3.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_scenery4.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_scroll_event.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_animation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_component.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_global.png (100%) rename scenario/{arkui/MyWps => MyShopping}/entry/src/main/resources/base/media/ic_select_option_collection.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_option_gesture.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_option_picture.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_select_universal.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_shape_crop.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_stack_flex_and_grid.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_tabbar_home.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_text_and_input.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_transition_animation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_unselect_animation.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_unselect_component.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_unselect_global.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_unselect_universal.png (100%) rename scenario/{arkui/MyWps => MyShopping}/entry/src/main/resources/base/media/ic_user.png (100%) mode change 100755 => 100644 rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/ic_web.png (100%) create mode 100644 scenario/MyShopping/entry/src/main/resources/base/media/icon.png rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_1.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_10.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_2.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_3.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_4.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_5.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_6.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_7.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_8.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_animator_9.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/image_show_test.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_love.svg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_test_1.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_test_2.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_test_3.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_test_4.jpg (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/img_test_5.jpg (100%) create mode 100644 scenario/MyShopping/entry/src/main/resources/base/media/startIcon.png rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/test01.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/test02.png (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/base/media/test_image.jpg (100%) create mode 100644 scenario/MyShopping/entry/src/main/resources/base/profile/main_pages.json rename scenario/{arkui => }/MyShopping/entry/src/main/resources/en_US/element/string.json (100%) rename scenario/{arkui => }/MyShopping/entry/src/main/resources/zh_CN/element/string.json (100%) create mode 100644 scenario/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets rename scenario/{arkui => }/MyShopping/entry/src/ohosTest/ets/test/List.test.ets (100%) rename scenario/{arkui => }/MyShopping/entry/src/ohosTest/ets/test/uiTestSuites/home.test.ets (100%) create mode 100644 scenario/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 scenario/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 scenario/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets create mode 100644 scenario/MyShopping/entry/src/ohosTest/module.json5 create mode 100644 scenario/MyShopping/entry/src/ohosTest/resources/base/element/color.json create mode 100644 scenario/MyShopping/entry/src/ohosTest/resources/base/element/string.json create mode 100644 scenario/MyShopping/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 scenario/MyShopping/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 scenario/MyShopping/entry/src/test/List.test.ets create mode 100644 scenario/MyShopping/entry/src/test/LocalUnit.test.ets create mode 100644 scenario/MyShopping/hvigorfile.ts create mode 100644 scenario/MyShopping/hvigorw create mode 100644 scenario/MyShopping/hvigorw.bat rename scenario/{arkui => }/MyShopping/oh-package.json5 (100%) rename scenario/{arkui => }/MyShopping/screenshots/shoppingApp.jpg (100%) rename scenario/{arkuiTest => }/ostest.py (100%) diff --git a/scenario/arkui/MyMap/.gitignore b/performance/arkts/benchmark_arkts_compiler/.gitignore old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/.gitignore rename to performance/arkts/benchmark_arkts_compiler/.gitignore diff --git a/performance/arkts/benchmark_arkts_compiler/AppScope/app.json5 b/performance/arkts/benchmark_arkts_compiler/AppScope/app.json5 new file mode 100644 index 000000000..7d26fbb39 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.benchmark_arkts_compiler", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/element/string.json b/performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..82dec8397 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "benchmark_arkts_compiler" + } + ] +} diff --git a/scenario/arkui/MyMap/AppScope/resources/base/media/app_icon.png b/performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/media/app_icon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/AppScope/resources/base/media/app_icon.png rename to performance/arkts/benchmark_arkts_compiler/AppScope/resources/base/media/app_icon.png diff --git a/performance/arkts/benchmark_arkts_compiler/README_CN.md b/performance/arkts/benchmark_arkts_compiler/README_CN.md new file mode 100644 index 000000000..e467fbd52 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/README_CN.md @@ -0,0 +1,53 @@ +# ArkCompiler ts-swift workload mix-case + +### 介绍 + +将业界JetStream2中收集的典型benchmark用例用ts重写,测试OpenHarmony ArkTS语言运行的性能。 + +### 效果预览 + +| 主页 | +|--------------------------------| +| ![image](screenshots/home.png) | + + + +``` +. +├── README_CN.md +└── pages + ├── Index.ets //测试入口页面 +└── cases + ├── BenchmarkMeasure.ts // ts测试套 + ├── Octane + │ ├── box2d.ts // 用例 + │ ├── deltablue.ts + │ ├── navier-stoke.ts + │ ├── raytrace.ts + │ └── richards.ts + └── SunSpider + ├── base64.ts // 用例 + ├── crypto-aes.ts + ├── crypto-md5.ts + └── crypto-sha1.ts +``` +### 相关权限 +无 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568; +2. 本示例仅支持API10版本SDK,版本号:4.0.10.13; +3. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600); + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo scenario/arkui/MyMusic/ > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git +git pull origin master +``` diff --git a/scenario/arkui/MyNews/build-profile.json5 b/performance/arkts/benchmark_arkts_compiler/build-profile.json5 similarity index 100% rename from scenario/arkui/MyNews/build-profile.json5 rename to performance/arkts/benchmark_arkts_compiler/build-profile.json5 diff --git a/scenario/arkui/MyMap/entry/.gitignore b/performance/arkts/benchmark_arkts_compiler/entry/.gitignore old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/.gitignore rename to performance/arkts/benchmark_arkts_compiler/entry/.gitignore diff --git a/scenario/arkui/MyMusic/entry/build-profile.json5 b/performance/arkts/benchmark_arkts_compiler/entry/build-profile.json5 similarity index 100% rename from scenario/arkui/MyMusic/entry/build-profile.json5 rename to performance/arkts/benchmark_arkts_compiler/entry/build-profile.json5 diff --git a/scenario/arkui/MyMap/entry/hvigorfile.ts b/performance/arkts/benchmark_arkts_compiler/entry/hvigorfile.ts old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/hvigorfile.ts rename to performance/arkts/benchmark_arkts_compiler/entry/hvigorfile.ts diff --git a/scenario/arkui/MyMap/entry/obfuscation-rules.txt b/performance/arkts/benchmark_arkts_compiler/entry/obfuscation-rules.txt old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/obfuscation-rules.txt rename to performance/arkts/benchmark_arkts_compiler/entry/obfuscation-rules.txt diff --git a/performance/arkts/benchmark_arkts_compiler/entry/oh-package.json5 b/performance/arkts/benchmark_arkts_compiler/entry/oh-package.json5 new file mode 100644 index 000000000..248c3b754 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/entry/oh-package.json5 @@ -0,0 +1,10 @@ +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": {} +} + diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/BenchmarkMeasure.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/BenchmarkMeasure.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/BenchmarkMeasure.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/BenchmarkMeasure.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/box2d.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/box2d.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/box2d.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/box2d.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/deltablue.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/deltablue.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/deltablue.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/deltablue.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/navier-stoke.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/navier-stoke.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/navier-stoke.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/navier-stoke.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/raytrace.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/raytrace.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/raytrace.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/raytrace.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/richards.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/richards.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/Octane/richards.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/Octane/richards.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/base64.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/base64.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/base64.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/base64.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-aes.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-aes.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-aes.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-aes.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-md5.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-md5.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-md5.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-md5.ts diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-sha1.ts b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-sha1.ts similarity index 100% rename from performance/arkts/benchmarks/compiler_workload/mix-case/ts/SunSpider/crypto-sha1.ts rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/cases/SunSpider/crypto-sha1.ts diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/entryability/EntryAbility.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/entryability/EntryAbility.ets diff --git a/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/pages/Index.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/pages/Index.ets new file mode 100644 index 000000000..c5ea78cb9 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,41 @@ +@Entry +@Component +struct Index { + @State message: string = 'ArkTS Compiler Benchmark'; + private cases: string[] = ['Octane:box2d', 'Octane:deltablue', 'Octane:raytrace', 'Octane:navier-stokes', 'Octane:richards', + 'SunSpider:base64', 'SunSpider:crypto-aes', 'SunSpider:crypto-md5', 'SunSpider:crypto-sha1'] + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(20) + .fontWeight(FontWeight.Bold) + .margin(20) + Button('执行全部用例') + .fontSize(20) + .fontWeight(FontWeight.Bold) + .width('50%') + .margin(20) + List({ space: 20, initialIndex: 0 }) { + ForEach(this.cases, (item: string) => { + ListItem() { + Text(item) + .width('100%') + .height(30) + .fontSize(16) + .textAlign(TextAlign.Center) + .borderRadius(10) + .borderWidth(1) + .borderColor(Color.Blue) + .backgroundColor(0xFFFFFF) + } + }, (item: string) => item) + }.width('90%') + .scrollBar(BarState.Off) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/scenario/arkui/MyNews/entry/src/main/module.json5 b/performance/arkts/benchmark_arkts_compiler/entry/src/main/module.json5 similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/module.json5 rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/module.json5 diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/resources/base/element/color.json b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/element/color.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/resources/base/element/color.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/element/color.json diff --git a/scenario/arkui/MyMap/entry/src/main/resources/en_US/element/string.json b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/en_US/element/string.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/icon.png b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/icon.png rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/media/icon.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/startIcon.png b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/media/startIcon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/startIcon.png rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/media/startIcon.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/profile/main_pages.json b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/profile/main_pages.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/profile/main_pages.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/base/profile/main_pages.json diff --git a/scenario/arkui/MyWps/entry/src/main/resources/en_US/element/string.json b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/en_US/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/en_US/element/string.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/en_US/element/string.json diff --git a/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/zh_CN/element/string.json b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 000000000..597ecf95e --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/test/Ability.test.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/test/Ability.test.ets diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/ets/test/List.test.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/test/List.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/ets/test/List.test.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/test/List.test.ets diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testability/TestAbility.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testability/TestAbility.ets diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testability/pages/Index.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testability/pages/Index.ets diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/module.json5 b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/module.json5 similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/module.json5 rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/module.json5 diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/element/color.json b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/element/color.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/element/color.json diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/resources/base/element/string.json b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/resources/base/element/string.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/element/string.json diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/resources/base/media/icon.png b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/media/icon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/resources/base/media/icon.png rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/media/icon.png diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/resources/base/profile/test_pages.json b/performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/profile/test_pages.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/resources/base/profile/test_pages.json rename to performance/arkts/benchmark_arkts_compiler/entry/src/ohosTest/resources/base/profile/test_pages.json diff --git a/scenario/arkui/MyShopping/entry/src/test/List.test.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/test/List.test.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/test/List.test.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/test/List.test.ets diff --git a/scenario/arkui/MyShopping/entry/src/test/LocalUnit.test.ets b/performance/arkts/benchmark_arkts_compiler/entry/src/test/LocalUnit.test.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/test/LocalUnit.test.ets rename to performance/arkts/benchmark_arkts_compiler/entry/src/test/LocalUnit.test.ets diff --git a/scenario/arkui/MyMusic/hvigor/hvigor-config.json5 b/performance/arkts/benchmark_arkts_compiler/hvigor/hvigor-config.json5 similarity index 100% rename from scenario/arkui/MyMusic/hvigor/hvigor-config.json5 rename to performance/arkts/benchmark_arkts_compiler/hvigor/hvigor-config.json5 diff --git a/scenario/arkui/MyMusic/hvigor/hvigor-wrapper.js b/performance/arkts/benchmark_arkts_compiler/hvigor/hvigor-wrapper.js similarity index 100% rename from scenario/arkui/MyMusic/hvigor/hvigor-wrapper.js rename to performance/arkts/benchmark_arkts_compiler/hvigor/hvigor-wrapper.js diff --git a/scenario/arkui/MyMusic/hvigorfile.ts b/performance/arkts/benchmark_arkts_compiler/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyMusic/hvigorfile.ts rename to performance/arkts/benchmark_arkts_compiler/hvigorfile.ts diff --git a/scenario/arkui/MyMap/hvigorw b/performance/arkts/benchmark_arkts_compiler/hvigorw old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/hvigorw rename to performance/arkts/benchmark_arkts_compiler/hvigorw diff --git a/scenario/arkui/MyMap/hvigorw.bat b/performance/arkts/benchmark_arkts_compiler/hvigorw.bat old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/hvigorw.bat rename to performance/arkts/benchmark_arkts_compiler/hvigorw.bat diff --git a/scenario/arkui/MyMusic/oh-package-lock.json5 b/performance/arkts/benchmark_arkts_compiler/oh-package-lock.json5 similarity index 100% rename from scenario/arkui/MyMusic/oh-package-lock.json5 rename to performance/arkts/benchmark_arkts_compiler/oh-package-lock.json5 diff --git a/performance/arkts/benchmark_arkts_compiler/oh-package.json5 b/performance/arkts/benchmark_arkts_compiler/oh-package.json5 new file mode 100644 index 000000000..9423268b8 --- /dev/null +++ b/performance/arkts/benchmark_arkts_compiler/oh-package.json5 @@ -0,0 +1,13 @@ +{ + "name": "benchmark_arkts_compiler", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.11" + } +} diff --git a/performance/arkts/benchmark_arkts_compiler/screenshots/home.png b/performance/arkts/benchmark_arkts_compiler/screenshots/home.png new file mode 100644 index 0000000000000000000000000000000000000000..005414fdec07960396eec3096ea2eaf4c1d652e2 GIT binary patch literal 67609 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 literal 0 HcmV?d00001 diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/README_CN.md b/performance/arkts/benchmarks/compiler_workload/mix-case/README_CN.md deleted file mode 100644 index ba06ccdb3..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/README_CN.md +++ /dev/null @@ -1,88 +0,0 @@ -# ArkCompiler ts-swift workload mix-case - -### 介绍 - -将业界JetStream2中收集的典型用例用ts和swift重写,用arkts编译器编译后执行,纵向对比编译器优化前后的测试数据,横向对比swift的测试数据。 -``` -. -├── out // 结果输出目录 -│   ├── 2023-08-23-00-33-28-log.txt // 执行日志 -│   ├── 2023-08-23-00-33-28-result.xls // 结果输出文件 -├── README_CN.md -├── run_all.py // 总执行入口 -├── swift -│   ├── Octane -│   │   ├── deltablue.swift // 用例 -│   │   ├── navier-stoke.swift -│   │   ├── raytrace.swift -│   │   └── richards.swift -│   ├── run.sh // swift单独执行执行入口 -│   └── SunSpider -│   ├── base64.swift // 用例 -│   ├── crypto-aes.swift -│   ├── crypto-md5.swift -│   └── crypto-sha1.swift -└── ts - ├── BenchmarkMeasure.ts // ts测试套 - ├── Octane - │   ├── box2d.ts // 用例 - │   ├── deltablue.ts - │   ├── navier-stoke.ts - │   ├── raytrace.ts - │   └── richards.ts - ├── run.sh // ts单独执行入口 - └── SunSpider - ├── base64.ts // 用例 - ├── crypto-aes.ts - ├── crypto-md5.ts - └── crypto-sha1.ts -``` -### 环境搭建&执行 -1. 下载OpenHarmony源码,搭建常规镜像的编译构建环境; -2. 构建 ark_js和ark_ets编译工具: - - `./build.sh --product-name rk3568 --build-target ark_js_host_linux_tools_packages --build-target ets_frontend_build` - - 检查out/rk3568/clang_x64/arkcompiler/: - - ets_frontend/build-ets/目录下是否生成es2abc*文件 - - ets_runtime目录下是否生成ark_aot_compiler文件 - - ets_runtime目录下是否生成ark_js_vmr文件 - -3. 如需运行Swift用例,需要安装Swift环境: - - 从官网下载swift在linux上的安装包 https://www.swift.org/download/ -4. 用例路径在源码目录: - `./test/os_test/ostest_integration_test/performance/arkts/benchmarks/compiler_workload/mix-case` - - 执行 run_all.py - - `python run_all.py --run-count --case --type ` - - 举例: - - 执行所有 ts 和 swift 用例1次: - - `python run_all.py` - - 执行所有 ts 和 swift 用例10次 - - `python run_all.py --run-count 10` - - 执行 swift 中 base64 用例10次 - - `python run_all.py --type swift --run-count 10 --case base64` - - 执行 ts 用例 - - `python run_all.py --type ts` - - 帮助 - - `python run_all.py -h` - - -##### 结果 - 结果和日志输出在/mix-case/out目录下 diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/run_all.py b/performance/arkts/benchmarks/compiler_workload/mix-case/run_all.py deleted file mode 100644 index 5e50da508..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/run_all.py +++ /dev/null @@ -1,144 +0,0 @@ -#Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - -import os -import sys -import datetime -def lost_module(module_name): - print("""need %s module, try install first: - pip install %s""" % (module_name, module_name)) - exit() - -try: - import xlsxwriter -except ImportError: - import pip - pip.main(["install", "xlsxwriter"]) - try: - import xlsxwriter - except ImportError: - xlsxwriter = None - lost_module("xlsxwriter") - -time_format_file = '%Y-%m-%d-%H-%M-%S' -start_time_raw = datetime.datetime.now() -start_time_file = start_time_raw.strftime(time_format_file) -root_dir = os.getcwd() -output_dir = root_dir+'/'+'out' -if not os.path.exists(output_dir): - os.makedirs(output_dir) -workbook = xlsxwriter.Workbook(output_dir + '/'+start_time_file+'-result.xls') -arguments = sys.argv -run_count = 1 -compile_type = "ALL" -result_separator_usec = ': usec = ' -result_separator_latency = ': latency = ' -case_name = '' - - -def print_help(): - print("help [-h]") - print("[--type ]") - print("[--run-count ]") - print("[--case ]") - print("example of run all case in ts/swift once: \n[python run_all.py]") - print("example of run all case in ts/swift 10 times: \n[python run_all.py --run-count 10]") - print("example of run case 'base64' in swift 10 times: \n[python run_all.py --type swift --run-count 10 --case base64]") - print("results will output in 'out' dir") - - -for i in range(len(arguments)): - if arguments[i] == '--type': - compile_type = arguments[i+1] - if arguments[i] == '--run-count': - run_count = int(arguments[i+1]) - if arguments[i] == '--case': - case_name = arguments[i+1] - if arguments[i] == '-h': - print_help() - exit() - - -def run_once(i): - run_record = {} - print("[Run time]: " + str(i)) - sheet = workbook.add_worksheet("sheet"+str(i)) - cell_format = workbook.add_format() - cell_format.set_bg_color('#D9D9D9') - sheet_row = 0 - sheet.set_row(sheet_row, cell_format=cell_format) - sheet.write(sheet_row, 0, "CASE_NAME") - sheet.write(sheet_row, 1, "TS RESULT_usec") - sheet.write(sheet_row, 2, "TS RESULT_latency") - sheet.write(sheet_row, 3, "SWIFT RESULT_usec") - sheet.write(sheet_row, 4, "SWIFT RESULT_latency") - sheet_row += 1 - run_dir = root_dir - if compile_type == "ts" or compile_type == "swift": - run_dir = root_dir + '/' + compile_type - for root, dirs, files in os.walk(run_dir): - for name in files: - if name == 'run.sh': - # print(os.path.join(root, name)) - current_type = root.split('/')[-1] - print("[start run]: "+current_type + " " + case_name) - os.chdir(root) - lines = os.popen('./'+name + ' ' + case_name) - while True: - line = lines.readline() - if not line: - break - with open(output_dir+"/"+start_time_file+"-log.txt", "a") as file: - file.writelines(line) - if result_separator_usec in line: - result = line.replace('\n', '').split( - result_separator_usec) - print("[result]: "+str(result)) - if result[0] in run_record.keys(): - row = run_record[result[0]] - else: - run_record[result[0]] = sheet_row - row = sheet_row - sheet.write(row, 0, result[0]) - sheet_row += 1 - if current_type == 'ts': - sheet.write(row, 1, result[1]) - if current_type == 'swift': - sheet.write(row, 3, result[1]) - if result_separator_latency in line: - result = line.replace('\n', '').split( - result_separator_latency) - print("[result]: "+str(result)) - if result[0] in run_record.keys(): - row = run_record[result[0]] - else: - run_record[result[0]] = sheet_row - row = sheet_row - sheet.write(row, 0, result[0]) - sheet_row += 1 - if current_type == 'ts': - sheet.write(row, 2, result[1]) - if current_type == 'swift': - sheet.write(row, 4, result[1]) - lines.close() - - -def run(): - print("***** start run all *****") - for i in range(run_count): - run_once(i+1) - workbook.close() - print("***** stop run all *****") - - -run() diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/deltablue.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/deltablue.swift deleted file mode 100644 index 2d994df5f..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/deltablue.swift +++ /dev/null @@ -1,787 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - -/**************************source code********************************/ - -enum Direction: Int { - case NONE = 0 - case FORWARD = 1 - case BACKWARD = -1 -} - -class Strength { - var strengthValue: Int - var name: String - static let REQUIRED = Strength(0, "required") - static let STONG_PREFERRED = Strength(1, "strongPreferred") - static let PREFERRED = Strength(2, "preferred") - static let STRONG_DEFAULT = Strength(3, "strongDefault") - static let NORMAL = Strength(4, "normal") - static let WEAK_DEFAULT = Strength(5, "weakDefault") - static let WEAKEST = Strength(6, "weakest") - init(_ strengthValue: Int, _ name: String) { - self.strengthValue = strengthValue - self.name = name - } - - static func stronger(_ s1: Strength, _ s2: Strength) -> Bool { - return s1.strengthValue < s2.strengthValue - } - static func weaker(_ s1: Strength, _ s2: Strength) -> Bool { - return s1.strengthValue > s2.strengthValue - } - - static func weakestOf(_ s1: Strength, _ s2: Strength) -> Strength { - return weaker(s1, s2) ? s1 : s2 - } - static func strongest(_ s1: Strength, _ s2: Strength) -> Strength { - return stronger(s1, s2) ? s1 : s2 - } - - func nextWeaker() -> Strength { - switch self.strengthValue { - case 0: return Strength.WEAKEST - case 1: return Strength.WEAK_DEFAULT - case 2: return Strength.NORMAL - case 3: return Strength.STRONG_DEFAULT - case 4: return Strength.PREFERRED - case 5: return Strength.REQUIRED - default: return Strength(0, "") - } - } -} - -class Constraint:Equatable{ - var strength: Strength - - func addToGraph() { - fatalError("Subclasses must override the addToGraph method.") - } - func chooseMethod(mark: Int) { - fatalError("Subclasses must override the chooseMethod method.") - } - func isSatisfied() -> Bool { - fatalError("Subclasses must override the isSatisfied method.") - } - func markInputs(mark: Int) { - fatalError("Subclasses must override the markInputs method.") - } - func output() -> Variable { - fatalError("Subclasses must override the output method.") - } - func removeFromGraph() { - fatalError("Subclasses must override the removeFromGraph method.") - } - func markUnsatisfied() { - fatalError("Subclasses must override the markUnsatisfied method.") - } - func execute() { - fatalError("Subclasses must override the execute method.") - } - func inputsKnown(mark: Int) -> Bool { - fatalError("Subclasses must override the inputsKnown method.") - } - func recalculate() { - fatalError("Subclasses must override the recalculate method.") - } - init(strength: Strength) { - self.strength = strength - } - func addConstraint() { - self.addToGraph() - planner.incrementalAdd(c:self) - } - func satisfy(mark: Int) -> Constraint? { - self.chooseMethod(mark:mark) - if !self.isSatisfied() { - if self.strength === Strength.REQUIRED { - print("Could not satisfy a required constraint!") - } - return nil - } - self.markInputs(mark:mark) - let out: Variable = self.output() - let overridden: Constraint? = out.determinedBy - if overridden != nil { - overridden!.markUnsatisfied() - } - out.determinedBy = self - if !planner.addPropagate(c:self, mark:mark) { - print("Cycle encountered") - } - out.mark = mark - return overridden - } - - func destroyConstraint() { - if self.isSatisfied() { - planner.incrementalRemove(c:self) - } else { - self.removeFromGraph() - } - } - - func isInput() -> Bool { - return false - } - - static func ==(c1:Constraint,c2:Constraint)->Bool{ - return c1 === c2; - } -} - -class BinaryConstraint: Constraint { - var v1: Variable - var v2: Variable - var direction: Direction - init(var1: Variable, var2: Variable, strength: Strength) { - self.v1 = var1 - self.v2 = var2 - self.direction = Direction.NONE - super.init(strength: strength) - } - - - override func chooseMethod(mark: Int) { - if self.v1.mark == mark { - self.direction = (self.v2.mark != mark && Strength.stronger(self.strength, self.v2.walkStrength)) - ? Direction.FORWARD - : Direction.NONE - } - if self.v2.mark == mark { - self.direction = (self.v1.mark != mark && Strength.stronger(self.strength, self.v1.walkStrength)) - ? Direction.BACKWARD - : Direction.NONE - } - if Strength.weaker(self.v1.walkStrength, self.v2.walkStrength) { - self.direction = Strength.stronger(self.strength, self.v1.walkStrength) - ? Direction.BACKWARD - : Direction.NONE - } else { - self.direction = Strength.stronger(self.strength, self.v2.walkStrength) - ? Direction.FORWARD - : Direction.BACKWARD - } - } - override func addToGraph() { - self.v1.addConstraint(self) - self.v2.addConstraint(self) - self.direction = Direction.NONE - } - override func isSatisfied() -> Bool { - return self.direction != Direction.NONE - } - override func markInputs(mark: Int) { - self.input().mark = mark - } - func input() -> Variable { - return (self.direction == Direction.FORWARD) ? self.v1 : self.v2 - } - override func output() -> Variable { - return (self.direction == Direction.FORWARD) ? self.v2 : self.v1 - } - override func recalculate() { - let ihn: Variable = self.input() - let out: Variable = self.output() - out.walkStrength = Strength.weakestOf(self.strength, ihn.walkStrength) - out.stay = ihn.stay - if out.stay { - self.execute() - } - } - override func markUnsatisfied() { - self.direction = Direction.NONE - } - override func inputsKnown(mark: Int) -> Bool { - let i: Variable = self.input() - return i.mark == mark || i.stay || i.determinedBy == nil - } - override func removeFromGraph() { - self.v1.removeConstraint(self); - self.v2.removeConstraint(self); - self.direction = Direction.NONE - } -} - -class ScaleConstraint: BinaryConstraint { - var scale: Variable - var offset: Variable - init(src: Variable, scale: Variable, offset: Variable, dest: Variable, strength: Strength) { - self.scale = scale - self.offset = offset - super.init(var1: src, var2: dest, strength: strength) - self.direction = Direction.NONE - self.addScaAndOffToGraph() - self.addConstraint() - } - func addScaAndOffToGraph() { - self.scale.addConstraint(self) - self.offset.addConstraint(self) - } - override func removeFromGraph() { - self.scale.removeConstraint(self); - self.offset.removeConstraint(self); - } - override func markInputs(mark: Int) { - self.scale.mark = mark - self.offset.mark = mark - } - override func execute() { - if self.direction == Direction.FORWARD { - self.v2.value = self.v1.value * self.scale.value + self.offset.value - } else { - self.v1.value = (self.v2.value - self.offset.value) / self.scale.value - } - } - override func recalculate() { - let ihn: Variable = self.input() - let out: Variable = self.output() - out.walkStrength = Strength.weakestOf(self.strength, ihn.walkStrength) - out.stay = ihn.stay && self.scale.stay && self.offset.stay - if out.stay { - self.execute() - } - } -} - -class EqualityConstraint: BinaryConstraint { - override init(var1: Variable, var2: Variable, strength: Strength) { - super.init(var1: var1, var2: var2, strength: strength) - self.addConstraint() - } - override func execute() { - self.output().value = self.input().value - } -} - -class UnaryConstraint: Constraint { - var myOutput: Variable - var satisfied: Bool - init(v: Variable, strength: Strength) { - self.myOutput = v - self.satisfied = false - super.init(strength: strength) - self.addConstraint() - } - override func addToGraph() { - self.myOutput.addConstraint(self) - self.satisfied = false - } - override func chooseMethod(mark: Int) { - self.satisfied = (self.myOutput.mark != mark) && Strength.stronger(self.strength, self.myOutput.walkStrength) - } - override func isSatisfied() -> Bool { - return self.satisfied - } - override func markInputs(mark: Int) { - // has no inputs - } - override func output() -> Variable { - return self.myOutput - } - override func recalculate() { - self.myOutput.walkStrength = self.strength - self.myOutput.stay = !self.isInput() - if self.myOutput.stay { - self.execute() - } - } - override func markUnsatisfied() { - self.satisfied = false - } - override func inputsKnown(mark: Int) -> Bool { - return true - } - override func removeFromGraph() { - myOutput.removeConstraint(self) - self.satisfied = false - } -} - -class EditConstraint: UnaryConstraint { - init(v: Variable, str: Strength) { - super.init(v: v, strength: str) - } - override func isInput() -> Bool { - return true - } - override func execute() { - // Implementation - } -} - class StayConstraint: UnaryConstraint { - init(v: Variable, str: Strength) { - super.init(v: v, strength: str) - } - override func execute() { - // Implementation - } -} - -class OrderedCollection where T:Equatable{ - var elms: [T] - init() { - self.elms = [] - } - func add(elm: T) { - self.elms.append(elm) - } - func at(index: Int) -> T { - return self.elms[index] - } - func size() -> Int { - return self.elms.count - } - func removeFirst() -> T? { - return self.elms.popLast() - } - - func remove(elm: T) { - var index = 0 - var skipped = 0 - for i in 0.. - var determinedBy: Constraint? - var mark: Int - var walkStrength: Strength - var stay: Bool - var name: String - init(name: String, initialValue: Double? = nil) { - self.value = initialValue ?? 0 - self.constraints = OrderedCollection() - self.determinedBy = nil - self.mark = 0 - self.walkStrength = Strength.WEAKEST - self.stay = true - self.name = name - } - func addConstraint(_ c: Constraint) { - self.constraints.add(elm:c) - } - func removeConstraint(_ c: Constraint) { - self.constraints.remove(elm:c) - if self.determinedBy === c { - self.determinedBy = nil - } - } - - static func ==(c1:Variable,c2:Variable)->Bool{ - return c1 === c2; - } -} - -class Plan { - var v: OrderedCollection - init() { - self.v = OrderedCollection() - } - func addConstraint(c: Constraint) { - self.v.add(elm:c) - } - func size() -> Int { - return self.v.size() - } - func constraintAt(index: Int) -> Constraint { - return self.v.at(index:index) - } - - func execute() { - for i in 0.. Int { - self.currentMark += 1 - return self.currentMark - } - - func makePlan(sources: OrderedCollection) -> Plan { - let mark = self.newMark() - let plan = Plan() - var todo = sources - while todo.size() > 0 { - let c: Constraint? = todo.removeFirst() - if c!.output().mark != mark && c!.inputsKnown(mark:mark) { - plan.addConstraint(c:c!) - c!.output().mark = mark - self.addConstraintsConsumingTo(v: c!.output(), coll: &todo) - } - } - return plan - } - func extractPlanFromConstraints(constraints: OrderedCollection) -> Plan { - let sources: OrderedCollection = OrderedCollection() - for i in 0.. Bool { - var todo: OrderedCollection = OrderedCollection() - todo.add(elm:c) - while todo.size() > 0 { - let d: Constraint? = todo.removeFirst() - if d!.output().mark == mark { - self.incrementalRemove(c:c) - return false - } - d!.recalculate() - self.addConstraintsConsumingTo(v: d!.output(), coll: &todo) - } - return true - } - func removePropagateFrom(out: Variable) -> OrderedCollection { - out.determinedBy = nil - out.walkStrength = Strength.WEAKEST - out.stay = true - let unsatisfied: OrderedCollection = OrderedCollection() - let todo: OrderedCollection = OrderedCollection() - todo.add(elm:out) - while todo.size() > 0 { - let v: Variable? = todo.removeFirst() - for i in 0..) { - let determining: Constraint? = v.determinedBy - let cc: OrderedCollection = v.constraints - for i in 0.. = OrderedCollection() - edits.add(elm:edit) - let plan: Plan = planner.extractPlanFromConstraints(constraints: edits) - for _ in 0..<10 { - v.value = newValue; - plan.execute() - } - edit.destroyConstraint() -} - -var planner:Planner = Planner(); - -func chainTest(n: Int) throws { - planner = Planner() - var prev: Variable? = nil, first: Variable? = nil, last: Variable? = nil - for i in 0...n { - let name: String = "v\(i)" - let v: Variable = Variable(name: name) - if prev != nil { - _ = EqualityConstraint(var1: prev!, var2: v, strength: Strength.REQUIRED) - } - if i == 0 { - first = v - } - if i == n { - last = v - } - prev = v - } - _ = StayConstraint(v: last!, str: Strength.STRONG_DEFAULT) - let edit: EditConstraint = EditConstraint(v: first!, str: Strength.PREFERRED) - let edits: OrderedCollection = OrderedCollection() - edits.add(elm:edit) - let plan: Plan = planner.extractPlanFromConstraints(constraints: edits) - for i in 0..<100 { - first!.value = Double(i) - plan.execute() - if last!.value != Double(i) { - throw BenchmarkError.WrongResult("Chain test failed.") - } - } -} - -func projectionTest(n: Int) throws { - planner = Planner() - let scale: Variable = Variable(name: "scale", initialValue: 10) - let offset: Variable = Variable(name: "offset", initialValue: 1000) - var src: Variable = Variable(name:""), dst: Variable = Variable(name:""); - let dests: OrderedCollection = OrderedCollection() - for i in 0.. UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - -/**************************source code********************************/ - -class FluidField { - var iterations: Int = 10 - var visc: Double = 0.5 - var dt: Double = 0.1 - var dens: [Double] = [] - var dens_prev: [Double] = [] - var u: [Double] = [] - var u_prev: [Double] = [] - var v: [Double] = [] - var v_prev: [Double] = [] - var width: Int = 0 - var height: Int = 0 - var rowSize: Int = 0 - var size: Int = 0 - - init() { - _ = setResolution(hRes: 64, wRes: 64) - } - - func addFields(x: inout [Double], s: [Double], dt: Double) { - for i in 0.. Wp5 { - x = Wp5 - } - - let i0 = Int(x) - let i1 = i0 + 1 - - if y < 0.5 { - y = 0.5 - } else if y > Hp5 { - y = Hp5 - } - - let j0 = Int(y) - let j1 = j0 + 1 - - let s1 = x - Double(i0) - let s0 = 1 - s1 - let t1 = y - Double(j0) - let t0 = 1 - t1 - - let row1 = j0 * self.rowSize - let row2 = j1 * self.rowSize - - d[pos] = s0 * (t0 * d0[i0 + row1] + t1 * d0[i0 + row2]) + s1 * (t0 * d0[i1 + row1] + t1 * d0[i1 + row2]) - - } - } - self.set_bnd(b:b, x:&d) - } - - func project(u: inout [Double], v: inout [Double], p: inout [Double], div: inout [Double]) { - let h = -0.5 / sqrt(Double(width) * Double(height)) - for j in 1...height { - let row = j * rowSize - var previousRow = (j - 1) * rowSize - var prevValue = row - 1 - var currentRow = row - var nextValue = row + 1 - var nextRow = (j + 1) * rowSize - for _ in 1...width { - currentRow += 1 - nextValue += 1 - prevValue += 1 - nextRow += 1 - previousRow += 1 - div[currentRow] = Double(h) * (u[nextValue] - u[prevValue] + v[nextRow] - v[previousRow]) - p[currentRow] = 0.0 - } - } - - set_bnd(b: 0, x: &div) - set_bnd(b: 0, x: &p) - lin_solve(b: 0, x: &p, x0: div, a: 1, c: 4) - - let wScale = 0.5 * Double(width) - let hScale = 0.5 * Double(height) - for j in 1...height { - var prevPos = j * rowSize - 1 - var currentPos = j * rowSize - var nextPos = j * rowSize + 1 - var prevRow = (j - 1) * rowSize - var nextRow = (j + 1) * rowSize - for _ in 1...width { - currentPos+=1 - nextPos+=1; - prevPos+=1 - u[currentPos] -= wScale * (p[nextPos] - p[prevPos]) - - nextRow+=1 - prevRow+=1 - v[currentPos] -= hScale * (p[nextRow] - p[prevRow]) - } - } - - set_bnd(b: 1, x: &u) - - set_bnd(b: 2, x: &v) - } - - func dens_step(x: inout [Double], x0: inout [Double], u: [Double], v: [Double], dt: Double) { - addFields(x: &x, s: x0, dt: dt) - - diffuse(b: 0, x: &x0, x0: x, dt: dt) - - advect(b: 0, d: &x, d0: x0, u: u, v: v, dt: dt) - } - - func vel_step(u: inout [Double], v: inout [Double], u0: inout [Double], v0: inout [Double], dt: Double) { - addFields(x: &u, s: u0, dt: dt) - addFields(x: &v, s: v0, dt: dt) - (u, u0) = (u0, u) - (v, v0) = (v0, v) - diffuse2(x: &u, x0: u0, y: &v, y0: v0, dt: dt) - project(u: &u, v: &v, p: &u0, div: &v0) - - (u, u0) = (u0, u) - (v, v0) = (v0, v) - - - - advect(b: 1, d: &u, d0: u0, u: u0, v: v0, dt: dt) - advect(b: 2, d: &v, d0: v0, u: u0, v: v0, dt: dt) - project(u: &u, v: &v, p: &u0, div: &v0) - } - - func queryUI(d: inout [Double], u: inout [Double], v: inout [Double]) { - for i in 0.. 0 && iters <= 100 { - iterations = iters - } - } - - func reset() { - rowSize = width + 2 - size = rowSize * (height + 2) - dens = Array(repeating: 0, count: size) - dens_prev = Array(repeating: 0, count: size) - u = Array(repeating: 0, count: size) - u_prev = Array(repeating: 0, count: size) - v = Array(repeating: 0, count: size) - v_prev = Array(repeating: 0, count: size) - } - - func getDens() -> [Double] { - return dens - } - - func setResolution(hRes: Int, wRes: Int) -> Bool { - let res = wRes * hRes - if res > 0 && res < 1000000 && (wRes != width || hRes != height) { - width = wRes - height = hRes - reset() - return true - } else { - return false - } - } -} - -var framesTillAddingPoints = 0 -var framesBetweenAddingPoints = 5 - -let solver = FluidField() -var nsFrameCounter = 0 -var count33 = 0 - -func navierStokesSetup() { - _ = solver.setResolution(hRes: 128, wRes: 128) - solver.setIterations(iters: 20) - solver.reset() -} - -func navierStokesRun() throws { - solver.update() - nsFrameCounter += 1 - if nsFrameCounter == 15 { - try checkResult(dens: solver.getDens()) - } -} - -func checkResult(dens: [Double]) throws { - var result = 0 - for i in 7000..<7100 { - result+=Int(dens[i]*10) - } - if result != 77 { - throw BenchmarkError.WrongResult("checksum failed") - } -} - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "navier-stokes", doWarmup: true, doDeterministic: true, run: navierStokesRun,setup: navierStokesSetup,minIterations: 180) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/raytrace.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/raytrace.swift deleted file mode 100644 index dc1df0b4c..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/raytrace.swift +++ /dev/null @@ -1,767 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - -/**************************source code********************************/ - -class Color { - var red: Float - var green: Float - var blue: Float - init(r: Float = 0.0, g: Float = 0.0, b: Float = 0.0) { - self.red = r - self.green = g - self.blue = b - } - static func add(c1: Color, c2: Color) -> Color { - let result = Color() - result.red = c1.red + c2.red - result.green = c1.green + c2.green - result.blue = c1.blue + c2.blue - return result - } - static func addScalar(c1: Color, s: Float) -> Color { - let result = Color() - result.red = c1.red + s - result.green = c1.green + s - result.blue = c1.blue + s - result.limit() - return result - } - static func subtract(c1: Color, c2: Color) -> Color { - let result = Color() - result.red = c1.red - c2.red - result.green = c1.green - c2.green - result.blue = c1.blue - c2.blue - return result - } - static func multiply(c1: Color, c2: Color) -> Color { - let result = Color() - result.red = c1.red * c2.red - result.green = c1.green * c2.green - result.blue = c1.blue * c2.blue - return result - } - static func multiplyScalar(c1: Color, f: Float) -> Color { - let result = Color() - result.red = c1.red * f - result.green = c1.green * f - result.blue = c1.blue * f - return result - } - static func divideFactor(c1: Color, f: Float) -> Color { - let result = Color() - result.red = c1.red / f - result.green = c1.green / f - result.blue = c1.blue / f - return result - } - func limit() { - self.red = (self.red > 0.0) ? ((self.red > 1.0) ? 1.0 : self.red) : 0.0 - self.green = (self.green > 0.0) ? ((self.green > 1.0) ? 1.0 : self.green) : 0.0 - self.blue = (self.blue > 0.0) ? ((self.blue > 1.0) ? 1.0 : self.blue) : 0.0 - } - func distance(color: Color) -> Float { - return abs(self.red - color.red) + abs(self.green - color.green) + abs(self.blue - color.blue) - } - static func blend(c1: Color, c2: Color, w: Float) -> Color { - let result = Color() - result.red = (1 - w) * c1.red + w * c2.red - result.green = (1 - w) * c1.green + w * c2.green - result.blue = (1 - w) * c1.blue + w * c2.blue - return result - } - func brightness() -> Int { - let r = Int(self.red * 255) - let g = Int(self.green * 255) - let b = Int(self.blue * 255) - return (r * 77 + g * 150 + b * 29) >> 8 - } - func toString() -> String { - let r = Int(self.red * 255) - let g = Int(self.green * 255) - let b = Int(self.blue * 255) - return "rgb(\(r),\(g),\(b))" - } -} - -class Vector { - var x: Float - var y: Float - var z: Float - init(x: Float? = nil, y: Float? = nil, z: Float? = nil) { - self.x = x ?? 0 - self.y = y ?? 0 - self.z = z ?? 0 - } - func copy(vector: Vector) { - self.x = vector.x - self.y = vector.y - self.z = vector.z - } - func normalize() -> Vector { - let m: Float = self.magnitude() - return Vector(x: self.x / m, y: self.y / m, z: self.z / m) - } - func magnitude() -> Float { - return sqrt((self.x * self.x) + (self.y * self.y) + (self.z * self.z)) - } - func cross(w: Vector) -> Vector { - return Vector( - x: -self.z * w.y + self.y * w.z, - y: self.z * w.x - self.x * w.z, - z: -self.y * w.x + self.x * w.y - ) - } - func dot(w: Vector) -> Float { - return self.x * w.x + self.y * w.y + self.z * w.z - } - func multiplyScalar(w: Float) -> Vector { - return Vector(x: self.x * w, y: self.y * w, z: self.z * w) - } - func subtract(w: Vector) -> Vector { - return Vector(x: self.x - w.x, y: self.y - w.y, z: self.z - w.z) - } - func add(w: Vector) -> Vector { - return Vector(x: w.x + self.x, y: w.y + self.y, z: w.z + self.z) - } - static func add(v: Vector, w: Vector) -> Vector { - return Vector(x: w.x + v.x, y: w.y + v.y, z: w.z + v.z) - } - static func subtract(v: Vector, w: Vector) -> Vector { - return Vector(x: v.x - w.x, y: v.y - w.y, z: v.z - w.z) - } - static func multiplyVector(v: Vector, w: Vector) -> Vector { - return Vector(x: v.x * w.x, y: v.y * w.y, z: v.z * w.z) - } - static func multiplyScalar(v: Vector, w: Float) -> Vector { - return Vector(x: v.x * w, y: v.y * w, z: v.z * w) - } - func toString() -> String { - return "Vector [\(self.x),\(self.y),\(self.z)]" - } -} - -class Light { - var position: Vector - var color: Color - var intensity: Float - init(pos: Vector, color: Color, intensity: Float = 10.0) { - self.position = pos - self.color = color - self.intensity = intensity - } - func toString() -> String { - return "Light [\(self.position.x),\(self.position.y),\(self.position.z)]" - } -} - class Ray { - var position: Vector - var direction: Vector - init(pos: Vector, dir: Vector) { - self.position = pos - self.direction = dir - } - func toString() -> String { - return "Ray [\(self.position),\(self.direction)]" - } -} - - -class Background { - var color: Color - var ambience: Float - init(color: Color, ambience: Float) { - self.color = color - self.ambience = ambience - } -} - - -class BaseMaterial { - var gloss: Float - var transparency: Float - var reflection: Float - var refraction: Float - var hasTexture: Bool - - init() { - self.gloss = 2.0 - self.transparency = 0.0 - self.reflection = 0.0 - self.refraction = 0.50 - self.hasTexture = false - } - - func getColor(u: Float, v: Float) -> Color { - fatalError("Subclasses must override the getColor method.") - } - func wrapUp(t: Float) -> Float { - var t = t.truncatingRemainder(dividingBy: 2.0) - if t < -1 { t += 2.0 } - if t >= 1 { t -= 2.0 } - return t - } - func toString() -> String { - return "Material [gloss=\(self.gloss), transparency=\(self.transparency), hasTexture=\(self.hasTexture)]" - } -} - - -class Solid: BaseMaterial { - var color: Color - init(color: Color, reflection: Float, refraction: Float, transparency: Float, gloss: Float) { - self.color = color - super.init() - self.reflection = reflection - self.transparency = transparency - self.gloss = gloss - self.hasTexture = false - } - override func getColor(u: Float, v: Float) -> Color { - return self.color - } - override func toString() -> String { - return "SolidMaterial [gloss=\(self.gloss), transparency=\(self.transparency), hasTexture=\(self.hasTexture)]" - } -} - - -class Chessboard: BaseMaterial { - var colorEven: Color - var colorOdd: Color - var density: Float - init(colorEven: Color, colorOdd: Color, reflection: Float, transparency: Float, gloss: Float, density: Float) { - self.colorEven = colorEven - self.colorOdd = colorOdd - self.density = density - super.init() - self.reflection = reflection - self.transparency = transparency - self.gloss = gloss - self.hasTexture = true - } - override func getColor(u: Float, v: Float) -> Color { - let t: Float = self.wrapUp(t: u * self.density) * self.wrapUp(t: v * self.density) - if t < 0.0 { - return self.colorEven - } else { - return self.colorOdd - } - } - override func toString() -> String { - return "ChessMaterial [gloss=\(self.gloss), transparency=\(self.transparency), hasTexture=\(self.hasTexture)]" - } -} - - -class IntersectionInfo { - var isHit: Bool - var hitCount: Int - var shape: Shape? = nil - var position: Vector - var normal: Vector - var color: Color - var distance: Float - - init() { - self.color = Color(r: 0, g: 0, b: 0) - self.position = Vector() - self.normal = Vector() - self.distance = 0 - self.isHit = false - self.hitCount = 0 - } - func toString() -> String { - return "Intersection [\(self.position)]" - } -} - - -class Shape { - var position: Vector - var material: BaseMaterial - init(position: Vector, material: BaseMaterial) { - self.position = position - self.material = material - } - - func intersect(ray: Ray) -> IntersectionInfo { - fatalError("Subclasses must override the intersect method.") - } -} - -class Sphere: Shape { - var radius: Float - init(pos: Vector, radius: Float, material: BaseMaterial) { - self.radius = radius - super.init(position: pos, material: material) - } - - override func intersect(ray: Ray) -> IntersectionInfo { - let info = IntersectionInfo() - info.shape = self - let dst = Vector.subtract(v:ray.position, w:self.position) - let B = dst.dot(w:ray.direction) - let C = dst.dot(w:dst) - (self.radius * self.radius) - let D = (B * B) - C - if D > 0 { - info.isHit = true - info.distance = (-B) - sqrt(D) - info.position = Vector.add(v:ray.position, w:Vector.multiplyScalar(v:ray.direction, w:info.distance)) - info.normal = Vector.subtract(v:info.position, w:self.position).normalize() - info.color = self.material.getColor(u: 0, v: 0) - } else { - info.isHit = false - } - return info - } - - func toString() -> String { - return "Sphere [position=\(self.position), radius=\(self.radius)]" - } -} - -class Plane: Shape { - var d: Float - init(pos: Vector, d: Float, material: BaseMaterial) { - self.d = d - super.init(position: pos, material: material) - } - override func intersect(ray: Ray) -> IntersectionInfo { - let info = IntersectionInfo() - let Vd = self.position.dot(w:ray.direction) - if Vd == 0 { - return info // no intersection - } - let t = -(self.position.dot(w:ray.position) + self.d) / Vd - if t <= 0 { - return info - } - info.shape = self - info.isHit = true - info.position = ray.position.add(w:ray.direction.multiplyScalar(w:t)) - info.normal = self.position - info.distance = t - if self.material.hasTexture { - let vU = Vector(x:self.position.y, y:self.position.z, z:-self.position.x) - let vV = vU.cross(w:self.position) - let u = info.position.dot(w:vU) - let v = info.position.dot(w:vV) - info.color = self.material.getColor(u:u, v:v) - } else { - info.color = self.material.getColor(u: 0, v: 0) - } - return info - } - - func toString() -> String { - return "Plane [\(self.position), d=\(self.d)]" - } -} - - -class Camera { - var position: Vector - var lookAt: Vector - var equator: Vector - var up: Vector - var screen: Vector - - init(pos: Vector, lookAt: Vector, up: Vector) { - self.position = pos - self.lookAt = lookAt - self.up = up - self.equator = lookAt.normalize().cross(w: self.up) - self.screen = self.position.add(w: self.lookAt) - } - func getRay(vx: Float, vy: Float) -> Ray { - let pos = self.screen.subtract(w: self.equator.multiplyScalar(w: vx).subtract(w: self.up.multiplyScalar(w: vy))) - pos.y = pos.y * -1 - let dir = pos.subtract(w: self.position) - let ray = Ray(pos: pos, dir: dir.normalize()) - return ray - } - func toString() -> String { - return "Ray []" - } -} - -class Scene { - var camera: Camera - var shapes: [Shape] - var lights: [Light] - var background: Background - init() { - self.camera = Camera(pos: Vector(x: 0, y: 0, z: -5),lookAt: Vector(x: 0, y: 0, z: 1),up: Vector(x: 0, y: 1, z: 0)) - self.shapes = [] - self.lights = [] - self.background = Background(color: Color(r: 0, g: 0, b: 0.5), ambience: 0.2) - } -} - -class Options { - var canvasHeight: Int = 100 - var canvasWidth: Int = 100 - var pixelWidth: Int = 2 - var pixelHeight: Int = 2 - var renderDiffuse: Bool = false - var renderShadows: Bool = false - var renderHighlights: Bool = false - var renderReflections: Bool = false - var rayDepth: Int = 2 -} - - -var checkNumber: Int = 0; - -class Engine { - var options: Options - init(options: Options) { - self.options = options - self.options.canvasHeight /= self.options.pixelHeight - self.options.canvasWidth /= self.options.pixelWidth - } - func setPixel(x: Int, y: Int, color: Color) { - if x == y { - checkNumber += color.brightness() - } - } - - func renderScene(scene: Scene) { - checkNumber = 0 - let canvasHeight = self.options.canvasHeight - let canvasWidth = self.options.canvasWidth - for y in 0.. Color { - let info = self.testIntersection(ray: ray, scene: scene, exclude: nil) - if info.isHit { - let color = self.rayTrace(info: info, ray: ray, scene: scene, depth: 0) - return color - } - return scene.background.color - } - func testIntersection(ray: Ray, scene: Scene, exclude: Shape?) -> IntersectionInfo { - var hits = 0 - var best = IntersectionInfo() - best.distance = 2000 - for shape in scene.shapes { - if shape !== exclude { - let info = shape.intersect(ray: ray) - if info.isHit && info.distance >= 0 && info.distance < best.distance { - best = info - hits += 1 - } - } - } - best.hitCount = hits - return best - } - func getReflectionRay(P: Vector, N: Vector, V: Vector) -> Ray { - let c1 = -N.dot(w: V) - let R1 = Vector.add(v:Vector.multiplyScalar(v: N, w: 2 * c1), w: V) - return Ray(pos: P, dir: R1) - } - - func rayTrace(info: IntersectionInfo, ray: Ray, scene: Scene, depth: Int) -> Color { - var color = Color.multiplyScalar(c1: info.color, f: scene.background.ambience) - let shininess = pow(10, info.shape!.material.gloss + 1) - for light in scene.lights { - let v = Vector.subtract(v: light.position, w: info.position).normalize() - if self.options.renderDiffuse { - let L = v.dot(w: info.normal) - if L > 0.0 { - color = Color.add(c1: color, c2: Color.multiply(c1: info.color, c2: Color.multiplyScalar(c1: light.color, f: L))) - } - } - if depth <= self.options.rayDepth { - if self.options.renderReflections && info.shape!.material.reflection > 0 { - let reflectionRay = self.getReflectionRay(P: info.position, N: info.normal, V: ray.direction) - let refl = self.testIntersection(ray: reflectionRay, scene: scene, exclude: info.shape) - if refl.isHit && refl.distance > 0 { - refl.color = self.rayTrace(info: refl, ray: reflectionRay, scene: scene, depth: depth + 1) - } else { - refl.color = scene.background.color - } - color = Color.blend(c1: color, c2: refl.color, w: info.shape!.material.reflection) - } - } - var shadowInfo = IntersectionInfo() - if self.options.renderShadows { - let shadowRay = Ray(pos: info.position, dir: v) - shadowInfo = self.testIntersection(ray: shadowRay, scene: scene, exclude: info.shape) - if shadowInfo.isHit && shadowInfo.shape !== info.shape { - let vA = Color.multiplyScalar(c1: color, f: 0.5) - let dB = 0.5 * pow(shadowInfo.shape!.material.transparency, 0.5) - color = Color.addScalar(c1: vA, s: dB) - } - } - if self.options.renderHighlights && !shadowInfo.isHit && info.shape!.material.gloss > 0 { - let Lv = Vector.subtract(v: info.shape!.position, w: light.position).normalize() - let E = Vector.subtract(v: scene.camera.position, w: info.shape!.position).normalize() - let H = Vector.subtract(v: E, w: Lv).normalize() - let glossWeight = pow(max(info.normal.dot(w: H), 0), shininess) - color = Color.add(c1: Color.multiplyScalar(c1: light.color, f: glossWeight), c2: color) - } - } - color.limit() - return color - } -} - -func raytraceRun() { - let scene = Scene() - scene.camera = Camera(pos: Vector(x: 0, y: 0, z: -15), - lookAt: Vector(x: -0.2, y: 0, z: 5), - up: Vector(x: 0, y: 1, z: 0)) - scene.background = Background(color: Color(r: 0.5, g: 0.5, b: 0.5), - ambience: 0.4) - let sphere = Sphere(pos: Vector(x: -1.5, y: 1.5, z: 2), - radius: 1.5, - material: Solid(color: Color(r: 0, g: 0.5, b: 0.5), - reflection: 0.3, - refraction: 0.0, - transparency: 0.0, - gloss: 2.0)) - let sphere1 = Sphere(pos: Vector(x: 1, y: 0.25, z: 1), - radius: 0.5, - material: Solid(color: Color(r: 0.9, g: 0.9, b: 0.9), - reflection: 0.1, - refraction: 0.0, - transparency: 0.0, - gloss: 1.5)) - let plane = Plane(pos: Vector(x: 0.1, y: 0.9, z: -0.5).normalize(), - d: 1.2, - material: Chessboard(colorEven: Color(r: 1, g: 1, b: 1), - colorOdd: Color(r: 0, g: 0, b: 0), - reflection: 0.2, - transparency: 0.0, - gloss: 1.0, - density: 0.7)) - scene.shapes.append(plane) - scene.shapes.append(sphere) - scene.shapes.append(sphere1) - let light = Light(pos: Vector(x: 5, y: 10, z: -1), - color: Color(r: 0.8, g: 0.8, b: 0.8)) - let light1 = Light(pos: Vector(x: -3, y: 5, z: -15), - color: Color(r: 0.8, g: 0.8, b: 0.8), - intensity: 100) - scene.lights.append(light) - scene.lights.append(light1) - let imageWidth = 100 - let imageHeight = 100 - let pixelSize = "5,5".split(separator: ",").compactMap { Int($0) } - let renderDiffuse = true - let renderShadows = true - let renderHighlights = true - let renderReflections = true - let rayDepth = 2 - let options = Options() - options.canvasWidth = imageWidth - options.canvasHeight = imageHeight - options.pixelWidth = pixelSize[0] - options.pixelHeight = pixelSize[1] - options.renderDiffuse = renderDiffuse - options.renderHighlights = renderHighlights - options.renderShadows = renderShadows - options.renderReflections = renderReflections - options.rayDepth = rayDepth - let raytracer = Engine(options: options) - raytracer.renderScene(scene: scene) -} - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "raytrace", doWarmup: true, doDeterministic: true, run: raytraceRun,minIterations: 600) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/richards.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/richards.swift deleted file mode 100644 index 27d563bad..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/Octane/richards.swift +++ /dev/null @@ -1,606 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - - -/**************************source code********************************/ - -class Scheduler { - var queueCount: Int - var holdCount: Int - var blocks: [TaskControlBlock?] - var list: TaskControlBlock? - var currentTcb: TaskControlBlock? - var currentId: Int? - - init() { - self.queueCount = 0 - self.holdCount = 0 - self.blocks = Array(repeating: nil, count: NUMBER_OF_IDS) - self.list = nil - self.currentTcb = nil - self.currentId = nil - } - - func addIdleTask(id: Int, priority: Int, queue: Packet?, count: Int) { - addRunningTask(id: id, priority: priority, queue: queue, task: IdleTask(scheduler: self, v1: 1, count: count)) - } - - func addWorkerTask(id: Int, priority: Int, queue: Packet) { - addTask(id: id, priority: priority, queue: queue, task: WorkerTask(scheduler: self, v1: ID_HANDLER_A, v2: 0)) - } - - func addHandlerTask(id: Int, priority: Int, queue: Packet) { - addTask(id: id, priority: priority, queue: queue, task: HandlerTask(scheduler: self)) - } - - func addDeviceTask(id: Int, priority: Int, queue: Packet?) { - addTask(id: id, priority: priority, queue: queue, task: DeviceTask(scheduler: self)) - } - - func addRunningTask(id: Int, priority: Int, queue: Packet?, task: Task) { - addTask(id: id, priority: priority, queue: queue, task: task) - self.currentTcb!.setRunning() - } - - func addTask(id: Int, priority: Int, queue: Packet?, task: Task) { - currentTcb = TaskControlBlock(link: list, id: id, priority: priority, queue: queue, task: task) - list = currentTcb - blocks[id] = currentTcb - } - - func schedule() { - currentTcb = list - while currentTcb != nil { - if currentTcb!.isHeldOrSuspended() { - currentTcb = currentTcb!.link - } else { - currentId = currentTcb!.id - currentTcb = currentTcb!.run() - } - } - } - - func release(id: Int) -> TaskControlBlock? { - let tcb = blocks[id] - if tcb == nil { return tcb } - tcb!.markAsNotHeld() - if tcb!.priority > currentTcb!.priority { - return tcb - } else { - return currentTcb - } - } - - func holdCurrent() -> TaskControlBlock? { - holdCount += 1 - currentTcb?.markAsHeld() - return currentTcb?.link - } - - func suspendCurrent() -> TaskControlBlock? { - currentTcb?.markAsSuspended() - return currentTcb - } - - func queue(packet: Packet) -> TaskControlBlock? { - let t = blocks[packet.id] - if t == nil { return t } - queueCount += 1 - packet.link = nil - packet.id = currentId! - return t!.checkPriorityAdd(taskControlBlock:currentTcb!, packet: packet) - } -} - -let ID_IDLE = 0 -let ID_WORKER = 1 -let ID_HANDLER_A = 2 -let ID_HANDLER_B = 3 -let ID_DEVICE_A = 4 -let ID_DEVICE_B = 5 -let NUMBER_OF_IDS = 6 - -let KIND_DEVICE = 0 -let KIND_WORK = 1 - - -class TaskControlBlock { - var link: TaskControlBlock? - var id: Int - var priority: Int - var queue: Packet? - var task: Task - var state: Int - - init(link: TaskControlBlock?, id: Int, priority: Int, queue: Packet?, task: Task) { - self.link = link - self.id = id - self.priority = priority - self.queue = queue - self.task = task - if queue == nil { - self.state = STATE_SUSPENDED - } else { - self.state = STATE_SUSPENDED_RUNNABLE - } - } - - func setRunning() { - state = STATE_RUNNING - } - - func markAsNotHeld() { - state = state & STATE_NOT_HELD - } - - func markAsHeld() { - state = state | STATE_HELD - } - - func isHeldOrSuspended() -> Bool { - return (state & STATE_HELD) != 0 || (state == STATE_SUSPENDED) - } - - func markAsSuspended() { - state = state | STATE_SUSPENDED - } - - func markAsRunnable() { - state = state | STATE_RUNNABLE - } - - func run() -> TaskControlBlock? { - var packet: Packet? - if state == STATE_SUSPENDED_RUNNABLE { - packet = queue - queue = packet?.link - if queue == nil { - state = STATE_RUNNING - } else { - state = STATE_RUNNABLE - } - } else { - packet = nil - } - return task.run(packet: packet) - } - - func checkPriorityAdd(taskControlBlock: TaskControlBlock, packet: Packet) -> TaskControlBlock? { - if queue == nil { - queue = packet - markAsRunnable() - if priority > taskControlBlock.priority { - return self - } - } else { - queue = packet.addTo(queue: queue!) - } - return taskControlBlock - } - - func toString() -> String { - return "tcb { \(task)@\(state) }" - } -} - -let STATE_RUNNING = 0 -let STATE_RUNNABLE = 1 -let STATE_SUSPENDED = 2 -let STATE_HELD = 4 -let STATE_SUSPENDED_RUNNABLE = STATE_SUSPENDED | STATE_RUNNABLE -let STATE_NOT_HELD = ~STATE_HELD - - - -protocol Task{ - func run(packet: Packet?) -> TaskControlBlock? -} - - - -class IdleTask:Task { - var scheduler: Scheduler - var v1: Int - var count: Int - - init(scheduler: Scheduler, v1: Int, count: Int) { - self.scheduler = scheduler - self.v1 = v1 - self.count = count - } - - func run(packet: Packet?) -> TaskControlBlock? { - count -= 1 - if count == 0 { - return scheduler.holdCurrent() - } - if (v1 & 1) == 0 { - v1 = v1 >> 1 - return scheduler.release(id: ID_DEVICE_A) - } else { - v1 = (v1 >> 1) ^ 0xD008 - return scheduler.release(id: ID_DEVICE_B) - } - } - - func toString() -> String { - return "IdleTask" - } -} - - -class DeviceTask:Task { - var scheduler: Scheduler - var v1: Packet? - - init(scheduler: Scheduler) { - self.scheduler = scheduler - self.v1 = nil - } - - func run(packet: Packet?) -> TaskControlBlock? { - if packet == nil { - if v1 == nil { - return scheduler.suspendCurrent() - } - let v = v1 - v1 = nil - return scheduler.queue(packet: v!) - } else { - v1 = packet - return scheduler.holdCurrent() - } - } - - func toString() -> String { - return "DeviceTask" - } -} - - -class WorkerTask:Task { - var scheduler: Scheduler - var v1: Int - var v2: Int - - init(scheduler: Scheduler, v1: Int, v2: Int) { - self.scheduler = scheduler - self.v1 = v1 - self.v2 = v2 - } - - func run(packet: Packet?) -> TaskControlBlock? { - if packet == nil { - return scheduler.suspendCurrent() - } else { - if v1 == ID_HANDLER_A { - v1 = ID_HANDLER_B - } else { - v1 = ID_HANDLER_A - } - packet!.id = v1 - packet!.a1 = 0 - for i in 0.. 26 { - v2 = 1 - } - packet!.a2[i] = v2 - } - return scheduler.queue(packet: packet!) - } - } - - func toString() -> String { - return "WorkerTask" - } -} - -class HandlerTask:Task { - var scheduler: Scheduler - var v1: Packet? - var v2: Packet? - - init(scheduler: Scheduler) { - self.scheduler = scheduler - self.v1 = nil - self.v2 = nil - } - - func run(packet: Packet?) -> TaskControlBlock? { - if let packet = packet { - if packet.kind == KIND_WORK { - self.v1 = packet.addTo(queue: v1) - } else { - self.v2 = packet.addTo(queue: v2) - } - } - - if let v1 = self.v1 { - let count = v1.a1 - var v: Packet? - if count < DATA_SIZE { - if let v2 = self.v2 { - v = v2 - self.v2 = v2.link - v?.a1 = v1.a2[count] - v1.a1 = count + 1 - return self.scheduler.queue(packet: v!) - } - } else { - v = v1 - self.v1 = v1.link - return self.scheduler.queue(packet: v!) - } - } - - return self.scheduler.suspendCurrent() - } - - func toString() -> String { - return "HandlerTask" - } -} - - -let DATA_SIZE = 4; - -class Packet { - var link: Packet? - var id: Int - var kind: Int - var a1: Int - var a2: [Int] - - init(link: Packet?, id: Int, kind: Int) { - self.link = link - self.id = id - self.kind = kind - self.a1 = 0 - self.a2 = Array(repeating: 0, count: DATA_SIZE) - } - - func addTo(queue: Packet?) -> Packet { - self.link = nil - if queue == nil { - return self - } - var peek: Packet? - var next = queue - while let current = next { - peek = current.link - if peek == nil { - break - } - next = peek - } - next?.link = self - return queue! - } - - func toString() -> String { - return "Packet" - } -} - - -let COUNT = 1000; -let EXPECTED_QUEUE_COUNT = 2322; -let EXPECTED_HOLD_COUNT = 928; - -func runRichards() throws { - let scheduler = Scheduler() - scheduler.addIdleTask(id: ID_IDLE, priority: 0, queue: nil, count: COUNT) - - var queue = Packet(link: nil, id: ID_WORKER, kind: KIND_WORK) - queue = Packet(link: queue, id: ID_WORKER, kind: KIND_WORK) - scheduler.addWorkerTask(id: ID_WORKER, priority: 1000, queue: queue) - - queue = Packet(link: nil, id: ID_DEVICE_A, kind: KIND_DEVICE) - queue = Packet(link: queue, id: ID_DEVICE_A, kind: KIND_DEVICE) - queue = Packet(link: queue, id: ID_DEVICE_A, kind: KIND_DEVICE) - scheduler.addHandlerTask(id: ID_HANDLER_A, priority: 2000, queue: queue) - - queue = Packet(link: nil, id: ID_DEVICE_B, kind: KIND_DEVICE) - queue = Packet(link: queue, id: ID_DEVICE_B, kind: KIND_DEVICE) - queue = Packet(link: queue, id: ID_DEVICE_B, kind: KIND_DEVICE) - scheduler.addHandlerTask(id: ID_HANDLER_B, priority: 3000, queue: queue) - - scheduler.addDeviceTask(id: ID_DEVICE_A, priority: 4000, queue: nil) - - scheduler.addDeviceTask(id: ID_DEVICE_B, priority: 5000, queue: nil) - - scheduler.schedule() - - if scheduler.queueCount != EXPECTED_QUEUE_COUNT || - scheduler.holdCount != EXPECTED_HOLD_COUNT { - let msg = "Error during execution: queueCount = \(scheduler.queueCount), holdCount = \(scheduler.holdCount)." - throw BenchmarkError.WrongResult(msg) - } -} - - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "richards", doWarmup: true, doDeterministic: true, run: runRichards,minIterations: 8200) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/base64.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/base64.swift deleted file mode 100644 index e82b2f79b..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/base64.swift +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - - -/**************************source code********************************/ - -let toBase64Table: [Character] = Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") -let base64Pad: Character = "=" - -let toBinaryTable:[Int] = [ - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, - 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1, - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14, - 15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1, - -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40, - 41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1 -]; - -func toBase64(data: String) -> String { - var result = "" - let length = data.count - var i = 0 - - while i < (length - 2) { - result.append(toBase64Table[Int(data[data.index(data.startIndex, offsetBy: i)].asciiValue!) >> 2]) - result.append(toBase64Table[((Int(data[data.index(data.startIndex, offsetBy: i)].asciiValue!) & 0x03) << 4) + (Int(data[data.index(data.startIndex, offsetBy: i + 1)].asciiValue!) >> 4)]) - result.append(toBase64Table[((Int(data[data.index(data.startIndex, offsetBy: i + 1)].asciiValue!) & 0x0f) << 2) + (Int(data[data.index(data.startIndex, offsetBy: i + 2)].asciiValue!) >> 6)]) - result.append(toBase64Table[Int(data[data.index(data.startIndex, offsetBy: i + 2)].asciiValue!) & 0x3f]) - i += 3 - } - - if length % 3 != 0 { - i = length - (length % 3) - result.append(toBase64Table[Int(data[data.index(data.startIndex, offsetBy: i)].asciiValue!) >> 2]) - - if length % 3 == 2 { - result.append(toBase64Table[((Int(data[data.index(data.startIndex, offsetBy: i)].asciiValue!) & 0x03) << 4) + (Int(data[data.index(data.startIndex, offsetBy: i + 1)].asciiValue!) >> 4)]) - result.append(toBase64Table[(Int(data[data.index(data.startIndex, offsetBy: i + 1)].asciiValue!) & 0x0f) << 2]) - result.append(base64Pad) - } else { - result.append(toBase64Table[(Int(data[data.index(data.startIndex, offsetBy: i)].asciiValue!) & 0x03) << 4]) - result.append(base64Pad) - result.append(base64Pad) - } - } - return result -} - -func base64ToString(data: String) -> String { - var result = "" - var leftbits = 0 - var leftdata = 0 - - for i in 0..= 8 { - leftbits -= 8 - if !padding { - result += String(UnicodeScalar((leftdata >> leftbits) & 0xff)!) - } - leftdata &= (1 << leftbits) - 1 - } - } - if leftbits != 0 { - fatalError("Corrupted base64 string") - } - return result -} - - -func base64Run() throws { - - var str = "" - for _ in 0..<8192 { - let randomChar = Character(UnicodeScalar(Int(25 * BenchmarkRNG.nextDouble() + 97))!) - str += String(randomChar) - } - - for _ in stride(from: 8192, through: 16384, by: 8192) { - let base64 = toBase64(data: str) - let encoded = base64ToString(data:base64) - if encoded != str { - throw BenchmarkError.WrongResult("ERROR: bad result: expected \(str) but got \(encoded)") - } - str += str - } - -} - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "base64", doWarmup: true, doDeterministic: true, run: base64Run,minIterations: 8) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-aes.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-aes.swift deleted file mode 100644 index 418523dad..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-aes.swift +++ /dev/null @@ -1,534 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - -/**************************source code********************************/ - -let Rcon: [[UInt16]] = [ - [0x00, 0x00, 0x00, 0x00], - [0x01, 0x00, 0x00, 0x00], - [0x02, 0x00, 0x00, 0x00], - [0x04, 0x00, 0x00, 0x00], - [0x08, 0x00, 0x00, 0x00], - [0x10, 0x00, 0x00, 0x00], - [0x20, 0x00, 0x00, 0x00], - [0x40, 0x00, 0x00, 0x00], - [0x80, 0x00, 0x00, 0x00], - [0x1b, 0x00, 0x00, 0x00], - [0x36, 0x00, 0x00, 0x00] -] - -let Sbox: [UInt16] = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, - 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, - 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, - 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, - 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, - 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, - 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, - 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, - 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, - 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, - 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, - 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, - 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, - 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, - 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, - 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16] - - -func RotWord(_ ww: [UInt16]) -> [UInt16] { - var w = ww - w.append(0) - w[4] = w[0] - for i in 0..<4 { - w[i] = w[i + 1] - } - return w -} - -func SubWord(_ ww: [UInt16]) -> [UInt16] { - var w = ww - for i in 0..<4 { - w[i] = Sbox[Int(w[i])] - } - return w -} - -func keyExpansion(_ key: [UInt16]) -> [[UInt16]] { - let Nb: Int = 4 - let Nk: Int = key.count / 4 - let Nr: Int = Nk + 6 - var w: [[UInt16]] = Array(repeating: Array(repeating: 0, count: 4), count: Nb * (Nr + 1)) - var temp: [UInt16] = Array(repeating: 0, count: 4) - - for i in 0.. 6 && i % Nk == 4 { - temp = SubWord(temp) - } - - for t in 0..<4 { - w[i][t] = w[i - Nk][t] ^ temp[t] - } - } - - return w -} - - -func AddRoundKey(_ state: inout [[UInt16]], _ w: [[UInt16]], _ rnd: Int, _ Nb: Int) -> [[UInt16]] { - for r in 0..<4 { - for c in 0.. [[UInt16]] { - var newState = s - for r in 0..<4 { - for c in 0.. [[UInt16]] { - var newState = s - for r in 1..<4 { - var t = [UInt16](repeating: 0, count: 4) - for c in 0..<4 { - t[c] = s[r][(c + r) % Nb] - } - for c in 0..<4 { - newState[r][c] = t[c] - } - } - return newState -} - -func mixColumns(_ ss: [[UInt16]], _ Nb: Int) -> [[UInt16]] { - var s = ss - for c in 0..<4 { - var a = [UInt16](repeating: 0, count: 4) - var b = [UInt16](repeating: 0, count: 4) - - for i in 0..<4 { - a[i] = s[i][c] - b[i] = s[i][c] & 0x80 != 0 ? s[i][c] << 1 ^ 0x011b : s[i][c] << 1 - } - - s[0][c] = b[0] ^ a[1] ^ b[1] ^ a[2] ^ a[3] - s[1][c] = a[0] ^ b[1] ^ a[2] ^ b[2] ^ a[3] - s[2][c] = a[0] ^ a[1] ^ b[2] ^ a[3] ^ b[3] - s[3][c] = a[0] ^ b[0] ^ a[1] ^ a[2] ^ b[3] - } - - return s -} - -func addRoundKey(_ ss: [[UInt16]], _ w: [[UInt16]], _ rnd: Int, _ Nb: Int) -> [[UInt16]] { - var state = ss - for r in 0..<4 { - for c in 0.. [UInt16] { - let Nb = 4 // block size (in words): no of columns in state (fixed at 4 for AES) - let Nr = w.count / Nb - 1 // no of rounds: 10/12/14 for 128/192/256-bit keys - var state: [[UInt16]] = [[], [], [], []] // initialise 4xNb byte-array 'state' with input [§3.4] - for i in 0..<4 * Nb { - state[i % 4].append(input[i]) - } - - state = addRoundKey(state, w, 0, Nb) - - for round in 1.. String { - var result = "" - for c in str { - switch c { - case "\0", "\t", "\n", "\u{000B}", "\u{000C}", "\r", "\u{00A0}", "'", "\"", "!", "-": - result += "!" + String(Int(c.unicodeScalars.first!.value)) + "!" - default: - result += String(c) - } - } - return result -} - -func AESEncryptCtr(_ plaintext: String, _ password: String, _ nBits: Int) -> String { - if !(nBits == 128 || nBits == 192 || nBits == 256) { - return "" - } - - let nBytes: Int = nBits / 8 - var pwBytes = [UInt16](repeating: 0, count: nBytes) - - for i in 0..> (i * 8)) & 0xff) - } - for i in 0..<4 { - counterBlock[i + 4] = UInt16((((nonce / 0x100000000) >> i) * 8) & 0xff) - } - - let keySchedule = keyExpansion(key) - - - let blockCount: Int = Int(ceil(Double(plaintext.count) / Double(blockSize))) - var ciphertext: [String] = [String](repeating: "", count: blockCount) - for b in 0..> (c * 8)) & 0xff) - } - for c in 0..<4 { - counterBlock[15 - c - 4] = UInt16((b / 0x100000000 >> c) * 8) & 0xff - } - - - let cipherCntr = cipher(counterBlock, keySchedule) - let blockLength: Int = (b < blockCount - 1) ? blockSize : (plaintext.count - 1) % blockSize + 1 - var ct: String = "" - - for i in 0.. String { - var result = str - let pattern = "!\\d\\d?\\d?!" - let regex = try! NSRegularExpression(pattern: pattern, options: []) - - while let match = regex.firstMatch(in: result, options: [], range: NSRange(location: 0, length: result.utf16.count)) { - let matchStr = (result as NSString).substring(with: match.range) - let charCode = Int(String(matchStr.dropFirst().dropLast()))! - let replacement = String(Character(UnicodeScalar(charCode)!)) - result = regex.stringByReplacingMatches(in: result, options: [], range: match.range, withTemplate: replacement) - } - - return result -} - -func AESDecryptCtr(_ ciphertexta: String, _ password: String, _ nBits: Int) -> String { - if !(nBits == 128 || nBits == 192 || nBits == 256) { - return "" - } - let nBytes = nBits / 8 // no bytes in key - var pwBytes: [UInt16] = [] - for i in 0..> (c * 8)) & 0xff - } - - for c in 0..<4 { - counterBlock[15 - c - 4] = ((UInt16(b / 0x100000000) >> c) * 8) & 0xff - } - - let cipherCntr = cipher(counterBlock, keySchedule) - ciphertext[b] = unescCtrlChars(ciphertext[b]) - var pt = "" - for i in 0.. UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - - -/**************************source code********************************/ - -let hexcase = false -let chrsz = 8 - -func safe_add(_ x: UInt32, _ y: UInt32) -> UInt32 { - let lsw = (x & 0xFFFF) &+ (y & 0xFFFF) - let msw = (x >> 16) &+ (y >> 16) &+ (lsw >> 16) - return (msw << 16) | (lsw & 0xFFFF) -} - -func bit_rol(_ num: UInt32, _ cnt: UInt32) -> UInt32 { - return (num << cnt) | (num >> (32 - cnt)) -} - -func md5_cmn(_ q: UInt32, _ a: UInt32, _ b: UInt32, _ x: UInt32, _ s: UInt32, _ t: UInt32) -> UInt32 { - return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b) -} - -func md5_ff(_ a: UInt32, _ b: UInt32, _ c: UInt32, _ d: UInt32, _ x: UInt32, _ s: UInt32, _ t: UInt32) -> UInt32 { - return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t) -} - -func md5_gg(_ a: UInt32, _ b: UInt32, _ c: UInt32, _ d: UInt32, _ x: UInt32, _ s: UInt32, _ t: UInt32) -> UInt32 { - return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t) -} - -func md5_hh(_ a: UInt32, _ b: UInt32, _ c: UInt32, _ d: UInt32, _ x: UInt32, _ s: UInt32, _ t: UInt32) -> UInt32 { - return md5_cmn(b ^ c ^ d, a, b, x, s, t) -} - -func md5_ii(_ a: UInt32, _ b: UInt32, _ c: UInt32, _ d: UInt32, _ x: UInt32, _ s: UInt32, _ t: UInt32) -> UInt32 { - return md5_cmn(c ^ (b | (~d)), a, b, x, s, t) -} - - - -func str2binl(_ str: String) -> [UInt32] { - var bin: [UInt32] = [] - let mask: UInt32 = (1 << chrsz) - 1 - for i in stride(from: 0, to: str.count * Int(chrsz), by: Int(chrsz)) { - let index = i / Int(chrsz) - let charIndex = str.index(str.startIndex, offsetBy: index) - let char = str[charIndex] - let charCode = UInt32(char.asciiValue ?? 0) - - let eIndex = i >> 5 - if eIndex+1 > bin.count{ - bin.append(0) - } - - bin[eIndex] |= (charCode & mask) << (UInt32(i) % 32) - } - return bin -} - -func core_md5(_ xx:[UInt32], _ len:Int)->[UInt32]{ - var x = xx - - let eIndex1 = len>>5 - let eIndex2 = (((len + 64) >> 9) << 4) + 14 - - let maxIndex = (eIndex1 > eIndex2) ? eIndex1 : eIndex2 - if maxIndex+1 > x.count{ - for _ in 0.. String { - let hex_tab: String = hexcase ? "0123456789ABCDEF" : "0123456789abcdef" - var str: String = "" - for i in 0..<(binarray.count * 4) { - let index = i >> 2 - let shift = (i % 4) * 8 - let hexChar1 = hex_tab[hex_tab.index(hex_tab.startIndex, offsetBy: Int((binarray[index] >> (shift + 4)) & 0xF))] - let hexChar2 = hex_tab[hex_tab.index(hex_tab.startIndex, offsetBy: Int((binarray[index] >> shift) & 0xF))] - str += String(hexChar1) + String(hexChar2) - } - return str -} - -func hex_md5(_ s:String)->String{ - return binl2hex(core_md5(str2binl(s), s.length * chrsz)); -} - - -func Md5Run() throws { - - var plainText = "Rebellious subjects, enemies to peace,\nProfaners of this neighbour-stained steel,--\nWill they not hear? What, ho! you men, you beasts,\nThat quench the fire of your pernicious rage\nWith purple fountains issuing from your veins,\nOn pain of torture, from those bloody hands\nThrow your mistemper'd weapons to the ground,\nAnd hear the sentence of your moved prince.\nThree civil brawls, bred of an airy word,\nBy thee, old Capulet, and Montague,\nHave thrice disturb'd the quiet of our streets,\nAnd made Verona's ancient citizens\nCast by their grave beseeming ornaments,\nTo wield old partisans, in hands as old,\nCanker'd with peace, to part your canker'd hate:\nIf ever you disturb our streets again,\nYour lives shall pay the forfeit of the peace.\nFor this time, all the rest depart away:\nYou Capulet; shall go along with me:\nAnd, Montague, come you this afternoon,\nTo know our further pleasure in this case,\nTo old Free-town, our common judgment-place.\nOnce more, on pain of death, all men depart."; - for _ in 0..<4 { - plainText += plainText; - } - let md5Output = hex_md5(plainText); - let expected = "a831e91e0f70eddcb70dc61c6f82f6cd"; - if (md5Output != expected) { - throw BenchmarkError.WrongResult("ERROR: bad result: expected \(expected) but got \(md5Output)"); - } -} - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "crypto-md5", doWarmup: true, doDeterministic: true, run: Md5Run,minIterations: 22) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-sha1.swift b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-sha1.swift deleted file mode 100644 index c48488c9a..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/SunSpider/crypto-sha1.swift +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - - -import Foundation - -struct defaultRNG: RandomNumberGenerator { - var seed: UInt64 = 49734321 - mutating func next() -> UInt64 { - seed = ((seed &+ 0x7ed55d16) &+ (seed << 12)) & 0xffffffff - seed = ((seed ^ 0xc761c23c) ^ (seed >> 19)) & 0xffffffff - seed = ((seed &+ 0x165667b1) &+ (seed << 5)) & 0xffffffff - seed = ((seed &+ 0xd3a2646c) ^ (seed << 9)) & 0xffffffff - seed = ((seed &+ 0xfd7046c5) &+ (seed << 3)) & 0xffffffff - seed = ((seed ^ 0xb55a4f09) ^ (seed >> 16)) & 0xffffffff - return seed - } - - mutating func nextDouble() -> Double { - let seedI = next() - let randomDouble = Double(seedI&0xfffffff) / 0x10000000 - return randomDouble - } -} - -class BenchmarkRNG{ - static var rng = defaultRNG() - - static func nextDouble()->Double{ - return BenchmarkRNG.rng.nextDouble() - } - - static func resetRNG(){ - BenchmarkRNG.rng = defaultRNG() - } - -} - -enum BenchmarkError:Error{ - case WrongResult(String) -} - -class BenchmarkResult { - var time: Double - var latency: Double - - init(time: Double, latency: Double) { - self.time = time - self.latency = latency - } -} - -class Benchmark { - var name: String - var doWarmup: Bool - var doDeterministic: Bool - var run: () throws -> Void - var setup: (() -> Void)? - var tearDown: (() -> Void)? - var rmsResult: (() -> Double)? - var minIterations: Int - var data: (runs: Int, elapsed: Int)? - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil) { - self.name = name - self.doWarmup = doWarmup - self.doDeterministic = doDeterministic - self.run = run - self.setup = setup - self.tearDown = tearDown - self.minIterations = minIterations ?? 32 - self.data = nil - } - - func runSetup(benchmarkResult: inout BenchmarkResult) throws { - setup?() - try runBenchmark(benchmarkResult: &benchmarkResult) - } - - func runBenchmark(benchmarkResult: inout BenchmarkResult)throws { - try runSingle(benchmarkResult:&benchmarkResult) - if data == nil { - runTearDown() - } else { - try runBenchmark(benchmarkResult: &benchmarkResult) - } - } - - func runTearDown() { - tearDown?() - } - - func runSingle(benchmarkResult: inout BenchmarkResult) throws { - if !doWarmup && data == nil { - data = (runs: 0, elapsed: 0) - } - - if data == nil { - try measure() - data = (runs: 0, elapsed: 0) - } else { - try measure() - if data!.runs < minIterations { return } - let usec: Double = Double(data!.elapsed * 1000) / Double(data!.runs) - let rms: Double = (rmsResult != nil) ? rmsResult!() : 0 - benchmarkResult.time = usec - benchmarkResult.latency = rms - data = nil - } - } - - func measure() throws { - var elapsed: Int = 0 - let start: Int = Int(Date().timeIntervalSince1970 * 1000) - - var i = 0 - while (doDeterministic ? i < minIterations : elapsed < 1000) { - try run() - elapsed = Int(Date().timeIntervalSince1970 * 1000) - start - i += 1 - } - - if data != nil { - data!.runs += i - data!.elapsed += elapsed - } - } -} - - -class BenchmarkRun { - var benchmark: Benchmark - - init(name: String, doWarmup: Bool, doDeterministic: Bool, - run: @escaping () throws -> Void, - setup: (() -> Void)? = nil, - tearDown: (() -> Void)? = nil, - rmsResult: (() -> Double)? = nil, - minIterations: Int? = nil){ - self.benchmark = Benchmark(name:name,doWarmup: doWarmup,doDeterministic:doDeterministic,run:run,setup:setup,tearDown:tearDown,rmsResult:rmsResult,minIterations:minIterations) - } - - func run(){ - BenchmarkRNG.resetRNG() - var result = BenchmarkResult(time: 0, latency: 0) - do{ - try self.benchmark.runSetup(benchmarkResult: &result) - printResult(result) - }catch let BenchmarkError.WrongResult(errMsg){ - prinErrorMessage(errMsg) - }catch{ - prinErrorMessage("unknown error!") - } - - } - - func printResult(_ result:BenchmarkResult){ - print("\(self.benchmark.name): usec = \(result.time)\n\(self.benchmark.name): latency = \(result.latency)") - } - - - func prinErrorMessage(_ errorMessage:String){ - print("\(self.benchmark.name) Error: \(errorMessage)") - } -} - - -/**************************source code********************************/ - -let chrsz = 8 -let hexcase = false - -func rol(_ num: UInt32, _ cnt: UInt32) -> UInt32 { - return (num << cnt) | (num >> (32 - cnt)) -} - -func safe_add(_ x: UInt32, _ y: UInt32) -> UInt32 { - let lsw = (x & 0xFFFF) + (y & 0xFFFF) - let msw = (x >> 16) + (y >> 16) + (lsw >> 16) - return (msw << 16) | (lsw & 0xFFFF) -} - -func binb2hex(_ binarray: [UInt32]) -> String { - let hex_tab: String = hexcase ? "0123456789ABCDEF" : "0123456789abcdef" - var str: String = "" - for i in 0..<(binarray.count * 4) { - str += String(hex_tab[hex_tab.index(hex_tab.startIndex, offsetBy: Int((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF))]) - str += String(hex_tab[hex_tab.index(hex_tab.startIndex, offsetBy: Int((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xF))]) - } - return str -} - - -func sha1_kt(_ t: Int)-> UInt32 { - return (t < 20) ? 0x5A827999 : (t < 40) ? 0x6ED9EBA1 : - (t < 60) ? 0x8F1BBCDC : 0xCA62C1D6; -} - -func sha1_ft(_ t: Int, _ b: UInt32, _ c: UInt32, _ d: UInt32) -> UInt32 { - if t < 20 { - return (b & c) | ((~b) & d) - } else if t < 40 { - return b ^ c ^ d - } else if t < 60 { - return (b & c) | (b & d) | (c & d) - } else { - return b ^ c ^ d - } -} - -func str2binb(_ str:String)-> [UInt32]{ - var bin: [UInt32] = [] - let mask: UInt32 = (1 << chrsz) - 1 - for i in stride(from: 0, to: str.count * Int(chrsz), by: Int(chrsz)) { - let index = i / Int(chrsz) - let charIndex = str.index(str.startIndex, offsetBy: index) - let char = str[charIndex] - let charCode = UInt32(char.asciiValue ?? 0) - - let eIndex = i >> 5 - if eIndex+1 > bin.count{ - bin.append(0) - } - bin[eIndex] |= (charCode & mask) << (UInt32(32 - chrsz - i % 32)) - } - return bin -} - -func core_sha1(_ xx: [UInt32],_ len:Int) -> [UInt32] { - var x = xx - let eIndex1 = len>>5 - let eIndex2 = (((len + 64) >> 9) << 4) + 15 - let maxIndex = (eIndex1 > eIndex2) ? eIndex1 : eIndex2 - if maxIndex+1 > x.count{ - for _ in 0..String{ - return binb2hex(core_sha1(str2binb(s),s.count * chrsz)) -} - -func sha1Run() throws { - var plainText = "Two households, both alike in dignity,\nIn fair Verona, where we lay our scene,\nFrom ancient grudge break to new mutiny,\nWhere civil blood makes civil hands unclean.\nFrom forth the fatal loins of these two foes\nA pair of star-cross'd lovers take their life;\nWhole misadventured piteous overthrows\nDo with their death bury their parents' strife.\nThe fearful passage of their death-mark'd love,\nAnd the continuance of their parents' rage,\nWhich, but their children's end, nought could remove,\nIs now the two hours' traffic of our stage;\nThe which if you with patient ears attend,\nWhat here shall miss, our toil shall strive to mend." - for _ in 0..<4 { - plainText += plainText - } - - let sha1Output = hex_sha1(plainText) - let expected = "2524d264def74cce2498bf112bedf00e6c0b796d" - - if sha1Output != expected { - throw BenchmarkError.WrongResult("ERROR: bad result: expected \(expected) but got \(sha1Output)") - } -} - -/**************************configure and run benchmark********************************/ -let benchmarkRun = BenchmarkRun(name: "crypto-sha1", doWarmup: true, doDeterministic: true, run: sha1Run,minIterations: 25) -benchmarkRun.run() - diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/run.sh b/performance/arkts/benchmarks/compiler_workload/mix-case/swift/run.sh deleted file mode 100644 index fcb2a43af..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/swift/run.sh +++ /dev/null @@ -1,57 +0,0 @@ -#Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - -#!/bin/bash -declare -A testSets -testSets["raytrace"]="./Octane/" -testSets["box2d"]="./Octane/" -testSets["deltablue"]="./Octane/" -testSets["navier-stoke"]="./Octane/" -testSets["richards"]="./Octane/" -testSets["base64"]="./SunSpider/" -testSets["crypto-aes"]="./SunSpider/" -testSets["crypto-md5"]="./SunSpider/" -testSets["crypto-sha1"]="./SunSpider/" - -function build_swift(){ - local swift_file=$1$2.swift - local file_name=$2 - local swift2path=$1 - echo "---building swift:"$1$2"---" - swiftc -O -whole-module-optimization ${swift_file} -o ${swift2path}/${file_name} -} - -if [ -z "$1" ]; then - for key in ${!testSets[@]}; do - if [ -n "${testSets[${key}]}" ]; then - build_swift ${testSets[${key}]} ${key} - else - echo "${key} does't exist in cases" - fi - done - for key in ${!testSets[@]}; do - echo "---run swift:"$key"---" - ${testSets[${key}]}/$key - done -else - case_name=$1 - if [ -n "${testSets[${case_name}]}" ]; then - build_swift ${testSets[${case_name}]} ${case_name} - echo "---run swift:"$case_name"---" - ${testSets[${case_name}]}/$case_name - else - echo "${case_name} does't exist in cases" - fi -fi -echo "---clear files---" -find . -type f -executable ! -name "*.*" -delete diff --git a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/run.sh b/performance/arkts/benchmarks/compiler_workload/mix-case/ts/run.sh deleted file mode 100644 index 4f9d308d8..000000000 --- a/performance/arkts/benchmarks/compiler_workload/mix-case/ts/run.sh +++ /dev/null @@ -1,63 +0,0 @@ -#Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. -#!/bin/sh - -declare -A testSets -testSets["crypto-md5"]="./SunSpider/" -testSets["crypto-sha1"]="./SunSpider/" -testSets["crypto-aes"]="./SunSpider/" -testSets["base64"]="./SunSpider/" -testSets["box2d"]="./Octane/" -testSets["richards"]="./Octane/" -testSets["raytrace"]="./Octane/" -testSets["navier-stoke"]="./Octane/" -testSets["deltablue"]="./Octane/" - -target="rk3568" -maindir="../../../../../../../../.." -${maindir}/out/${target}/clang_x64/arkcompiler/ets_frontend/es2abc ./BenchmarkMeasure.ts --merge-abc --module --output ./BenchmarkMeasure.abc -export LD_LIBRARY_PATH=${maindir}/out/${target}/clang_x64/lib.unstripped/clang_x64/arkcompiler/ets_runtime:${maindir}/out/${target}/clang_x64/lib.unstripped/clang_x64/test/test:${maindir}/out/${target}/clang_x64/lib.unstripped/clang_x64/thirdparty/icu:prebuilts/clang/ohos/linux-x86_64/llvm/lib:${maindir}/out/${target}/clang_x64/lib.unstripped/clang_x64/thirdparty/zlib - -if [ -z "$1" ]; then - for key in ${!testSets[@]};do - ts_file=${testSets[${key}]}${key}.ts - file_name=${key} - abc_file=${testSets[${key}]}${key}.abc - #echo ${ts_file} - echo "---building ts:"${file_name}"---" - #echo ${abc_file} - ${maindir}/out/${target}/clang_x64/arkcompiler/ets_frontend/es2abc ${ts_file} --type-extractor --type-dts-builtin --module --merge-abc --extension=ts --output ${abc_file} - ${maindir}/out/${target}/clang_x64/exe.unstripped/clang_x64/arkcompiler/ets_runtime/ark_aot_compiler --builtins-dts=${maindir}/arkcompiler/ets_runtime/ecmascript/ts_types/lib_ark_builtins.d.abc --aot-file=${file_name} ${abc_file} - echo "---run ts:"${file_name}"---" - ${maindir}/out/${target}/clang_x64/exe.unstripped/clang_x64/arkcompiler/ets_runtime/ark_js_vm --icu-data-path "${maindir}/third_party/icu/ohos_icu4j/data" --log-level=info --asm-interpreter=true --entry-point=${file_name} --aot-file=${file_name} ${abc_file} - done -else - case_name=$1 - if [ -n "${testSets[${case_name}]}" ]; then - ts_file=${testSets[${case_name}]}${case_name}.ts - file_name=${case_name} - abc_file=${testSets[${case_name}]}${case_name}.abc - #echo ${ts_file} - echo "---building ts:"${file_name}"---" - #echo ${abc_file} - ${maindir}/out/${target}/clang_x64/arkcompiler/ets_frontend/es2abc ${ts_file} --type-extractor --type-dts-builtin --module --merge-abc --extension=ts --output ${abc_file} - ${maindir}/out/${target}/clang_x64/exe.unstripped/clang_x64/arkcompiler/ets_runtime/ark_aot_compiler --builtins-dts=${maindir}/arkcompiler/ets_runtime/ecmascript/ts_types/lib_ark_builtins.d.abc --aot-file=${file_name} ${abc_file} - echo "---run ts:"${file_name}"---" - ${maindir}/out/${target}/clang_x64/exe.unstripped/clang_x64/arkcompiler/ets_runtime/ark_js_vm --icu-data-path "${maindir}/third_party/icu/ohos_icu4j/data" --log-level=info --asm-interpreter=true --entry-point=${file_name} --aot-file=${file_name} ${abc_file} - else - echo "${case_name} does't exist in cases" - fi -fi -echo "---clear files---" -rm -f *.ai *.an -find . -name "*.abc" -type f -delete diff --git a/scenario/arkui/MyWps/.gitignore b/scenario/MyDoc/.gitignore old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/.gitignore rename to scenario/MyDoc/.gitignore diff --git a/scenario/arkui/MyWps/AppScope/app.json5 b/scenario/MyDoc/AppScope/app.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyWps/AppScope/app.json5 rename to scenario/MyDoc/AppScope/app.json5 index ed4ef85d3..ff374e6de --- a/scenario/arkui/MyWps/AppScope/app.json5 +++ b/scenario/MyDoc/AppScope/app.json5 @@ -1,10 +1,10 @@ -{ - "app": { - "bundleName": "com.example.mywps", - "vendor": "example", - "versionCode": 1000000, - "versionName": "1.0.0", - "icon": "$media:app_icon", - "label": "$string:app_name" - } -} +{ + "app": { + "bundleName": "com.example.mywps", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/scenario/arkui/MyWps/AppScope/resources/base/element/string.json b/scenario/MyDoc/AppScope/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 91% rename from scenario/arkui/MyWps/AppScope/resources/base/element/string.json rename to scenario/MyDoc/AppScope/resources/base/element/string.json index 6f03321b5..ad5cea352 --- a/scenario/arkui/MyWps/AppScope/resources/base/element/string.json +++ b/scenario/MyDoc/AppScope/resources/base/element/string.json @@ -1,8 +1,8 @@ -{ - "string": [ - { - "name": "app_name", - "value": "MyWps" - } - ] -} +{ + "string": [ + { + "name": "app_name", + "value": "MyWps" + } + ] +} diff --git a/scenario/arkui/MyMusic/AppScope/resources/base/media/app_icon.png b/scenario/MyDoc/AppScope/resources/base/media/app_icon.png similarity index 100% rename from scenario/arkui/MyMusic/AppScope/resources/base/media/app_icon.png rename to scenario/MyDoc/AppScope/resources/base/media/app_icon.png diff --git a/scenario/arkui/MyWps/README_zh.md b/scenario/MyDoc/README_zh.md old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/README_zh.md rename to scenario/MyDoc/README_zh.md diff --git a/scenario/arkui/MyWps/build-profile.json5 b/scenario/MyDoc/build-profile.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyWps/build-profile.json5 rename to scenario/MyDoc/build-profile.json5 index 430f03151..92bf6b4ad --- a/scenario/arkui/MyWps/build-profile.json5 +++ b/scenario/MyDoc/build-profile.json5 @@ -1,49 +1,49 @@ -{ - "app": { - "signingConfigs": [ - { - "name": "default", - "material": { - "certpath": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.cer", - "storePassword": "0000001B4289C18772F96228FD1E4A07BAC6106C86D6E520A219CE921C8E30BC4852A81D030915E8929E1E", - "keyAlias": "debugKey", - "keyPassword": "0000001BB388ED5DDE7574C54028C65990894B634E6FD18ADD6886E50FB9F77B4778C4D38F74FA35FA8236", - "profile": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.p7b", - "signAlg": "SHA256withECDSA", - "storeFile": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.p12" - } - } - ], - "products": [ - { - "name": "default", - "signingConfig": "default", - "compileSdkVersion": 10, - "compatibleSdkVersion": 10, - "runtimeOS": "OpenHarmony", - } - ], - "buildModeSet": [ - { - "name": "debug", - }, - { - "name": "release" - } - ] - }, - "modules": [ - { - "name": "entry", - "srcPath": "./entry", - "targets": [ - { - "name": "default", - "applyToProducts": [ - "default" - ] - } - ] - } - ] +{ + "app": { + "signingConfigs": [ + { + "name": "default", + "material": { + "certpath": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.cer", + "storePassword": "0000001B4289C18772F96228FD1E4A07BAC6106C86D6E520A219CE921C8E30BC4852A81D030915E8929E1E", + "keyAlias": "debugKey", + "keyPassword": "0000001BB388ED5DDE7574C54028C65990894B634E6FD18ADD6886E50FB9F77B4778C4D38F74FA35FA8236", + "profile": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:\\Users\\15850\\.ohos\\config\\openharmony\\auto_ohos_default_MyWps_com.example.mywps.p12" + } + } + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] } \ No newline at end of file diff --git a/scenario/arkui/MyMusic/entry/.gitignore b/scenario/MyDoc/entry/.gitignore similarity index 100% rename from scenario/arkui/MyMusic/entry/.gitignore rename to scenario/MyDoc/entry/.gitignore diff --git a/scenario/arkui/MyNews/entry/build-profile.json5 b/scenario/MyDoc/entry/build-profile.json5 similarity index 100% rename from scenario/arkui/MyNews/entry/build-profile.json5 rename to scenario/MyDoc/entry/build-profile.json5 diff --git a/scenario/arkui/MyMusic/entry/hvigorfile.ts b/scenario/MyDoc/entry/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyMusic/entry/hvigorfile.ts rename to scenario/MyDoc/entry/hvigorfile.ts diff --git a/scenario/arkui/MyMusic/entry/obfuscation-rules.txt b/scenario/MyDoc/entry/obfuscation-rules.txt similarity index 100% rename from scenario/arkui/MyMusic/entry/obfuscation-rules.txt rename to scenario/MyDoc/entry/obfuscation-rules.txt diff --git a/scenario/arkui/MyMusic/entry/oh-package.json5 b/scenario/MyDoc/entry/oh-package.json5 similarity index 100% rename from scenario/arkui/MyMusic/entry/oh-package.json5 rename to scenario/MyDoc/entry/oh-package.json5 diff --git a/scenario/arkui/MyWps/entry/src/main/ets/entryability/EntryAbility.ets b/scenario/MyDoc/entry/src/main/ets/entryability/EntryAbility.ets old mode 100755 new mode 100644 similarity index 97% rename from scenario/arkui/MyWps/entry/src/main/ets/entryability/EntryAbility.ets rename to scenario/MyDoc/entry/src/main/ets/entryability/EntryAbility.ets index b2f670906..1c7aa63a9 --- a/scenario/arkui/MyWps/entry/src/main/ets/entryability/EntryAbility.ets +++ b/scenario/MyDoc/entry/src/main/ets/entryability/EntryAbility.ets @@ -1,43 +1,43 @@ -import AbilityConstant from '@ohos.app.ability.AbilityConstant'; -import hilog from '@ohos.hilog'; -import UIAbility from '@ohos.app.ability.UIAbility'; -import Want from '@ohos.app.ability.Want'; -import window from '@ohos.window'; - -export default class EntryAbility extends UIAbility { - onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); - } - - onDestroy(): void { - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); - } - - onWindowStageCreate(windowStage: window.WindowStage): void { - // Main window is created, set main page for this ability - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); - - windowStage.loadContent('pages/Index', (err, data) => { - if (err.code) { - hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); - return; - } - hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); - }); - } - - onWindowStageDestroy(): void { - // Main window is destroyed, release UI related resources - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); - } - - onForeground(): void { - // Ability has brought to foreground - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); - } - - onBackground(): void { - // Ability has back to background - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); - } -} +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/scenario/arkui/MyWps/entry/src/main/ets/pages/Index.ets b/scenario/MyDoc/entry/src/main/ets/pages/Index.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/ets/pages/Index.ets rename to scenario/MyDoc/entry/src/main/ets/pages/Index.ets diff --git a/scenario/arkui/MyWps/entry/src/main/ets/pages/wps/HomePage.ets b/scenario/MyDoc/entry/src/main/ets/pages/wps/HomePage.ets old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyWps/entry/src/main/ets/pages/wps/HomePage.ets rename to scenario/MyDoc/entry/src/main/ets/pages/wps/HomePage.ets index 40dce07d9..34b15bf5e --- a/scenario/arkui/MyWps/entry/src/main/ets/pages/wps/HomePage.ets +++ b/scenario/MyDoc/entry/src/main/ets/pages/wps/HomePage.ets @@ -1,231 +1,231 @@ -/* - * Copyright (c) 2023-2024 Shenzhen Kaihong Digital Industry Development 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. - */ - -// Page HomePage -@Component -export struct HomePage { - build() { - Column() { - Column() { - Row() { - Image($r('app.media.ic_user')) - .width('10%') - .height(30) - .margin({ left: 16 }) - .objectFit(ImageFit.Contain) - .id('backBtn1') - Text('Hello') - .fontSize(20) - .layoutWeight(1) - .margin({ left: 10 }) - .align(Alignment.Start) - Blank() - Image($r('app.media.ic_dialog')) - .width('10%') - .height(20) - .margin({ right: 16 }) - .objectFit(ImageFit.Contain) - .id('backBtn2') - } - .height(56) - .width('100%') - - Row() { - Image($r('app.media.ic_search')) - .width('%10') - .height(20) - .margin({ left: 12 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text('搜索') - .fontSize(15) - .layoutWeight(1) - .fontColor(Color.Gray) - .margin({ left: 5 }) - .align(Alignment.Start) - Image($r('app.media.ic_image_effects')) - .width('%10') - .height(20) - .margin({ right: 12 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - } - .height(40) - .width('92%') - .margin({ left: 10, right: 10 }) - .borderRadius(20) - .backgroundColor(Color.White) - - Row() { - }.height(10).width('100%') - }.backgroundColor($r('app.color.background_grey')) //column - Column(){ - Row() { - Text($r('app.string.wps_recent')) - .fontSize(20) - .width('12%') - .fontWeight('bold') - .margin({ left: '5%' }) - .align(Alignment.Start) - - Text($r('app.string.wps_share')) - .fontSize(20) - .fontColor(Color.Gray) - .width('12%') - .margin({ left: '4%' }) - .align(Alignment.Start) - - Text($r('app.string.wps_star')) - .fontSize(20) - .fontColor(Color.Gray) - .width('12%') - .margin({ left: '4%' }) - .align(Alignment.Start) - - Text($r('app.string.wps_label')) - .fontSize(20) - .fontColor(Color.Gray) - .width('12%') - .margin({ left: '5%' }) - .align(Alignment.Start) - - Text($r('app.string.wps_local')) - .fontSize(20) - .fontColor(Color.Gray) - .width('12%') - .margin({ left: '5%' }) - .align(Alignment.Start) - - Image($r('app.media.ic_image_dirs')) - .width('8%') - .height(30) - .margin({ left: '5%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - } - .width('100%') - .height(45) - .backgroundColor($r('app.color.white')) - .alignItems(VerticalAlign.Bottom) - .align(Alignment.End) //row - Row() { - Row() { - Path() - .commands('M0 0 L50 0') - .strokeLineCap(LineCapStyle.Round) - .stroke(Color.Red) - .strokeWidth(3) - }.width('10%').height(10).backgroundColor(Color.White).margin({ left: '6%' }) - }.width('100%').backgroundColor(Color.White) - - Scroll() { - Column() { - Row() { - Text($r('app.string.wps_today')) - .width('75%') - .fontSize(20) - .margin({ left: '5%' }) - .align(Alignment.Start) - - Image($r('app.media.ic_image_wpsfilter')) - .width('7%') - .height(40) - .margin({ left: '0%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - - Image($r('app.media.ic_image_wpsevent')) - .width('20.00vp') - .height(40) - .margin({ left: '4%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - }.width('100%').height(40).backgroundColor($r('app.color.white')) - - this.FileList(1, "欢迎使用My PS", "本地/data/doc"); - this.FileList(2, "常用命令记录", "电脑桌面"); - - Row() { - Text($r('app.string.wps_sevendays')) - .fontSize(20) - .layoutWeight(1) - .margin({ left: 12 }) - .fontColor(Color.Gray) - .align(Alignment.Start) - }.width('100%').height(40).backgroundColor($r('app.color.white')) - - this.FileList(1, "测试报告", "本地/data/work"); - this.FileList(2, "应用列表", "电脑桌面"); - - Row() { - Text($r('app.string.wps_earlier')) - .fontSize(20) - .fontColor(Color.Gray) - .layoutWeight(1) - .margin({ left: 12 }) - .align(Alignment.Start) - }.width('100%').height(40).backgroundColor($r('app.color.white')) - - this.FileList(1, "工具使用手册", "本地/data/work"); - this.FileList(1, "工具使用报告", "本地/data/work"); - this.FileList(2, "测试列表", "本地/data/work"); - this.FileList(1, "杂七杂八笔记", "本地/data/work"); - }.width('100%') - } - .padding({ left: 5, right: 5, bottom: 20 }) - .height(550) - .backgroundColor($r('app.color.background_shallow_grey')) - .scrollable(ScrollDirection.Vertical) - }.backgroundColor(Color.White) - } - } //build - - @Builder FileList(type: number, fileName: string, filePos: string) { - Row() { - Image( type == 1 ? $r('app.media.ic_images_wpsdoc') :$r('app.media.ic_images_wpsexcel')) - .width('15%') - .height(40) - .margin({ left: '2%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - - Column() { - Text(fileName) - .fontSize(20) - .align(Alignment.Start) - Text(filePos) - .fontSize(15) - .fontColor(Color.Gray) - .align(Alignment.Start) - }.height(40).width('60%') - .align(Alignment.Start) - .alignItems(HorizontalAlign.Start) - - Image($r('app.media.ic_image_wpsstart')) - .width('8%') - .height(40) - .margin({ left: '3%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - - Image($r('app.media.ic_images_wpsdot')) - .width('8%') - .height(40) - .margin({ left: '2%' }) - .objectFit(ImageFit.Contain) - .id('backBtn5') - }.width('100%').height(80).backgroundColor($r('app.color.white')) - } //FileList +/* + * Copyright (c) 2023-2024 Shenzhen Kaihong Digital Industry Development 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. + */ + +// Page HomePage +@Component +export struct HomePage { + build() { + Column() { + Column() { + Row() { + Image($r('app.media.ic_user')) + .width('10%') + .height(30) + .margin({ left: 16 }) + .objectFit(ImageFit.Contain) + .id('backBtn1') + Text('Hello') + .fontSize(20) + .layoutWeight(1) + .margin({ left: 10 }) + .align(Alignment.Start) + Blank() + Image($r('app.media.ic_dialog')) + .width('10%') + .height(20) + .margin({ right: 16 }) + .objectFit(ImageFit.Contain) + .id('backBtn2') + } + .height(56) + .width('100%') + + Row() { + Image($r('app.media.ic_search')) + .width('%10') + .height(20) + .margin({ left: 12 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text('搜索') + .fontSize(15) + .layoutWeight(1) + .fontColor(Color.Gray) + .margin({ left: 5 }) + .align(Alignment.Start) + Image($r('app.media.ic_image_effects')) + .width('%10') + .height(20) + .margin({ right: 12 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + } + .height(40) + .width('92%') + .margin({ left: 10, right: 10 }) + .borderRadius(20) + .backgroundColor(Color.White) + + Row() { + }.height(10).width('100%') + }.backgroundColor($r('app.color.background_grey')) //column + Column(){ + Row() { + Text($r('app.string.wps_recent')) + .fontSize(20) + .width('12%') + .fontWeight('bold') + .margin({ left: '5%' }) + .align(Alignment.Start) + + Text($r('app.string.wps_share')) + .fontSize(20) + .fontColor(Color.Gray) + .width('12%') + .margin({ left: '4%' }) + .align(Alignment.Start) + + Text($r('app.string.wps_star')) + .fontSize(20) + .fontColor(Color.Gray) + .width('12%') + .margin({ left: '4%' }) + .align(Alignment.Start) + + Text($r('app.string.wps_label')) + .fontSize(20) + .fontColor(Color.Gray) + .width('12%') + .margin({ left: '5%' }) + .align(Alignment.Start) + + Text($r('app.string.wps_local')) + .fontSize(20) + .fontColor(Color.Gray) + .width('12%') + .margin({ left: '5%' }) + .align(Alignment.Start) + + Image($r('app.media.ic_image_dirs')) + .width('8%') + .height(30) + .margin({ left: '5%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + } + .width('100%') + .height(45) + .backgroundColor($r('app.color.white')) + .alignItems(VerticalAlign.Bottom) + .align(Alignment.End) //row + Row() { + Row() { + Path() + .commands('M0 0 L50 0') + .strokeLineCap(LineCapStyle.Round) + .stroke(Color.Red) + .strokeWidth(3) + }.width('10%').height(10).backgroundColor(Color.White).margin({ left: '6%' }) + }.width('100%').backgroundColor(Color.White) + + Scroll() { + Column() { + Row() { + Text($r('app.string.wps_today')) + .width('75%') + .fontSize(20) + .margin({ left: '5%' }) + .align(Alignment.Start) + + Image($r('app.media.ic_image_wpsfilter')) + .width('7%') + .height(40) + .margin({ left: '0%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + + Image($r('app.media.ic_image_wpsevent')) + .width('20.00vp') + .height(40) + .margin({ left: '4%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + }.width('100%').height(40).backgroundColor($r('app.color.white')) + + this.FileList(1, "欢迎使用My PS", "本地/data/doc"); + this.FileList(2, "常用命令记录", "电脑桌面"); + + Row() { + Text($r('app.string.wps_sevendays')) + .fontSize(20) + .layoutWeight(1) + .margin({ left: 12 }) + .fontColor(Color.Gray) + .align(Alignment.Start) + }.width('100%').height(40).backgroundColor($r('app.color.white')) + + this.FileList(1, "测试报告", "本地/data/work"); + this.FileList(2, "应用列表", "电脑桌面"); + + Row() { + Text($r('app.string.wps_earlier')) + .fontSize(20) + .fontColor(Color.Gray) + .layoutWeight(1) + .margin({ left: 12 }) + .align(Alignment.Start) + }.width('100%').height(40).backgroundColor($r('app.color.white')) + + this.FileList(1, "工具使用手册", "本地/data/work"); + this.FileList(1, "工具使用报告", "本地/data/work"); + this.FileList(2, "测试列表", "本地/data/work"); + this.FileList(1, "杂七杂八笔记", "本地/data/work"); + }.width('100%') + } + .padding({ left: 5, right: 5, bottom: 20 }) + .height(550) + .backgroundColor($r('app.color.background_shallow_grey')) + .scrollable(ScrollDirection.Vertical) + }.backgroundColor(Color.White) + } + } //build + + @Builder FileList(type: number, fileName: string, filePos: string) { + Row() { + Image( type == 1 ? $r('app.media.ic_images_wpsdoc') :$r('app.media.ic_images_wpsexcel')) + .width('15%') + .height(40) + .margin({ left: '2%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + + Column() { + Text(fileName) + .fontSize(20) + .align(Alignment.Start) + Text(filePos) + .fontSize(15) + .fontColor(Color.Gray) + .align(Alignment.Start) + }.height(40).width('60%') + .align(Alignment.Start) + .alignItems(HorizontalAlign.Start) + + Image($r('app.media.ic_image_wpsstart')) + .width('8%') + .height(40) + .margin({ left: '3%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + + Image($r('app.media.ic_images_wpsdot')) + .width('8%') + .height(40) + .margin({ left: '2%' }) + .objectFit(ImageFit.Contain) + .id('backBtn5') + }.width('100%').height(80).backgroundColor($r('app.color.white')) + } //FileList } //Green \ No newline at end of file diff --git a/scenario/arkui/MyShopping/entry/src/main/module.json5 b/scenario/MyDoc/entry/src/main/module.json5 similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/module.json5 rename to scenario/MyDoc/entry/src/main/module.json5 diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/element/color.json b/scenario/MyDoc/entry/src/main/resources/base/element/color.json old mode 100755 new mode 100644 similarity index 94% rename from scenario/arkui/MyWps/entry/src/main/resources/base/element/color.json rename to scenario/MyDoc/entry/src/main/resources/base/element/color.json index ebc46249c..9f6b04b5d --- a/scenario/arkui/MyWps/entry/src/main/resources/base/element/color.json +++ b/scenario/MyDoc/entry/src/main/resources/base/element/color.json @@ -1,233 +1,233 @@ -{ - "color": [ - { - "name": "white", - "value": "#FFFFFF" - }, - { - "name": "bottom_title_divider", - "value": "#99838388" - }, - { - "name": "tab_bar_divider", - "value": "#33182431" - }, - { - "name": "font_color_shallow", - "value": "#182431" - }, - { - "name": "font_color_dark", - "value": "#000000" - }, - { - "name": "font_color_red", - "value": "#FFD22C2C" - }, - { - "name": "tab_bar_select", - "value": "#007DFF" - }, - { - "name": "tab_bar_unselect", - "value": "#66182431" - }, - { - "name": "background_shallow_grey", - "value": "#F1F3F5" - }, - { - "name": "background_dark", - "value": "#FF000000" - }, - { - "name": "background_grey", - "value": "#0d000000" - }, - { - "name": "background_orange", - "value": "#E6A23C" - }, - { - "name": "background_pink", - "value": "#F56C6C" - }, - { - "name": "background_blue", - "value": "#409EFF" - }, - { - "name": "background_green", - "value": "#67C23A" - }, - { - "name": "pop_up_background", - "value": "#0D182431" - }, - // Button - { - "name": "button_custom_color", - "value": "#80FF7500" - }, - { - "name": "button_default_bg_color", - "value": "#007DFF" - }, - // Divider - { - "name": "divider_block_color", - "value": "#1A838388" - }, - // Interpolation Calculation - { - "name": "curve_normal", - "value": "#3F56EA" - }, - { - "name": "curve_bezier", - "value": "#00BFC9" - }, - { - "name": "curve_spring", - "value": "#BCD600" - }, - { - "name": "curve_init", - "value": "#E40078" - }, - { - "name": "curve_steps", - "value": "#FF7500" - }, - // Radio - { - "name": "radio_response_region_color", - "value": "#66ffc0cb" - }, - // Select - { - "name": "select_option_bg_color", - "value": "#33007DFF" - }, - { - "name": "select_option_font_color", - "value": "#FF007DFF" - }, - // Toggle - { - "name": "toggle_selected_color", - "value": "#4D00BFC9" - }, - //Display - { - "name": "background_light_gray", - "value": "#f1f3f5" - }, - { - "name": "sub_title_color", - "value": "#182431" - }, - { - "name": "title_colorone", - "value": "#0A59F7" - }, - { - "name": "title_colortwo", - "value": "#000000" - }, - //辅助ScrollBarSample - { - "name": "scrollbar_background_color", - "value": "#ededed" - }, - { - "name": "contentArea_background_color", - "value": "#C0C0C0" - }, - // Interaction - { - "name": "normal_bg_color", - "value": "#0A59F7" - }, - { - "name": "btn_border_color", - "value": "#33000000" - }, - { - "name": "3D_background_color", - "value": "#F9BC64" - }, - { - "name": "3D_top_left_color", - "value": "#FED599" - }, - { - "name": "3D_right_buttom_color", - "value": "#D69942" - }, - { - "name": "btn_one_color", - "value": "#FFC0CB" - }, - { - "name": "btn_two_color", - "value": "#87CEFA" - }, - { - "name": "btn_three_color", - "value": "#90EE90" - }, - { - "name": "btn_onFocus_color", - "value": "#FF0000" - }, - { - "name": "focus_on_background", - "value": "#007DFE" - }, - { - "name": "COLOR_80000000", - "value": "#80000000" - }, - { - "name": "COLOR_FFFFFF", - "value": "#FFFFFF" - }, - { - "name": "COLOR_8C9BA2", - "value": "#8C9BA2" - }, - { - "name": "COLOR_99FFFFFF", - "value": "#99ffffff" - }, - { - "name": "canvas_background", - "value": "#ffff00" - }, - { - "name": "canvas_normal_button_bg", - "value": "#317aff" - }, - { - "name": "canvas_clear_button_bg", - "value": "#ffff7300" - }, - { - "name": "canvas_bg_color", - "value": "#00ffff" - }, - { - "name": "scroll_to_button_color", - "value": "#ff55c6f5" - }, - { - "name": "scroll_item_color", - "value": "#ff2a78db" - }, - { - "name": "scroll_grid_item_color", - "value": "#F9CF93" - } - ] -} +{ + "color": [ + { + "name": "white", + "value": "#FFFFFF" + }, + { + "name": "bottom_title_divider", + "value": "#99838388" + }, + { + "name": "tab_bar_divider", + "value": "#33182431" + }, + { + "name": "font_color_shallow", + "value": "#182431" + }, + { + "name": "font_color_dark", + "value": "#000000" + }, + { + "name": "font_color_red", + "value": "#FFD22C2C" + }, + { + "name": "tab_bar_select", + "value": "#007DFF" + }, + { + "name": "tab_bar_unselect", + "value": "#66182431" + }, + { + "name": "background_shallow_grey", + "value": "#F1F3F5" + }, + { + "name": "background_dark", + "value": "#FF000000" + }, + { + "name": "background_grey", + "value": "#0d000000" + }, + { + "name": "background_orange", + "value": "#E6A23C" + }, + { + "name": "background_pink", + "value": "#F56C6C" + }, + { + "name": "background_blue", + "value": "#409EFF" + }, + { + "name": "background_green", + "value": "#67C23A" + }, + { + "name": "pop_up_background", + "value": "#0D182431" + }, + // Button + { + "name": "button_custom_color", + "value": "#80FF7500" + }, + { + "name": "button_default_bg_color", + "value": "#007DFF" + }, + // Divider + { + "name": "divider_block_color", + "value": "#1A838388" + }, + // Interpolation Calculation + { + "name": "curve_normal", + "value": "#3F56EA" + }, + { + "name": "curve_bezier", + "value": "#00BFC9" + }, + { + "name": "curve_spring", + "value": "#BCD600" + }, + { + "name": "curve_init", + "value": "#E40078" + }, + { + "name": "curve_steps", + "value": "#FF7500" + }, + // Radio + { + "name": "radio_response_region_color", + "value": "#66ffc0cb" + }, + // Select + { + "name": "select_option_bg_color", + "value": "#33007DFF" + }, + { + "name": "select_option_font_color", + "value": "#FF007DFF" + }, + // Toggle + { + "name": "toggle_selected_color", + "value": "#4D00BFC9" + }, + //Display + { + "name": "background_light_gray", + "value": "#f1f3f5" + }, + { + "name": "sub_title_color", + "value": "#182431" + }, + { + "name": "title_colorone", + "value": "#0A59F7" + }, + { + "name": "title_colortwo", + "value": "#000000" + }, + //辅助ScrollBarSample + { + "name": "scrollbar_background_color", + "value": "#ededed" + }, + { + "name": "contentArea_background_color", + "value": "#C0C0C0" + }, + // Interaction + { + "name": "normal_bg_color", + "value": "#0A59F7" + }, + { + "name": "btn_border_color", + "value": "#33000000" + }, + { + "name": "3D_background_color", + "value": "#F9BC64" + }, + { + "name": "3D_top_left_color", + "value": "#FED599" + }, + { + "name": "3D_right_buttom_color", + "value": "#D69942" + }, + { + "name": "btn_one_color", + "value": "#FFC0CB" + }, + { + "name": "btn_two_color", + "value": "#87CEFA" + }, + { + "name": "btn_three_color", + "value": "#90EE90" + }, + { + "name": "btn_onFocus_color", + "value": "#FF0000" + }, + { + "name": "focus_on_background", + "value": "#007DFE" + }, + { + "name": "COLOR_80000000", + "value": "#80000000" + }, + { + "name": "COLOR_FFFFFF", + "value": "#FFFFFF" + }, + { + "name": "COLOR_8C9BA2", + "value": "#8C9BA2" + }, + { + "name": "COLOR_99FFFFFF", + "value": "#99ffffff" + }, + { + "name": "canvas_background", + "value": "#ffff00" + }, + { + "name": "canvas_normal_button_bg", + "value": "#317aff" + }, + { + "name": "canvas_clear_button_bg", + "value": "#ffff7300" + }, + { + "name": "canvas_bg_color", + "value": "#00ffff" + }, + { + "name": "scroll_to_button_color", + "value": "#ff55c6f5" + }, + { + "name": "scroll_item_color", + "value": "#ff2a78db" + }, + { + "name": "scroll_grid_item_color", + "value": "#F9CF93" + } + ] +} diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/element/string.json b/scenario/MyDoc/entry/src/main/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/element/string.json rename to scenario/MyDoc/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/file.png b/scenario/MyDoc/entry/src/main/resources/base/media/file.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/file.png rename to scenario/MyDoc/entry/src/main/resources/base/media/file.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_dialog.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_dialog.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_dialog.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_dialog.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_dirs.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_dirs.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_dirs.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_dirs.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_effects.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_effects.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_effects.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_effects.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsdaoke.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsdaoke.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsdaoke.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsdaoke.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsenddoc.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsenddoc.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsenddoc.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsenddoc.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsevent.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsevent.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsevent.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsevent.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsfilter.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsfilter.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsfilter.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsfilter.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpshomepage.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpshomepage.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpshomepage.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpshomepage.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsme.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsme.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsme.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsme.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsservice.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsservice.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsservice.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsservice.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsstart.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsstart.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_wpsstart.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_image_wpsstart.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsdoc.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsdoc.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsdoc.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsdoc.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsdot.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsdot.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsdot.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsdot.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsexcel.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsexcel.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_images_wpsexcel.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_images_wpsexcel.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_search.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_search.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_search.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_search.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_collection.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_select_option_collection.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_collection.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_select_option_collection.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_user.png b/scenario/MyDoc/entry/src/main/resources/base/media/ic_user.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_user.png rename to scenario/MyDoc/entry/src/main/resources/base/media/ic_user.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/icon.png b/scenario/MyDoc/entry/src/main/resources/base/media/icon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/icon.png rename to scenario/MyDoc/entry/src/main/resources/base/media/icon.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/image.png b/scenario/MyDoc/entry/src/main/resources/base/media/image.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/image.png rename to scenario/MyDoc/entry/src/main/resources/base/media/image.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/myAudio.png b/scenario/MyDoc/entry/src/main/resources/base/media/myAudio.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/myAudio.png rename to scenario/MyDoc/entry/src/main/resources/base/media/myAudio.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/startIcon.png b/scenario/MyDoc/entry/src/main/resources/base/media/startIcon.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/startIcon.png rename to scenario/MyDoc/entry/src/main/resources/base/media/startIcon.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/utdType_back.svg b/scenario/MyDoc/entry/src/main/resources/base/media/utdType_back.svg old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/utdType_back.svg rename to scenario/MyDoc/entry/src/main/resources/base/media/utdType_back.svg diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/video.png b/scenario/MyDoc/entry/src/main/resources/base/media/video.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/video.png rename to scenario/MyDoc/entry/src/main/resources/base/media/video.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/profile/main_pages.json b/scenario/MyDoc/entry/src/main/resources/base/profile/main_pages.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/profile/main_pages.json rename to scenario/MyDoc/entry/src/main/resources/base/profile/main_pages.json diff --git a/scenario/MyDoc/entry/src/main/resources/en_US/element/string.json b/scenario/MyDoc/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 000000000..f94595515 --- /dev/null +++ b/scenario/MyDoc/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/scenario/arkui/MyWps/entry/src/main/resources/zh_CN/element/string.json b/scenario/MyDoc/entry/src/main/resources/zh_CN/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/zh_CN/element/string.json rename to scenario/MyDoc/entry/src/main/resources/zh_CN/element/string.json diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/ets/test/Ability.test.ets b/scenario/MyDoc/entry/src/ohosTest/ets/test/Ability.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/ets/test/Ability.test.ets rename to scenario/MyDoc/entry/src/ohosTest/ets/test/Ability.test.ets diff --git a/scenario/MyDoc/entry/src/ohosTest/ets/test/List.test.ets b/scenario/MyDoc/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..794c7dc4e --- /dev/null +++ b/scenario/MyDoc/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,5 @@ +import abilityTest from './Ability.test'; + +export default function testsuite() { + abilityTest(); +} \ No newline at end of file diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/ets/testability/TestAbility.ets b/scenario/MyDoc/entry/src/ohosTest/ets/testability/TestAbility.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/ets/testability/TestAbility.ets rename to scenario/MyDoc/entry/src/ohosTest/ets/testability/TestAbility.ets diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/ets/testability/pages/Index.ets b/scenario/MyDoc/entry/src/ohosTest/ets/testability/pages/Index.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/ets/testability/pages/Index.ets rename to scenario/MyDoc/entry/src/ohosTest/ets/testability/pages/Index.ets diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/scenario/MyDoc/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets rename to scenario/MyDoc/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/module.json5 b/scenario/MyDoc/entry/src/ohosTest/module.json5 similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/module.json5 rename to scenario/MyDoc/entry/src/ohosTest/module.json5 diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/resources/base/element/color.json b/scenario/MyDoc/entry/src/ohosTest/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/resources/base/element/color.json rename to scenario/MyDoc/entry/src/ohosTest/resources/base/element/color.json diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/element/string.json b/scenario/MyDoc/entry/src/ohosTest/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/element/string.json rename to scenario/MyDoc/entry/src/ohosTest/resources/base/element/string.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/icon.png b/scenario/MyDoc/entry/src/ohosTest/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/icon.png rename to scenario/MyDoc/entry/src/ohosTest/resources/base/media/icon.png diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/profile/test_pages.json b/scenario/MyDoc/entry/src/ohosTest/resources/base/profile/test_pages.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/profile/test_pages.json rename to scenario/MyDoc/entry/src/ohosTest/resources/base/profile/test_pages.json diff --git a/scenario/arkui/MyWps/entry/src/test/List.test.ets b/scenario/MyDoc/entry/src/test/List.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/test/List.test.ets rename to scenario/MyDoc/entry/src/test/List.test.ets diff --git a/scenario/arkui/MyWps/entry/src/test/LocalUnit.test.ets b/scenario/MyDoc/entry/src/test/LocalUnit.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/test/LocalUnit.test.ets rename to scenario/MyDoc/entry/src/test/LocalUnit.test.ets diff --git a/scenario/arkui/MyNews/hvigor/hvigor-config.json5 b/scenario/MyDoc/hvigor/hvigor-config.json5 similarity index 100% rename from scenario/arkui/MyNews/hvigor/hvigor-config.json5 rename to scenario/MyDoc/hvigor/hvigor-config.json5 diff --git a/scenario/arkui/MyNews/hvigor/hvigor-wrapper.js b/scenario/MyDoc/hvigor/hvigor-wrapper.js similarity index 100% rename from scenario/arkui/MyNews/hvigor/hvigor-wrapper.js rename to scenario/MyDoc/hvigor/hvigor-wrapper.js diff --git a/scenario/arkui/MyShopping/hvigorfile.ts b/scenario/MyDoc/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyShopping/hvigorfile.ts rename to scenario/MyDoc/hvigorfile.ts diff --git a/scenario/arkui/MyMusic/hvigorw b/scenario/MyDoc/hvigorw similarity index 100% rename from scenario/arkui/MyMusic/hvigorw rename to scenario/MyDoc/hvigorw diff --git a/scenario/arkui/MyMusic/hvigorw.bat b/scenario/MyDoc/hvigorw.bat similarity index 100% rename from scenario/arkui/MyMusic/hvigorw.bat rename to scenario/MyDoc/hvigorw.bat diff --git a/scenario/arkui/MyNews/oh-package-lock.json5 b/scenario/MyDoc/oh-package-lock.json5 similarity index 100% rename from scenario/arkui/MyNews/oh-package-lock.json5 rename to scenario/MyDoc/oh-package-lock.json5 diff --git a/scenario/arkui/MyWps/oh-package.json5 b/scenario/MyDoc/oh-package.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyWps/oh-package.json5 rename to scenario/MyDoc/oh-package.json5 index 5fef44334..a905f56c6 --- a/scenario/arkui/MyWps/oh-package.json5 +++ b/scenario/MyDoc/oh-package.json5 @@ -1,12 +1,12 @@ -{ - "license": "", - "devDependencies": { - "@ohos/hypium": "1.0.11" - }, - "author": "", - "name": "mywps", - "description": "Please describe the basic information.", - "main": "", - "version": "1.0.0", - "dependencies": {} -} +{ + "license": "", + "devDependencies": { + "@ohos/hypium": "1.0.11" + }, + "author": "", + "name": "mywps", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/scenario/arkui/MyWps/screenshots/main.png b/scenario/MyDoc/screenshots/main.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/screenshots/main.png rename to scenario/MyDoc/screenshots/main.png diff --git a/scenario/MyMap/.gitignore b/scenario/MyMap/.gitignore new file mode 100644 index 000000000..fbabf7710 --- /dev/null +++ b/scenario/MyMap/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/scenario/arkui/MyMap/AppScope/app.json5 b/scenario/MyMap/AppScope/app.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyMap/AppScope/app.json5 rename to scenario/MyMap/AppScope/app.json5 index 598f88c25..d76cb7231 --- a/scenario/arkui/MyMap/AppScope/app.json5 +++ b/scenario/MyMap/AppScope/app.json5 @@ -1,10 +1,10 @@ -{ - "app": { - "bundleName": "ohos.samples.mymap", - "vendor": "example", - "versionCode": 1000000, - "versionName": "1.0.0", - "icon": "$media:icon_fMyMap", - "label": "$string:app_name" - } -} +{ + "app": { + "bundleName": "ohos.samples.mymap", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:icon_fMyMap", + "label": "$string:app_name" + } +} diff --git a/scenario/arkui/MyMap/AppScope/resources/base/element/string.json b/scenario/MyMap/AppScope/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 91% rename from scenario/arkui/MyMap/AppScope/resources/base/element/string.json rename to scenario/MyMap/AppScope/resources/base/element/string.json index e63929bb3..436f9a6cc --- a/scenario/arkui/MyMap/AppScope/resources/base/element/string.json +++ b/scenario/MyMap/AppScope/resources/base/element/string.json @@ -1,8 +1,8 @@ -{ - "string": [ - { - "name": "app_name", - "value": "MyMap" - } - ] -} +{ + "string": [ + { + "name": "app_name", + "value": "MyMap" + } + ] +} diff --git a/scenario/arkui/MyNews/AppScope/resources/base/media/app_icon.png b/scenario/MyMap/AppScope/resources/base/media/app_icon.png similarity index 100% rename from scenario/arkui/MyNews/AppScope/resources/base/media/app_icon.png rename to scenario/MyMap/AppScope/resources/base/media/app_icon.png diff --git a/scenario/arkui/MyMap/AppScope/resources/base/media/icon_fMyMap.png b/scenario/MyMap/AppScope/resources/base/media/icon_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/AppScope/resources/base/media/icon_fMyMap.png rename to scenario/MyMap/AppScope/resources/base/media/icon_fMyMap.png diff --git a/scenario/arkui/MyMap/README_zh.md b/scenario/MyMap/README_zh.md old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyMap/README_zh.md rename to scenario/MyMap/README_zh.md index 2c7eeb7ac..236582b53 --- a/scenario/arkui/MyMap/README_zh.md +++ b/scenario/MyMap/README_zh.md @@ -1,50 +1,50 @@ -# MyMap - -### 介绍 - -本示例主要模拟地图应用,使用ArkUI的组件实现应用的布局、动效等,复制应用的界面及交互,以此测试ArkUI是否足够支持地图应用的UX实现,以及是否存在问题; - -### 效果预览 - -|![image](screenshots/main.jpeg)| - - - -### 工程目录 - -``` -entry/src/main/ets/ -|---entryability -|---pages -| |---Index.ets -| |---map -| | |---travel.ets // 首页 -|---util -| |---Logger.ts -``` - - -### 依赖 - -不涉及 - -### 相关权限 -无 - -### 约束与限制 - -1. 本示例仅支持标准系统上运行,支持设备:RK3568; -2. 本示例仅支持API10版本SDK,版本号:4.0.10.13; -3. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600); - -### 下载 - -如需单独下载本工程,执行如下命令: - -``` -git init -git config core.sparsecheckout true -echo scenario/arkui/MyMap/ > .git/info/sparse-checkout -git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git -git pull origin master -``` +# MyMap + +### 介绍 + +本示例主要模拟地图应用,使用ArkUI的组件实现应用的布局、动效等,复制应用的界面及交互,以此测试ArkUI是否足够支持地图应用的UX实现,以及是否存在问题; + +### 效果预览 + +|![image](screenshots/main.jpeg)| + + + +### 工程目录 + +``` +entry/src/main/ets/ +|---entryability +|---pages +| |---Index.ets +| |---map +| | |---travel.ets // 首页 +|---util +| |---Logger.ts +``` + + +### 依赖 + +不涉及 + +### 相关权限 +无 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:RK3568; +2. 本示例仅支持API10版本SDK,版本号:4.0.10.13; +3. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600); + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo scenario/arkui/MyMap/ > .git/info/sparse-checkout +git remote add origin https://gitee.com/openharmony-sig/ostest_integration_test.git +git pull origin master +``` diff --git a/scenario/arkui/MyMap/build-profile.json5 b/scenario/MyMap/build-profile.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyMap/build-profile.json5 rename to scenario/MyMap/build-profile.json5 index c7c2df078..d35336a8f --- a/scenario/arkui/MyMap/build-profile.json5 +++ b/scenario/MyMap/build-profile.json5 @@ -1,64 +1,64 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "app": { - "signingConfigs": [ - { - "name": "default", - "material": { - "certpath": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.cer", - "storePassword": "0000001B99E81160CFF29F29B0109B23412EB4FEA734A362AFA985C327B89F23E2D143CDE0DDD9C0129DF5", - "keyAlias": "debugKey", - "keyPassword": "0000001B78C30858836845F6B11A9A9CFC7CE492283CAA5C8DAB1A7BEABFE2D74C7CD21F713C353F79A62F", - "profile": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.p7b", - "signAlg": "SHA256withECDSA", - "storeFile": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.p12" - } - } - ], - "products": [ - { - "name": "default", - "signingConfig": "default", - "compileSdkVersion": 10, - "compatibleSdkVersion": 10, - "runtimeOS": "OpenHarmony", - } - ], - "buildModeSet": [ - { - "name": "debug", - }, - { - "name": "release" - } - ] - }, - "modules": [ - { - "name": "entry", - "srcPath": "./entry", - "targets": [ - { - "name": "default", - "applyToProducts": [ - "default" - ] - } - ] - } - ] -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "app": { + "signingConfigs": [ + { + "name": "default", + "material": { + "certpath": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.cer", + "storePassword": "0000001B99E81160CFF29F29B0109B23412EB4FEA734A362AFA985C327B89F23E2D143CDE0DDD9C0129DF5", + "keyAlias": "debugKey", + "keyPassword": "0000001B78C30858836845F6B11A9A9CFC7CE492283CAA5C8DAB1A7BEABFE2D74C7CD21F713C353F79A62F", + "profile": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:\\Users\\shouz\\.ohos\\config\\openharmony\\auto_ohos_default_fMyMap_ohos.samples.mymap.p12" + } + } + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} diff --git a/scenario/arkui/MyNews/entry/.gitignore b/scenario/MyMap/entry/.gitignore similarity index 100% rename from scenario/arkui/MyNews/entry/.gitignore rename to scenario/MyMap/entry/.gitignore diff --git a/scenario/arkui/MyMap/entry/build-profile.json5 b/scenario/MyMap/entry/build-profile.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyMap/entry/build-profile.json5 rename to scenario/MyMap/entry/build-profile.json5 index 844917893..1cd488f81 --- a/scenario/arkui/MyMap/entry/build-profile.json5 +++ b/scenario/MyMap/entry/build-profile.json5 @@ -1,46 +1,46 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "apiType": "stageMode", - "buildOption": { - "arkOptions": { - // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ - } - }, - "buildOptionSet": [ - { - "name": "release", - "arkOptions": { - "obfuscation": { - "ruleOptions": { - "enable": true, - "files": [ - "./obfuscation-rules.txt" - ] - } - } - } - }, - ], - "targets": [ - { - "name": "default" - }, - { - "name": "ohosTest", - } - ] -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} diff --git a/scenario/arkui/MyShopping/entry/hvigorfile.ts b/scenario/MyMap/entry/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyShopping/entry/hvigorfile.ts rename to scenario/MyMap/entry/hvigorfile.ts diff --git a/scenario/arkui/MyNews/entry/obfuscation-rules.txt b/scenario/MyMap/entry/obfuscation-rules.txt similarity index 100% rename from scenario/arkui/MyNews/entry/obfuscation-rules.txt rename to scenario/MyMap/entry/obfuscation-rules.txt diff --git a/scenario/arkui/MyMap/entry/oh-package.json5 b/scenario/MyMap/entry/oh-package.json5 old mode 100755 new mode 100644 similarity index 97% rename from scenario/arkui/MyMap/entry/oh-package.json5 rename to scenario/MyMap/entry/oh-package.json5 index 13c7b3dab..9b809e867 --- a/scenario/arkui/MyMap/entry/oh-package.json5 +++ b/scenario/MyMap/entry/oh-package.json5 @@ -1,25 +1,25 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "license": "", - "devDependencies": {}, - "author": "", - "name": "entry", - "description": "Please describe the basic information.", - "main": "", - "version": "1.0.0", - "dependencies": {} -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "license": "", + "devDependencies": {}, + "author": "", + "name": "entry", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/scenario/arkui/MyMap/entry/src/main/ets/entryability/EntryAbility.ets b/scenario/MyMap/entry/src/main/ets/entryability/EntryAbility.ets old mode 100755 new mode 100644 similarity index 97% rename from scenario/arkui/MyMap/entry/src/main/ets/entryability/EntryAbility.ets rename to scenario/MyMap/entry/src/main/ets/entryability/EntryAbility.ets index ac4366295..4cad6a558 --- a/scenario/arkui/MyMap/entry/src/main/ets/entryability/EntryAbility.ets +++ b/scenario/MyMap/entry/src/main/ets/entryability/EntryAbility.ets @@ -1,58 +1,58 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -import AbilityConstant from '@ohos.app.ability.AbilityConstant'; -import hilog from '@ohos.hilog'; -import UIAbility from '@ohos.app.ability.UIAbility'; -import Want from '@ohos.app.ability.Want'; -import window from '@ohos.window'; - -export default class EntryAbility extends UIAbility { - onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); - } - - onDestroy(): void { - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); - } - - onWindowStageCreate(windowStage: window.WindowStage): void { - // Main window is created, set main page for this ability - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); - - windowStage.loadContent('pages/Index', (err, data) => { - if (err.code) { - hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); - return; - } - hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); - }); - } - - onWindowStageDestroy(): void { - // Main window is destroyed, release UI related resources - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); - } - - onForeground(): void { - // Ability has brought to foreground - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); - } - - onBackground(): void { - // Ability has back to background - hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); - } -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/scenario/arkui/MyMap/entry/src/main/ets/pages/Index.ets b/scenario/MyMap/entry/src/main/ets/pages/Index.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/ets/pages/Index.ets rename to scenario/MyMap/entry/src/main/ets/pages/Index.ets diff --git a/scenario/arkui/MyMap/entry/src/main/ets/pages/map/travel.ets b/scenario/MyMap/entry/src/main/ets/pages/map/travel.ets old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyMap/entry/src/main/ets/pages/map/travel.ets rename to scenario/MyMap/entry/src/main/ets/pages/map/travel.ets index 779ec5fc7..597e409e9 --- a/scenario/arkui/MyMap/entry/src/main/ets/pages/map/travel.ets +++ b/scenario/MyMap/entry/src/main/ets/pages/map/travel.ets @@ -1,457 +1,457 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -@Extend(Text) -function leftTitleStyle() { - .fontColor($r('app.color.sub_title_color')) - .fontSize(18) - .height(22) - .alignSelf(ItemAlign.Start) - .margin({ left: 12, bottom: 8 }) -} - -@Extend(Column) -function cardStyle() { - .margin({ bottom: 12 }) - .backgroundColor(Color.White) - .borderRadius(24) - .width('100%') - .padding(15) -} - -@Extend(Circle) -function colorPicker(color: Color | string, callback: () => void) { - .fill(color) - .height(20) - .width(20) - .onClick(() => { - callback() - }) -} - -@Styles -function pressedStyle() { - .opacity(0.7) - .borderWidth(1) - .borderRadius(20) -} - -// Page travel -@Component -export struct travel { - private title!: Resource; - @State scroll_direction: ScrollDirection = ScrollDirection.Horizontal - - build() { - Column() { - // 第一段 - Column() { - Row() { - Image($r('app.media.search_fMyMap')) - .width(40) - .height(40) - .margin({ left: 5 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text() - .fontSize(20) - .layoutWeight(1) - .margin({ left: 16 }) - .align(Alignment.Start) - Image($r('app.media.photo_fMyMap')) - .width(40) - .height(40) - .margin({ left: 30 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Image($r('app.media.ic_custom_dialog_voice')) - .width(40) - .height(40) - .margin({ left: 15 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - } - .height('100%') - .width('100%') - .margin({ left: 26, right: 26 }) - } - .backgroundColor($r('app.color.background_light_gray')) - .margin({ top: 8, bottom: 8 }) - .backgroundColor(Color.White) - .borderRadius(18) - .width('94%') - .padding(15) - .align(Alignment.Center) - .height(60) - - // 第二段 - Column() { - Row() { - // 第二段 左边 - Column() { - Image($r('app.media.circle_guide_fMyMap'))//.width(60) - .height(80) - .objectFit(ImageFit.Contain) - .id('backBtn') - .align(Alignment.Start) - Text() - .fontSize(20) - .layoutWeight(1) - .align(Alignment.Start) - } - .width('25%') - .alignItems(HorizontalAlign.Start) - - // 第二段 中间 - Column() { - Text() - .fontSize(20) - .layoutWeight(1) - .margin({ left: 16 }) - .align(Alignment.Start) - }.width('60%') - - // 第二段 右边 - Column() { - Column() { - Image($r('app.media.upArrow_fMyMap'))//.width(30) - .height(20) - .margin({ bottom: 5 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Image($r('app.media.layer_fMyMap'))//.width(30) - .height(30) - .margin({ bottom: 5 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.layer')) - .fontSize(16) - .align(Alignment.Start) - Divider() - .vertical(false) - .color('#182431') - .opacity(0.6) - .margin({ top: 8, bottom: 8 }) - Image($r('app.media.icon_feedback_fMyMap')) - .height(30) - .margin({ bottom: 5 }) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.feedback')) - .fontSize(16) - .align(Alignment.Start) - } - .height(120) - .backgroundColor($r('app.color.background_light_gray')) - .borderRadius(12) - .margin({ top: 4 }) - .backgroundColor(Color.White) - .padding(12) - .align(Alignment.TopStart) - .width('100%') - - Column() { - Image($r('app.media.location_fMyMap')) - .width('80%') - .height('80%') - .objectFit(ImageFit.Contain) - .id('backBtn') - - } - .height(55) - .backgroundColor($r('app.color.background_light_gray')) - .borderRadius(24) - .backgroundColor(Color.White) - .padding(2) - .align(Alignment.TopStart) - .margin({ bottom: 8 }) - .width('100%') - - Column() { - Image($r('app.media.icon_path_fMyMap')) - .width('80%') - .height('80%') - .objectFit(ImageFit.Contain) - .id('backBtn') - - } - .height(55) - .width('100%') - .backgroundColor($r('app.color.background_light_gray')) - .borderRadius(24) - .backgroundColor(Color.White) - .padding(2) - .align(Alignment.TopStart) - }.height("100%").width('15%') - - }.height('100%').width('100%') - }.height(250).width('94%') - - Scroll() { - // 第三+四段 - Column() { - // 第三段 - Column() { - Column() { - Row({ space: 10 }) { - Image($r('app.media.openMicrophone_fMyMap')) - .width('15%') - .height(40) - .objectFit(ImageFit.Contain) - .id('backBtn') - .margin({ left: 16 }) - Text($r('app.string.openMicrophone')) - .fontSize(18) - .align(Alignment.Center) - } - .width('100%') - .justifyContent(FlexAlign.Start) - } - .height(40) - .width('100%') - - Divider() - .vertical(false) - .height(10) - .color('#182431') - .opacity(0.6) - .margin({ left: 8, right: 8 }) - Column() { - Row({ space: 6 }) { - Column() { - Image($r('app.media.icon_blue_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.drive')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5, bottom: 20 }) - Image($r('app.media.icon_green_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.walk')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5 }) - } - .align(Alignment.TopStart) - .width("19%") - .padding({ top: 15 }) - - Column() { - Image($r('app.media.icon_green_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.public_transport')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5, bottom: 20 }) - Image($r('app.media.icon_green_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.riding')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5 }) - } - .align(Alignment.TopStart) - .width("19%") - .padding({ top: 15 }) - - Column() { - Image($r('app.media.ic_orange_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.taxi')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5, bottom: 20 }) - Image($r('app.media.ic_orange_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.realTimeBus')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5 }) - } - .align(Alignment.TopStart) - .width("19%") - .padding({ top: 15 }) - - Column() { - Image($r('app.media.ic_purple_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.AIGuide')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5, bottom: 20 }) - Image($r('app.media.icon_green_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.recordVoicePackage')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5 }) - } - .align(Alignment.TopStart) - .width("19%") - .padding({ top: 15 }) - - Column() { - Image($r('app.media.ic_purple_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.hotelReservation')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5, bottom: 20 }) - Image($r('app.media.ic_gray_fMyMap')) - .height(45) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.more')) - .fontSize(16) - .align(Alignment.Start) - .padding({ top: 5 }) - } - .align(Alignment.TopStart) - .width("19%") - .padding({ top: 15 }) - } - } - .height(200) - .width('100%') - } - .backgroundColor($r('app.color.background_light_gray')) - .margin({ bottom: 3 }) - .backgroundColor(Color.White) - .borderRadius(24) - .width('94%') - .padding(10) - // .cardStyle() - .align(Alignment.Top) - .height(260) - - // 第四段 - Column({ space: 8 }) { - Column() { - Row() { - Image($r('app.media.ic_orange_fMyMap')) - .width('10%') - .height(30) - .objectFit(ImageFit.Contain) - .id('backBtn') - .margin({ left: 4 }) - Text($r('app.string.GoHome')) - .fontSize(20) - .align(Alignment.Start) - .padding({ left: 5 }) - .width('20%') - Text($r('app.string.toSetting')) - .fontSize(16) - .align(Alignment.Start) - .padding({ left: 20 }) - .width('20%') - Divider() - .vertical(true) - .height(20) - .color('#182431') - .opacity(0.6) - .margin({ left: 8, right: 8 }) - Image($r('app.media.icon_blue_fMyMap')) - .width('10%') - .height(30) - .objectFit(ImageFit.Contain) - .id('backBtn') - Text($r('app.string.GoCompany')) - .fontSize(20) - .align(Alignment.Start) - .padding({ left: 5 }) - .width('20%') - Text($r('app.string.toSetting')) - .fontSize(16) - .align(Alignment.Start) - .padding({ left: 15 }) - .margin({ right: 8 }) - .width('20%') - } - .height('90%') - .width('98%') - } - .width('98%') - .align(Alignment.Center) - .height(60) - - Column() { - Row() { - Image($r('app.media.icon_blue_fMyMap')) - .width('10%') - .height(30) - .objectFit(ImageFit.Contain) - .id('backBtn') - .margin({ left: 4 }) - Text($r('app.string.settingHomeorcompany')) - .fontSize(18) - .align(Alignment.Start) - .padding({ left: 2 }) - .width('80%') - Image($r('app.media.ic_right_arrow')) - .width('10%') - .height(30) - .objectFit(ImageFit.Contain) - .id('backBtn') - } - .height('90%') - .width('98%') - } - .width('98%') - .align(Alignment.Center) - .height(60) - } - .backgroundColor($r('app.color.background_light_gray')) - .margin({ top: 3 }) - .backgroundColor(Color.White) - .borderRadius(24) - .width('94%') - .align(Alignment.Top) - .height(200) - } - .width('100%') - .height(550) - .backgroundColor($r("app.color.lead")) - } - .padding({ left: 5, right: 5, bottom: 20 }) - .height(550) - .backgroundColor($r('app.color.background_shallow_grey')) - .scrollable(ScrollDirection.Vertical) - .scrollBarWidth(8) - - } - .height('100%') - .width('100%') - .backgroundImage($r('app.media.background_fMyMap')) - .backgroundImageSize(ImageSize.Cover) - } -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +@Extend(Text) +function leftTitleStyle() { + .fontColor($r('app.color.sub_title_color')) + .fontSize(18) + .height(22) + .alignSelf(ItemAlign.Start) + .margin({ left: 12, bottom: 8 }) +} + +@Extend(Column) +function cardStyle() { + .margin({ bottom: 12 }) + .backgroundColor(Color.White) + .borderRadius(24) + .width('100%') + .padding(15) +} + +@Extend(Circle) +function colorPicker(color: Color | string, callback: () => void) { + .fill(color) + .height(20) + .width(20) + .onClick(() => { + callback() + }) +} + +@Styles +function pressedStyle() { + .opacity(0.7) + .borderWidth(1) + .borderRadius(20) +} + +// Page travel +@Component +export struct travel { + private title!: Resource; + @State scroll_direction: ScrollDirection = ScrollDirection.Horizontal + + build() { + Column() { + // 第一段 + Column() { + Row() { + Image($r('app.media.search_fMyMap')) + .width(40) + .height(40) + .margin({ left: 5 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text() + .fontSize(20) + .layoutWeight(1) + .margin({ left: 16 }) + .align(Alignment.Start) + Image($r('app.media.photo_fMyMap')) + .width(40) + .height(40) + .margin({ left: 30 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Image($r('app.media.ic_custom_dialog_voice')) + .width(40) + .height(40) + .margin({ left: 15 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + } + .height('100%') + .width('100%') + .margin({ left: 26, right: 26 }) + } + .backgroundColor($r('app.color.background_light_gray')) + .margin({ top: 8, bottom: 8 }) + .backgroundColor(Color.White) + .borderRadius(18) + .width('94%') + .padding(15) + .align(Alignment.Center) + .height(60) + + // 第二段 + Column() { + Row() { + // 第二段 左边 + Column() { + Image($r('app.media.circle_guide_fMyMap'))//.width(60) + .height(80) + .objectFit(ImageFit.Contain) + .id('backBtn') + .align(Alignment.Start) + Text() + .fontSize(20) + .layoutWeight(1) + .align(Alignment.Start) + } + .width('25%') + .alignItems(HorizontalAlign.Start) + + // 第二段 中间 + Column() { + Text() + .fontSize(20) + .layoutWeight(1) + .margin({ left: 16 }) + .align(Alignment.Start) + }.width('60%') + + // 第二段 右边 + Column() { + Column() { + Image($r('app.media.upArrow_fMyMap'))//.width(30) + .height(20) + .margin({ bottom: 5 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Image($r('app.media.layer_fMyMap'))//.width(30) + .height(30) + .margin({ bottom: 5 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.layer')) + .fontSize(16) + .align(Alignment.Start) + Divider() + .vertical(false) + .color('#182431') + .opacity(0.6) + .margin({ top: 8, bottom: 8 }) + Image($r('app.media.icon_feedback_fMyMap')) + .height(30) + .margin({ bottom: 5 }) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.feedback')) + .fontSize(16) + .align(Alignment.Start) + } + .height(120) + .backgroundColor($r('app.color.background_light_gray')) + .borderRadius(12) + .margin({ top: 4 }) + .backgroundColor(Color.White) + .padding(12) + .align(Alignment.TopStart) + .width('100%') + + Column() { + Image($r('app.media.location_fMyMap')) + .width('80%') + .height('80%') + .objectFit(ImageFit.Contain) + .id('backBtn') + + } + .height(55) + .backgroundColor($r('app.color.background_light_gray')) + .borderRadius(24) + .backgroundColor(Color.White) + .padding(2) + .align(Alignment.TopStart) + .margin({ bottom: 8 }) + .width('100%') + + Column() { + Image($r('app.media.icon_path_fMyMap')) + .width('80%') + .height('80%') + .objectFit(ImageFit.Contain) + .id('backBtn') + + } + .height(55) + .width('100%') + .backgroundColor($r('app.color.background_light_gray')) + .borderRadius(24) + .backgroundColor(Color.White) + .padding(2) + .align(Alignment.TopStart) + }.height("100%").width('15%') + + }.height('100%').width('100%') + }.height(250).width('94%') + + Scroll() { + // 第三+四段 + Column() { + // 第三段 + Column() { + Column() { + Row({ space: 10 }) { + Image($r('app.media.openMicrophone_fMyMap')) + .width('15%') + .height(40) + .objectFit(ImageFit.Contain) + .id('backBtn') + .margin({ left: 16 }) + Text($r('app.string.openMicrophone')) + .fontSize(18) + .align(Alignment.Center) + } + .width('100%') + .justifyContent(FlexAlign.Start) + } + .height(40) + .width('100%') + + Divider() + .vertical(false) + .height(10) + .color('#182431') + .opacity(0.6) + .margin({ left: 8, right: 8 }) + Column() { + Row({ space: 6 }) { + Column() { + Image($r('app.media.icon_blue_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.drive')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5, bottom: 20 }) + Image($r('app.media.icon_green_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.walk')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5 }) + } + .align(Alignment.TopStart) + .width("19%") + .padding({ top: 15 }) + + Column() { + Image($r('app.media.icon_green_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.public_transport')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5, bottom: 20 }) + Image($r('app.media.icon_green_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.riding')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5 }) + } + .align(Alignment.TopStart) + .width("19%") + .padding({ top: 15 }) + + Column() { + Image($r('app.media.ic_orange_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.taxi')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5, bottom: 20 }) + Image($r('app.media.ic_orange_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.realTimeBus')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5 }) + } + .align(Alignment.TopStart) + .width("19%") + .padding({ top: 15 }) + + Column() { + Image($r('app.media.ic_purple_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.AIGuide')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5, bottom: 20 }) + Image($r('app.media.icon_green_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.recordVoicePackage')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5 }) + } + .align(Alignment.TopStart) + .width("19%") + .padding({ top: 15 }) + + Column() { + Image($r('app.media.ic_purple_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.hotelReservation')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5, bottom: 20 }) + Image($r('app.media.ic_gray_fMyMap')) + .height(45) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.more')) + .fontSize(16) + .align(Alignment.Start) + .padding({ top: 5 }) + } + .align(Alignment.TopStart) + .width("19%") + .padding({ top: 15 }) + } + } + .height(200) + .width('100%') + } + .backgroundColor($r('app.color.background_light_gray')) + .margin({ bottom: 3 }) + .backgroundColor(Color.White) + .borderRadius(24) + .width('94%') + .padding(10) + // .cardStyle() + .align(Alignment.Top) + .height(260) + + // 第四段 + Column({ space: 8 }) { + Column() { + Row() { + Image($r('app.media.ic_orange_fMyMap')) + .width('10%') + .height(30) + .objectFit(ImageFit.Contain) + .id('backBtn') + .margin({ left: 4 }) + Text($r('app.string.GoHome')) + .fontSize(20) + .align(Alignment.Start) + .padding({ left: 5 }) + .width('20%') + Text($r('app.string.toSetting')) + .fontSize(16) + .align(Alignment.Start) + .padding({ left: 20 }) + .width('20%') + Divider() + .vertical(true) + .height(20) + .color('#182431') + .opacity(0.6) + .margin({ left: 8, right: 8 }) + Image($r('app.media.icon_blue_fMyMap')) + .width('10%') + .height(30) + .objectFit(ImageFit.Contain) + .id('backBtn') + Text($r('app.string.GoCompany')) + .fontSize(20) + .align(Alignment.Start) + .padding({ left: 5 }) + .width('20%') + Text($r('app.string.toSetting')) + .fontSize(16) + .align(Alignment.Start) + .padding({ left: 15 }) + .margin({ right: 8 }) + .width('20%') + } + .height('90%') + .width('98%') + } + .width('98%') + .align(Alignment.Center) + .height(60) + + Column() { + Row() { + Image($r('app.media.icon_blue_fMyMap')) + .width('10%') + .height(30) + .objectFit(ImageFit.Contain) + .id('backBtn') + .margin({ left: 4 }) + Text($r('app.string.settingHomeorcompany')) + .fontSize(18) + .align(Alignment.Start) + .padding({ left: 2 }) + .width('80%') + Image($r('app.media.ic_right_arrow')) + .width('10%') + .height(30) + .objectFit(ImageFit.Contain) + .id('backBtn') + } + .height('90%') + .width('98%') + } + .width('98%') + .align(Alignment.Center) + .height(60) + } + .backgroundColor($r('app.color.background_light_gray')) + .margin({ top: 3 }) + .backgroundColor(Color.White) + .borderRadius(24) + .width('94%') + .align(Alignment.Top) + .height(200) + } + .width('100%') + .height(550) + .backgroundColor($r("app.color.lead")) + } + .padding({ left: 5, right: 5, bottom: 20 }) + .height(550) + .backgroundColor($r('app.color.background_shallow_grey')) + .scrollable(ScrollDirection.Vertical) + .scrollBarWidth(8) + + } + .height('100%') + .width('100%') + .backgroundImage($r('app.media.background_fMyMap')) + .backgroundImageSize(ImageSize.Cover) + } +} diff --git a/scenario/arkui/MyMap/entry/src/main/ets/util/Logger.ts b/scenario/MyMap/entry/src/main/ets/util/Logger.ts old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/ets/util/Logger.ts rename to scenario/MyMap/entry/src/main/ets/util/Logger.ts diff --git a/scenario/arkui/MyMap/entry/src/main/module.json5 b/scenario/MyMap/entry/src/main/module.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyMap/entry/src/main/module.json5 rename to scenario/MyMap/entry/src/main/module.json5 index 53c5e0d26..7ce31d364 --- a/scenario/arkui/MyMap/entry/src/main/module.json5 +++ b/scenario/MyMap/entry/src/main/module.json5 @@ -1,52 +1,52 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "module": { - "name": "entry", - "type": "entry", - "description": "$string:module_desc", - "mainElement": "EntryAbility", - "deviceTypes": [ - "default", - "tablet" - ], - "deliveryWithInstall": true, - "installationFree": false, - "pages": "$profile:main_pages", - "abilities": [ - { - "name": "EntryAbility", - "srcEntry": "./ets/entryability/EntryAbility.ets", - "description": "$string:EntryAbility_desc", - "icon": "$media:icon_fMyMap", - "label": "$string:EntryAbility_label", - "startWindowIcon": "$media:icon_fMyMap", - "startWindowBackground": "$color:start_window_background", - "exported": true, - "skills": [ - { - "entities": [ - "entity.system.home" - ], - "actions": [ - "action.system.home" - ] - } - ] - } - ] - } -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon_fMyMap", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:icon_fMyMap", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/element/color.json b/scenario/MyMap/entry/src/main/resources/base/element/color.json old mode 100755 new mode 100644 similarity index 94% rename from scenario/arkui/MyMap/entry/src/main/resources/base/element/color.json rename to scenario/MyMap/entry/src/main/resources/base/element/color.json index 1b4801773..93d524d97 --- a/scenario/arkui/MyMap/entry/src/main/resources/base/element/color.json +++ b/scenario/MyMap/entry/src/main/resources/base/element/color.json @@ -1,393 +1,393 @@ -{ - "color": [ - { - "name": "color_333333_grey", - "value": "#333333" - }, - { - "name": "color_666666_grey", - "value": "#666666" - }, - { - "name": "color_999999_grey", - "value": "#999999" - }, - { - "name": "color_E3E3E3_grey", - "value": "#E3E3E3" - }, - { - "name": "color_D8D8D8_grey", - "value": "#D8D8D8" - }, - { - "name": "color_button_grey", - "value": "#1824310D" - }, - { - "name": "color_00000000_transparent", - "value": "#00000000" - }, - { - "name": "volume_bg_color", - "value": "#CCFFFFFF" - }, - { - "name": "white_bg_color", - "value": "#FFFFFF" - }, - { - "name": "font_color_182431", - "value": "#182431" - }, - { - "name": "font_color_007DFF", - "value": "#007DFF" - }, - { - "name": "search_no_result_text_color", - "value": "$color:font_color_182431" - }, - { - "name": "search_result_text_color", - "value": "$color:font_color_182431" - }, - { - "name": "search_result_text_color_highlight", - "value": "$color:font_color_007DFF" - }, - { - "name": "FAFAFA", - "value": "#FAFAFA" - }, - { - "name": "DCEAF9", - "value": "#DCEAF9" - }, - { - "name": "ab274f", - "value": "#ab274f" - }, - { - "name": "66ccff", - "value": "#66ccff" - }, - { - "name": "black", - "value": "#000000" - }, - { - "name": "blue", - "value": "#87CEFA" - }, - { - "name": "cyan", - "value": "#E1FFFF" - }, - { - "name": "spring", - "value": "#F5FFFA" - }, - { - "name": "red", - "value": "#DC143C" - }, - { - "name": "yellow", - "value": "#D9B612" - }, - { - "name": "lightyellow", - "value": "#F3F143" - }, - { - "name": "green", - "value": "#549688" - }, - { - "name": "moon", - "value": "#D7ECF1" - }, - { - "name": "frost", - "value": "#E9F0F6" - }, - { - "name": "water", - "value": "#D4F2E8" - }, - { - "name": "lead", - "value": "#F0EFF4" - }, - { - "name": "index_background", - "value": "#F1F3F5" - }, - { - "name": "title_black_color", - "value": "#182431" - }, - { - "name": "main_blue", - "value": "#007DFF" - }, - { - "name": "main_red", - "value": "#E84026" - }, - { - "name": "button_background", - "value": "#0D182431" - }, - { - "name": "edit_blue", - "value": "#1A007DFF" - }, - { - "name": "dialog_progress", - "value": "#4D4D4D" - }, - { - "name": "start_window_background", - "value": "#FFFFFF" - }, - { - "name": "custom_button_color", - "value": "#E8E7EB" - }, - { - "name": "input_background", - "value": "#0D182431" - }, - { - "name": "white", - "value": "#FFFFFF" - }, - { - "name": "bottom_title_divider", - "value": "#99838388" - }, - { - "name": "tab_bar_divider", - "value": "#33182431" - }, - { - "name": "font_color_shallow", - "value": "#182431" - }, - { - "name": "font_color_dark", - "value": "#000000" - }, - { - "name": "font_color_red", - "value": "#FFD22C2C" - }, - { - "name": "tab_bar_select", - "value": "#007DFF" - }, - { - "name": "tab_bar_unselect", - "value": "#66182431" - }, - { - "name": "background_shallow_grey", - "value": "#F1F3F5" - }, - { - "name": "background_dark", - "value": "#FF000000" - }, - { - "name": "background_grey", - "value": "#0d000000" - }, - { - "name": "background_orange", - "value": "#E6A23C" - }, - { - "name": "background_pink", - "value": "#F56C6C" - }, - { - "name": "background_blue", - "value": "#409EFF" - }, - { - "name": "background_green", - "value": "#67C23A" - }, - { - "name": "pop_up_background", - "value": "#0D182431" - }, - { - "name": "button_custom_color", - "value": "#80FF7500" - }, - { - "name": "button_default_bg_color", - "value": "#007DFF" - }, - // Divider - { - "name": "divider_block_color", - "value": "#1A838388" - }, - // Interpolation Calculation - { - "name": "curve_normal", - "value": "#3F56EA" - }, - { - "name": "curve_bezier", - "value": "#00BFC9" - }, - { - "name": "curve_spring", - "value": "#BCD600" - }, - { - "name": "curve_init", - "value": "#E40078" - }, - { - "name": "curve_steps", - "value": "#FF7500" - }, - // Radio - { - "name": "radio_response_region_color", - "value": "#66ffc0cb" - }, - // Select - { - "name": "select_option_bg_color", - "value": "#33007DFF" - }, - { - "name": "select_option_font_color", - "value": "#FF007DFF" - }, - // Toggle - { - "name": "toggle_selected_color", - "value": "#4D00BFC9" - }, - //Display - { - "name": "background_light_gray", - "value": "#f1f3f5" - }, - { - "name": "sub_title_color", - "value": "#182431" - }, - { - "name": "title_colorone", - "value": "#0A59F7" - }, - { - "name": "title_colortwo", - "value": "#000000" - }, - //辅助ScrollBarSample - { - "name": "scrollbar_background_color", - "value": "#ededed" - }, - { - "name": "contentArea_background_color", - "value": "#C0C0C0" - }, - // Interaction - { - "name": "normal_bg_color", - "value": "#0A59F7" - }, - { - "name": "btn_border_color", - "value": "#33000000" - }, - { - "name": "3D_background_color", - "value": "#F9BC64" - }, - { - "name": "3D_top_left_color", - "value": "#FED599" - }, - { - "name": "3D_right_buttom_color", - "value": "#D69942" - }, - { - "name": "btn_one_color", - "value": "#FFC0CB" - }, - { - "name": "btn_two_color", - "value": "#87CEFA" - }, - { - "name": "btn_three_color", - "value": "#90EE90" - }, - { - "name": "btn_onFocus_color", - "value": "#FF0000" - }, - { - "name": "focus_on_background", - "value": "#007DFE" - }, - { - "name": "COLOR_80000000", - "value": "#80000000" - }, - { - "name": "COLOR_FFFFFF", - "value": "#FFFFFF" - }, - { - "name": "COLOR_8C9BA2", - "value": "#8C9BA2" - }, - { - "name": "COLOR_99FFFFFF", - "value": "#99ffffff" - }, - { - "name": "canvas_background", - "value": "#ffff00" - }, - { - "name": "canvas_normal_button_bg", - "value": "#317aff" - }, - { - "name": "canvas_clear_button_bg", - "value": "#ffff7300" - }, - { - "name": "canvas_bg_color", - "value": "#00ffff" - }, - { - "name": "scroll_to_button_color", - "value": "#ff55c6f5" - }, - { - "name": "scroll_item_color", - "value": "#ff2a78db" - }, - { - "name": "scroll_grid_item_color", - "value": "#F9CF93" - } - ] -} - +{ + "color": [ + { + "name": "color_333333_grey", + "value": "#333333" + }, + { + "name": "color_666666_grey", + "value": "#666666" + }, + { + "name": "color_999999_grey", + "value": "#999999" + }, + { + "name": "color_E3E3E3_grey", + "value": "#E3E3E3" + }, + { + "name": "color_D8D8D8_grey", + "value": "#D8D8D8" + }, + { + "name": "color_button_grey", + "value": "#1824310D" + }, + { + "name": "color_00000000_transparent", + "value": "#00000000" + }, + { + "name": "volume_bg_color", + "value": "#CCFFFFFF" + }, + { + "name": "white_bg_color", + "value": "#FFFFFF" + }, + { + "name": "font_color_182431", + "value": "#182431" + }, + { + "name": "font_color_007DFF", + "value": "#007DFF" + }, + { + "name": "search_no_result_text_color", + "value": "$color:font_color_182431" + }, + { + "name": "search_result_text_color", + "value": "$color:font_color_182431" + }, + { + "name": "search_result_text_color_highlight", + "value": "$color:font_color_007DFF" + }, + { + "name": "FAFAFA", + "value": "#FAFAFA" + }, + { + "name": "DCEAF9", + "value": "#DCEAF9" + }, + { + "name": "ab274f", + "value": "#ab274f" + }, + { + "name": "66ccff", + "value": "#66ccff" + }, + { + "name": "black", + "value": "#000000" + }, + { + "name": "blue", + "value": "#87CEFA" + }, + { + "name": "cyan", + "value": "#E1FFFF" + }, + { + "name": "spring", + "value": "#F5FFFA" + }, + { + "name": "red", + "value": "#DC143C" + }, + { + "name": "yellow", + "value": "#D9B612" + }, + { + "name": "lightyellow", + "value": "#F3F143" + }, + { + "name": "green", + "value": "#549688" + }, + { + "name": "moon", + "value": "#D7ECF1" + }, + { + "name": "frost", + "value": "#E9F0F6" + }, + { + "name": "water", + "value": "#D4F2E8" + }, + { + "name": "lead", + "value": "#F0EFF4" + }, + { + "name": "index_background", + "value": "#F1F3F5" + }, + { + "name": "title_black_color", + "value": "#182431" + }, + { + "name": "main_blue", + "value": "#007DFF" + }, + { + "name": "main_red", + "value": "#E84026" + }, + { + "name": "button_background", + "value": "#0D182431" + }, + { + "name": "edit_blue", + "value": "#1A007DFF" + }, + { + "name": "dialog_progress", + "value": "#4D4D4D" + }, + { + "name": "start_window_background", + "value": "#FFFFFF" + }, + { + "name": "custom_button_color", + "value": "#E8E7EB" + }, + { + "name": "input_background", + "value": "#0D182431" + }, + { + "name": "white", + "value": "#FFFFFF" + }, + { + "name": "bottom_title_divider", + "value": "#99838388" + }, + { + "name": "tab_bar_divider", + "value": "#33182431" + }, + { + "name": "font_color_shallow", + "value": "#182431" + }, + { + "name": "font_color_dark", + "value": "#000000" + }, + { + "name": "font_color_red", + "value": "#FFD22C2C" + }, + { + "name": "tab_bar_select", + "value": "#007DFF" + }, + { + "name": "tab_bar_unselect", + "value": "#66182431" + }, + { + "name": "background_shallow_grey", + "value": "#F1F3F5" + }, + { + "name": "background_dark", + "value": "#FF000000" + }, + { + "name": "background_grey", + "value": "#0d000000" + }, + { + "name": "background_orange", + "value": "#E6A23C" + }, + { + "name": "background_pink", + "value": "#F56C6C" + }, + { + "name": "background_blue", + "value": "#409EFF" + }, + { + "name": "background_green", + "value": "#67C23A" + }, + { + "name": "pop_up_background", + "value": "#0D182431" + }, + { + "name": "button_custom_color", + "value": "#80FF7500" + }, + { + "name": "button_default_bg_color", + "value": "#007DFF" + }, + // Divider + { + "name": "divider_block_color", + "value": "#1A838388" + }, + // Interpolation Calculation + { + "name": "curve_normal", + "value": "#3F56EA" + }, + { + "name": "curve_bezier", + "value": "#00BFC9" + }, + { + "name": "curve_spring", + "value": "#BCD600" + }, + { + "name": "curve_init", + "value": "#E40078" + }, + { + "name": "curve_steps", + "value": "#FF7500" + }, + // Radio + { + "name": "radio_response_region_color", + "value": "#66ffc0cb" + }, + // Select + { + "name": "select_option_bg_color", + "value": "#33007DFF" + }, + { + "name": "select_option_font_color", + "value": "#FF007DFF" + }, + // Toggle + { + "name": "toggle_selected_color", + "value": "#4D00BFC9" + }, + //Display + { + "name": "background_light_gray", + "value": "#f1f3f5" + }, + { + "name": "sub_title_color", + "value": "#182431" + }, + { + "name": "title_colorone", + "value": "#0A59F7" + }, + { + "name": "title_colortwo", + "value": "#000000" + }, + //辅助ScrollBarSample + { + "name": "scrollbar_background_color", + "value": "#ededed" + }, + { + "name": "contentArea_background_color", + "value": "#C0C0C0" + }, + // Interaction + { + "name": "normal_bg_color", + "value": "#0A59F7" + }, + { + "name": "btn_border_color", + "value": "#33000000" + }, + { + "name": "3D_background_color", + "value": "#F9BC64" + }, + { + "name": "3D_top_left_color", + "value": "#FED599" + }, + { + "name": "3D_right_buttom_color", + "value": "#D69942" + }, + { + "name": "btn_one_color", + "value": "#FFC0CB" + }, + { + "name": "btn_two_color", + "value": "#87CEFA" + }, + { + "name": "btn_three_color", + "value": "#90EE90" + }, + { + "name": "btn_onFocus_color", + "value": "#FF0000" + }, + { + "name": "focus_on_background", + "value": "#007DFE" + }, + { + "name": "COLOR_80000000", + "value": "#80000000" + }, + { + "name": "COLOR_FFFFFF", + "value": "#FFFFFF" + }, + { + "name": "COLOR_8C9BA2", + "value": "#8C9BA2" + }, + { + "name": "COLOR_99FFFFFF", + "value": "#99ffffff" + }, + { + "name": "canvas_background", + "value": "#ffff00" + }, + { + "name": "canvas_normal_button_bg", + "value": "#317aff" + }, + { + "name": "canvas_clear_button_bg", + "value": "#ffff7300" + }, + { + "name": "canvas_bg_color", + "value": "#00ffff" + }, + { + "name": "scroll_to_button_color", + "value": "#ff55c6f5" + }, + { + "name": "scroll_item_color", + "value": "#ff2a78db" + }, + { + "name": "scroll_grid_item_color", + "value": "#F9CF93" + } + ] +} + diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/element/string.json b/scenario/MyMap/entry/src/main/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/element/string.json rename to scenario/MyMap/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/background_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/background_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/background_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/background_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/circle_guide_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/circle_guide_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/circle_guide_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/circle_guide_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_custom_dialog_voice.png b/scenario/MyMap/entry/src/main/resources/base/media/ic_custom_dialog_voice.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_custom_dialog_voice.png rename to scenario/MyMap/entry/src/main/resources/base/media/ic_custom_dialog_voice.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_gray_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/ic_gray_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_gray_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/ic_gray_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_orange_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/ic_orange_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_orange_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/ic_orange_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_purple_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/ic_purple_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_purple_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/ic_purple_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_right_arrow.png b/scenario/MyMap/entry/src/main/resources/base/media/ic_right_arrow.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/ic_right_arrow.png rename to scenario/MyMap/entry/src/main/resources/base/media/ic_right_arrow.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_blue_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/icon_blue_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_blue_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/icon_blue_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/icon_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/icon_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_feedback_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/icon_feedback_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_feedback_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/icon_feedback_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_green_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/icon_green_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_green_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/icon_green_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_path_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/icon_path_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/icon_path_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/icon_path_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/layer_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/layer_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/layer_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/layer_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/location_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/location_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/location_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/location_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/openMicrophone_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/openMicrophone_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/openMicrophone_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/openMicrophone_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/photo_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/photo_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/photo_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/photo_fMyMap.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/search_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/search_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/search_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/search_fMyMap.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/startIcon.png b/scenario/MyMap/entry/src/main/resources/base/media/startIcon.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/startIcon.png rename to scenario/MyMap/entry/src/main/resources/base/media/startIcon.png diff --git a/scenario/arkui/MyMap/entry/src/main/resources/base/media/upArrow_fMyMap.png b/scenario/MyMap/entry/src/main/resources/base/media/upArrow_fMyMap.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/base/media/upArrow_fMyMap.png rename to scenario/MyMap/entry/src/main/resources/base/media/upArrow_fMyMap.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/profile/main_pages.json b/scenario/MyMap/entry/src/main/resources/base/profile/main_pages.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/profile/main_pages.json rename to scenario/MyMap/entry/src/main/resources/base/profile/main_pages.json diff --git a/scenario/MyMap/entry/src/main/resources/en_US/element/string.json b/scenario/MyMap/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 000000000..f94595515 --- /dev/null +++ b/scenario/MyMap/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/scenario/arkui/MyMap/entry/src/main/resources/zh_CN/element/string.json b/scenario/MyMap/entry/src/main/resources/zh_CN/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/main/resources/zh_CN/element/string.json rename to scenario/MyMap/entry/src/main/resources/zh_CN/element/string.json diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/ets/test/Ability.test.ets b/scenario/MyMap/entry/src/ohosTest/ets/test/Ability.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/ets/test/Ability.test.ets rename to scenario/MyMap/entry/src/ohosTest/ets/test/Ability.test.ets diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/ets/test/List.test.ets b/scenario/MyMap/entry/src/ohosTest/ets/test/List.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/ets/test/List.test.ets rename to scenario/MyMap/entry/src/ohosTest/ets/test/List.test.ets diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/ets/testability/TestAbility.ets b/scenario/MyMap/entry/src/ohosTest/ets/testability/TestAbility.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/ets/testability/TestAbility.ets rename to scenario/MyMap/entry/src/ohosTest/ets/testability/TestAbility.ets diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/ets/testability/pages/Index.ets b/scenario/MyMap/entry/src/ohosTest/ets/testability/pages/Index.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/ets/testability/pages/Index.ets rename to scenario/MyMap/entry/src/ohosTest/ets/testability/pages/Index.ets diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/scenario/MyMap/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets rename to scenario/MyMap/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets diff --git a/scenario/arkui/MyMap/entry/src/ohosTest/module.json5 b/scenario/MyMap/entry/src/ohosTest/module.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyMap/entry/src/ohosTest/module.json5 rename to scenario/MyMap/entry/src/ohosTest/module.json5 index ebb6e1736..fa8cd712c --- a/scenario/arkui/MyMap/entry/src/ohosTest/module.json5 +++ b/scenario/MyMap/entry/src/ohosTest/module.json5 @@ -1,52 +1,52 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "module": { - "name": "entry_test", - "type": "feature", - "description": "$string:module_test_desc", - "mainElement": "TestAbility", - "deviceTypes": [ - "default", - "tablet" - ], - "deliveryWithInstall": true, - "installationFree": false, - "pages": "$profile:test_pages", - "abilities": [ - { - "name": "TestAbility", - "srcEntry": "./ets/testability/TestAbility.ets", - "description": "$string:TestAbility_desc", - "icon": "$media:icon", - "label": "$string:TestAbility_label", - "exported": true, - "startWindowIcon": "$media:icon", - "startWindowBackground": "$color:start_window_background", - "skills": [ - { - "actions": [ - "action.system.home" - ], - "entities": [ - "entity.system.home" - ] - } - ] - } - ] - } -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/element/color.json b/scenario/MyMap/entry/src/ohosTest/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/element/color.json rename to scenario/MyMap/entry/src/ohosTest/resources/base/element/color.json diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/resources/base/element/string.json b/scenario/MyMap/entry/src/ohosTest/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/resources/base/element/string.json rename to scenario/MyMap/entry/src/ohosTest/resources/base/element/string.json diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/media/icon.png b/scenario/MyMap/entry/src/ohosTest/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/resources/base/media/icon.png rename to scenario/MyMap/entry/src/ohosTest/resources/base/media/icon.png diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/resources/base/profile/test_pages.json b/scenario/MyMap/entry/src/ohosTest/resources/base/profile/test_pages.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/resources/base/profile/test_pages.json rename to scenario/MyMap/entry/src/ohosTest/resources/base/profile/test_pages.json diff --git a/scenario/arkui/MyMap/entry/src/test/List.test.ets b/scenario/MyMap/entry/src/test/List.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/test/List.test.ets rename to scenario/MyMap/entry/src/test/List.test.ets diff --git a/scenario/arkui/MyMap/entry/src/test/LocalUnit.test.ets b/scenario/MyMap/entry/src/test/LocalUnit.test.ets old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/entry/src/test/LocalUnit.test.ets rename to scenario/MyMap/entry/src/test/LocalUnit.test.ets diff --git a/scenario/arkui/MyMap/hvigor/hvigor-config.json5 b/scenario/MyMap/hvigor/hvigor-config.json5 old mode 100755 new mode 100644 similarity index 97% rename from scenario/arkui/MyMap/hvigor/hvigor-config.json5 rename to scenario/MyMap/hvigor/hvigor-config.json5 index 8935fa3d3..7edfc2d0d --- a/scenario/arkui/MyMap/hvigor/hvigor-config.json5 +++ b/scenario/MyMap/hvigor/hvigor-config.json5 @@ -1,33 +1,33 @@ -/* - * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. - */ - -{ - "hvigorVersion": "3.0.9", - "dependencies": { - "@ohos/hvigor-ohos-plugin": "3.0.9" - }, - "execution": { - // "daemon": true, /* Enable daemon compilation. Default: true */ - // "incremental": true, /* Enable incremental compilation. Default: true */ - // "parallel": true, /* Enable parallel compilation. Default: true */ - // "typeCheck": false, /* Enable typeCheck. Default: false */ - }, - "logging": { - // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ - }, - "debugging": { - // "stacktrace": false /* Disable stacktrace compilation. Default: false */ - } -} +/* + * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development 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. + */ + +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/scenario/arkui/MyMap/hvigor/hvigor-wrapper.js b/scenario/MyMap/hvigor/hvigor-wrapper.js old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/hvigor/hvigor-wrapper.js rename to scenario/MyMap/hvigor/hvigor-wrapper.js diff --git a/scenario/arkui/MyMap/hvigorfile.ts b/scenario/MyMap/hvigorfile.ts old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/hvigorfile.ts rename to scenario/MyMap/hvigorfile.ts diff --git a/scenario/arkui/MyNews/hvigorw b/scenario/MyMap/hvigorw similarity index 100% rename from scenario/arkui/MyNews/hvigorw rename to scenario/MyMap/hvigorw diff --git a/scenario/arkui/MyNews/hvigorw.bat b/scenario/MyMap/hvigorw.bat similarity index 100% rename from scenario/arkui/MyNews/hvigorw.bat rename to scenario/MyMap/hvigorw.bat diff --git a/scenario/arkui/MyMap/oh-package.json5 b/scenario/MyMap/oh-package.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyMap/oh-package.json5 rename to scenario/MyMap/oh-package.json5 index d3f8655e8..3037e61aa --- a/scenario/arkui/MyMap/oh-package.json5 +++ b/scenario/MyMap/oh-package.json5 @@ -1,12 +1,12 @@ -{ - "license": "", - "devDependencies": { - "@ohos/hypium": "1.0.11" - }, - "author": "", - "name": "fmymap", - "description": "Please describe the basic information.", - "main": "", - "version": "1.0.0", - "dependencies": {} -} +{ + "license": "", + "devDependencies": { + "@ohos/hypium": "1.0.11" + }, + "author": "", + "name": "fmymap", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/scenario/arkui/MyMap/screenshots/main.jpeg b/scenario/MyMap/screenshots/main.jpeg old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyMap/screenshots/main.jpeg rename to scenario/MyMap/screenshots/main.jpeg diff --git a/scenario/arkui/MyMusic/.gitignore b/scenario/MyMusic/.gitignore similarity index 100% rename from scenario/arkui/MyMusic/.gitignore rename to scenario/MyMusic/.gitignore diff --git a/scenario/arkui/MyMusic/AppScope/app.json5 b/scenario/MyMusic/AppScope/app.json5 similarity index 100% rename from scenario/arkui/MyMusic/AppScope/app.json5 rename to scenario/MyMusic/AppScope/app.json5 diff --git a/scenario/arkui/MyMusic/AppScope/resources/base/element/string.json b/scenario/MyMusic/AppScope/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyMusic/AppScope/resources/base/element/string.json rename to scenario/MyMusic/AppScope/resources/base/element/string.json diff --git a/scenario/arkui/MyShopping/AppScope/resources/base/media/app_icon.png b/scenario/MyMusic/AppScope/resources/base/media/app_icon.png similarity index 100% rename from scenario/arkui/MyShopping/AppScope/resources/base/media/app_icon.png rename to scenario/MyMusic/AppScope/resources/base/media/app_icon.png diff --git a/scenario/arkui/MyMusic/README_zh.md b/scenario/MyMusic/README_zh.md similarity index 100% rename from scenario/arkui/MyMusic/README_zh.md rename to scenario/MyMusic/README_zh.md diff --git a/scenario/arkui/MyMusic/build-profile.json5 b/scenario/MyMusic/build-profile.json5 similarity index 100% rename from scenario/arkui/MyMusic/build-profile.json5 rename to scenario/MyMusic/build-profile.json5 diff --git a/scenario/arkui/MyShopping/entry/.gitignore b/scenario/MyMusic/entry/.gitignore similarity index 100% rename from scenario/arkui/MyShopping/entry/.gitignore rename to scenario/MyMusic/entry/.gitignore diff --git a/scenario/arkui/MyShopping/entry/build-profile.json5 b/scenario/MyMusic/entry/build-profile.json5 similarity index 100% rename from scenario/arkui/MyShopping/entry/build-profile.json5 rename to scenario/MyMusic/entry/build-profile.json5 diff --git a/scenario/arkui/MyWps/entry/hvigorfile.ts b/scenario/MyMusic/entry/hvigorfile.ts old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/hvigorfile.ts rename to scenario/MyMusic/entry/hvigorfile.ts diff --git a/scenario/arkui/MyShopping/entry/obfuscation-rules.txt b/scenario/MyMusic/entry/obfuscation-rules.txt similarity index 100% rename from scenario/arkui/MyShopping/entry/obfuscation-rules.txt rename to scenario/MyMusic/entry/obfuscation-rules.txt diff --git a/scenario/arkui/MyNews/entry/oh-package.json5 b/scenario/MyMusic/entry/oh-package.json5 similarity index 100% rename from scenario/arkui/MyNews/entry/oh-package.json5 rename to scenario/MyMusic/entry/oh-package.json5 diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/common/constants/CommonConstants.ets b/scenario/MyMusic/entry/src/main/ets/common/constants/CommonConstants.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/common/constants/CommonConstants.ets rename to scenario/MyMusic/entry/src/main/ets/common/constants/CommonConstants.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/common/utils/Logger.ts b/scenario/MyMusic/entry/src/main/ets/common/utils/Logger.ts similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/common/utils/Logger.ts rename to scenario/MyMusic/entry/src/main/ets/common/utils/Logger.ts diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/entryability/EntryAbility.ts b/scenario/MyMusic/entry/src/main/ets/entryability/EntryAbility.ts similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/entryability/EntryAbility.ts rename to scenario/MyMusic/entry/src/main/ets/entryability/EntryAbility.ts diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/manager/AudioItem.ets b/scenario/MyMusic/entry/src/main/ets/manager/AudioItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/manager/AudioItem.ets rename to scenario/MyMusic/entry/src/main/ets/manager/AudioItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/manager/PlayerManager.ets b/scenario/MyMusic/entry/src/main/ets/manager/PlayerManager.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/manager/PlayerManager.ets rename to scenario/MyMusic/entry/src/main/ets/manager/PlayerManager.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/pages/LoginPage.ets b/scenario/MyMusic/entry/src/main/ets/pages/LoginPage.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/pages/LoginPage.ets rename to scenario/MyMusic/entry/src/main/ets/pages/LoginPage.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/pages/MainPage.ets b/scenario/MyMusic/entry/src/main/ets/pages/MainPage.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/pages/MainPage.ets rename to scenario/MyMusic/entry/src/main/ets/pages/MainPage.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/BookFirstItem.ets b/scenario/MyMusic/entry/src/main/ets/view/BookFirstItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/BookFirstItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/BookFirstItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/BookSecondItem.ets b/scenario/MyMusic/entry/src/main/ets/view/BookSecondItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/BookSecondItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/BookSecondItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/BookTriItem.ets b/scenario/MyMusic/entry/src/main/ets/view/BookTriItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/BookTriItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/BookTriItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/Community.ets b/scenario/MyMusic/entry/src/main/ets/view/Community.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/Community.ets rename to scenario/MyMusic/entry/src/main/ets/view/Community.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityHeadRight.ets b/scenario/MyMusic/entry/src/main/ets/view/CommunityHeadRight.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityHeadRight.ets rename to scenario/MyMusic/entry/src/main/ets/view/CommunityHeadRight.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityRoom.ets b/scenario/MyMusic/entry/src/main/ets/view/CommunityRoom.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityRoom.ets rename to scenario/MyMusic/entry/src/main/ets/view/CommunityRoom.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/CommunitySquare.ets b/scenario/MyMusic/entry/src/main/ets/view/CommunitySquare.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/CommunitySquare.ets rename to scenario/MyMusic/entry/src/main/ets/view/CommunitySquare.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityVideo.ets b/scenario/MyMusic/entry/src/main/ets/view/CommunityVideo.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/CommunityVideo.ets rename to scenario/MyMusic/entry/src/main/ets/view/CommunityVideo.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/FindHead.ets b/scenario/MyMusic/entry/src/main/ets/view/FindHead.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/FindHead.ets rename to scenario/MyMusic/entry/src/main/ets/view/FindHead.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/Follow.ets b/scenario/MyMusic/entry/src/main/ets/view/Follow.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/Follow.ets rename to scenario/MyMusic/entry/src/main/ets/view/Follow.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/FollowHead.ets b/scenario/MyMusic/entry/src/main/ets/view/FollowHead.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/FollowHead.ets rename to scenario/MyMusic/entry/src/main/ets/view/FollowHead.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/Home.ets b/scenario/MyMusic/entry/src/main/ets/view/Home.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/Home.ets rename to scenario/MyMusic/entry/src/main/ets/view/Home.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/ListHead.ets b/scenario/MyMusic/entry/src/main/ets/view/ListHead.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/ListHead.ets rename to scenario/MyMusic/entry/src/main/ets/view/ListHead.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/ListHistoryItem.ets b/scenario/MyMusic/entry/src/main/ets/view/ListHistoryItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/ListHistoryItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/ListHistoryItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MidItem.ets b/scenario/MyMusic/entry/src/main/ets/view/MidItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MidItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/MidItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/Mine.ets b/scenario/MyMusic/entry/src/main/ets/view/Mine.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/Mine.ets rename to scenario/MyMusic/entry/src/main/ets/view/Mine.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineActivity.ets b/scenario/MyMusic/entry/src/main/ets/view/MineActivity.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineActivity.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineActivity.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineActivityItem.ets b/scenario/MyMusic/entry/src/main/ets/view/MineActivityItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineActivityItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineActivityItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineHead.ets b/scenario/MyMusic/entry/src/main/ets/view/MineHead.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineHead.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineHead.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineInfo.ets b/scenario/MyMusic/entry/src/main/ets/view/MineInfo.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineInfo.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineInfo.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineListItem.ets b/scenario/MyMusic/entry/src/main/ets/view/MineListItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineListItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineListItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineMusic.ets b/scenario/MyMusic/entry/src/main/ets/view/MineMusic.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineMusic.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineMusic.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MinePodCast.ets b/scenario/MyMusic/entry/src/main/ets/view/MinePodCast.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MinePodCast.ets rename to scenario/MyMusic/entry/src/main/ets/view/MinePodCast.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/MineUserItem.ets b/scenario/MyMusic/entry/src/main/ets/view/MineUserItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/MineUserItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/MineUserItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PlayList.ets b/scenario/MyMusic/entry/src/main/ets/view/PlayList.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PlayList.ets rename to scenario/MyMusic/entry/src/main/ets/view/PlayList.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PlayerBar.ets b/scenario/MyMusic/entry/src/main/ets/view/PlayerBar.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PlayerBar.ets rename to scenario/MyMusic/entry/src/main/ets/view/PlayerBar.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PlayerDetail.ets b/scenario/MyMusic/entry/src/main/ets/view/PlayerDetail.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PlayerDetail.ets rename to scenario/MyMusic/entry/src/main/ets/view/PlayerDetail.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCast.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCast.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCast.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCast.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastBigItem.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastBigItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastBigItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastBigItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentFirst.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastContentFirst.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentFirst.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastContentFirst.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentFourth.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastContentFourth.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentFourth.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastContentFourth.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentSecond.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastContentSecond.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentSecond.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastContentSecond.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentThird.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastContentThird.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastContentThird.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastContentThird.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastHead.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastHead.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastHead.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastHead.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastHeadRight.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastHeadRight.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastHeadRight.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastHeadRight.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastListenItem.ets b/scenario/MyMusic/entry/src/main/ets/view/PodCastListenItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/PodCastListenItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/PodCastListenItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/RadioItem.ets b/scenario/MyMusic/entry/src/main/ets/view/RadioItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/RadioItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/RadioItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/SelectFirstItem.ets b/scenario/MyMusic/entry/src/main/ets/view/SelectFirstItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/SelectFirstItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/SelectFirstItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/Setting.ets b/scenario/MyMusic/entry/src/main/ets/view/Setting.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/Setting.ets rename to scenario/MyMusic/entry/src/main/ets/view/Setting.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/SmallItem.ets b/scenario/MyMusic/entry/src/main/ets/view/SmallItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/SmallItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/SmallItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/SquareTriItem.ets b/scenario/MyMusic/entry/src/main/ets/view/SquareTriItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/SquareTriItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/SquareTriItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/TriItem.ets b/scenario/MyMusic/entry/src/main/ets/view/TriItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/TriItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/TriItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/TriTitleItem.ets b/scenario/MyMusic/entry/src/main/ets/view/TriTitleItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/TriTitleItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/TriTitleItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/VideoMV.ets b/scenario/MyMusic/entry/src/main/ets/view/VideoMV.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/VideoMV.ets rename to scenario/MyMusic/entry/src/main/ets/view/VideoMV.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/VideoMVDataSource.ets b/scenario/MyMusic/entry/src/main/ets/view/VideoMVDataSource.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/VideoMVDataSource.ets rename to scenario/MyMusic/entry/src/main/ets/view/VideoMVDataSource.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/VideoRecommend.ets b/scenario/MyMusic/entry/src/main/ets/view/VideoRecommend.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/VideoRecommend.ets rename to scenario/MyMusic/entry/src/main/ets/view/VideoRecommend.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/view/VideoRecommendItem.ets b/scenario/MyMusic/entry/src/main/ets/view/VideoRecommendItem.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/view/VideoRecommendItem.ets rename to scenario/MyMusic/entry/src/main/ets/view/VideoRecommendItem.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/BookTriItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/BookTriItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/BookTriItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/BookTriItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/FollowerItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/FollowerItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/FollowerItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/FollowerItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/ItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/ItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ListHeadData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/ListHeadData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ListHeadData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/ListHeadData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ListHistoryItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/ListHistoryItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/ListHistoryItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/ListHistoryItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/LrcLine.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/LrcLine.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/LrcLine.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/LrcLine.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MainViewModel.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/MainViewModel.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MainViewModel.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/MainViewModel.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MidItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/MidItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MidItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/MidItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MineActivityItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/MineActivityItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MineActivityItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/MineActivityItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MineListItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/MineListItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/MineListItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/MineListItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/PodCastBigItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/PodCastBigItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/PodCastBigItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/PodCastBigItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/RadioItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/RadioItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/RadioItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/RadioItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SelectFirstItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/SelectFirstItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SelectFirstItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/SelectFirstItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SettingItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/SettingItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SettingItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/SettingItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SquareTriItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/SquareTriItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/SquareTriItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/SquareTriItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/TriItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/TriItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/TriItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/TriItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/TriTitleItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/TriTitleItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/TriTitleItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/TriTitleItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/VideoMVItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/VideoMVItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/VideoMVItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/VideoMVItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/VideoRecommendItemData.ets b/scenario/MyMusic/entry/src/main/ets/viewmodel/VideoRecommendItemData.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/ets/viewmodel/VideoRecommendItemData.ets rename to scenario/MyMusic/entry/src/main/ets/viewmodel/VideoRecommendItemData.ets diff --git a/scenario/arkui/MyMusic/entry/src/main/module.json5 b/scenario/MyMusic/entry/src/main/module.json5 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/module.json5 rename to scenario/MyMusic/entry/src/main/module.json5 diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/element/color.json b/scenario/MyMusic/entry/src/main/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/element/color.json rename to scenario/MyMusic/entry/src/main/resources/base/element/color.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/element/float.json b/scenario/MyMusic/entry/src/main/resources/base/element/float.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/element/float.json rename to scenario/MyMusic/entry/src/main/resources/base/element/float.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/element/string.json b/scenario/MyMusic/entry/src/main/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/element/string.json rename to scenario/MyMusic/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/about.png b/scenario/MyMusic/entry/src/main/resources/base/media/about.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/about.png rename to scenario/MyMusic/entry/src/main/resources/base/media/about.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/account.png b/scenario/MyMusic/entry/src/main/resources/base/media/account.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/account.png rename to scenario/MyMusic/entry/src/main/resources/base/media/account.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/arrow.png b/scenario/MyMusic/entry/src/main/resources/base/media/arrow.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/arrow.png rename to scenario/MyMusic/entry/src/main/resources/base/media/arrow.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/brand.png b/scenario/MyMusic/entry/src/main/resources/base/media/brand.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/brand.png rename to scenario/MyMusic/entry/src/main/resources/base/media/brand.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/brand1.png b/scenario/MyMusic/entry/src/main/resources/base/media/brand1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/brand1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/brand1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/circle.png b/scenario/MyMusic/entry/src/main/resources/base/media/circle.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/circle.png rename to scenario/MyMusic/entry/src/main/resources/base/media/circle.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/data.png b/scenario/MyMusic/entry/src/main/resources/base/media/data.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/data.png rename to scenario/MyMusic/entry/src/main/resources/base/media/data.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/discover_normal.png b/scenario/MyMusic/entry/src/main/resources/base/media/discover_normal.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/discover_normal.png rename to scenario/MyMusic/entry/src/main/resources/base/media/discover_normal.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/discover_selected.png b/scenario/MyMusic/entry/src/main/resources/base/media/discover_selected.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/discover_selected.png rename to scenario/MyMusic/entry/src/main/resources/base/media/discover_selected.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/favorite.png b/scenario/MyMusic/entry/src/main/resources/base/media/favorite.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/favorite.png rename to scenario/MyMusic/entry/src/main/resources/base/media/favorite.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig1.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig2.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig21.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig21.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig21.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig21.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig3.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig31.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig31.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig31.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig31.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig4.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig41.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig41.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig41.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig41.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig5.png b/scenario/MyMusic/entry/src/main/resources/base/media/fig5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/fig5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/fig5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/found.png b/scenario/MyMusic/entry/src/main/resources/base/media/found.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/found.png rename to scenario/MyMusic/entry/src/main/resources/base/media/found.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/green2023.png b/scenario/MyMusic/entry/src/main/resources/base/media/green2023.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/green2023.png rename to scenario/MyMusic/entry/src/main/resources/base/media/green2023.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/home_normal.png b/scenario/MyMusic/entry/src/main/resources/base/media/home_normal.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/home_normal.png rename to scenario/MyMusic/entry/src/main/resources/base/media/home_normal.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/home_selected.png b/scenario/MyMusic/entry/src/main/resources/base/media/home_selected.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/home_selected.png rename to scenario/MyMusic/entry/src/main/resources/base/media/home_selected.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_files_new_folder.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_files_new_folder.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_files_new_folder.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_files_new_folder.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_gallery_frame_overlay_soundphoto.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_gallery_frame_overlay_soundphoto.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_gallery_frame_overlay_soundphoto.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_gallery_frame_overlay_soundphoto.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_gallery_photoedit_more.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_gallery_photoedit_more.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_gallery_photoedit_more.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_gallery_photoedit_more.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_message_continue.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_message_continue.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_message_continue.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_message_continue.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_message_emoji.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_message_emoji.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_message_emoji.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_message_emoji.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_add.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_add.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_add.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_add.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_add_norm_filled.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_add_norm_filled.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_add_norm_filled.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_add_norm_filled.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled_red.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled_red.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled_red.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_appstore_filled_red.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_down_0.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_down_0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_down_0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_down_0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_grey.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_grey.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_grey.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_grey.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_red.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_red.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_red.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_arrow_right_red.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cancel.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cancel.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cancel.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cancel.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_close_bk.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_close_bk.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_close_bk.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_close_bk.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_close_wh.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_close_wh.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_close_wh.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_close_wh.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_download.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_download.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_download.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_download.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_upload.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_upload.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_upload.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_cloud_upload.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_comments.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_comments.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_comments.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_comments.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_community_messages_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_copy.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_copy.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_copy.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_copy.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_delete.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_delete.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_delete.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_delete.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_download_black.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_download_black.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_download_black.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_download_black.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_drawer.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_drawer.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_drawer.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_drawer.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_fast.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_fast.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_fast.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_fast.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_favor.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_favor.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_favor.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_favor.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_highlight.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_highlight.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_highlight.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_highlight.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_highlight_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_highlight_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_highlight_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_highlight_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_history.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_history.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_history.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_history.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_home.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_home.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_home.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_home.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_home_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_home_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_home_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_home_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_input_scan.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_input_scan.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_input_scan.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_input_scan.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_list_cycle.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_list_cycle.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_list_cycle.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_list_cycle.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_mine.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_mine.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_mine.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_mine.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_mine_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_mine_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_mine_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_mine_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_more_list.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_more_list.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_more_list.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_more_list.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music_grey.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music_grey.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music_grey.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music_grey.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music_red.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music_red.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_music_red.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_music_red.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_order_play.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_order_play.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_order_play.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_order_play.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_pause.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_pause.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_pause.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_pause.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_pause_norm.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_pause_norm.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_pause_norm.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_pause_norm.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_last.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_last.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_last.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_last.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_next.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_next.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_next.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_next.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_norm.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_norm.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_norm.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_norm.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_white.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_white.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_play_white.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_play_white.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_random.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_random.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_random.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_random.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_refresh.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_refresh.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_refresh.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_refresh.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_share.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_share.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_share.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_share.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_single_cycle.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_single_cycle.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_single_cycle.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_single_cycle.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_sound_filled.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_sound_filled.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_sound_filled.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_sound_filled.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_sound_off_filled.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_sound_off_filled.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_sound_off_filled.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_sound_off_filled.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup_filled.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup_filled.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup_filled.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_thumbsup_filled.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_view_list.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_public_view_list.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_public_view_list.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_public_view_list.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_screenshot_line_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/ic_statusbar_cast_select.png diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/resources/base/media/icon.png b/scenario/MyMusic/entry/src/main/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/resources/base/media/icon.png rename to scenario/MyMusic/entry/src/main/resources/base/media/icon.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method1.png b/scenario/MyMusic/entry/src/main/resources/base/media/login_method1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/login_method1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method2.png b/scenario/MyMusic/entry/src/main/resources/base/media/login_method2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/login_method2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method3.png b/scenario/MyMusic/entry/src/main/resources/base/media/login_method3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/login_method3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/login_method3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/logo.png b/scenario/MyMusic/entry/src/main/resources/base/media/logo.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/logo.png rename to scenario/MyMusic/entry/src/main/resources/base/media/logo.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/love.png b/scenario/MyMusic/entry/src/main/resources/base/media/love.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/love.png rename to scenario/MyMusic/entry/src/main/resources/base/media/love.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/menu.png b/scenario/MyMusic/entry/src/main/resources/base/media/menu.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/menu.png rename to scenario/MyMusic/entry/src/main/resources/base/media/menu.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/message.png b/scenario/MyMusic/entry/src/main/resources/base/media/message.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/message.png rename to scenario/MyMusic/entry/src/main/resources/base/media/message.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/mine_normal.png b/scenario/MyMusic/entry/src/main/resources/base/media/mine_normal.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/mine_normal.png rename to scenario/MyMusic/entry/src/main/resources/base/media/mine_normal.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/mine_selected.png b/scenario/MyMusic/entry/src/main/resources/base/media/mine_selected.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/mine_selected.png rename to scenario/MyMusic/entry/src/main/resources/base/media/mine_selected.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/new.png b/scenario/MyMusic/entry/src/main/resources/base/media/new.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/new.png rename to scenario/MyMusic/entry/src/main/resources/base/media/new.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/news.png b/scenario/MyMusic/entry/src/main/resources/base/media/news.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/news.png rename to scenario/MyMusic/entry/src/main/resources/base/media/news.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/privacy.png b/scenario/MyMusic/entry/src/main/resources/base/media/privacy.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/privacy.png rename to scenario/MyMusic/entry/src/main/resources/base/media/privacy.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue0.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue1.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue2.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue3.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue4.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue5.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue6.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue6.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue7.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue7.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue8.png b/scenario/MyMusic/entry/src/main/resources/base/media/quareblue8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quareblue8.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quareblue8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen0.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen1.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen2.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen3.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen4.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen5.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen6.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen6.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen7.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen7.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen8.png b/scenario/MyMusic/entry/src/main/resources/base/media/quaregreen8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quaregreen8.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quaregreen8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink0.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink1.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink2.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink3.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink4.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink5.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink6.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink6.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink7.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink7.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink8.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarepink8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarepink8.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarepink8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered0.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered1.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered2.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered3.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered4.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered5.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered6.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered6.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered7.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered7.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered8.png b/scenario/MyMusic/entry/src/main/resources/base/media/quarered8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/quarered8.png rename to scenario/MyMusic/entry/src/main/resources/base/media/quarered8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/radio.png b/scenario/MyMusic/entry/src/main/resources/base/media/radio.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/radio.png rename to scenario/MyMusic/entry/src/main/resources/base/media/radio.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/radio_select.png b/scenario/MyMusic/entry/src/main/resources/base/media/radio_select.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/radio_select.png rename to scenario/MyMusic/entry/src/main/resources/base/media/radio_select.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/record.png b/scenario/MyMusic/entry/src/main/resources/base/media/record.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/record.png rename to scenario/MyMusic/entry/src/main/resources/base/media/record.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/recycle.png b/scenario/MyMusic/entry/src/main/resources/base/media/recycle.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/recycle.png rename to scenario/MyMusic/entry/src/main/resources/base/media/recycle.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/right_grey.png b/scenario/MyMusic/entry/src/main/resources/base/media/right_grey.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/right_grey.png rename to scenario/MyMusic/entry/src/main/resources/base/media/right_grey.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/search.png b/scenario/MyMusic/entry/src/main/resources/base/media/search.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/search.png rename to scenario/MyMusic/entry/src/main/resources/base/media/search.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/shopping.png b/scenario/MyMusic/entry/src/main/resources/base/media/shopping.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/shopping.png rename to scenario/MyMusic/entry/src/main/resources/base/media/shopping.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/storage.png b/scenario/MyMusic/entry/src/main/resources/base/media/storage.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/storage.png rename to scenario/MyMusic/entry/src/main/resources/base/media/storage.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/target.png b/scenario/MyMusic/entry/src/main/resources/base/media/target.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/target.png rename to scenario/MyMusic/entry/src/main/resources/base/media/target.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/top.png b/scenario/MyMusic/entry/src/main/resources/base/media/top.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/top.png rename to scenario/MyMusic/entry/src/main/resources/base/media/top.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow0.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow0.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow1.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow1.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow2.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow2.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow3.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow3.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow4.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow4.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow5.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow5.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow6.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow6.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow7.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow7.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow8.png b/scenario/MyMusic/entry/src/main/resources/base/media/yellow8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/media/yellow8.png rename to scenario/MyMusic/entry/src/main/resources/base/media/yellow8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/base/profile/main_pages.json b/scenario/MyMusic/entry/src/main/resources/base/profile/main_pages.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/base/profile/main_pages.json rename to scenario/MyMusic/entry/src/main/resources/base/profile/main_pages.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/en_US/element/string.json b/scenario/MyMusic/entry/src/main/resources/en_US/element/string.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/en_US/element/string.json rename to scenario/MyMusic/entry/src/main/resources/en_US/element/string.json diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue0.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue0.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue1.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue1.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue2.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue2.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue3.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue3.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue4.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue4.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue5.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue5.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue6.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue6.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue7.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue7.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue8.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quareblue8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quareblue8.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quareblue8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen0.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen0.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen1.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen1.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen2.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen2.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen3.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen3.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen4.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen4.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen5.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen5.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen6.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen6.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen7.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen7.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen8.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quaregreen8.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quaregreen8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink0.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink0.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink1.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink1.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink2.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink2.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink3.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink3.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink4.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink4.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink5.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink5.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink6.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink6.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink7.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink7.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink8.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarepink8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarepink8.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarepink8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered0.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered0.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered0.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered0.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered1.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered1.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered1.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered1.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered2.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered2.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered2.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered2.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered3.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered3.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered3.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered3.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered4.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered4.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered4.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered4.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered5.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered5.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered5.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered5.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered6.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered6.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered6.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered6.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered7.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered7.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered7.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered7.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered8.png b/scenario/MyMusic/entry/src/main/resources/rawfile/quarered8.png similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/quarered8.png rename to scenario/MyMusic/entry/src/main/resources/rawfile/quarered8.png diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/test1.mp4 b/scenario/MyMusic/entry/src/main/resources/rawfile/test1.mp4 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/test1.mp4 rename to scenario/MyMusic/entry/src/main/resources/rawfile/test1.mp4 diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/test2.mp4 b/scenario/MyMusic/entry/src/main/resources/rawfile/test2.mp4 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/test2.mp4 rename to scenario/MyMusic/entry/src/main/resources/rawfile/test2.mp4 diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/video1.mp4 b/scenario/MyMusic/entry/src/main/resources/rawfile/video1.mp4 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/video1.mp4 rename to scenario/MyMusic/entry/src/main/resources/rawfile/video1.mp4 diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/rawfile/video2.mp4 b/scenario/MyMusic/entry/src/main/resources/rawfile/video2.mp4 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/rawfile/video2.mp4 rename to scenario/MyMusic/entry/src/main/resources/rawfile/video2.mp4 diff --git a/scenario/arkui/MyMusic/entry/src/main/resources/zh_CN/element/string.json b/scenario/MyMusic/entry/src/main/resources/zh_CN/element/string.json similarity index 100% rename from scenario/arkui/MyMusic/entry/src/main/resources/zh_CN/element/string.json rename to scenario/MyMusic/entry/src/main/resources/zh_CN/element/string.json diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/List.test.ets b/scenario/MyMusic/entry/src/ohosTest/ets/test/List.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/List.test.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/test/List.test.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Page.test.ets b/scenario/MyMusic/entry/src/ohosTest/ets/test/Page.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Page.test.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/test/Page.test.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Playback.test.ets b/scenario/MyMusic/entry/src/ohosTest/ets/test/Playback.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Playback.test.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/test/Playback.test.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Playlist.test.ets b/scenario/MyMusic/entry/src/ohosTest/ets/test/Playlist.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/test/Playlist.test.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/test/Playlist.test.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/testability/TestAbility.ets b/scenario/MyMusic/entry/src/ohosTest/ets/testability/TestAbility.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/testability/TestAbility.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/testability/TestAbility.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/testability/pages/Index.ets b/scenario/MyMusic/entry/src/ohosTest/ets/testability/pages/Index.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/testability/pages/Index.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/testability/pages/Index.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/scenario/MyMusic/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets rename to scenario/MyMusic/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets diff --git a/scenario/arkui/MyMusic/entry/src/ohosTest/module.json5 b/scenario/MyMusic/entry/src/ohosTest/module.json5 similarity index 100% rename from scenario/arkui/MyMusic/entry/src/ohosTest/module.json5 rename to scenario/MyMusic/entry/src/ohosTest/module.json5 diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/resources/base/element/color.json b/scenario/MyMusic/entry/src/ohosTest/resources/base/element/color.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/resources/base/element/color.json rename to scenario/MyMusic/entry/src/ohosTest/resources/base/element/color.json diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/element/string.json b/scenario/MyMusic/entry/src/ohosTest/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/element/string.json rename to scenario/MyMusic/entry/src/ohosTest/resources/base/element/string.json diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/media/icon.png b/scenario/MyMusic/entry/src/ohosTest/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/media/icon.png rename to scenario/MyMusic/entry/src/ohosTest/resources/base/media/icon.png diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/profile/test_pages.json b/scenario/MyMusic/entry/src/ohosTest/resources/base/profile/test_pages.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/resources/base/profile/test_pages.json rename to scenario/MyMusic/entry/src/ohosTest/resources/base/profile/test_pages.json diff --git a/scenario/arkui/MyMusic/entry/src/test/List.test.ets b/scenario/MyMusic/entry/src/test/List.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/test/List.test.ets rename to scenario/MyMusic/entry/src/test/List.test.ets diff --git a/scenario/arkui/MyMusic/entry/src/test/LocalUnit.test.ets b/scenario/MyMusic/entry/src/test/LocalUnit.test.ets similarity index 100% rename from scenario/arkui/MyMusic/entry/src/test/LocalUnit.test.ets rename to scenario/MyMusic/entry/src/test/LocalUnit.test.ets diff --git a/scenario/arkui/MyWps/hvigor/hvigor-config.json5 b/scenario/MyMusic/hvigor/hvigor-config.json5 old mode 100755 new mode 100644 similarity index 97% rename from scenario/arkui/MyWps/hvigor/hvigor-config.json5 rename to scenario/MyMusic/hvigor/hvigor-config.json5 index 35b1ba68d..1a474900a --- a/scenario/arkui/MyWps/hvigor/hvigor-config.json5 +++ b/scenario/MyMusic/hvigor/hvigor-config.json5 @@ -1,18 +1,18 @@ -{ - "hvigorVersion": "3.0.9", - "dependencies": { - "@ohos/hvigor-ohos-plugin": "3.0.9" - }, - "execution": { - // "daemon": true, /* Enable daemon compilation. Default: true */ - // "incremental": true, /* Enable incremental compilation. Default: true */ - // "parallel": true, /* Enable parallel compilation. Default: true */ - // "typeCheck": false, /* Enable typeCheck. Default: false */ - }, - "logging": { - // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ - }, - "debugging": { - // "stacktrace": false /* Disable stacktrace compilation. Default: false */ - } -} +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/scenario/arkui/MyWps/hvigor/hvigor-wrapper.js b/scenario/MyMusic/hvigor/hvigor-wrapper.js old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/hvigor/hvigor-wrapper.js rename to scenario/MyMusic/hvigor/hvigor-wrapper.js diff --git a/scenario/arkui/MyWps/hvigorfile.ts b/scenario/MyMusic/hvigorfile.ts old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/hvigorfile.ts rename to scenario/MyMusic/hvigorfile.ts diff --git a/scenario/arkui/MyShopping/hvigorw b/scenario/MyMusic/hvigorw similarity index 100% rename from scenario/arkui/MyShopping/hvigorw rename to scenario/MyMusic/hvigorw diff --git a/scenario/arkui/MyShopping/hvigorw.bat b/scenario/MyMusic/hvigorw.bat similarity index 100% rename from scenario/arkui/MyShopping/hvigorw.bat rename to scenario/MyMusic/hvigorw.bat diff --git a/scenario/arkui/MyWps/oh-package-lock.json5 b/scenario/MyMusic/oh-package-lock.json5 old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/oh-package-lock.json5 rename to scenario/MyMusic/oh-package-lock.json5 diff --git a/scenario/arkui/MyMusic/oh-package.json5 b/scenario/MyMusic/oh-package.json5 similarity index 100% rename from scenario/arkui/MyMusic/oh-package.json5 rename to scenario/MyMusic/oh-package.json5 diff --git a/scenario/arkui/MyMusic/screenshots/home.jpeg b/scenario/MyMusic/screenshots/home.jpeg similarity index 100% rename from scenario/arkui/MyMusic/screenshots/home.jpeg rename to scenario/MyMusic/screenshots/home.jpeg diff --git a/scenario/arkui/MyMusic/screenshots/mine.jpeg b/scenario/MyMusic/screenshots/mine.jpeg similarity index 100% rename from scenario/arkui/MyMusic/screenshots/mine.jpeg rename to scenario/MyMusic/screenshots/mine.jpeg diff --git a/scenario/arkui/MyMusic/screenshots/podcast.jpeg b/scenario/MyMusic/screenshots/podcast.jpeg similarity index 100% rename from scenario/arkui/MyMusic/screenshots/podcast.jpeg rename to scenario/MyMusic/screenshots/podcast.jpeg diff --git a/scenario/arkui/MyNews/.gitignore b/scenario/MyNews/.gitignore similarity index 100% rename from scenario/arkui/MyNews/.gitignore rename to scenario/MyNews/.gitignore diff --git a/scenario/arkui/MyNews/AppScope/app.json5 b/scenario/MyNews/AppScope/app.json5 similarity index 100% rename from scenario/arkui/MyNews/AppScope/app.json5 rename to scenario/MyNews/AppScope/app.json5 diff --git a/scenario/arkui/MyNews/AppScope/resources/base/element/string.json b/scenario/MyNews/AppScope/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyNews/AppScope/resources/base/element/string.json rename to scenario/MyNews/AppScope/resources/base/element/string.json diff --git a/scenario/arkui/MyWps/AppScope/resources/base/media/app_icon.png b/scenario/MyNews/AppScope/resources/base/media/app_icon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/AppScope/resources/base/media/app_icon.png rename to scenario/MyNews/AppScope/resources/base/media/app_icon.png diff --git a/scenario/arkui/MyNews/README.md b/scenario/MyNews/README.md similarity index 100% rename from scenario/arkui/MyNews/README.md rename to scenario/MyNews/README.md diff --git a/scenario/MyNews/build-profile.json5 b/scenario/MyNews/build-profile.json5 new file mode 100644 index 000000000..d7ddeff76 --- /dev/null +++ b/scenario/MyNews/build-profile.json5 @@ -0,0 +1,36 @@ +{ + "app": { + "signingConfigs": [], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compileSdkVersion": 10, + "compatibleSdkVersion": 10, + "runtimeOS": "OpenHarmony", + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/scenario/arkui/MyWps/entry/.gitignore b/scenario/MyNews/entry/.gitignore old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/.gitignore rename to scenario/MyNews/entry/.gitignore diff --git a/scenario/arkui/MyWps/entry/build-profile.json5 b/scenario/MyNews/entry/build-profile.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyWps/entry/build-profile.json5 rename to scenario/MyNews/entry/build-profile.json5 index f8ddb3980..197e83c1b --- a/scenario/arkui/MyWps/entry/build-profile.json5 +++ b/scenario/MyNews/entry/build-profile.json5 @@ -1,31 +1,31 @@ -{ - "apiType": "stageMode", - "buildOption": { - "arkOptions": { - // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ - } - }, - "buildOptionSet": [ - { - "name": "release", - "arkOptions": { - "obfuscation": { - "ruleOptions": { - "enable": true, - "files": [ - "./obfuscation-rules.txt" - ] - } - } - } - }, - ], - "targets": [ - { - "name": "default" - }, - { - "name": "ohosTest", - } - ] +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] } \ No newline at end of file diff --git a/scenario/arkui/MyNews/entry/hvigorfile.ts b/scenario/MyNews/entry/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyNews/entry/hvigorfile.ts rename to scenario/MyNews/entry/hvigorfile.ts diff --git a/scenario/arkui/MyWps/entry/obfuscation-rules.txt b/scenario/MyNews/entry/obfuscation-rules.txt old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/obfuscation-rules.txt rename to scenario/MyNews/entry/obfuscation-rules.txt diff --git a/scenario/arkui/MyShopping/entry/oh-package.json5 b/scenario/MyNews/entry/oh-package.json5 similarity index 100% rename from scenario/arkui/MyShopping/entry/oh-package.json5 rename to scenario/MyNews/entry/oh-package.json5 diff --git a/scenario/arkui/MyNews/entry/src/main/data/ImgPool.ets b/scenario/MyNews/entry/src/main/data/ImgPool.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/data/ImgPool.ets rename to scenario/MyNews/entry/src/main/data/ImgPool.ets diff --git a/scenario/arkui/MyNews/entry/src/main/data/TextPool.ets b/scenario/MyNews/entry/src/main/data/TextPool.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/data/TextPool.ets rename to scenario/MyNews/entry/src/main/data/TextPool.ets diff --git a/scenario/arkui/MyNews/entry/src/main/data/UserData.ets b/scenario/MyNews/entry/src/main/data/UserData.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/data/UserData.ets rename to scenario/MyNews/entry/src/main/data/UserData.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/common/utils/GetArticles.ets b/scenario/MyNews/entry/src/main/ets/common/utils/GetArticles.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/common/utils/GetArticles.ets rename to scenario/MyNews/entry/src/main/ets/common/utils/GetArticles.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/common/utils/Login.ets b/scenario/MyNews/entry/src/main/ets/common/utils/Login.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/common/utils/Login.ets rename to scenario/MyNews/entry/src/main/ets/common/utils/Login.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/common/utils/RandomResource.ets b/scenario/MyNews/entry/src/main/ets/common/utils/RandomResource.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/common/utils/RandomResource.ets rename to scenario/MyNews/entry/src/main/ets/common/utils/RandomResource.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/entryability/EntryAbility.ets b/scenario/MyNews/entry/src/main/ets/entryability/EntryAbility.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/entryability/EntryAbility.ets rename to scenario/MyNews/entry/src/main/ets/entryability/EntryAbility.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/pages/LoginPage.ets b/scenario/MyNews/entry/src/main/ets/pages/LoginPage.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/pages/LoginPage.ets rename to scenario/MyNews/entry/src/main/ets/pages/LoginPage.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/pages/MainPage.ets b/scenario/MyNews/entry/src/main/ets/pages/MainPage.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/pages/MainPage.ets rename to scenario/MyNews/entry/src/main/ets/pages/MainPage.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/pages/PublishPage.ets b/scenario/MyNews/entry/src/main/ets/pages/PublishPage.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/pages/PublishPage.ets rename to scenario/MyNews/entry/src/main/ets/pages/PublishPage.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/pages/SearchPage.ets b/scenario/MyNews/entry/src/main/ets/pages/SearchPage.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/pages/SearchPage.ets rename to scenario/MyNews/entry/src/main/ets/pages/SearchPage.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Common/BasicUserInfo.ets b/scenario/MyNews/entry/src/main/ets/view/Common/BasicUserInfo.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Common/BasicUserInfo.ets rename to scenario/MyNews/entry/src/main/ets/view/Common/BasicUserInfo.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/Home.ets b/scenario/MyNews/entry/src/main/ets/view/Home/Home.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/Home.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/Home.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/HomeTabs.ets b/scenario/MyNews/entry/src/main/ets/view/Home/HomeTabs.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/HomeTabs.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/HomeTabs.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/ImgNewsOverview.ets b/scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/ImgNewsOverview.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/ImgNewsOverview.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/ImgNewsOverview.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/PureTextNewsOverview.ets b/scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/PureTextNewsOverview.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/PureTextNewsOverview.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/PureTextNewsOverview.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/Recommendation.ets b/scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/Recommendation.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/Recommendation/Recommendation.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/Recommendation/Recommendation.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Home/TopBar.ets b/scenario/MyNews/entry/src/main/ets/view/Home/TopBar.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Home/TopBar.ets rename to scenario/MyNews/entry/src/main/ets/view/Home/TopBar.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Login/BottomBtns.ets b/scenario/MyNews/entry/src/main/ets/view/Login/BottomBtns.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Login/BottomBtns.ets rename to scenario/MyNews/entry/src/main/ets/view/Login/BottomBtns.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Login/FailureDialog.ets b/scenario/MyNews/entry/src/main/ets/view/Login/FailureDialog.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Login/FailureDialog.ets rename to scenario/MyNews/entry/src/main/ets/view/Login/FailureDialog.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Login/LoginArea.ets b/scenario/MyNews/entry/src/main/ets/view/Login/LoginArea.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Login/LoginArea.ets rename to scenario/MyNews/entry/src/main/ets/view/Login/LoginArea.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Login/OtherLoginMethodsDialog.ets b/scenario/MyNews/entry/src/main/ets/view/Login/OtherLoginMethodsDialog.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Login/OtherLoginMethodsDialog.ets rename to scenario/MyNews/entry/src/main/ets/view/Login/OtherLoginMethodsDialog.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Login/TopBtns.ets b/scenario/MyNews/entry/src/main/ets/view/Login/TopBtns.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Login/TopBtns.ets rename to scenario/MyNews/entry/src/main/ets/view/Login/TopBtns.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Mall/GoodsCard.ets b/scenario/MyNews/entry/src/main/ets/view/Mall/GoodsCard.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Mall/GoodsCard.ets rename to scenario/MyNews/entry/src/main/ets/view/Mall/GoodsCard.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Mall/GoodsList.ets b/scenario/MyNews/entry/src/main/ets/view/Mall/GoodsList.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Mall/GoodsList.ets rename to scenario/MyNews/entry/src/main/ets/view/Mall/GoodsList.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Mall/Mall.ets b/scenario/MyNews/entry/src/main/ets/view/Mall/Mall.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Mall/Mall.ets rename to scenario/MyNews/entry/src/main/ets/view/Mall/Mall.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Mall/TopBar.ets b/scenario/MyNews/entry/src/main/ets/view/Mall/TopBar.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Mall/TopBar.ets rename to scenario/MyNews/entry/src/main/ets/view/Mall/TopBar.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Profile/AdsSwiper.ets b/scenario/MyNews/entry/src/main/ets/view/Profile/AdsSwiper.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Profile/AdsSwiper.ets rename to scenario/MyNews/entry/src/main/ets/view/Profile/AdsSwiper.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Profile/FuncArea.ets b/scenario/MyNews/entry/src/main/ets/view/Profile/FuncArea.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Profile/FuncArea.ets rename to scenario/MyNews/entry/src/main/ets/view/Profile/FuncArea.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Profile/Profile.ets b/scenario/MyNews/entry/src/main/ets/view/Profile/Profile.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Profile/Profile.ets rename to scenario/MyNews/entry/src/main/ets/view/Profile/Profile.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Profile/UserInfoArea.ets b/scenario/MyNews/entry/src/main/ets/view/Profile/UserInfoArea.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Profile/UserInfoArea.ets rename to scenario/MyNews/entry/src/main/ets/view/Profile/UserInfoArea.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Publish/MicroNews.ets b/scenario/MyNews/entry/src/main/ets/view/Publish/MicroNews.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Publish/MicroNews.ets rename to scenario/MyNews/entry/src/main/ets/view/Publish/MicroNews.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Publish/PublishTabs.ets b/scenario/MyNews/entry/src/main/ets/view/Publish/PublishTabs.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Publish/PublishTabs.ets rename to scenario/MyNews/entry/src/main/ets/view/Publish/PublishTabs.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Search/BottomBar.ets b/scenario/MyNews/entry/src/main/ets/view/Search/BottomBar.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Search/BottomBar.ets rename to scenario/MyNews/entry/src/main/ets/view/Search/BottomBar.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Search/IncognitoModeIndicator.ets b/scenario/MyNews/entry/src/main/ets/view/Search/IncognitoModeIndicator.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Search/IncognitoModeIndicator.ets rename to scenario/MyNews/entry/src/main/ets/view/Search/IncognitoModeIndicator.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Search/TopBar.ets b/scenario/MyNews/entry/src/main/ets/view/Search/TopBar.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Search/TopBar.ets rename to scenario/MyNews/entry/src/main/ets/view/Search/TopBar.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Search/TrendingTopics.ets b/scenario/MyNews/entry/src/main/ets/view/Search/TrendingTopics.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Search/TrendingTopics.ets rename to scenario/MyNews/entry/src/main/ets/view/Search/TrendingTopics.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Task.ets b/scenario/MyNews/entry/src/main/ets/view/Task.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Task.ets rename to scenario/MyNews/entry/src/main/ets/view/Task.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/view/Video.ets b/scenario/MyNews/entry/src/main/ets/view/Video.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/view/Video.ets rename to scenario/MyNews/entry/src/main/ets/view/Video.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/viewmodel/Article.ets b/scenario/MyNews/entry/src/main/ets/viewmodel/Article.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/viewmodel/Article.ets rename to scenario/MyNews/entry/src/main/ets/viewmodel/Article.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/viewmodel/GoodsDataSource.ets b/scenario/MyNews/entry/src/main/ets/viewmodel/GoodsDataSource.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/viewmodel/GoodsDataSource.ets rename to scenario/MyNews/entry/src/main/ets/viewmodel/GoodsDataSource.ets diff --git a/scenario/arkui/MyNews/entry/src/main/ets/viewmodel/RouterParams.ets b/scenario/MyNews/entry/src/main/ets/viewmodel/RouterParams.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/ets/viewmodel/RouterParams.ets rename to scenario/MyNews/entry/src/main/ets/viewmodel/RouterParams.ets diff --git a/scenario/MyNews/entry/src/main/module.json5 b/scenario/MyNews/entry/src/main/module.json5 new file mode 100644 index 000000000..f2ff2c7f1 --- /dev/null +++ b/scenario/MyNews/entry/src/main/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/element/color.json b/scenario/MyNews/entry/src/main/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/element/color.json rename to scenario/MyNews/entry/src/main/resources/base/element/color.json diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/element/string.json b/scenario/MyNews/entry/src/main/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/element/string.json rename to scenario/MyNews/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_1.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_1.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_1.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_1.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_10.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_10.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_10.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_10.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_11.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_11.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_11.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_11.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_12.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_12.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_12.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_12.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_13.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_13.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_13.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_13.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_14.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_14.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_14.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_14.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_15.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_15.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_15.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_15.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_16.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_16.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_16.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_16.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_17.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_17.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_17.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_17.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_18.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_18.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_18.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_18.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_19.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_19.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_19.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_19.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_2.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_2.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_2.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_2.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_20.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_20.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_20.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_20.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_3.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_3.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_3.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_3.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_4.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_4.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_4.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_4.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_5.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_5.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_5.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_5.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_6.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_6.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_6.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_6.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_7.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_7.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_7.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_7.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_8.jpg b/scenario/MyNews/entry/src/main/resources/base/media/fig_8.jpg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_8.jpg rename to scenario/MyNews/entry/src/main/resources/base/media/fig_8.jpg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_9.png b/scenario/MyNews/entry/src/main/resources/base/media/fig_9.png similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/fig_9.png rename to scenario/MyNews/entry/src/main/resources/base/media/fig_9.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_controlcenter_eyeconfort_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_controlcenter_eyeconfort_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_controlcenter_eyeconfort_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_controlcenter_eyeconfort_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_desktop_servicewidgets.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_desktop_servicewidgets.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_desktop_servicewidgets.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_desktop_servicewidgets.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_device_earphone.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_device_earphone.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_device_earphone.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_device_earphone.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_gallery_privacy_statement.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_gallery_privacy_statement.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_gallery_privacy_statement.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_gallery_privacy_statement.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_add.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_add.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_add.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_add.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_add_norm_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_add_norm_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_add_norm_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_add_norm_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_app.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_app.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_app.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_app.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_appstore.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_appstore.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_appstore.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_appstore.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_appstore_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_appstore_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_appstore_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_appstore_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_down_0.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_down_0.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_down_0.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_down_0.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_left_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_arrow_right_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_backtotop.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_backtotop.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_backtotop.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_backtotop.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_calendar.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_calendar.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_calendar.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_calendar.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_calendar_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_calendar_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_calendar_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_calendar_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_cancel.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_cancel.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_cancel.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_cancel.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_community_messages_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_community_messages_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_community_messages_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_community_messages_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_contacts.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_contacts.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_contacts.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_contacts.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_contacts_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_contacts_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_contacts_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_contacts_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_delete.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_delete.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_delete.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_delete.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_devices_phone_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_devices_phone_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_devices_phone_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_devices_phone_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_download.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_download.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_download.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_download.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_face_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_face_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_face_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_face_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_fail.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_fail.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_fail.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_fail.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_folder.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_folder.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_folder.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_folder.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_history.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_history.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_history.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_history.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_home.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_home.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_home.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_home.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_home_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_home_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_home_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_home_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_input_search.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_input_search.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_input_search.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_input_search.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_lock_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_lock_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_lock_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_lock_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_notes.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_notes.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_notes.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_notes.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_play.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_play.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_play.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_play.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_ring.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_ring.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_ring.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_ring.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_scan.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_scan.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_scan.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_scan.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_settings.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_settings.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_settings.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_settings.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_share.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_share.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_share.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_share.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_thumbsup.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_thumbsup.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_thumbsup.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_thumbsup.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_video.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_video.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_video.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_video.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_video_filled.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_video_filled.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_video_filled.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_video_filled.svg diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_view_list.svg b/scenario/MyNews/entry/src/main/resources/base/media/ic_public_view_list.svg similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/media/ic_public_view_list.svg rename to scenario/MyNews/entry/src/main/resources/base/media/ic_public_view_list.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/icon.png b/scenario/MyNews/entry/src/main/resources/base/media/icon.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/icon.png rename to scenario/MyNews/entry/src/main/resources/base/media/icon.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/startIcon.png b/scenario/MyNews/entry/src/main/resources/base/media/startIcon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/startIcon.png rename to scenario/MyNews/entry/src/main/resources/base/media/startIcon.png diff --git a/scenario/arkui/MyNews/entry/src/main/resources/base/profile/main_pages.json b/scenario/MyNews/entry/src/main/resources/base/profile/main_pages.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/base/profile/main_pages.json rename to scenario/MyNews/entry/src/main/resources/base/profile/main_pages.json diff --git a/scenario/arkui/MyNews/entry/src/main/resources/en_US/element/string.json b/scenario/MyNews/entry/src/main/resources/en_US/element/string.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/en_US/element/string.json rename to scenario/MyNews/entry/src/main/resources/en_US/element/string.json diff --git a/scenario/arkui/MyNews/entry/src/main/resources/zh_CN/element/string.json b/scenario/MyNews/entry/src/main/resources/zh_CN/element/string.json similarity index 100% rename from scenario/arkui/MyNews/entry/src/main/resources/zh_CN/element/string.json rename to scenario/MyNews/entry/src/main/resources/zh_CN/element/string.json diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/ets/test/List.test.ets b/scenario/MyNews/entry/src/ohosTest/ets/test/List.test.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/ets/test/List.test.ets rename to scenario/MyNews/entry/src/ohosTest/ets/test/List.test.ets diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/ets/test/Login.test.ets b/scenario/MyNews/entry/src/ohosTest/ets/test/Login.test.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/ets/test/Login.test.ets rename to scenario/MyNews/entry/src/ohosTest/ets/test/Login.test.ets diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/ets/testability/TestAbility.ets b/scenario/MyNews/entry/src/ohosTest/ets/testability/TestAbility.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/ets/testability/TestAbility.ets rename to scenario/MyNews/entry/src/ohosTest/ets/testability/TestAbility.ets diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/ets/testability/pages/Index.ets b/scenario/MyNews/entry/src/ohosTest/ets/testability/pages/Index.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/ets/testability/pages/Index.ets rename to scenario/MyNews/entry/src/ohosTest/ets/testability/pages/Index.ets diff --git a/scenario/arkui/MyNews/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/scenario/MyNews/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets rename to scenario/MyNews/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/module.json5 b/scenario/MyNews/entry/src/ohosTest/module.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyWps/entry/src/ohosTest/module.json5 rename to scenario/MyNews/entry/src/ohosTest/module.json5 index 82ff674be..4fc970170 --- a/scenario/arkui/MyWps/entry/src/ohosTest/module.json5 +++ b/scenario/MyNews/entry/src/ohosTest/module.json5 @@ -1,37 +1,37 @@ -{ - "module": { - "name": "entry_test", - "type": "feature", - "description": "$string:module_test_desc", - "mainElement": "TestAbility", - "deviceTypes": [ - "default", - "tablet" - ], - "deliveryWithInstall": true, - "installationFree": false, - "pages": "$profile:test_pages", - "abilities": [ - { - "name": "TestAbility", - "srcEntry": "./ets/testability/TestAbility.ets", - "description": "$string:TestAbility_desc", - "icon": "$media:icon", - "label": "$string:TestAbility_label", - "exported": true, - "startWindowIcon": "$media:icon", - "startWindowBackground": "$color:start_window_background", - "skills": [ - { - "actions": [ - "action.system.home" - ], - "entities": [ - "entity.system.home" - ] - } - ] - } - ] - } -} +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/scenario/MyNews/entry/src/ohosTest/resources/base/element/color.json b/scenario/MyNews/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/scenario/MyNews/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/resources/base/element/string.json b/scenario/MyNews/entry/src/ohosTest/resources/base/element/string.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/resources/base/element/string.json rename to scenario/MyNews/entry/src/ohosTest/resources/base/element/string.json diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/resources/base/media/icon.png b/scenario/MyNews/entry/src/ohosTest/resources/base/media/icon.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/resources/base/media/icon.png rename to scenario/MyNews/entry/src/ohosTest/resources/base/media/icon.png diff --git a/scenario/arkui/MyWps/entry/src/ohosTest/resources/base/profile/test_pages.json b/scenario/MyNews/entry/src/ohosTest/resources/base/profile/test_pages.json old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/ohosTest/resources/base/profile/test_pages.json rename to scenario/MyNews/entry/src/ohosTest/resources/base/profile/test_pages.json diff --git a/scenario/arkui/MyNews/entry/src/test/List.test.ets b/scenario/MyNews/entry/src/test/List.test.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/test/List.test.ets rename to scenario/MyNews/entry/src/test/List.test.ets diff --git a/scenario/arkui/MyNews/entry/src/test/LocalUnit.test.ets b/scenario/MyNews/entry/src/test/LocalUnit.test.ets similarity index 100% rename from scenario/arkui/MyNews/entry/src/test/LocalUnit.test.ets rename to scenario/MyNews/entry/src/test/LocalUnit.test.ets diff --git a/scenario/MyNews/hvigor/hvigor-config.json5 b/scenario/MyNews/hvigor/hvigor-config.json5 new file mode 100644 index 000000000..1a474900a --- /dev/null +++ b/scenario/MyNews/hvigor/hvigor-config.json5 @@ -0,0 +1,18 @@ +{ + "hvigorVersion": "3.0.9", + "dependencies": { + "@ohos/hvigor-ohos-plugin": "3.0.9" + }, + "execution": { + // "daemon": true, /* Enable daemon compilation. Default: true */ + // "incremental": true, /* Enable incremental compilation. Default: true */ + // "parallel": true, /* Enable parallel compilation. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Default: false */ + } +} diff --git a/scenario/MyNews/hvigor/hvigor-wrapper.js b/scenario/MyNews/hvigor/hvigor-wrapper.js new file mode 100644 index 000000000..372eae8eb --- /dev/null +++ b/scenario/MyNews/hvigor/hvigor-wrapper.js @@ -0,0 +1 @@ +"use strict";var u=require("path"),D=require("os"),e=require("fs"),t=require("crypto"),r=require("child_process"),n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i={},C={},F=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(C,"__esModule",{value:!0}),C.maxPathLength=C.isMac=C.isLinux=C.isWindows=void 0;const E=F(D),A="Windows_NT",o="Darwin";function a(){return E.default.type()===A}function c(){return E.default.type()===o}C.isWindows=a,C.isLinux=function(){return"Linux"===E.default.type()},C.isMac=c,C.maxPathLength=function(){return c()?1016:a()?259:4095},function(e){var t=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),r=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),i=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&t(D,u,e);return r(D,u),D};Object.defineProperty(e,"__esModule",{value:!0}),e.WORK_SPACE=e.HVIGOR_PROJECT_WRAPPER_HOME=e.HVIGOR_PROJECT_ROOT_DIR=e.HVIGOR_PROJECT_CACHES_HOME=e.HVIGOR_PNPM_STORE_PATH=e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=e.PROJECT_CACHES=e.HVIGOR_WRAPPER_TOOLS_HOME=e.HVIGOR_USER_HOME=e.DEFAULT_PACKAGE_JSON=e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME=e.PNPM=e.HVIGOR=e.NPM_TOOL=e.PNPM_TOOL=e.HVIGOR_ENGINE_PACKAGE_NAME=void 0;const F=i(D),E=i(u),A=C;e.HVIGOR_ENGINE_PACKAGE_NAME="@ohos/hvigor",e.PNPM_TOOL=(0,A.isWindows)()?"pnpm.cmd":"pnpm",e.NPM_TOOL=(0,A.isWindows)()?"npm.cmd":"npm",e.HVIGOR="hvigor",e.PNPM="pnpm",e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME="hvigor-config.json5",e.DEFAULT_PACKAGE_JSON="package.json",e.HVIGOR_USER_HOME=E.resolve(F.homedir(),".hvigor"),e.HVIGOR_WRAPPER_TOOLS_HOME=E.resolve(e.HVIGOR_USER_HOME,"wrapper","tools"),e.PROJECT_CACHES="project_caches",e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH=E.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME,"node_modules",".bin",e.PNPM_TOOL),e.HVIGOR_PNPM_STORE_PATH=E.resolve(e.HVIGOR_USER_HOME,"caches"),e.HVIGOR_PROJECT_CACHES_HOME=E.resolve(e.HVIGOR_USER_HOME,e.PROJECT_CACHES),e.HVIGOR_PROJECT_ROOT_DIR=process.cwd(),e.HVIGOR_PROJECT_WRAPPER_HOME=E.resolve(e.HVIGOR_PROJECT_ROOT_DIR,e.HVIGOR),e.WORK_SPACE="workspace"}(i);var s={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.logInfoPrintConsole=l.logErrorAndExit=void 0,l.logErrorAndExit=function(u){u instanceof Error?console.error(u.message):console.error(u),process.exit(-1)},l.logInfoPrintConsole=function(u){console.log(u)};var B=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),d=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),f=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&B(D,u,e);return d(D,u),D};Object.defineProperty(s,"__esModule",{value:!0});var _=s.executeBuild=void 0;const p=f(e),O=f(u),h=l;_=s.executeBuild=function(u){const D=O.resolve(u,"node_modules","@ohos","hvigor","bin","hvigor.js");try{const u=p.realpathSync(D);require(u)}catch(e){(0,h.logErrorAndExit)(`Error: ENOENT: no such file ${D},delete ${u} and retry.`)}};var P={},v={};!function(u){var D=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(u,"__esModule",{value:!0}),u.hashFile=u.hash=u.createHash=void 0;const r=D(t),i=D(e);u.createHash=(u="MD5")=>r.default.createHash(u);u.hash=(D,e)=>(0,u.createHash)(e).update(D).digest("hex");u.hashFile=(D,e)=>{if(i.default.existsSync(D))return(0,u.hash)(i.default.readFileSync(D,"utf-8"),e)}}(v);var g={},m={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Unicode=void 0;class y{}R.Unicode=y,y.SPACE_SEPARATOR=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,y.ID_START=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,y.ID_CONTINUE=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,Object.defineProperty(m,"__esModule",{value:!0}),m.JudgeUtil=void 0;const I=R;m.JudgeUtil=class{static isIgnoreChar(u){return"string"==typeof u&&("\t"===u||"\v"===u||"\f"===u||" "===u||" "===u||"\ufeff"===u||"\n"===u||"\r"===u||"\u2028"===u||"\u2029"===u)}static isSpaceSeparator(u){return"string"==typeof u&&I.Unicode.SPACE_SEPARATOR.test(u)}static isIdStartChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||"$"===u||"_"===u||I.Unicode.ID_START.test(u))}static isIdContinueChar(u){return"string"==typeof u&&(u>="a"&&u<="z"||u>="A"&&u<="Z"||u>="0"&&u<="9"||"$"===u||"_"===u||"‌"===u||"‍"===u||I.Unicode.ID_CONTINUE.test(u))}static isDigitWithoutZero(u){return/[1-9]/.test(u)}static isDigit(u){return"string"==typeof u&&/[0-9]/.test(u)}static isHexDigit(u){return"string"==typeof u&&/[0-9A-Fa-f]/.test(u)}};var N=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(g,"__esModule",{value:!0}),g.parseJsonText=g.parseJsonFile=void 0;const b=N(e),S=N(D),w=N(u),H=m;var x;!function(u){u[u.Char=0]="Char",u[u.EOF=1]="EOF",u[u.Identifier=2]="Identifier"}(x||(x={}));let M,T,V,G,j,J,W="start",U=[],L=0,$=1,k=0,K=!1,z="default",q="'",Z=1;function X(u,D=!1){T=String(u),W="start",U=[],L=0,$=1,k=0,G=void 0,K=D;do{M=Q(),nu[W]()}while("eof"!==M.type);return G}function Q(){for(z="default",j="",q="'",Z=1;;){J=Y();const u=Du[z]();if(u)return u}}function Y(){if(T[L])return String.fromCodePoint(T.codePointAt(L))}function uu(){const u=Y();return"\n"===u?($++,k=0):u?k+=u.length:k++,u&&(L+=u.length),u}g.parseJsonFile=function(u,D=!1,e="utf-8"){const t=b.default.readFileSync(w.default.resolve(u),{encoding:e});try{return X(t,D)}catch(D){if(D instanceof SyntaxError){const e=D.message.split("at");if(2===e.length)throw new Error(`${e[0].trim()}${S.default.EOL}\t at ${u}:${e[1].trim()}`)}throw new Error(`${u} is not in valid JSON/JSON5 format.`)}},g.parseJsonText=X;const Du={default(){switch(J){case"/":return uu(),void(z="comment");case void 0:return uu(),eu("eof")}if(!H.JudgeUtil.isIgnoreChar(J)&&!H.JudgeUtil.isSpaceSeparator(J))return Du[W]();uu()},start(){z="value"},beforePropertyName(){switch(J){case"$":case"_":return j=uu(),void(z="identifierName");case"\\":return uu(),void(z="identifierNameStartEscape");case"}":return eu("punctuator",uu());case'"':case"'":return q=J,uu(),void(z="string")}if(H.JudgeUtil.isIdStartChar(J))return j+=uu(),void(z="identifierName");throw Eu(x.Char,uu())},afterPropertyName(){if(":"===J)return eu("punctuator",uu());throw Eu(x.Char,uu())},beforePropertyValue(){z="value"},afterPropertyValue(){switch(J){case",":case"}":return eu("punctuator",uu())}throw Eu(x.Char,uu())},beforeArrayValue(){if("]"===J)return eu("punctuator",uu());z="value"},afterArrayValue(){switch(J){case",":case"]":return eu("punctuator",uu())}throw Eu(x.Char,uu())},end(){throw Eu(x.Char,uu())},comment(){switch(J){case"*":return uu(),void(z="multiLineComment");case"/":return uu(),void(z="singleLineComment")}throw Eu(x.Char,uu())},multiLineComment(){switch(J){case"*":return uu(),void(z="multiLineCommentAsterisk");case void 0:throw Eu(x.Char,uu())}uu()},multiLineCommentAsterisk(){switch(J){case"*":return void uu();case"/":return uu(),void(z="default");case void 0:throw Eu(x.Char,uu())}uu(),z="multiLineComment"},singleLineComment(){switch(J){case"\n":case"\r":case"\u2028":case"\u2029":return uu(),void(z="default");case void 0:return uu(),eu("eof")}uu()},value(){switch(J){case"{":case"[":return eu("punctuator",uu());case"n":return uu(),tu("ull"),eu("null",null);case"t":return uu(),tu("rue"),eu("boolean",!0);case"f":return uu(),tu("alse"),eu("boolean",!1);case"-":case"+":return"-"===uu()&&(Z=-1),void(z="numerical");case".":case"0":case"I":case"N":return void(z="numerical");case'"':case"'":return q=J,uu(),j="",void(z="string")}if(void 0===J||!H.JudgeUtil.isDigitWithoutZero(J))throw Eu(x.Char,uu());z="numerical"},numerical(){switch(J){case".":return j=uu(),void(z="decimalPointLeading");case"0":return j=uu(),void(z="zero");case"I":return uu(),tu("nfinity"),eu("numeric",Z*(1/0));case"N":return uu(),tu("aN"),eu("numeric",NaN)}if(void 0!==J&&H.JudgeUtil.isDigitWithoutZero(J))return j=uu(),void(z="decimalInteger");throw Eu(x.Char,uu())},zero(){switch(J){case".":case"e":case"E":return void(z="decimal");case"x":case"X":return j+=uu(),void(z="hexadecimal")}return eu("numeric",0)},decimalInteger(){switch(J){case".":case"e":case"E":return void(z="decimal")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimal(){switch(J){case".":j+=uu(),z="decimalFraction";break;case"e":case"E":j+=uu(),z="decimalExponent"}},decimalPointLeading(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalFraction");throw Eu(x.Char,uu())},decimalFraction(){switch(J){case"e":case"E":return j+=uu(),void(z="decimalExponent")}if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},decimalExponent(){switch(J){case"+":case"-":return j+=uu(),void(z="decimalExponentSign")}if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentSign(){if(H.JudgeUtil.isDigit(J))return j+=uu(),void(z="decimalExponentInteger");throw Eu(x.Char,uu())},decimalExponentInteger(){if(!H.JudgeUtil.isDigit(J))return eu("numeric",Z*Number(j));j+=uu()},hexadecimal(){if(H.JudgeUtil.isHexDigit(J))return j+=uu(),void(z="hexadecimalInteger");throw Eu(x.Char,uu())},hexadecimalInteger(){if(!H.JudgeUtil.isHexDigit(J))return eu("numeric",Z*Number(j));j+=uu()},identifierNameStartEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":break;default:if(!H.JudgeUtil.isIdStartChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},identifierName(){switch(J){case"$":case"_":case"‌":case"‍":return void(j+=uu());case"\\":return uu(),void(z="identifierNameEscape")}if(!H.JudgeUtil.isIdContinueChar(J))return eu("identifier",j);j+=uu()},identifierNameEscape(){if("u"!==J)throw Eu(x.Char,uu());uu();const u=ru();switch(u){case"$":case"_":case"‌":case"‍":break;default:if(!H.JudgeUtil.isIdContinueChar(u))throw Eu(x.Identifier)}j+=u,z="identifierName"},string(){switch(J){case"\\":return uu(),void(j+=function(){const u=Y(),D=function(){switch(Y()){case"b":return uu(),"\b";case"f":return uu(),"\f";case"n":return uu(),"\n";case"r":return uu(),"\r";case"t":return uu(),"\t";case"v":return uu(),"\v"}return}();if(D)return D;switch(u){case"0":if(uu(),H.JudgeUtil.isDigit(Y()))throw Eu(x.Char,uu());return"\0";case"x":return uu(),function(){let u="",D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());if(u+=uu(),D=Y(),!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());return u+=uu(),String.fromCodePoint(parseInt(u,16))}();case"u":return uu(),ru();case"\n":case"\u2028":case"\u2029":return uu(),"";case"\r":return uu(),"\n"===Y()&&uu(),""}if(void 0===u||H.JudgeUtil.isDigitWithoutZero(u))throw Eu(x.Char,uu());return uu()}());case'"':case"'":if(J===q){const u=eu("string",j);return uu(),u}return void(j+=uu());case"\n":case"\r":case void 0:throw Eu(x.Char,uu());case"\u2028":case"\u2029":!function(u){console.warn(`JSON5: '${Fu(u)}' in strings is not valid ECMAScript; consider escaping.`)}(J)}j+=uu()}};function eu(u,D){return{type:u,value:D,line:$,column:k}}function tu(u){for(const D of u){if(Y()!==D)throw Eu(x.Char,uu());uu()}}function ru(){let u="",D=4;for(;D-- >0;){const D=Y();if(!H.JudgeUtil.isHexDigit(D))throw Eu(x.Char,uu());u+=uu()}return String.fromCodePoint(parseInt(u,16))}const nu={start(){if("eof"===M.type)throw Eu(x.EOF);iu()},beforePropertyName(){switch(M.type){case"identifier":case"string":return V=M.value,void(W="afterPropertyName");case"punctuator":return void Cu();case"eof":throw Eu(x.EOF)}},afterPropertyName(){if("eof"===M.type)throw Eu(x.EOF);W="beforePropertyValue"},beforePropertyValue(){if("eof"===M.type)throw Eu(x.EOF);iu()},afterPropertyValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforePropertyName");case"}":Cu()}},beforeArrayValue(){if("eof"===M.type)throw Eu(x.EOF);"punctuator"!==M.type||"]"!==M.value?iu():Cu()},afterArrayValue(){if("eof"===M.type)throw Eu(x.EOF);switch(M.value){case",":return void(W="beforeArrayValue");case"]":Cu()}},end(){}};function iu(){const u=function(){let u;switch(M.type){case"punctuator":switch(M.value){case"{":u={};break;case"[":u=[]}break;case"null":case"boolean":case"numeric":case"string":u=M.value}return u}();if(K&&"object"==typeof u&&(u._line=$,u._column=k),void 0===G)G=u;else{const D=U[U.length-1];Array.isArray(D)?K&&"object"!=typeof u?D.push({value:u,_line:$,_column:k}):D.push(u):D[V]=K&&"object"!=typeof u?{value:u,_line:$,_column:k}:u}!function(u){if(u&&"object"==typeof u)U.push(u),W=Array.isArray(u)?"beforeArrayValue":"beforePropertyName";else{const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}}(u)}function Cu(){U.pop();const u=U[U.length-1];W=u?Array.isArray(u)?"afterArrayValue":"afterPropertyValue":"end"}function Fu(u){const D={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(D[u])return D[u];if(u<" "){const D=u.charCodeAt(0).toString(16);return`\\x${`00${D}`.substring(D.length)}`}return u}function Eu(u,D){let e="";switch(u){case x.Char:e=void 0===D?`JSON5: invalid end of input at ${$}:${k}`:`JSON5: invalid character '${Fu(D)}' at ${$}:${k}`;break;case x.EOF:e=`JSON5: invalid end of input at ${$}:${k}`;break;case x.Identifier:k-=5,e=`JSON5: invalid identifier character at ${$}:${k}`}const t=new Au(e);return t.lineNumber=$,t.columnNumber=k,t}class Au extends SyntaxError{}var ou={},au=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),cu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),su=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&au(D,u,e);return cu(D,u),D},lu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(ou,"__esModule",{value:!0}),ou.isFileExists=ou.offlinePluginConversion=ou.executeCommand=ou.getNpmPath=ou.hasNpmPackInPaths=void 0;const Bu=r,du=lu(e),fu=su(u),_u=i,pu=l;ou.hasNpmPackInPaths=function(u,D){try{return require.resolve(u,{paths:[...D]}),!0}catch(u){return!1}},ou.getNpmPath=function(){const u=process.execPath;return fu.join(fu.dirname(u),_u.NPM_TOOL)},ou.executeCommand=function(u,D,e){0!==(0,Bu.spawnSync)(u,D,e).status&&(0,pu.logErrorAndExit)(`Error: ${u} ${D} execute failed.See above for details.`)},ou.offlinePluginConversion=function(u,D){return D.startsWith("file:")||D.endsWith(".tgz")?fu.resolve(u,_u.HVIGOR,D.replace("file:","")):D},ou.isFileExists=function(u){return du.default.existsSync(u)&&du.default.statSync(u).isFile()};var Ou=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),hu=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),Pu=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&Ou(D,u,e);return hu(D,u),D},vu=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(P,"__esModule",{value:!0});var gu=P.initProjectWorkSpace=void 0;const mu=Pu(e),Ru=vu(D),yu=Pu(u),Iu=v,Nu=i,bu=g,Su=l,wu=ou;let Hu,xu,Mu;function Tu(u,D,e){return void 0!==e.dependencies&&(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,D.dependencies[u])===yu.normalize(e.dependencies[u])}function Vu(){const u=yu.join(Mu,Nu.WORK_SPACE);if((0,Su.logInfoPrintConsole)("Hvigor cleaning..."),!mu.existsSync(u))return;const D=mu.readdirSync(u);if(!D||0===D.length)return;const e=yu.resolve(Mu,"node_modules","@ohos","hvigor","bin","hvigor.js");mu.existsSync(e)&&(0,wu.executeCommand)(process.argv[0],[e,"--stop-daemon"],{});try{D.forEach((D=>{mu.rmSync(yu.resolve(u,D),{recursive:!0})}))}catch(D){(0,Su.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${u}.`)}}gu=P.initProjectWorkSpace=function(){if(Hu=function(){const u=yu.resolve(Nu.HVIGOR_PROJECT_WRAPPER_HOME,Nu.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME);mu.existsSync(u)||(0,Su.logErrorAndExit)(`Error: Hvigor config file ${u} does not exist.`);return(0,bu.parseJsonFile)(u)}(),Mu=function(u){let D;D=function(u){let D=u.hvigorVersion;if(D.startsWith("file:")||D.endsWith(".tgz"))return!1;const e=u.dependencies,t=Object.getOwnPropertyNames(e);for(const u of t){const D=e[u];if(D.startsWith("file:")||D.endsWith(".tgz"))return!1}if(1===t.length&&"@ohos/hvigor-ohos-plugin"===t[0])return D>"2.5.0";return!1}(u)?function(u){let D=`${Nu.HVIGOR_ENGINE_PACKAGE_NAME}@${u.hvigorVersion}`;const e=u.dependencies;if(e){Object.getOwnPropertyNames(e).sort().forEach((u=>{D+=`,${u}@${e[u]}`}))}return(0,Iu.hash)(D)}(u):(0,Iu.hash)(process.cwd());return yu.resolve(Ru.default.homedir(),".hvigor","project_caches",D)}(Hu),xu=function(){const u=yu.resolve(Mu,Nu.WORK_SPACE,Nu.DEFAULT_PACKAGE_JSON);return mu.existsSync(u)?(0,bu.parseJsonFile)(u):{dependencies:{}}}(),!(0,wu.hasNpmPackInPaths)(Nu.HVIGOR_ENGINE_PACKAGE_NAME,[yu.join(Mu,Nu.WORK_SPACE)])||(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion)!==xu.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]||!function(){function u(u){const D=null==u?void 0:u.dependencies;return void 0===D?0:Object.getOwnPropertyNames(D).length}const D=u(Hu),e=u(xu);if(D+1!==e)return!1;for(const u in null==Hu?void 0:Hu.dependencies)if(!(0,wu.hasNpmPackInPaths)(u,[yu.join(Mu,Nu.WORK_SPACE)])||!Tu(u,Hu,xu))return!1;return!0}()){Vu();try{!function(){(0,Su.logInfoPrintConsole)("Hvigor installing...");for(const u in Hu.dependencies)Hu.dependencies[u]&&(Hu.dependencies[u]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.dependencies[u]));const u={dependencies:{...Hu.dependencies}};u.dependencies[Nu.HVIGOR_ENGINE_PACKAGE_NAME]=(0,wu.offlinePluginConversion)(Nu.HVIGOR_PROJECT_ROOT_DIR,Hu.hvigorVersion);const D=yu.join(Mu,Nu.WORK_SPACE);try{mu.mkdirSync(D,{recursive:!0});const e=yu.resolve(D,Nu.DEFAULT_PACKAGE_JSON);mu.writeFileSync(e,JSON.stringify(u))}catch(u){(0,Su.logErrorAndExit)(u)}(function(){const u=["config","set","store-dir",Nu.HVIGOR_PNPM_STORE_PATH],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)})(),function(){const u=["install"],D={cwd:yu.join(Mu,Nu.WORK_SPACE),stdio:["inherit","inherit","inherit"]};(0,wu.executeCommand)(Nu.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH,u,D)}(),(0,Su.logInfoPrintConsole)("Hvigor install success.")}()}catch(u){Vu()}}return Mu};var Gu={};!function(t){var C=n&&n.__createBinding||(Object.create?function(u,D,e,t){void 0===t&&(t=e);var r=Object.getOwnPropertyDescriptor(D,e);r&&!("get"in r?!D.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return D[e]}}),Object.defineProperty(u,t,r)}:function(u,D,e,t){void 0===t&&(t=e),u[t]=D[e]}),F=n&&n.__setModuleDefault||(Object.create?function(u,D){Object.defineProperty(u,"default",{enumerable:!0,value:D})}:function(u,D){u.default=D}),E=n&&n.__importStar||function(u){if(u&&u.__esModule)return u;var D={};if(null!=u)for(var e in u)"default"!==e&&Object.prototype.hasOwnProperty.call(u,e)&&C(D,u,e);return F(D,u),D},A=n&&n.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.executeInstallPnpm=t.isPnpmInstalled=t.environmentHandler=t.checkNpmConifg=t.PNPM_VERSION=void 0;const o=r,a=E(e),c=A(D),s=E(u),B=i,d=l,f=ou;t.PNPM_VERSION="7.30.0",t.checkNpmConifg=function(){const u=s.resolve(B.HVIGOR_PROJECT_ROOT_DIR,".npmrc"),D=s.resolve(c.default.homedir(),".npmrc");if((0,f.isFileExists)(u)||(0,f.isFileExists)(D))return;const e=(0,f.getNpmPath)(),t=(0,o.spawnSync)(e,["config","get","prefix"],{cwd:B.HVIGOR_PROJECT_ROOT_DIR});if(0!==t.status||!t.stdout)return void(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.");const r=s.resolve(`${t.stdout}`.replace(/[\r\n]/gi,""),".npmrc");(0,f.isFileExists)(r)||(0,d.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.")},t.environmentHandler=function(){process.env["npm_config_update-notifier"]="false"},t.isPnpmInstalled=function(){return!!a.existsSync(B.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH)&&(0,f.hasNpmPackInPaths)("pnpm",[B.HVIGOR_WRAPPER_TOOLS_HOME])},t.executeInstallPnpm=function(){(0,d.logInfoPrintConsole)(`Installing pnpm@${t.PNPM_VERSION}...`);const u=(0,f.getNpmPath)();!function(){const u=s.resolve(B.HVIGOR_WRAPPER_TOOLS_HOME,B.DEFAULT_PACKAGE_JSON);try{a.existsSync(B.HVIGOR_WRAPPER_TOOLS_HOME)||a.mkdirSync(B.HVIGOR_WRAPPER_TOOLS_HOME,{recursive:!0});const D={dependencies:{}};D.dependencies[B.PNPM]=t.PNPM_VERSION,a.writeFileSync(u,JSON.stringify(D))}catch(D){(0,d.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${u} failed.`)}}(),(0,f.executeCommand)(u,["install","pnpm"],{cwd:B.HVIGOR_WRAPPER_TOOLS_HOME,stdio:["inherit","inherit","inherit"],env:process.env}),(0,d.logInfoPrintConsole)("Pnpm install success.")}}(Gu),function(){Gu.checkNpmConifg(),Gu.environmentHandler(),Gu.isPnpmInstalled()||Gu.executeInstallPnpm();const D=gu();_(u.join(D,i.WORK_SPACE))}(); \ No newline at end of file diff --git a/scenario/arkui/MyNews/hvigorfile.ts b/scenario/MyNews/hvigorfile.ts similarity index 100% rename from scenario/arkui/MyNews/hvigorfile.ts rename to scenario/MyNews/hvigorfile.ts diff --git a/scenario/arkui/MyWps/hvigorw b/scenario/MyNews/hvigorw old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/hvigorw rename to scenario/MyNews/hvigorw diff --git a/scenario/arkui/MyWps/hvigorw.bat b/scenario/MyNews/hvigorw.bat old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/hvigorw.bat rename to scenario/MyNews/hvigorw.bat diff --git a/scenario/arkui/MyNews/oh-package.json5 b/scenario/MyNews/oh-package.json5 similarity index 100% rename from scenario/arkui/MyNews/oh-package.json5 rename to scenario/MyNews/oh-package.json5 diff --git a/scenario/arkui/MyNews/screenshots/home.png b/scenario/MyNews/screenshots/home.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/home.png rename to scenario/MyNews/screenshots/home.png diff --git a/scenario/arkui/MyNews/screenshots/login.png b/scenario/MyNews/screenshots/login.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/login.png rename to scenario/MyNews/screenshots/login.png diff --git a/scenario/arkui/MyNews/screenshots/mall.png b/scenario/MyNews/screenshots/mall.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/mall.png rename to scenario/MyNews/screenshots/mall.png diff --git a/scenario/arkui/MyNews/screenshots/profile.png b/scenario/MyNews/screenshots/profile.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/profile.png rename to scenario/MyNews/screenshots/profile.png diff --git a/scenario/arkui/MyNews/screenshots/publish.png b/scenario/MyNews/screenshots/publish.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/publish.png rename to scenario/MyNews/screenshots/publish.png diff --git a/scenario/arkui/MyNews/screenshots/search.png b/scenario/MyNews/screenshots/search.png similarity index 100% rename from scenario/arkui/MyNews/screenshots/search.png rename to scenario/MyNews/screenshots/search.png diff --git a/scenario/arkui/MyShopping/.gitignore b/scenario/MyShopping/.gitignore similarity index 100% rename from scenario/arkui/MyShopping/.gitignore rename to scenario/MyShopping/.gitignore diff --git a/scenario/arkui/MyShopping/AppScope/app.json5 b/scenario/MyShopping/AppScope/app.json5 similarity index 100% rename from scenario/arkui/MyShopping/AppScope/app.json5 rename to scenario/MyShopping/AppScope/app.json5 diff --git a/scenario/arkui/MyShopping/AppScope/resources/base/element/string.json b/scenario/MyShopping/AppScope/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyShopping/AppScope/resources/base/element/string.json rename to scenario/MyShopping/AppScope/resources/base/element/string.json diff --git a/scenario/MyShopping/AppScope/resources/base/media/app_icon.png b/scenario/MyShopping/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/scenario/arkui/MyShopping/README.md b/scenario/MyShopping/README.md similarity index 100% rename from scenario/arkui/MyShopping/README.md rename to scenario/MyShopping/README.md diff --git a/scenario/arkui/MyShopping/build-profile.json5 b/scenario/MyShopping/build-profile.json5 similarity index 100% rename from scenario/arkui/MyShopping/build-profile.json5 rename to scenario/MyShopping/build-profile.json5 diff --git a/scenario/MyShopping/entry/.gitignore b/scenario/MyShopping/entry/.gitignore new file mode 100644 index 000000000..e2713a277 --- /dev/null +++ b/scenario/MyShopping/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/scenario/MyShopping/entry/build-profile.json5 b/scenario/MyShopping/entry/build-profile.json5 new file mode 100644 index 000000000..197e83c1b --- /dev/null +++ b/scenario/MyShopping/entry/build-profile.json5 @@ -0,0 +1,31 @@ +{ + "apiType": "stageMode", + "buildOption": { + "arkOptions": { + // "apPath": "./modules.ap" /* Profile used for profile-guided optimization (PGO), a compiler optimization technique to improve app runtime performance. */ + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": true, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/hvigorfile.ts b/scenario/MyShopping/entry/hvigorfile.ts new file mode 100644 index 000000000..c6edcd904 --- /dev/null +++ b/scenario/MyShopping/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/scenario/MyShopping/entry/obfuscation-rules.txt b/scenario/MyShopping/entry/obfuscation-rules.txt new file mode 100644 index 000000000..985b2aeb7 --- /dev/null +++ b/scenario/MyShopping/entry/obfuscation-rules.txt @@ -0,0 +1,18 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README.md + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope \ No newline at end of file diff --git a/scenario/arkui/MyWps/entry/oh-package.json5 b/scenario/MyShopping/entry/oh-package.json5 old mode 100755 new mode 100644 similarity index 95% rename from scenario/arkui/MyWps/entry/oh-package.json5 rename to scenario/MyShopping/entry/oh-package.json5 index 60744fdbc..225946cb1 --- a/scenario/arkui/MyWps/entry/oh-package.json5 +++ b/scenario/MyShopping/entry/oh-package.json5 @@ -1,10 +1,10 @@ -{ - "license": "", - "devDependencies": {}, - "author": "", - "name": "entry", - "description": "Please describe the basic information.", - "main": "", - "version": "1.0.0", - "dependencies": {} -} +{ + "license": "", + "devDependencies": {}, + "author": "", + "name": "entry", + "description": "Please describe the basic information.", + "main": "", + "version": "1.0.0", + "dependencies": {} +} diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/data/WaterFlowDataSource.ets b/scenario/MyShopping/entry/src/main/ets/data/WaterFlowDataSource.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/data/WaterFlowDataSource.ets rename to scenario/MyShopping/entry/src/main/ets/data/WaterFlowDataSource.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/data/merchandise.ets b/scenario/MyShopping/entry/src/main/ets/data/merchandise.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/data/merchandise.ets rename to scenario/MyShopping/entry/src/main/ets/data/merchandise.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/dataModel/merchandise.ets b/scenario/MyShopping/entry/src/main/ets/dataModel/merchandise.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/dataModel/merchandise.ets rename to scenario/MyShopping/entry/src/main/ets/dataModel/merchandise.ets diff --git a/scenario/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets b/scenario/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 000000000..1c7aa63a9 --- /dev/null +++ b/scenario/MyShopping/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,43 @@ +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; +import hilog from '@ohos.hilog'; +import UIAbility from '@ohos.app.ability.UIAbility'; +import Want from '@ohos.app.ability.Want'; +import window from '@ohos.window'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/Index.ets b/scenario/MyShopping/entry/src/main/ets/pages/Index.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/Index.ets rename to scenario/MyShopping/entry/src/main/ets/pages/Index.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/components/classification/classification.ets b/scenario/MyShopping/entry/src/main/ets/pages/components/classification/classification.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/components/classification/classification.ets rename to scenario/MyShopping/entry/src/main/ets/pages/components/classification/classification.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/banner.ets b/scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/banner.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/banner.ets rename to scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/banner.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/content.ets b/scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/content.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/content.ets rename to scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/content.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/contentMenu.ets b/scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/contentMenu.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/components/contentPlate/contentMenu.ets rename to scenario/MyShopping/entry/src/main/ets/pages/components/contentPlate/contentMenu.ets diff --git a/scenario/arkui/MyShopping/entry/src/main/ets/pages/components/homeTab/Home.ets b/scenario/MyShopping/entry/src/main/ets/pages/components/homeTab/Home.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/ets/pages/components/homeTab/Home.ets rename to scenario/MyShopping/entry/src/main/ets/pages/components/homeTab/Home.ets diff --git a/scenario/arkui/MyWps/entry/src/main/module.json5 b/scenario/MyShopping/entry/src/main/module.json5 old mode 100755 new mode 100644 similarity index 96% rename from scenario/arkui/MyWps/entry/src/main/module.json5 rename to scenario/MyShopping/entry/src/main/module.json5 index b4421e91b..9aa0835b9 --- a/scenario/arkui/MyWps/entry/src/main/module.json5 +++ b/scenario/MyShopping/entry/src/main/module.json5 @@ -1,37 +1,37 @@ -{ - "module": { - "name": "entry", - "type": "entry", - "description": "$string:module_desc", - "mainElement": "EntryAbility", - "deviceTypes": [ - "default", - "tablet" - ], - "deliveryWithInstall": true, - "installationFree": false, - "pages": "$profile:main_pages", - "abilities": [ - { - "name": "EntryAbility", - "srcEntry": "./ets/entryability/EntryAbility.ets", - "description": "$string:EntryAbility_desc", - "icon": "$media:icon", - "label": "$string:EntryAbility_label", - "startWindowIcon": "$media:startIcon", - "startWindowBackground": "$color:white", - "exported": true, - "skills": [ - { - "entities": [ - "entity.system.home" - ], - "actions": [ - "action.system.home" - ] - } - ] - } - ] - } +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:white", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } } \ No newline at end of file diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/element/color.json b/scenario/MyShopping/entry/src/main/resources/base/element/color.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/element/color.json rename to scenario/MyShopping/entry/src/main/resources/base/element/color.json diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/element/string.json b/scenario/MyShopping/entry/src/main/resources/base/element/string.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/element/string.json rename to scenario/MyShopping/entry/src/main/resources/base/element/string.json diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/banner.png b/scenario/MyShopping/entry/src/main/resources/base/media/banner.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/banner.png rename to scenario/MyShopping/entry/src/main/resources/base/media/banner.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/flower.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/flower.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/flower.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/flower.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_notebook.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_99_notebook.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_notebook.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_99_notebook.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_paper.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_99_paper.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_paper.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_99_paper.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_toy.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_99_toy.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_toy.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_99_toy.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_water.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_99_water.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99_water.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_99_water.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99baoyou.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_99baoyou.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_99baoyou.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_99baoyou.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_animateto.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_animateto.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_animateto.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_animateto.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_animation.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_animation.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_animation.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_animation.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_path.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_path.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_animations_path.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_animations_path.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_auxiliary.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_auxiliary.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_auxiliary.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_auxiliary.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_back.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_back.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_back.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_back.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_basic_gesture.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_basic_gesture.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_basic_gesture.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_basic_gesture.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_basic_gestures.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_basic_gestures.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_basic_gestures.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_basic_gestures.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_blank_and_divider.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_blank_and_divider.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_blank_and_divider.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_blank_and_divider.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_butie1.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_butie1.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_butie1.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_butie1.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_butie2.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_butie2.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_butie2.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_butie2.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_and_selection.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_button_and_selection.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_and_selection.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_button_and_selection.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_circle_add.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_button_circle_add.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_circle_add.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_button_circle_add.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_click.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_button_click.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_click.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_button_click.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_loading.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_button_loading.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_button_loading.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_button_loading.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_call_green.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_call_green.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_call_green.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_call_green.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_cancel.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_cancel.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_cancel.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_cancel.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_canvas_and_graphic_drawing.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_canvas_and_graphic_drawing.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_canvas_and_graphic_drawing.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_canvas_and_graphic_drawing.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_click_event.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_click_event.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_click_event.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_click_event.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_combine_gestures.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_combine_gestures.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_combine_gestures.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_combine_gestures.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_combined_gestures.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_combined_gestures.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_combined_gestures.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_combined_gestures.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_blurr.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_component_blurr.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_blurr.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_component_blurr.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_clip.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_component_clip.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_clip.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_component_clip.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_id.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_component_id.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_component_id.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_component_id.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_location.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_location.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_location.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_location.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_voice.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_voice.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_voice.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_custom_dialog_voice.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_dialog.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_dialog.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_dialog.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_dialog.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_display.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_display.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_display.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_display.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_down_arrow.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_down_arrow.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_down_arrow.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_down_arrow.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_drag_event.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_drag_event.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_drag_event.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_drag_event.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_area_change.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_area_change.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_area_change.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_area_change.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_drag.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_drag.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_drag.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_drag.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_focus.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_focus.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_focus.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_focus.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_load_and_hide.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_load_and_hide.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_load_and_hide.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_load_and_hide.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_mouse.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_mouse.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_mouse.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_mouse.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_touch.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_event_touch.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_event_touch.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_event_touch.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_focus.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_focus.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_focus.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_focus.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_focus_event.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_focus_event.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_focus_event.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_focus_event.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_global_menu.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_global_menu.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_global_menu.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_global_menu.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_graphic_transformation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_graphic_transformation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_graphic_transformation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_graphic_transformation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_grid_setting.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_grid_setting.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_grid_setting.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_grid_setting.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_alt.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_image_alt.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_alt.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_image_alt.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_effects.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_image_effects.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_image_effects.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_image_effects.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_video_media.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_image_video_media.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_image_video_media.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_image_video_media.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_information_presentation_and_dynamic_effects.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_information_presentation_and_dynamic_effects.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_information_presentation_and_dynamic_effects.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_information_presentation_and_dynamic_effects.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_interaction.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_interaction.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_interaction.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_interaction.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_interpolation_calculation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_interpolation_calculation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_interpolation_calculation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_interpolation_calculation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_key_press.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_key_press.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_key_press.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_key_press.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_lifecycle.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_lifecycle.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_lifecycle.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_lifecycle.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_list.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_list.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_list.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_list.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_list_and_grid.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_list_and_grid.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_list_and_grid.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_list_and_grid.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_miaosha1.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_miaosha1.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_miaosha1.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_miaosha1.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_miaosha2.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_miaosha2.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_miaosha2.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_miaosha2.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_mount_event.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_mount_event.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_mount_event.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_mount_event.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_mouse_event.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_mouse_event.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_mouse_event.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_mouse_event.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_navigation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_navigation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_navigation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_navigation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_ok.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_ok.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_ok.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_ok.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_other.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_other.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_other.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_other.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_pen.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_pen.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_pen.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_pen.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_background.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_background.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_background.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_background.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_border.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_border.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_border.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_border.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_font.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_font.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_font.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_font.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_size.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_size.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_prop_size.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_prop_size.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_border.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_border.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_border.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_border.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_constraint.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_constraint.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_constraint.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_constraint.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_flex.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_flex.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_flex.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_flex.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_location.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_location.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_properties_location.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_properties_location.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_camera.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_public_camera.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_camera.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_public_camera.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_community_messages.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_public_community_messages.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_community_messages.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_public_community_messages.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_scan.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_public_scan.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_public_scan.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_public_scan.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_restore_id.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_restore_id.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_restore_id.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_restore_id.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_right_arrow.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_right_arrow.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_right_arrow.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_right_arrow.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_rows_and_columns.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_rows_and_columns.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_rows_and_columns.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_rows_and_columns.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery1.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery1.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery1.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery1.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery2.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery2.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery2.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery2.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery3.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery3.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery3.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery3.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery4.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery4.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scenery4.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_scenery4.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scroll_event.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_scroll_event.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_scroll_event.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_scroll_event.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_animation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_animation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_animation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_animation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_component.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_component.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_component.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_component.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_global.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_global.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_global.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_global.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_select_option_collection.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_collection.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_select_option_collection.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_collection.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_gesture.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_gesture.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_gesture.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_gesture.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_picture.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_picture.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_option_picture.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_option_picture.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_universal.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_select_universal.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_select_universal.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_select_universal.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_shape_crop.svg b/scenario/MyShopping/entry/src/main/resources/base/media/ic_shape_crop.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_shape_crop.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_shape_crop.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_stack_flex_and_grid.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_stack_flex_and_grid.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_stack_flex_and_grid.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_stack_flex_and_grid.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_tabbar_home.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_tabbar_home.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_tabbar_home.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_tabbar_home.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_text_and_input.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_text_and_input.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_text_and_input.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_text_and_input.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_transition_animation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_transition_animation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_transition_animation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_transition_animation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_animation.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_animation.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_animation.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_animation.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_component.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_component.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_component.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_component.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_global.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_global.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_global.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_global.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_universal.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_universal.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_unselect_universal.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_unselect_universal.png diff --git a/scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_user.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_user.png old mode 100755 new mode 100644 similarity index 100% rename from scenario/arkui/MyWps/entry/src/main/resources/base/media/ic_user.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_user.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_web.png b/scenario/MyShopping/entry/src/main/resources/base/media/ic_web.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/ic_web.png rename to scenario/MyShopping/entry/src/main/resources/base/media/ic_web.png diff --git a/scenario/MyShopping/entry/src/main/resources/base/media/icon.png b/scenario/MyShopping/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd45accb1dfd2fd0da16c732c72faa6e46b26521 GIT binary patch literal 2041 zcmaJ?c~nzZ9u6@;0AXaYAVN(;Kr(@>EJ+}skOWf=BA~*l4us@ELY9{%0m5QX6pnb} z(jZF|S&pLAS}3BZAfeQSvJ_h>F2Q1PYqi?o5`;m_yjZdG$1v}l_wK#F^L^iMz2}uD z#K$>1dON~kFlWvhW+Jp=tuN9J`ZlM-rl4h+ij|^D0y9;4JOuz-EdVnB6i3R-0ulk9 zApi4zAQA>!N9@-o026$1@L`d124`3G5<@_m`0f)Ug_Ie~;HT2q<_a=HH> zDwTdfD^-cW-|_xWVP$f@93UhDN-#&khZ>jZXLTi~$0`7x3REP6pk%&^2|`c>DutjN zMJD4Zs6Z}{FOpd;*mo2zm(GzXRXiCV;4m3zNCYnu3Fy=i5;2An&Lp!#LP;bRD~1&s z%VH6UY+}r6YDgG+p34OJIZ{BTn&%4s=CT&#TBkuOhdeU@g(w#guoa*b^)73=XyI65 z7Swys6)YS}?1EeZ6b!-I+yCnIya^g0>-NLsLWd8t56GZ_S3r|ZGbR+mV2ErEb9J)X zIF!njY-D-7{qtF2(?nlQ$0}!pzt=}hc*m%%)0Jb#N_K4@IC-`Pi5DahPZN7N9rH;ol;Gc*>-Go@gXKTM{eP)iJj6CYTIi}B#zLKZYD@_;m zrXmXXsFq@~ou-z!9bHoM8*(hwl>X(zm)TDcdkF4lZm$1jP*HbnD`o1$g}_R#+bu2D zr%7Y8KdsaC-V*aem5#@*M%r^GPgu%P2e-BnBClhP2yoGFe40>);=}>{NONtkXQ01p z)OX^t2Ojhddot9eg0WTIVSTNBa}7V-^_pO595w|Hx9q?k4dMp@$G7PK*TD=y;ck6J zdGRB!_RAI2nR3%tO1IkdWp*bw*?<=pM_LZb30?!oK)s;En( z!#nnd9=cXJ<}+e{XLdx(q3&ikJISe?eSHHohk+pz+$6Cv{ytvc{QXmMn2XQ9U8rvt zrJdAn(0gpSD@N=yTrI_2^P#*zQg7MTp1)k(lv(*(KtUR6@M|2WB>2wRwC-h=wk6XF zPtSes*_JwI+^d>xW489MJw5R6=t5?{R zc|E8i?RL@p9)A3ZJAQOg`}+F;<_vnWA!KxR#g%jZ@y_1Qu#Uw)kFPw_xmZ?a^e*1{ zM|ImtqA|(CaDQ@Fyvcof`MN66&VI6m6gAyAXx`%cDx6BI{Bj#}V*Rn1(b~;Am)D2u zX7(027IO?Z2VYK^1vXXpoZ@AtH~N?0rYWwtyA15`6vEf6fk&;o-L;7zFt`5nk*iOy z`<918zB+k;EytI$FAXug)jk*e@e};4e9g__w4A5ev!!)H$yC@{?vsRqJ##X1R%xPG z&_R3oDi$MtTkVqfPj)HEUDx_7wd!y{8#1%$U*Dd0sK@=#6+!XlsE-s^1f5E`R9Wo71^b~mbVdU;Fw0LG~mUQg;xsX4QYRo3B@rH_=ry>DE8ef!c2ta8UcI#26# zF|`*4wtMHe@%#eGZw`#Yj|QWuB`eRD)b~)r9mM95p_JVG%-IdcbIX5qG#GpGD+IrS zEqxb1Rg&Dadk5#7t4j68I1f!@A$efp1?I%&d*56)yl!tkz!14<$0Od_&6cGw$WW0r zjSlQA7l*6;vgfhv!cR|RmAD$+w6j`rVf=-?-D@q>kOseUVSb*~jbAS^*1h?ZL)n(9 zDa}`4etXO6`}9;{k5E^N{rcfnV_(LPwsDg``wtyS*V<19c3!PGJ3Kqy9ksvkwbJ%Z z*N(fT0{e*Wji-Ck5!3YE0j|PZ@&z`v=kitWL$bqSt!e4bH!+(|Q)CZ30^nVPfkx{s zX{6of`p=BiPb@u@IyL!tRk>?qgBqCmo-Zlt!636g?z`s~zdfwuB7DXZHvV`Usp+%Z zo*&;Biu@MHE&2j+?j^o`Cr12u<>vOe=a&8a2hlcmFjJiDR>XnD4c4DAhZWCkiAgW{ E51q9-lK=n! literal 0 HcmV?d00001 diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_1.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_1.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_1.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_1.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_10.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_10.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_10.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_10.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_2.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_2.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_2.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_2.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_3.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_3.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_3.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_3.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_4.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_4.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_4.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_4.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_5.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_5.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_5.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_5.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_6.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_6.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_6.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_6.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_7.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_7.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_7.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_7.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_8.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_8.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_8.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_8.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_9.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_animator_9.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_animator_9.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_animator_9.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_show_test.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/image_show_test.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/image_show_test.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/image_show_test.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_love.svg b/scenario/MyShopping/entry/src/main/resources/base/media/img_love.svg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_love.svg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_love.svg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_1.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/img_test_1.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_1.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_test_1.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_2.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/img_test_2.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_2.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_test_2.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_3.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/img_test_3.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_3.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_test_3.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_4.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/img_test_4.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_4.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_test_4.jpg diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_5.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/img_test_5.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/img_test_5.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/img_test_5.jpg diff --git a/scenario/MyShopping/entry/src/main/resources/base/media/startIcon.png b/scenario/MyShopping/entry/src/main/resources/base/media/startIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..366f76459ffd4494ec40d0ddd5c59385b9c5da11 GIT binary patch literal 4351 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 literal 0 HcmV?d00001 diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/test01.png b/scenario/MyShopping/entry/src/main/resources/base/media/test01.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/test01.png rename to scenario/MyShopping/entry/src/main/resources/base/media/test01.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/test02.png b/scenario/MyShopping/entry/src/main/resources/base/media/test02.png similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/test02.png rename to scenario/MyShopping/entry/src/main/resources/base/media/test02.png diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/base/media/test_image.jpg b/scenario/MyShopping/entry/src/main/resources/base/media/test_image.jpg similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/base/media/test_image.jpg rename to scenario/MyShopping/entry/src/main/resources/base/media/test_image.jpg diff --git a/scenario/MyShopping/entry/src/main/resources/base/profile/main_pages.json b/scenario/MyShopping/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 000000000..1898d94f5 --- /dev/null +++ b/scenario/MyShopping/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/en_US/element/string.json b/scenario/MyShopping/entry/src/main/resources/en_US/element/string.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/en_US/element/string.json rename to scenario/MyShopping/entry/src/main/resources/en_US/element/string.json diff --git a/scenario/arkui/MyShopping/entry/src/main/resources/zh_CN/element/string.json b/scenario/MyShopping/entry/src/main/resources/zh_CN/element/string.json similarity index 100% rename from scenario/arkui/MyShopping/entry/src/main/resources/zh_CN/element/string.json rename to scenario/MyShopping/entry/src/main/resources/zh_CN/element/string.json diff --git a/scenario/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets b/scenario/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 000000000..8aa374977 --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import hilog from '@ohos.hilog'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/List.test.ets b/scenario/MyShopping/entry/src/ohosTest/ets/test/List.test.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/List.test.ets rename to scenario/MyShopping/entry/src/ohosTest/ets/test/List.test.ets diff --git a/scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/uiTestSuites/home.test.ets b/scenario/MyShopping/entry/src/ohosTest/ets/test/uiTestSuites/home.test.ets similarity index 100% rename from scenario/arkui/MyShopping/entry/src/ohosTest/ets/test/uiTestSuites/home.test.ets rename to scenario/MyShopping/entry/src/ohosTest/ets/test/uiTestSuites/home.test.ets diff --git a/scenario/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets b/scenario/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 000000000..9484761cc --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,50 @@ +import UIAbility from '@ohos.app.ability.UIAbility'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import hilog from '@ohos.hilog'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import window from '@ohos.window'; +import Want from '@ohos.app.ability.Want'; +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; + +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onCreate'); + hilog.info(0x0000, 'testTag', '%{public}s', 'want param:' + JSON.stringify(want) ?? ''); + hilog.info(0x0000, 'testTag', '%{public}s', 'launchParam:' + JSON.stringify(launchParam) ?? ''); + let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets b/scenario/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 000000000..423b4276e --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,17 @@ +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets b/scenario/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets new file mode 100644 index 000000000..917d27a5e --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets @@ -0,0 +1,47 @@ +import hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import Want from '@ohos.app.ability.Want'; + +let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator | undefined = undefined +let abilityDelegatorArguments: AbilityDelegatorRegistry.AbilityDelegatorArgs | undefined = undefined + +async function onAbilityCreateCallback() { + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err : Error) { + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + const bundleName = abilityDelegatorArguments.bundleName; + const testAbilityName = 'TestAbility'; + let lMonitor: AbilityDelegatorRegistry.AbilityMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback) + const want: Want = { + bundleName: bundleName, + abilityName: testAbilityName + }; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + abilityDelegator.startAbility(want, (err, data) => { + hilog.info(0x0000, 'testTag', 'startAbility : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'startAbility : data : %{public}s',JSON.stringify(data) ?? ''); + }) + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/src/ohosTest/module.json5 b/scenario/MyShopping/entry/src/ohosTest/module.json5 new file mode 100644 index 000000000..4fc970170 --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "exported": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/scenario/MyShopping/entry/src/ohosTest/resources/base/element/color.json b/scenario/MyShopping/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/src/ohosTest/resources/base/element/string.json b/scenario/MyShopping/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 000000000..65d8fa5a7 --- /dev/null +++ b/scenario/MyShopping/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + } + ] +} \ No newline at end of file diff --git a/scenario/MyShopping/entry/src/ohosTest/resources/base/media/icon.png b/scenario/MyShopping/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }); + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }); + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }); + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }); + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }); + }); +} \ No newline at end of file diff --git a/scenario/MyShopping/hvigorfile.ts b/scenario/MyShopping/hvigorfile.ts new file mode 100644 index 000000000..f3cb9f1a8 --- /dev/null +++ b/scenario/MyShopping/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/scenario/MyShopping/hvigorw b/scenario/MyShopping/hvigorw new file mode 100644 index 000000000..ff6a29a2a --- /dev/null +++ b/scenario/MyShopping/hvigorw @@ -0,0 +1,48 @@ +#!/bin/bash + +# ---------------------------------------------------------------------------- +# Hvigor startup script, version 1.0.0 +# +# Required ENV vars: +# ------------------ +# NODE_HOME - location of a Node home dir +# or +# Add /usr/local/nodejs/bin to the PATH environment variable +# ---------------------------------------------------------------------------- + +HVIGOR_APP_HOME="`pwd -P`" +HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js +warn() { + echo "" + echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +error() { + echo "" + echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +fail() { + error "$@" + exit 1 +} + +# Determine node to start hvigor wrapper script +if [ -n "${NODE_HOME}" ];then + EXECUTABLE_NODE="${NODE_HOME}/bin/node" + if [ ! -x "$EXECUTABLE_NODE" ];then + fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed" + fi +else + EXECUTABLE_NODE="node" + which ${EXECUTABLE_NODE} > /dev/null 2>&1 || fail "ERROR: NODE_HOME is not set and not 'node' command found in your path" +fi + +# Check hvigor wrapper script +if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ];then + fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}" +fi + +# start hvigor-wrapper script +exec "${EXECUTABLE_NODE}" \ + "${HVIGOR_WRAPPER_SCRIPT}" "$@" diff --git a/scenario/MyShopping/hvigorw.bat b/scenario/MyShopping/hvigorw.bat new file mode 100644 index 000000000..d570007e8 --- /dev/null +++ b/scenario/MyShopping/hvigorw.bat @@ -0,0 +1,64 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Hvigor startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +set WRAPPER_MODULE_PATH=%APP_HOME%\hvigor\hvigor-wrapper.js +set NODE_EXE=node.exe + +goto start + +:start +@rem Find node.exe +if defined NODE_HOME goto findNodeFromNodeHome + +%NODE_EXE% --version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:findNodeFromNodeHome +set NODE_HOME=%NODE_HOME:"=% +set NODE_EXE_PATH=%NODE_HOME%/%NODE_EXE% + +if exist "%NODE_EXE_PATH%" goto execute +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:execute +@rem Execute hvigor +"%NODE_EXE%" "%WRAPPER_MODULE_PATH%" %* + +if "%ERRORLEVEL%" == "0" goto hvigorwEnd + +:fail +exit /b 1 + +:hvigorwEnd +if "%OS%" == "Windows_NT" endlocal + +:end diff --git a/scenario/arkui/MyShopping/oh-package.json5 b/scenario/MyShopping/oh-package.json5 similarity index 100% rename from scenario/arkui/MyShopping/oh-package.json5 rename to scenario/MyShopping/oh-package.json5 diff --git a/scenario/arkui/MyShopping/screenshots/shoppingApp.jpg b/scenario/MyShopping/screenshots/shoppingApp.jpg similarity index 100% rename from scenario/arkui/MyShopping/screenshots/shoppingApp.jpg rename to scenario/MyShopping/screenshots/shoppingApp.jpg diff --git a/scenario/arkuiTest/ostest.py b/scenario/ostest.py similarity index 100% rename from scenario/arkuiTest/ostest.py rename to scenario/ostest.py -- Gitee