1/* 2 * Copyright (c) 2021-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 */ 15 16import Log from '../../../../../../common/src/main/ets/default/Log'; 17import AbilityManager from '../../../../../../common/src/main/ets/default/abilitymanager/abilityManager'; 18import CommonStyleConfiguration from '../../../../../../common/src/main/ets/default/StyleConfiguration'; 19import BatteryStyleConfiguration from '../../../../../../features/batterycomponent/src/main/ets/default/common/StyleConfiguration' 20import WifiStyleConfiguration from '../../../../../../features/wificomponent/src/main/ets/default/common/StyleConfiguration' 21import SignalStyleConfiguration from '../../../../../../features/signalcomponent/src/main/ets/default/common/StyleConfiguration' 22import ClockStyleConfiguration from '../../../../../../features/clockcomponent/src/main/ets/default/common/StyleConfiguration'; 23import IndexStyleConfiguration from './StyleConfiguration' 24 25const TAG = 'Lock-StatusBar-StyleManager'; 26 27export default class StyleManager { 28 static STANDARD_DISPLAY_WIDTH: number = 1280; 29 static STANDARD_DISPLAY_HEIGHT: number = 800; 30 static maxWidth: number = StyleManager.STANDARD_DISPLAY_WIDTH; 31 32 static setStyle() { 33 try { 34 let dis = AbilityManager.getAbilityData(AbilityManager.ABILITY_NAME_STATUS_BAR, 'dis'); 35 Log.showInfo(TAG, `setStyle, configMaxWidth${JSON.stringify(dis.width)}`) 36 StyleManager.maxWidth = dis.width; 37 } catch (error) { 38 Log.showDebug(TAG, `set status error:` + JSON.stringify(error)); 39 } 40 41 // Common 42 { 43 let style: any = CommonStyleConfiguration.getCommonStyle(); 44 style.statusBarFontSize = StyleManager.calcScaleSizePx(14); 45 style.statusBarMarginLeftRight = StyleManager.calcScaleSizePx(10); 46 Log.showDebug(TAG, `setStyle ${JSON.stringify(style.statusBarFontSize)}, 47 ${JSON.stringify(style.statusBarMarginLeftRight)}`) 48 } 49 50 // Clock 51 { 52 let style: any = ClockStyleConfiguration.getClockComponentStyle(); 53 style.statusBarClockMaxWidth = StyleManager.calcScaleSizePx(37); 54 Log.showDebug(TAG, `statusBarClockMaxWidth ${JSON.stringify(style.statusBarClockMaxWidth)}`) 55 } 56 57 // Battery-Icon 58 { 59 let style: any = BatteryStyleConfiguration.getBatteryComponentStyle(); 60 style.componentGap = StyleManager.calcScaleSizePx(6); 61 } 62 63 // Battery-Pic 64 { 65 let style: any = BatteryStyleConfiguration.getBatteryPicStyle(); 66 style.picGap = StyleManager.calcScaleSizePx(1); 67 style.picBodyWidth = StyleManager.calcScaleSizePx(18.75); 68 style.picBodyHeight = StyleManager.calcScaleSizePx(10.83); 69 style.picBodyPadding = StyleManager.calcScaleSizePx(1); 70 style.picBodyBorderWidth = StyleManager.calcScaleSizePx(1); 71 style.picBorderRadius = StyleManager.calcScaleSizePx(2); 72 style.picHeadBorderRadius = StyleManager.calcScaleSizePx(1); 73 style.picChargingColor = '#00ff21'; 74 style.picLevelLowColor = '#ff0000'; 75 style.picHeadWidth = StyleManager.calcScaleSizePx(1.5); 76 style.picHeadHeight = StyleManager.calcScaleSizePx(5); 77 Log.showDebug(TAG, `picHeadHeight: ${JSON.stringify(style.picHeadHeight)}`) 78 79 } 80 81 // Signal-Icon 82 { 83 let style: any = SignalStyleConfiguration.getSignalComponentStyle(); 84 style.cellularImageWidth = StyleManager.calcScaleSizePx(25); 85 style.cellularImageHeight = StyleManager.calcScaleSizePx(20); 86 style.statusBarSignalTypeFontSize = StyleManager.calcScaleSizePx(7); 87 style.statusBarSignalUnknownFontSize = StyleManager.calcScaleSizePx(12); 88 style.signalTextMaxWeight = StyleManager.calcScaleSizePx(100); 89 style.netSignalTextMaxWidth = StyleManager.calcScaleSizePx(18); 90 } 91 92 93 // Wifi-Icon 94 { 95 let style: any = WifiStyleConfiguration.getStartsBarWifiComponentStyle(); 96 style.statusBarWifiWidth = StyleManager.calcScaleSizePx(20); 97 style.statusBarWifiHeight = StyleManager.calcScaleSizePx(20); 98 Log.showDebug(TAG, `statusBarWifiHeight ${JSON.stringify(style.statusBarWifiHeight)}`) 99 } 100 101 } 102 103 static number2px(n: number): string { 104 return n.toString() + 'px'; 105 } 106 107 static calcScaleSize(n: number): number { 108 return n * StyleManager.maxWidth / StyleManager.STANDARD_DISPLAY_WIDTH; 109 } 110 111 static calcScaleSizePx(n: number): string { 112 return StyleManager.number2px(StyleManager.calcScaleSize(n)); 113 } 114}