19b256929Sopenharmony_ci/* 29b256929Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 39b256929Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 49b256929Sopenharmony_ci * you may not use this file except in compliance with the License. 59b256929Sopenharmony_ci * You may obtain a copy of the License at 69b256929Sopenharmony_ci * 79b256929Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 89b256929Sopenharmony_ci * 99b256929Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 109b256929Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 119b256929Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 129b256929Sopenharmony_ci * See the License for the specific language governing permissions and 139b256929Sopenharmony_ci * limitations under the License. 149b256929Sopenharmony_ci */ 159b256929Sopenharmony_ci 169b256929Sopenharmony_ciimport {Log} from './Log'; 179b256929Sopenharmony_ci 189b256929Sopenharmony_ciconst TAG = 'Common-StyleManager'; 199b256929Sopenharmony_ci 209b256929Sopenharmony_ciexport class StyleManager { 219b256929Sopenharmony_ci mAbilityPageName: string = ''; 229b256929Sopenharmony_ci 239b256929Sopenharmony_ci static getInstance(): StyleManager { 249b256929Sopenharmony_ci if (globalThis.StyleManager == null) { 259b256929Sopenharmony_ci globalThis.StyleManager = new StyleManager(); 269b256929Sopenharmony_ci } 279b256929Sopenharmony_ci return globalThis.StyleManager; 289b256929Sopenharmony_ci } 299b256929Sopenharmony_ci 309b256929Sopenharmony_ci setAbilityPageName(name: string): void{ 319b256929Sopenharmony_ci Log.showDebug(TAG, `setAbilityPageName, name: ${name}`); 329b256929Sopenharmony_ci this.mAbilityPageName = name; 339b256929Sopenharmony_ci } 349b256929Sopenharmony_ci 359b256929Sopenharmony_ci getStyle(key: string, generateDefaultFunction: Function) { 369b256929Sopenharmony_ci let newKey = this.mAbilityPageName + '-' + key; 379b256929Sopenharmony_ci if (!AppStorage.Has(newKey)) { 389b256929Sopenharmony_ci let defaultStyle = generateDefaultFunction(); 399b256929Sopenharmony_ci AppStorage.SetOrCreate(newKey, defaultStyle); 409b256929Sopenharmony_ci Log.showDebug(TAG, `Create storageKey of ${newKey}`); 419b256929Sopenharmony_ci } 429b256929Sopenharmony_ci return AppStorage.Get(newKey); 439b256929Sopenharmony_ci } 449b256929Sopenharmony_ci} 459b256929Sopenharmony_ci 469b256929Sopenharmony_ciexport let styleManager = StyleManager.getInstance();