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