From 0e9d84ac20550b06f0ff30e4e705b82c6b706c86 Mon Sep 17 00:00:00 2001 From: liuyang Date: Mon, 30 May 2022 17:37:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?indicator=20bottom=E5=80=BC=E6=94=B9vp2px(5?= =?UTF-8?q?0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuyang --- .../main/ets/default/common/constants/FolderStyleConstants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts b/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts index b09aa632..f185331d 100644 --- a/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts +++ b/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts @@ -50,7 +50,7 @@ export default class FolderStyleConstants { static readonly DEFAULT_OPEN_FOLDER_NAVIGATION = 0; static readonly DEFAULT_OPEN_FOLDER_PHONE_HEIGHT = 524; static readonly DEFAULT_OPEN_FOLDER_PHONE_ICON = 85; - static readonly DEFAULT_OPEN_FOLDER_INDICATOR = 150; + static readonly DEFAULT_OPEN_FOLDER_INDICATOR = vp2px(50); static readonly DEFAULT_DIALOG_OPACITY = 0.95; static readonly DEFAULT_OPEN_FOLDER_CANCEL_WIDTH = '85%'; static readonly DEFAULT_OPEN_FOLDER_CANCEL_HEIGHT = '40%'; -- Gitee From dda008296ca31fdd8043a9f121898cf994f7d95f Mon Sep 17 00:00:00 2001 From: liuyang Date: Mon, 30 May 2022 19:17:14 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9indicator=20bottom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuyang --- .../main/ets/default/common/constants/FolderStyleConstants.ts | 2 +- .../bigfolder/src/main/ets/default/view/FolderOpenComponent.ets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts b/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts index f185331d..392da677 100644 --- a/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts +++ b/feature/bigfolder/src/main/ets/default/common/constants/FolderStyleConstants.ts @@ -50,7 +50,7 @@ export default class FolderStyleConstants { static readonly DEFAULT_OPEN_FOLDER_NAVIGATION = 0; static readonly DEFAULT_OPEN_FOLDER_PHONE_HEIGHT = 524; static readonly DEFAULT_OPEN_FOLDER_PHONE_ICON = 85; - static readonly DEFAULT_OPEN_FOLDER_INDICATOR = vp2px(50); + static readonly DEFAULT_OPEN_FOLDER_INDICATOR = 50; static readonly DEFAULT_DIALOG_OPACITY = 0.95; static readonly DEFAULT_OPEN_FOLDER_CANCEL_WIDTH = '85%'; static readonly DEFAULT_OPEN_FOLDER_CANCEL_HEIGHT = '40%'; diff --git a/feature/bigfolder/src/main/ets/default/view/FolderOpenComponent.ets b/feature/bigfolder/src/main/ets/default/view/FolderOpenComponent.ets index ad43fdb4..14b00873 100644 --- a/feature/bigfolder/src/main/ets/default/view/FolderOpenComponent.ets +++ b/feature/bigfolder/src/main/ets/default/view/FolderOpenComponent.ets @@ -240,7 +240,7 @@ export default struct FolderOpenComponent { } .indicatorStyle({ selectedColor: StyleConstants.DEFAULT_FONT_COLOR, - bottom: FolderStyleConstants.DEFAULT_OPEN_FOLDER_INDICATOR + bottom: vp2px(FolderStyleConstants.DEFAULT_OPEN_FOLDER_INDICATOR) }) .onClick(() => { Log.showDebug(TAG, `Swiper click`); -- Gitee From b5317ca88b65ce91c2bd91b2e3bdcddd7d088ba0 Mon Sep 17 00:00:00 2001 From: nobbo Date: Sat, 30 Jul 2022 14:20:02 +0800 Subject: [PATCH 3/4] dds Signed-off-by: nobbo --- dsf/product/pad/build-profile.json5 | 11 + dsf/product/pad/hvigorfile.js | 17 ++ dsf/product/pad/package-lock.json | 32 +++ dsf/product/pad/package.json | 20 ++ .../src/main/ets/Application/AbilityStage.ts | 25 ++ .../src/main/ets/MainAbility/MainAbility.ts | 95 +++++++ .../ets/common/LauncherLayoutPreLoader.ts | 41 +++ .../main/ets/common/PadFolderLayoutConfig.ts | 42 +++ .../main/ets/common/PadFormLayoutConfig.ts | 43 +++ .../common/PadLauncherLayoutStyleConfig.ts | 253 +++++++++++++++++ .../common/PadPageDesktopGridStyleConfig.ts | 88 ++++++ .../ets/common/PadSmartDockLayoutConfig.ts | 41 +++ .../pad/src/main/ets/common/PadStage.ts | 69 +++++ .../pad/src/main/ets/common/PresetDockItem.ts | 49 ++++ .../ets/common/configs/PadFolderLayoutInfo.ts | 47 ++++ .../ets/common/configs/PadFormLayoutInfo.ts | 56 ++++ .../common/constants/PadPresentConstants.ts | 224 +++++++++++++++ .../ets/common/constants/StyleConstants.ts | 24 ++ .../main/ets/common/pics/ic_form_mgr_back.png | Bin 0 -> 3796 bytes .../main/ets/common/pics/ic_public_add.svg | 13 + .../ets/common/pics/ic_public_add_black.svg | 13 + .../ets/common/pics/ic_public_add_norm.svg | 13 + .../main/ets/common/pics/ic_public_app.svg | 13 + .../main/ets/common/pics/ic_public_cancel.svg | 13 + .../main/ets/common/pics/ic_public_copy.svg | 13 + .../main/ets/common/pics/ic_public_delete.svg | 13 + .../ets/common/pics/ic_public_delete_full.svg | 13 + .../main/ets/common/pics/ic_public_edit.svg | 13 + .../main/ets/common/pics/ic_public_lock.svg | 13 + .../main/ets/common/pics/ic_public_remove.svg | 13 + .../ets/common/pics/ic_public_settings.svg | 13 + .../src/main/ets/common/pics/ic_rename.svg | 13 + .../ets/common/pics/ic_wallpaper_recent.jpg | Bin 0 -> 245066 bytes .../ets/common/pics/img_wallpaper_default.jpg | Bin 0 -> 1212176 bytes .../pad/src/main/ets/common/recentEvent.ts | 57 ++++ .../pad/src/main/ets/pages/AppCenterView.ets | 120 ++++++++ .../pad/src/main/ets/pages/EmptyPage.ets | 29 ++ .../pad/src/main/ets/pages/EntryView.ets | 196 +++++++++++++ .../pad/src/main/ets/pages/RecentView.ets | 93 ++++++ dsf/product/pad/src/main/module.json5 | 60 ++++ .../main/resources/base/element/color.json | 28 ++ .../main/resources/base/element/float.json | 8 + .../main/resources/base/element/string.json | 176 ++++++++++++ .../main/resources/base/media/ic_allapps.png | Bin 0 -> 57702 bytes .../resources/base/media/ic_multitask.png | Bin 0 -> 18612 bytes .../base/media/ic_public_arrow_left.png | Bin 0 -> 304 bytes .../base/media/ic_public_arrow_right.png | Bin 0 -> 299 bytes .../resources/base/media/ic_public_cancel.svg | 13 + .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/media/img_app_default.png | Bin 0 -> 8303 bytes .../resources/base/profile/main_pages.json | 8 + .../main/resources/en_US/element/string.json | 168 +++++++++++ .../main/resources/zh_CN/element/string.json | 176 ++++++++++++ dsf/product/phone/build-profile.json5 | 11 + dsf/product/phone/hvigorfile.js | 17 ++ dsf/product/phone/package-lock.json | 32 +++ dsf/product/phone/package.json | 20 ++ .../src/main/ets/Application/AbilityStage.ts | 25 ++ .../src/main/ets/MainAbility/MainAbility.ts | 80 ++++++ .../ets/common/LauncherLayoutPreLoader.ts | 41 +++ .../ets/common/PhoneFolderLayoutConfig.ts | 43 +++ .../main/ets/common/PhoneFormLayoutConfig.ts | 43 +++ .../common/PhoneLauncherLayoutStyleConfig.ts | 265 ++++++++++++++++++ .../common/PhonePageDesktopGridStyleConfig.ts | 83 ++++++ .../main/ets/common/PhonePresetDockItem.ts | 45 +++ .../ets/common/PhoneSmartDockLayoutConfig.ts | 40 +++ .../ets/common/PhoneSmartDockStyleConfig.ts | 94 +++++++ .../phone/src/main/ets/common/PhoneStage.ts | 69 +++++ .../phone/src/main/ets/common/RecentEvent.ts | 56 ++++ .../ets/common/configs/DefaultLayoutConfig.ts | 20 ++ .../common/configs/PhoneFolderLayoutInfo.ts | 47 ++++ .../ets/common/configs/PhoneFormLayoutInfo.ts | 56 ++++ .../constants/PhonePresetStyleConstants.ts | 229 +++++++++++++++ .../ets/common/constants/StyleConstants.ts | 22 ++ .../main/ets/common/pics/ic_form_mgr_back.png | Bin 0 -> 3796 bytes .../main/ets/common/pics/ic_public_add.svg | 13 + .../ets/common/pics/ic_public_add_black.svg | 13 + .../ets/common/pics/ic_public_add_norm.svg | 13 + .../main/ets/common/pics/ic_public_app.svg | 13 + .../main/ets/common/pics/ic_public_cancel.svg | 13 + .../main/ets/common/pics/ic_public_copy.svg | 13 + .../main/ets/common/pics/ic_public_delete.svg | 13 + .../ets/common/pics/ic_public_delete_full.svg | 13 + .../main/ets/common/pics/ic_public_edit.svg | 18 ++ .../main/ets/common/pics/ic_public_lock.svg | 13 + .../main/ets/common/pics/ic_public_remove.svg | 13 + .../ets/common/pics/ic_public_settings.svg | 13 + .../src/main/ets/common/pics/ic_rename.svg | 13 + .../common/pics/ic_wallpaper_form_manager.jpg | Bin 0 -> 245066 bytes .../ets/common/pics/ic_wallpaper_recent.jpg | Bin 0 -> 245066 bytes .../phone/src/main/ets/common/pics/icon.png | Bin 0 -> 6790 bytes .../ets/common/pics/img_wallpaper_default.jpg | Bin 0 -> 1212176 bytes .../phone/src/main/ets/pages/EmptyPage.ets | 29 ++ .../phone/src/main/ets/pages/EntryView.ets | 169 +++++++++++ .../src/main/ets/pages/FormManagerView.ets | 49 ++++ .../phone/src/main/ets/pages/RecentView.ets | 86 ++++++ dsf/product/phone/src/main/module.json5 | 60 ++++ .../main/resources/base/element/string.json | 176 ++++++++++++ .../base/media/ic_public_arrow_left.png | Bin 0 -> 304 bytes .../base/media/ic_public_arrow_right.png | Bin 0 -> 299 bytes .../resources/base/media/ic_public_cancel.svg | 13 + .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/media/img_app_default.png | Bin 0 -> 8303 bytes .../resources/base/profile/main_pages.json | 8 + .../main/resources/en_US/element/string.json | 176 ++++++++++++ .../main/resources/rawfile/layoutInfo.json | 9 + .../main/resources/zh_CN/element/string.json | 180 ++++++++++++ 107 files changed, 4945 insertions(+) create mode 100644 dsf/product/pad/build-profile.json5 create mode 100644 dsf/product/pad/hvigorfile.js create mode 100644 dsf/product/pad/package-lock.json create mode 100644 dsf/product/pad/package.json create mode 100644 dsf/product/pad/src/main/ets/Application/AbilityStage.ts create mode 100644 dsf/product/pad/src/main/ets/MainAbility/MainAbility.ts create mode 100644 dsf/product/pad/src/main/ets/common/LauncherLayoutPreLoader.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadFolderLayoutConfig.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadFormLayoutConfig.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadLauncherLayoutStyleConfig.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadPageDesktopGridStyleConfig.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadSmartDockLayoutConfig.ts create mode 100644 dsf/product/pad/src/main/ets/common/PadStage.ts create mode 100644 dsf/product/pad/src/main/ets/common/PresetDockItem.ts create mode 100644 dsf/product/pad/src/main/ets/common/configs/PadFolderLayoutInfo.ts create mode 100644 dsf/product/pad/src/main/ets/common/configs/PadFormLayoutInfo.ts create mode 100644 dsf/product/pad/src/main/ets/common/constants/PadPresentConstants.ts create mode 100644 dsf/product/pad/src/main/ets/common/constants/StyleConstants.ts create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_form_mgr_back.png create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_add.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_add_black.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_add_norm.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_app.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_cancel.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_copy.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_delete.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_delete_full.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_edit.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_lock.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_remove.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_public_settings.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_rename.svg create mode 100644 dsf/product/pad/src/main/ets/common/pics/ic_wallpaper_recent.jpg create mode 100644 dsf/product/pad/src/main/ets/common/pics/img_wallpaper_default.jpg create mode 100644 dsf/product/pad/src/main/ets/common/recentEvent.ts create mode 100644 dsf/product/pad/src/main/ets/pages/AppCenterView.ets create mode 100644 dsf/product/pad/src/main/ets/pages/EmptyPage.ets create mode 100644 dsf/product/pad/src/main/ets/pages/EntryView.ets create mode 100644 dsf/product/pad/src/main/ets/pages/RecentView.ets create mode 100644 dsf/product/pad/src/main/module.json5 create mode 100644 dsf/product/pad/src/main/resources/base/element/color.json create mode 100644 dsf/product/pad/src/main/resources/base/element/float.json create mode 100644 dsf/product/pad/src/main/resources/base/element/string.json create mode 100644 dsf/product/pad/src/main/resources/base/media/ic_allapps.png create mode 100644 dsf/product/pad/src/main/resources/base/media/ic_multitask.png create mode 100644 dsf/product/pad/src/main/resources/base/media/ic_public_arrow_left.png create mode 100644 dsf/product/pad/src/main/resources/base/media/ic_public_arrow_right.png create mode 100644 dsf/product/pad/src/main/resources/base/media/ic_public_cancel.svg create mode 100644 dsf/product/pad/src/main/resources/base/media/icon.png create mode 100644 dsf/product/pad/src/main/resources/base/media/img_app_default.png create mode 100644 dsf/product/pad/src/main/resources/base/profile/main_pages.json create mode 100644 dsf/product/pad/src/main/resources/en_US/element/string.json create mode 100644 dsf/product/pad/src/main/resources/zh_CN/element/string.json create mode 100644 dsf/product/phone/build-profile.json5 create mode 100644 dsf/product/phone/hvigorfile.js create mode 100644 dsf/product/phone/package-lock.json create mode 100644 dsf/product/phone/package.json create mode 100644 dsf/product/phone/src/main/ets/Application/AbilityStage.ts create mode 100644 dsf/product/phone/src/main/ets/MainAbility/MainAbility.ts create mode 100644 dsf/product/phone/src/main/ets/common/LauncherLayoutPreLoader.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneFolderLayoutConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneFormLayoutConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneLauncherLayoutStyleConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhonePageDesktopGridStyleConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhonePresetDockItem.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneSmartDockLayoutConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneSmartDockStyleConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/PhoneStage.ts create mode 100644 dsf/product/phone/src/main/ets/common/RecentEvent.ts create mode 100644 dsf/product/phone/src/main/ets/common/configs/DefaultLayoutConfig.ts create mode 100644 dsf/product/phone/src/main/ets/common/configs/PhoneFolderLayoutInfo.ts create mode 100644 dsf/product/phone/src/main/ets/common/configs/PhoneFormLayoutInfo.ts create mode 100644 dsf/product/phone/src/main/ets/common/constants/PhonePresetStyleConstants.ts create mode 100644 dsf/product/phone/src/main/ets/common/constants/StyleConstants.ts create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_form_mgr_back.png create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_add.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_add_black.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_add_norm.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_app.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_cancel.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_copy.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_delete.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_delete_full.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_edit.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_lock.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_remove.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_public_settings.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_rename.svg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_wallpaper_form_manager.jpg create mode 100644 dsf/product/phone/src/main/ets/common/pics/ic_wallpaper_recent.jpg create mode 100644 dsf/product/phone/src/main/ets/common/pics/icon.png create mode 100644 dsf/product/phone/src/main/ets/common/pics/img_wallpaper_default.jpg create mode 100644 dsf/product/phone/src/main/ets/pages/EmptyPage.ets create mode 100644 dsf/product/phone/src/main/ets/pages/EntryView.ets create mode 100644 dsf/product/phone/src/main/ets/pages/FormManagerView.ets create mode 100644 dsf/product/phone/src/main/ets/pages/RecentView.ets create mode 100644 dsf/product/phone/src/main/module.json5 create mode 100644 dsf/product/phone/src/main/resources/base/element/string.json create mode 100644 dsf/product/phone/src/main/resources/base/media/ic_public_arrow_left.png create mode 100644 dsf/product/phone/src/main/resources/base/media/ic_public_arrow_right.png create mode 100644 dsf/product/phone/src/main/resources/base/media/ic_public_cancel.svg create mode 100644 dsf/product/phone/src/main/resources/base/media/icon.png create mode 100644 dsf/product/phone/src/main/resources/base/media/img_app_default.png create mode 100644 dsf/product/phone/src/main/resources/base/profile/main_pages.json create mode 100644 dsf/product/phone/src/main/resources/en_US/element/string.json create mode 100644 dsf/product/phone/src/main/resources/rawfile/layoutInfo.json create mode 100644 dsf/product/phone/src/main/resources/zh_CN/element/string.json diff --git a/dsf/product/pad/build-profile.json5 b/dsf/product/pad/build-profile.json5 new file mode 100644 index 00000000..3f685bd2 --- /dev/null +++ b/dsf/product/pad/build-profile.json5 @@ -0,0 +1,11 @@ +{ + "apiType": 'stageMode', + "buildOption": { + "arkEnable": true + }, + "targets": [ + { + "name": "default", + } + ] +} \ No newline at end of file diff --git a/dsf/product/pad/hvigorfile.js b/dsf/product/pad/hvigorfile.js new file mode 100644 index 00000000..fdb4fcea --- /dev/null +++ b/dsf/product/pad/hvigorfile.js @@ -0,0 +1,17 @@ +/** + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently. +module.exports = require('@ohos/hvigor-ohos-plugin').hapTasks diff --git a/dsf/product/pad/package-lock.json b/dsf/product/pad/package-lock.json new file mode 100644 index 00000000..5903664b --- /dev/null +++ b/dsf/product/pad/package-lock.json @@ -0,0 +1,32 @@ +{ + "name": "launcher", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "appcenter": { + "version": "file:../../feature/appcenter" + }, + "bigfolder": { + "version": "file:../../feature/bigfolder" + }, + "common": { + "version": "file:../../common" + }, + "form": { + "version": "file:../../feature/form" + }, + "gesturenavigation": { + "version": "file:../../feature/gesturenavigation" + }, + "pagedesktop": { + "version": "file:../../feature/pagedesktop" + }, + "recents": { + "version": "file:../../feature/recents" + }, + "smartdock": { + "version": "file:../../feature/smartdock" + } + } +} diff --git a/dsf/product/pad/package.json b/dsf/product/pad/package.json new file mode 100644 index 00000000..f8db29c3 --- /dev/null +++ b/dsf/product/pad/package.json @@ -0,0 +1,20 @@ +{ + "devDependencies": {}, + "name": "launcher", + "ohos": { + "org": "huawei", + "directoryLevel": "module", + "buildTool": "hvigor" + }, + "version": "1.0.0", + "dependencies": { + "bigfolder": "file:../../feature/bigfolder", + "common": "file:../../common", + "form": "file:../../feature/form", + "appcenter": "file:../../feature/appcenter", + "smartdock": "file:../../feature/smartdock", + "recents": "file:../../feature/recents", + "pagedesktop": "file:../../feature/pagedesktop", + "gesturenavigation": "file:../../feature/gesturenavigation" + } +} diff --git a/dsf/product/pad/src/main/ets/Application/AbilityStage.ts b/dsf/product/pad/src/main/ets/Application/AbilityStage.ts new file mode 100644 index 00000000..016eb934 --- /dev/null +++ b/dsf/product/pad/src/main/ets/Application/AbilityStage.ts @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import AbilityStage from '@ohos.application.AbilityStage'; +import Log from '../../../../../../common/src/main/ets/default/utils/Log'; + +const TAG = 'Launcher MyAbilityStage'; + +export default class MyAbilityStage extends AbilityStage { + onCreate(): void { + Log.showInfo(TAG, 'onCreate is called'); + } +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/MainAbility/MainAbility.ts b/dsf/product/pad/src/main/ets/MainAbility/MainAbility.ts new file mode 100644 index 00000000..6625b79c --- /dev/null +++ b/dsf/product/pad/src/main/ets/MainAbility/MainAbility.ts @@ -0,0 +1,95 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import ServiceExtension from '@ohos.application.ServiceExtensionAbility'; +import display from '@ohos.display'; +import Want from '@ohos.application.Want'; +import RdbStoreManager from '../../../../../../common/src/main/ets/default/manager/RdbStoreManager'; +import windowManager from '../../../../../../common/src/main/ets/default/manager/WindowManager'; +import Log from '../../../../../../common/src/main/ets/default/utils/Log'; +import GestureNavigationManage from '../../../../../../feature/gesturenavigation/src/main/ets/default/common/GestureNavigationManage'; +import StyleConstants from '../common/constants/StyleConstants'; + +const TAG = 'LauncherMainAbility'; + +export default class MainAbility extends ServiceExtension { + onCreate(want: Want): void { + Log.showInfo(TAG,'onCreate start'); + this.initLauncher(); + } + + async initLauncher(): Promise { + // init Launcehr context + globalThis.desktopContext = this.context; + + // init global const + this.initGlobalConst(); + + // init Gesture navigation + this.startGestureNavigation(); + + // init rdb + let dbStore = RdbStoreManager.getInstance(); + await dbStore.initRdbConfig(); + await dbStore.createTable(); + + // create Launcher entry view + windowManager.createWindow(globalThis.desktopContext, windowManager.DESKTOP_WINDOW_NAME, + windowManager.DESKTOP_RANK, 'pages/EntryView'); + } + + private initGlobalConst(): void { + // init create window global function + globalThis.createWindowWithName = ((windowName: string, windowRank: number) => { + Log.showInfo(TAG, `createWindowWithName begin windowName: ${windowName}`); + windowManager.createWindowIfAbsent(globalThis.desktopContext, windowName, windowRank, 'pages/' + windowName); + }); + } + + private startGestureNavigation(): void { + const gestureNavigationManage = GestureNavigationManage.getInstance(); + display.getDefaultDisplay() + .then((dis: { id: number, width: number, height: number, refreshRate: number }) => { + Log.showInfo(TAG, `startGestureNavigation display: ${JSON.stringify(dis)}`); + gestureNavigationManage.initWindowSize(dis); + }); + } + + onDestroy(): void { + windowManager.destroyWindow(windowManager.DESKTOP_WINDOW_NAME); + windowManager.destroyWindow(windowManager.RECENT_WINDOW_NAME); + windowManager.destroyWindow(windowManager.APP_CENTER_WINDOW_NAME); + Log.showInfo(TAG, 'onDestroy success'); + } + + onRequest(want: Want, startId: number): void { + Log.showInfo(TAG,`onRequest, want: ${want.abilityName}`); + windowManager.minimizeAllApps(); + windowManager.hideWindow(windowManager.RECENT_WINDOW_NAME); + windowManager.hideWindow(windowManager.APP_CENTER_WINDOW_NAME); + this.closeFolder(); + this.closeRecentDockPopup(); + } + + private closeFolder(): void { + AppStorage.SetOrCreate('openFolderPageIndex', StyleConstants.DEFAULT_NUMBER_0); + AppStorage.SetOrCreate('openFolderStatus', StyleConstants.DEFAULT_NUMBER_0); + } + + private closeRecentDockPopup(): void { + let num: number = AppStorage.Get('sysUiRecentOnClickEvent'); + AppStorage.SetOrCreate('sysUiRecentOnClickEvent', ++num); + } +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/LauncherLayoutPreLoader.ts b/dsf/product/pad/src/main/ets/common/LauncherLayoutPreLoader.ts new file mode 100644 index 00000000..629e629b --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/LauncherLayoutPreLoader.ts @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import BaseModulePreLoader from '../../../../../../common/src/main/ets/default/base/BaseModulePreLoader'; +import LayoutConfigManager from '../../../../../../common/src/main/ets/default/layoutconfig/LayoutConfigManager'; +import LayoutViewModel from '../../../../../../common/src/main/ets/default/viewmodel/LayoutViewModel'; +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import PadLauncherLayoutStyleConfig from './PadLauncherLayoutStyleConfig'; + +/** + * Load desktop layout configurations. + */ +class LauncherLayoutPreLoader extends BaseModulePreLoader { + protected loadConfig(): void { + LayoutConfigManager.addConfigToManager(PadLauncherLayoutStyleConfig.getInstance()); + } + + protected loadData(): void { + LayoutViewModel.getInstance().setDevice(CommonConstants.PAD_DEVICE_TYPE); + } + + public releaseConfigAndData(): void { + LayoutConfigManager.removeConfigFromManager(); + } +} + +let launcherLayoutPreLoader = new LauncherLayoutPreLoader(); + +export default launcherLayoutPreLoader; diff --git a/dsf/product/pad/src/main/ets/common/PadFolderLayoutConfig.ts b/dsf/product/pad/src/main/ets/common/PadFolderLayoutConfig.ts new file mode 100644 index 00000000..1c7ff172 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadFolderLayoutConfig.ts @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import FolderLayoutConfig from '../../../../../../common/src/main/ets/default/layoutconfig/FolderLayoutConfig'; +import padFolderLayoutInfo from './configs/PadFolderLayoutInfo'; + +/** + * Pad Folder layout configuration + */ +export default class PadFolderLayoutConfig extends FolderLayoutConfig { + protected constructor() { + super(); + this.mFolderLayoutInfo = padFolderLayoutInfo; + } + + /** + * Get folder layout configuration instance + */ + static getInstance(): PadFolderLayoutConfig { + if (globalThis.PadFolderLayoutConfig == null) { + globalThis.PadFolderLayoutConfig = new PadFolderLayoutConfig(); + } + return globalThis.PadFolderLayoutConfig; + } + + getConfigLevel(): string { + return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; + } +} diff --git a/dsf/product/pad/src/main/ets/common/PadFormLayoutConfig.ts b/dsf/product/pad/src/main/ets/common/PadFormLayoutConfig.ts new file mode 100644 index 00000000..9261dfc3 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadFormLayoutConfig.ts @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import FormLayoutConfig from '../../../../../../common/src/main/ets/default/layoutconfig/FormLayoutConfig'; +import padFormLayoutInfo from './configs/PadFormLayoutInfo'; + +/** + * Pad form layout configuration + */ +export default class PadFormLayoutConfig extends FormLayoutConfig { + protected constructor() { + super(); + this.mFormLayoutInfo = padFormLayoutInfo; + } + + /** + * Get form layout configuration instance + */ + static getInstance(): PadFormLayoutConfig { + if (globalThis.PadFormLayoutConfig == null) { + globalThis.PadFormLayoutConfig = new PadFormLayoutConfig(); + globalThis.PadFormLayoutConfig.initConfig(); + } + return globalThis.PadFormLayoutConfig; + } + + getConfigLevel(): string { + return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; + } +} diff --git a/dsf/product/pad/src/main/ets/common/PadLauncherLayoutStyleConfig.ts b/dsf/product/pad/src/main/ets/common/PadLauncherLayoutStyleConfig.ts new file mode 100644 index 00000000..7429cb92 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadLauncherLayoutStyleConfig.ts @@ -0,0 +1,253 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import PresetStyleConstants from '../../../../../../common/src/main/ets/default/constants/PresetStyleConstants'; +import LauncherLayoutStyleConfig from '../../../../../../common/src/main/ets/default/layoutconfig/LauncherLayoutStyleConfig'; +import PadPresetStyleConstants from './constants/PadPresentConstants'; + +/** + * Pad launcher config + */ +export default class PadLauncherLayoutStyleConfig extends LauncherLayoutStyleConfig { + + /** + * UninstallDialog width + */ + mUninstallDialogWidth = PadPresetStyleConstants.DEFAULT_UNINSTALLDIALOG_WIDTH; + + /** + * systemUI top height + */ + mSysTopHeight = PadPresetStyleConstants.DEFAULT_SYS_TOP_HEIGHT; + + /** + * systemUI bottom height + */ + mSysBottomHeight = PadPresetStyleConstants.DEFAULT_SYS_BOTTOM_HEIGHT; + + /** + * systemUI height (top + bottom) + */ + mSystemUIHeight = PresetStyleConstants.DEFAULT_PAD_SYSTEM_UI; + + /** + * indicator height + */ + mIndicatorHeight = PresetStyleConstants.DEFAULT_PAD_INDICATOR_HEIGHT; + + /** + * desktop item Size + */ + mAppItemSize = PadPresetStyleConstants.DEFAULT_APP_LAYOUT_SIZE; + + /** + * desktop space margin + */ + mMargin = PadPresetStyleConstants.DEFAULT_LAYOUT_MARGIN; + + /** + * desktop grid gap + */ + mGridGutter = PadPresetStyleConstants.DEFAULT_APP_LAYOUT_MIN_GUTTER; + + /** + * icon name lines + */ + mNameLines: number = PadPresetStyleConstants.DEFAULT_APP_NAME_LINES; + /** + * icon ratio + */ + mIconRatio: number = PadPresetStyleConstants.DEFAULT_APP_TOP_RATIO; + + /** + * icon name margin + */ + mIconNameGap: number = PadPresetStyleConstants.DEFAULT_ICON_NAME_GAP; + + /** + * icon name text size + */ + mNameSize: number = PadPresetStyleConstants.DEFAULT_APP_NAME_TEXT_SIZE; + + /** + * name height + */ + mNameHeight: number = PadPresetStyleConstants.DEFAULT_DESKTOP_NAME_HEIGHT; + //folder + /** + * ratio of gutter with folder + */ + mFolderGutterRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_GUTTER_RATIO; + + /** + * ratio of margin with folder + */ + mFolderMarginRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_PADDING_RATIO; + + /** + * gutter of open folder + */ + mFolderOpenGutter: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_GUTTER; + + /** + * padding of open folder + */ + mFolderOpenPADDING: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_PADDING; + + /** + * margin of open folder + */ + mFolderOpenMargin: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_MARGIN_TOP; + + /** + * margin top of open folder + */ + mFolderOpenTitle: number = PadPresetStyleConstants.DEFAULT_OPEN_FOLDER_TITLE_TOP; + + /** + * gutter of add app + */ + mFolderAddGridGap: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_GAP; + + /** + * margin of add app and padding of add app + */ + mFolderAddGridMargin: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_MARGIN; + + /** + * max height of add app + */ + mFolderAddMaxHeight: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_MAX_HEIGHT; + + /** + * toggle size of add app + */ + mFolderToggleSize: number = PadPresetStyleConstants.DEFAULT_APP_GRID_TOGGLE_SIZE; + + /** + * name lines of add app + */ + mFolderAddTextLines: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_TEXT_LINES; + + /** + * text size of add app + */ + mFolderAddTextSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_GRID_TEXT_SIZE; + + /** + * title size of add app + */ + mFolderAddTitleSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_TITLE_TEXT_SIZE; + + /** + * ratio of padding top with icon in add app + */ + mFolderAddIconRatio: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_ICON_TOP_RATIO; + + /** + * button size of add app + */ + mFolderAddButtonSize: number = PadPresetStyleConstants.DEFAULT_FOLDER_ADD_BUTTON_SIZE; + + //App Center + /** + * margin of app center + */ + mAppCenterMargin: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_MARGIN; + + /** + * gutter of app center + */ + mAppCenterGutter: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_GUTTER; + + /** + * size of app center container + */ + mAppCenterSize: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_SIZE; + + /** + * ratio of padding top with icon in app center + */ + mAppCenterRatio: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_TOP_RATIO; + + /** + * name lines of app center + */ + mAppCenterNameLines: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_NAME_LINES; + + /** + * name size of app center + */ + mAppCenterNameSize: number = PadPresetStyleConstants.DEFAULT_APP_CENTER_NAME_TEXT_SIZE; + + //dock + /** + * padding of dock + */ + mDockPadding: number = PadPresetStyleConstants.DEFAULT_DOCK_PADDING; + + /** + * icon size of dock + */ + mDockIconSize: number = PadPresetStyleConstants.DEFAULT_DOCK_ICON_SIZE; + + /** + * gap of icon and icon + */ + mDockItemGap: number = PadPresetStyleConstants.DEFAULT_DOCK_ITEM_GAP; + + /** + * gap of dock and dock + */ + mDockGutter: number = PadPresetStyleConstants.DEFAULT_DOCK_GUTTER; + + /** + * save margin of dock + */ + mDockSaveMargin: number = PadPresetStyleConstants.DEFAULT_DOCK_SAVE_MARGIN; + + /** + * margin bottom of dock + */ + mDockMarginBottom: number = PadPresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM; + + /** + * margin bottom of dock (Immersive navigation bar) + */ + mDockMarginBottomHideBar: number = PadPresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM_HIDE_BAR; + + private constructor() { + super(); + } + + /** + * PadLauncherLayoutStyleConfig of instance + */ + static getInstance(): PadLauncherLayoutStyleConfig { + if (globalThis.PadLauncherLayoutStyleConfigInstance == null) { + globalThis.PadLauncherLayoutStyleConfigInstance = new PadLauncherLayoutStyleConfig(); + } + return globalThis.PadLauncherLayoutStyleConfigInstance; + } + + getConfigLevel(): string { + return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; + } + + getFeatureName(): string { + return LauncherLayoutStyleConfig.LAUNCHER_PRODUCT_STYLE_CONFIG; + } +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/PadPageDesktopGridStyleConfig.ts b/dsf/product/pad/src/main/ets/common/PadPageDesktopGridStyleConfig.ts new file mode 100644 index 00000000..a9ca180e --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadPageDesktopGridStyleConfig.ts @@ -0,0 +1,88 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import PageDesktopGridStyleConfig from '../../../../../../feature/pagedesktop/src/main/ets/default/common/PageDesktopGridStyleConfig'; +import LayoutViewModel from '../../../../../../common/src/main/ets/default/viewmodel/LayoutViewModel'; +import StyleConstants from './constants/StyleConstants'; + +/** + * Pad grid style config class + */ +export default class PadPageDesktopGridStyleConfig extends PageDesktopGridStyleConfig { + /** + * icon size + */ + mIconSize = StyleConstants.DEFAULT_APP_ICON_SIZE_WIDTH; + + /** + * name size + */ + mNameSize = StyleConstants.DEFAULT_APP_NAME_SIZE; + + /** + * margin + */ + mMargin = StyleConstants.DEFAULT_MARGIN_SIZE; + + /** + * name height + */ + mNameHeight = StyleConstants.DEFAULT_APP_NAME_HEIGHT; + + /** + * item padding + */ + mPaddingTop = StyleConstants.DEFAULT_APP_TOP_RATIO; + + protected constructor() { + super(); + } + + /** + * get PadPageDesktopGridStyleConfig instance + */ + static getInstance(): PadPageDesktopGridStyleConfig { + if (globalThis.PadPageDesktopGridStyleConfig == undefined) { + globalThis.PadPageDesktopGridStyleConfig = new PadPageDesktopGridStyleConfig(); + } + globalThis.PadPageDesktopGridStyleConfig.initConfig(); + return globalThis.PadPageDesktopGridStyleConfig; + } + + initConfig(): void { + const result = LayoutViewModel.getInstance().calculateDesktop(); + this.mMargin = result.mMargin; + this.mColumnsGap = result.mColumnsGap; + this.mRowsGap = result.mRowsGap; + this.mColumns = result.mColumns; + this.mRows = result.mRows; + this.mDesktopMarginTop = result.mDesktopMarginTop; + this.mGridWidth = result.mGridWidth; + this.mGridHeight = result.mGridHeight; + this.mAppItemSize = result.mAppItemSize; + this.mNameSize = result.mNameSize; + this.mNameHeight = result.mNameHeight; + this.mIconNameMargin = result.mIconNameMargin; + this.mIconSize = result.mIconSize; + this.mNameLines = result.mNameLines; + this.mIconMarginHorizontal = result.mIconMarginHorizontal; + this.mIconMarginVertical = result.mIconMarginVertical; + } + + getConfigLevel(): string { + return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; + } +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/PadSmartDockLayoutConfig.ts b/dsf/product/pad/src/main/ets/common/PadSmartDockLayoutConfig.ts new file mode 100644 index 00000000..ab468c3c --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadSmartDockLayoutConfig.ts @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; +import SmartDockLayoutConfig from '../../../../../../common/src/main/ets/default/layoutconfig/SmartDockLayoutConfig'; +import presetDockItem from './PresetDockItem'; + +/** + * dock function layout config + */ +export default class PadSmartDockLayoutConfig extends SmartDockLayoutConfig { + + protected constructor() { + super(); + this.mDockLayoutInfo = presetDockItem; + } + + static getInstance(): PadSmartDockLayoutConfig { + if (globalThis.PadSmartDockLayoutConfig == undefined) { + globalThis.PadSmartDockLayoutConfig = new PadSmartDockLayoutConfig(); + globalThis.PadSmartDockLayoutConfig.initConfig(); + } + return globalThis.PadSmartDockLayoutConfig; + } + + getConfigLevel(): string { + return CommonConstants.LAYOUT_CONFIG_LEVEL_PRODUCT; + } +} diff --git a/dsf/product/pad/src/main/ets/common/PadStage.ts b/dsf/product/pad/src/main/ets/common/PadStage.ts new file mode 100644 index 00000000..a5f1eb72 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PadStage.ts @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import BaseStage from '../../../../../../common/src/main/ets/default/base/BaseStage'; +import LayoutConfigManager from '../../../../../../common/src/main/ets/default/layoutconfig/LayoutConfigManager'; +import smartDockPreLoader from '../../../../../../feature/smartdock/src/main/ets/default/common/SmartDockPreLoader'; +import appCenterPreLoader from '../../../../../../feature/appcenter/src/main/ets/default/common/AppCenterPreLoader'; +import bigFolderPreLoader from '../../../../../../feature/bigfolder/src/main/ets/default/common/BigFolderPreLoader'; +import pageDesktopPreLoader from '../../../../../../feature/pagedesktop/src/main/ets/default/common/PageDesktopPreLoader'; +import formPreLoader from '../../../../../../feature/form/src/main/ets/default/common/FormPreLoader'; +import PadSmartDockLayoutConfig from './PadSmartDockLayoutConfig'; +import PadFolderLayoutConfig from './PadFolderLayoutConfig'; +import PadFormLayoutConfig from './PadFormLayoutConfig'; +import launcherLayoutPreLoader from './LauncherLayoutPreLoader'; +import PadPageDesktopGridStyleConfig from './PadPageDesktopGridStyleConfig'; + +/** + * pad product stage + */ +export default class PadStage extends BaseStage { + /** + * Stage onCreate callback + */ + onCreate(): void { + super.onCreate(); + this.initPadConfig(); + launcherLayoutPreLoader.load(); + smartDockPreLoader.load(); + pageDesktopPreLoader.load(); + LayoutConfigManager.addConfigToManager(PadPageDesktopGridStyleConfig.getInstance()); + appCenterPreLoader.load(); + bigFolderPreLoader.load(); + formPreLoader.load(); + } + + /** + * init pad layout config + */ + private initPadConfig(): void { + LayoutConfigManager.addConfigToManager(PadSmartDockLayoutConfig.getInstance()); + LayoutConfigManager.addConfigToManager(PadFolderLayoutConfig.getInstance()); + LayoutConfigManager.addConfigToManager(PadFormLayoutConfig.getInstance()); + } + + /** + * Stage onDestroy callback + */ + onDestroy(): void { + super.onDestroy(); + smartDockPreLoader.releaseConfigAndData(); + appCenterPreLoader.releaseConfigAndData(); + pageDesktopPreLoader.releaseConfigAndData(); + bigFolderPreLoader.releaseConfigAndData(); + formPreLoader.releaseConfigAndData(); + launcherLayoutPreLoader.releaseConfigAndData(); + } +} diff --git a/dsf/product/pad/src/main/ets/common/PresetDockItem.ts b/dsf/product/pad/src/main/ets/common/PresetDockItem.ts new file mode 100644 index 00000000..cb901454 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/PresetDockItem.ts @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import CommonConstants from '../../../../../../common/src/main/ets/default/constants/CommonConstants'; + +const presetDockItem = [ + { + itemType: CommonConstants.TYPE_FUNCTION, + iconId: $r('app.media.ic_allapps'), + labelId: $r('app.string.dock_all_app_entry'), + bundleName: CommonConstants.LAUNCHER_BUNDLE, + abilityName: CommonConstants.APPCENTER_ABILITY, + editable: false + }, + { + itemType: CommonConstants.TYPE_FUNCTION, + iconId: $r('app.media.ic_multitask'), + labelId: $r('app.string.dock_recents_entry'), + bundleName: CommonConstants.LAUNCHER_BUNDLE, + abilityName: CommonConstants.RECENT_ABILITY, + editable: false + }, + { + itemType: CommonConstants.TYPE_APP, + bundleName: 'com.ohos.photos', + abilityName: 'com.ohos.photos.MainAbility', + editable: true + }, + { + itemType: CommonConstants.TYPE_APP, + bundleName: 'com.ohos.settings', + abilityName: 'com.ohos.settings.MainAbility', + editable: false + } +]; + +export default presetDockItem; \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/configs/PadFolderLayoutInfo.ts b/dsf/product/pad/src/main/ets/common/configs/PadFolderLayoutInfo.ts new file mode 100644 index 00000000..7473e61e --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/configs/PadFolderLayoutInfo.ts @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const padFolderLayoutInfo = { + folderLayoutTable: + { + id: 0, + layout: '3X3', + name: '3X3', + row: 3, + column: 3, + area: [2, 2], + checked: false + }, + folderOpenLayoutTable: + { + id: 1, + layout: '4X4', + name: '4X4', + row: 4, + column: 4, + checked: false + }, + folderAddAppLayoutTable: + { + id: 2, + layout: '6X4', + name: '6X4', + row: 6, + column: 4, + checked: false + } +}; + +export default padFolderLayoutInfo; \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/configs/PadFormLayoutInfo.ts b/dsf/product/pad/src/main/ets/common/configs/PadFormLayoutInfo.ts new file mode 100644 index 00000000..6eb9a957 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/configs/PadFormLayoutInfo.ts @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +const padFormLayoutInfo = { + formLayoutDimension1X2: + { + id: 0, + layout: '1X2', + name: '1X2', + row: 1, + column: 2, + area: [1, 2], + checked: false + }, + formLayoutDimension2X2: + { + id: 1, + layout: '2X2', + name: '2X2', + row: 2, + column: 2, + checked: false + }, + formLayoutDimension2X4: + { + id: 2, + layout: '2X4', + name: '2X4', + row: 2, + column: 4, + checked: false + }, + formLayoutDimension4X4: + { + id: 3, + layout: '4X4', + name: '4X4', + row: 4, + column: 4, + checked: false + } +}; + +export default padFormLayoutInfo; \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/constants/PadPresentConstants.ts b/dsf/product/pad/src/main/ets/common/constants/PadPresentConstants.ts new file mode 100644 index 00000000..5ce13539 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/constants/PadPresentConstants.ts @@ -0,0 +1,224 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default class PadPresetStyleConstants { + //----------- desktop layout------------- + + /** + * UninstallDialog width + */ + static readonly DEFAULT_UNINSTALLDIALOG_WIDTH = '395vp'; + + /** + * systemUI top height + */ + static readonly DEFAULT_SYS_TOP_HEIGHT = 44; + + /** + * systemUI bottom height + */ + static readonly DEFAULT_SYS_BOTTOM_HEIGHT = 44; + + /** + * desktop item size + */ + static readonly DEFAULT_APP_LAYOUT_SIZE = 96; + + /** + * desktop container margin + */ + static readonly DEFAULT_LAYOUT_MARGIN = 82; + + /** + * desktop container minimum gutter + */ + static readonly DEFAULT_APP_LAYOUT_MIN_GUTTER = 6; + + //----------- desktop icon------------- + /** + * desktop item padding top + */ + static readonly DEFAULT_APP_TOP_RATIO = 0.01; + + /** + * desktop item name lines + */ + static readonly DEFAULT_APP_NAME_LINES = 2; + + /** + * desktop item name size + */ + static readonly DEFAULT_APP_NAME_TEXT_SIZE = 14; + + /** + * desktop item icon and name gap + */ + static readonly DEFAULT_ICON_NAME_GAP = 4; + + /** + * desktop icon name height + */ + static readonly DEFAULT_DESKTOP_NAME_HEIGHT = 36; + + //----------- desktop folder----------- + /** + * folder gutter with container size + */ + static readonly DEFAULT_FOLDER_GUTTER_RATIO = 0.038; + + /** + * folder padding with container size + */ + static readonly DEFAULT_FOLDER_PADDING_RATIO = 0.077; + + //----------- desktop open -------------- + /** + * gutter of open folder + */ + static readonly DEFAULT_OPEN_FOLDER_GUTTER = 12; + + /** + * padding of open folder + */ + static readonly DEFAULT_OPEN_FOLDER_PADDING = 12; + + /** + * margin top of open folder + */ + static readonly DEFAULT_OPEN_FOLDER_MARGIN_TOP = 166; + + /** + * margin top of open folder top + */ + static readonly DEFAULT_OPEN_FOLDER_TITLE_TOP = 40; + + //----------- folder add list ------------------ + /** + * max height of container + */ + static readonly DEFAULT_FOLDER_ADD_MAX_HEIGHT = 0.8; + + /** + * margin of container + */ + static readonly DEFAULT_FOLDER_ADD_MARGIN = 12; + + /** + * gutter of container + */ + static readonly DEFAULT_FOLDER_ADD_GAP = 24; + + /** + * toggle of item + */ + static readonly DEFAULT_APP_GRID_TOGGLE_SIZE = 20; + + /** + * icon padding of item with item size + */ + static readonly DEFAULT_FOLDER_ADD_ICON_TOP_RATIO = 0.075; + + /** + * name size of container + */ + static readonly DEFAULT_FOLDER_ADD_GRID_TEXT_SIZE = 12; + + /** + * title size of container + */ + static readonly DEFAULT_FOLDER_ADD_TITLE_TEXT_SIZE = 20; + + /** + * name lines of item + */ + static readonly DEFAULT_FOLDER_ADD_TEXT_LINES = 1; + + /** + * button size of container + */ + static readonly DEFAULT_FOLDER_ADD_BUTTON_SIZE = 16; + + //----------- app center-------------- + /** + * margin left of app center + */ + static readonly DEFAULT_APP_CENTER_MARGIN = 215; + + /** + * gutter of app center + */ + static readonly DEFAULT_APP_CENTER_GUTTER = 18; + + /** + * item size of app center + */ + static readonly DEFAULT_APP_CENTER_SIZE = 106; + + /** + * icon padding top with item size + */ + static readonly DEFAULT_APP_CENTER_TOP_RATIO = 0.01; + + /** + * name lines of app center + */ + static readonly DEFAULT_APP_CENTER_NAME_LINES = 2; + + /** + * name size of app center + */ + static readonly DEFAULT_APP_CENTER_NAME_TEXT_SIZE = 12; + + /** + * name height of app center + */ + static readonly DEFAULT_APP_CENTER_NAME_HEIGHT = 32; + + //----------- dock---------------- + /** + * icon size of dock + */ + static readonly DEFAULT_DOCK_ICON_SIZE = 54; + + /** + * padding of dock + */ + static readonly DEFAULT_DOCK_PADDING = 12; + + /** + * gap of dock container + */ + static readonly DEFAULT_DOCK_ITEM_GAP = 8; + + /** + * gap with resident and recent + */ + static readonly DEFAULT_DOCK_GUTTER = 12; + + /** + * save margin of dock + */ + static readonly DEFAULT_DOCK_SAVE_MARGIN = 24; + + /** + * margin bottom of dock + */ + static readonly DEFAULT_DOCK_MARGIN_BOTTOM = 10; + + /** + * margin bottom of dock(Immersive navigation bar) + */ + static readonly DEFAULT_DOCK_MARGIN_BOTTOM_HIDE_BAR = 10; +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/constants/StyleConstants.ts b/dsf/product/pad/src/main/ets/common/constants/StyleConstants.ts new file mode 100644 index 00000000..a219f975 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/constants/StyleConstants.ts @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default class StyleConstants { + static readonly DEFAULT_BACKGROUND_IMAGE = ''; + static readonly DEFAULT_APP_ICON_SIZE_WIDTH = 54; + static readonly DEFAULT_APP_NAME_SIZE = 14; + static readonly DEFAULT_APP_NAME_HEIGHT = 36; + static readonly DEFAULT_MARGIN_SIZE = 82; + static readonly DEFAULT_NUMBER_0 = 0; + static readonly DEFAULT_APP_TOP_RATIO = 24; +} \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_form_mgr_back.png b/dsf/product/pad/src/main/ets/common/pics/ic_form_mgr_back.png new file mode 100644 index 0000000000000000000000000000000000000000..6f20d2019cffce152a669769f894cd5d08dce322 GIT binary patch literal 3796 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 literal 0 HcmV?d00001 diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_add.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_add.svg new file mode 100644 index 00000000..2b15836c --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_add.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_add + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_add_black.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_add_black.svg new file mode 100644 index 00000000..614328d3 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_add_black.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_add + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_add_norm.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_add_norm.svg new file mode 100644 index 00000000..eed52fd5 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_add_norm.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_add_norm + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_app.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_app.svg new file mode 100644 index 00000000..46e04092 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_app.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_app + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_cancel.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_cancel.svg new file mode 100644 index 00000000..35e5bff5 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_cancel.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_cancel + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_copy.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_copy.svg new file mode 100644 index 00000000..f43ef98c --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_copy.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_copy + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_delete.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_delete.svg new file mode 100644 index 00000000..af6bea4a --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_delete.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_delete + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_delete_full.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_delete_full.svg new file mode 100644 index 00000000..86f3fb53 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_delete_full.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_delete_filled + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_edit.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_edit.svg new file mode 100644 index 00000000..dc2b05c9 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_edit.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_edit + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_lock.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_lock.svg new file mode 100644 index 00000000..b0a3fd61 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_lock.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_lock + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_remove.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_remove.svg new file mode 100644 index 00000000..c0a1222d --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_remove.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_remove + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_public_settings.svg b/dsf/product/pad/src/main/ets/common/pics/ic_public_settings.svg new file mode 100644 index 00000000..98a78dac --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_public_settings.svg @@ -0,0 +1,13 @@ + + + Public/ic_public_settings + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_rename.svg b/dsf/product/pad/src/main/ets/common/pics/ic_rename.svg new file mode 100644 index 00000000..27401715 --- /dev/null +++ b/dsf/product/pad/src/main/ets/common/pics/ic_rename.svg @@ -0,0 +1,13 @@ + + + ic_rename + + + + + + + + + + \ No newline at end of file diff --git a/dsf/product/pad/src/main/ets/common/pics/ic_wallpaper_recent.jpg b/dsf/product/pad/src/main/ets/common/pics/ic_wallpaper_recent.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e655997f8a5954dc6e2e57813ec5d81a115698d5 GIT binary patch literal 245066 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 z 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