1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15import { ILayoutConfig } from './ILayoutConfig'; 16import { CommonConstants } from '../constants/CommonConstants'; 17import { PresetStyleConstants } from '../constants/PresetStyleConstants'; 18 19/** 20 * Launcher_layout style 21 */ 22export class LauncherLayoutStyleConfig extends ILayoutConfig { 23 24 static LAUNCHER_COMMON_STYLE_CONFIG: string = 'launcherStyleCommon'; 25 26 static LAUNCHER_PRODUCT_STYLE_CONFIG: string = 'launcherStyleProduct'; 27 28 /** 29 * CommonDialogWidth width 30 */ 31 mCommonDialogWidth = PresetStyleConstants.DEFAULT_COMMONDIALOG_WIDTH; 32 33 /** 34 * systemUI top height 35 */ 36 mSysTopHeight = PresetStyleConstants.DEFAULT_SYS_TOP_HEIGHT; 37 38 /** 39 * systemUI bottom height 40 */ 41 mSysBottomHeight = PresetStyleConstants.DEFAULT_SYS_BOTTOM_HEIGHT; 42 43 mSystemUIHeight = PresetStyleConstants.DEFAULT_PAD_SYSTEM_UI; 44 45 mIndicatorHeight = PresetStyleConstants.DEFAULT_PAD_INDICATOR_HEIGHT; 46 47 /** 48 * desktop item Size 49 */ 50 mAppItemSize = PresetStyleConstants.DEFAULT_APP_LAYOUT_SIZE; 51 52 /** 53 * desktop space margin 54 */ 55 mMargin = PresetStyleConstants.DEFAULT_LAYOUT_MARGIN; 56 57 /** 58 * desktop grid gap 59 */ 60 mGridGutter = PresetStyleConstants.DEFAULT_APP_LAYOUT_MIN_GUTTER; 61 62 /** 63 * icon name lines 64 */ 65 mNameLines: number = PresetStyleConstants.DEFAULT_APP_NAME_LINES; 66 67 /** 68 * icon ratio 69 */ 70 mIconRatio: number = PresetStyleConstants.DEFAULT_APP_TOP_RATIO; 71 72 /** 73 * icon name margin 74 */ 75 mIconNameGap: number = PresetStyleConstants.DEFAULT_ICON_NAME_GAP; 76 77 /** 78 * icon name text size 79 */ 80 mNameSize: number = PresetStyleConstants.DEFAULT_APP_NAME_TEXT_SIZE; 81 82 /** 83 * name height 84 */ 85 mNameHeight: number = PresetStyleConstants.DEFAULT_DESKTOP_NAME_HEIGHT; 86 87 //folder 88 /** 89 * ratio of gutter with folder 90 */ 91 mFolderGutterRatio: number = PresetStyleConstants.DEFAULT_FOLDER_GUTTER_RATIO; 92 93 /** 94 * ratio of margin with folder 95 */ 96 mFolderMarginRatio: number = PresetStyleConstants.DEFAULT_FOLDER_PADDING_RATIO; 97 98 /** 99 * gutter of open folder 100 */ 101 mFolderOpenGutter: number = PresetStyleConstants.DEFAULT_OPEN_FOLDER_GUTTER; 102 103 /** 104 * padding of open folder 105 */ 106 mFolderOpenPADDING: number = PresetStyleConstants.DEFAULT_OPEN_FOLDER_PADDING; 107 108 /** 109 * margin of open folder 110 */ 111 mFolderOpenMargin: number = PresetStyleConstants.DEFAULT_OPEN_FOLDER_MARGIN_TOP; 112 113 /** 114 * margin top of open folder 115 */ 116 mFolderOpenTitle: number = PresetStyleConstants.DEFAULT_OPEN_FOLDER_TITLE_TOP; 117 118 /** 119 * gutter of add app 120 */ 121 mFolderAddGridGap: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_GAP; 122 123 /** 124 * margin of add app and padding of add app 125 */ 126 mFolderAddGridMargin: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_MARGIN; 127 128 /** 129 * max height of add app 130 */ 131 mFolderAddMaxHeight: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_MAX_HEIGHT; 132 133 /** 134 * toggle size of add app 135 */ 136 mFolderToggleSize: number = PresetStyleConstants.DEFAULT_APP_GRID_TOGGLE_SIZE; 137 138 /** 139 * name lines of add app 140 */ 141 mFolderAddTextLines: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_TEXT_LINES; 142 143 /** 144 * text size of add app 145 */ 146 mFolderAddTextSize: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_GRID_TEXT_SIZE; 147 148 /** 149 * title size of add app 150 */ 151 mFolderAddTitleSize: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_TITLE_TEXT_SIZE; 152 153 /** 154 * ratio of padding top with icon in add app 155 */ 156 mFolderAddIconRatio: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_ICON_TOP_RATIO; 157 158 /** 159 * button size of add app 160 */ 161 mFolderAddButtonSize: number = PresetStyleConstants.DEFAULT_FOLDER_ADD_BUTTON_SIZE; 162 //App Center 163 /** 164 * left margin of app center 165 */ 166 mAppCenterMarginLeft: number = PresetStyleConstants.DEFAULT_APP_CENTER_MARGIN; 167 //App Center 168 /** 169 * margin of app center 170 */ 171 mAppCenterMargin: number = PresetStyleConstants.DEFAULT_APP_CENTER_MARGIN; 172 173 /** 174 * gutter of app center 175 */ 176 mAppCenterGutter: number = PresetStyleConstants.DEFAULT_APP_CENTER_GUTTER; 177 178 /** 179 * size of app center container 180 */ 181 mAppCenterSize: number = PresetStyleConstants.DEFAULT_APP_CENTER_SIZE; 182 183 /** 184 * ratio of padding top with icon in app center 185 */ 186 mAppCenterRatio: number = PresetStyleConstants.DEFAULT_APP_CENTER_TOP_RATIO; 187 188 /** 189 * name lines of app center 190 */ 191 mAppCenterNameLines: number = PresetStyleConstants.DEFAULT_APP_CENTER_NAME_LINES; 192 193 /** 194 * name size of app center 195 */ 196 mAppCenterNameSize: number = PresetStyleConstants.DEFAULT_APP_CENTER_NAME_TEXT_SIZE; 197 198 //dock 199 /** 200 * padding of dock 201 */ 202 mDockPadding: number = PresetStyleConstants.DEFAULT_DOCK_PADDING; 203 204 /** 205 * icon size of dock 206 */ 207 mDockIconSize: number = PresetStyleConstants.DEFAULT_DOCK_ICON_SIZE; 208 209 /** 210 * gap of icon and icon 211 */ 212 mDockItemGap: number = PresetStyleConstants.DEFAULT_DOCK_ITEM_GAP; 213 214 /** 215 * gap of dock and dock 216 */ 217 mDockGutter: number = PresetStyleConstants.DEFAULT_DOCK_GUTTER; 218 219 /** 220 * save margin of dock 221 */ 222 mDockSaveMargin: number = PresetStyleConstants.DEFAULT_DOCK_SAVE_MARGIN; 223 224 /** 225 * margin bottom of dock 226 */ 227 mDockMarginBottom: number = PresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM; 228 229 /** 230 * margin bottom of dock (Immersive navigation bar) 231 */ 232 mDockMarginBottomHideBar: number = PresetStyleConstants.DEFAULT_DOCK_MARGIN_BOTTOM_HIDE_BAR; 233 234 protected constructor() { 235 super(); 236 } 237 238 /** 239 * LauncherLayoutStyleConfig of instance 240 */ 241 static getInstance(): LauncherLayoutStyleConfig { 242 if (globalThis.LauncherLayoutStyleConfigInstance == null) { 243 globalThis.LauncherLayoutStyleConfigInstance = new LauncherLayoutStyleConfig(); 244 } 245 return globalThis.LauncherLayoutStyleConfigInstance; 246 } 247 248 initConfig(): void { 249 } 250 251 getConfigLevel(): string { 252 return CommonConstants.LAYOUT_CONFIG_LEVEL_COMMON; 253 } 254 255 getConfigType(): number { 256 return CommonConstants.LAYOUT_CONFIG_TYPE_STYLE; 257 } 258 259 getConfigName(): string { 260 return LauncherLayoutStyleConfig.LAUNCHER_COMMON_STYLE_CONFIG; 261 } 262 263 protected getPersistConfigJson(): string { 264 let persistConfig = { 265 }; 266 return JSON.stringify(persistConfig); 267 } 268}