• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
15
16import {BaseStruct} from "./BaseStruct.js";
17
18export class EnergyAnomalyStruct extends BaseStruct {
19    static hoverEnergyAnomalyStruct: EnergyAnomalyStruct | undefined;
20    static selectEnergyAnomalyStruct: EnergyAnomalyStruct | undefined;
21    type: number | undefined
22    startNS: number | undefined
23    height: number | undefined
24    eventName: string | undefined
25}
26
27export class EnergySystemStruct extends BaseStruct {
28    static hoverEnergySystemStruct: EnergySystemStruct | undefined;
29    static selectEnergySystemStruct: EnergySystemStruct | undefined;
30    type: number | undefined
31    startNs: number | undefined
32    dur: number | undefined
33    workScheduler: string | undefined
34    power: string | undefined
35    location: string | undefined
36}
37
38export class EnergyPowerStruct extends BaseStruct {
39    static maxPower: number = 0
40    static maxPowerName: string = "0 %"
41    static powerItemNumber: number = 9
42    static colorIndex: number = 2;
43    static currentTextWidth: number = 0
44    static rowHeight: number = 200
45    static appName: string | undefined
46    static hoverEnergyPowerStruct: EnergyPowerStruct | undefined;
47    static selectEnergyPowerStruct: EnergyPowerStruct | undefined;
48    name: string | undefined  // appName
49    ts: number = 0
50    cpu: number = 0
51    location: number = 0
52    gpu: number = 0
53    display: number = 0
54    camera: number = 0
55    bluetooth: number = 0
56    flashlight: number = 0
57    audio: number = 0
58    wifiscan: number = 0
59}
60
61export class EnergyStateStruct extends BaseStruct {
62    static maxState: number = 0
63    static maxStateName: string = "0"
64    static hoverEnergyStateStruct: EnergyStateStruct | undefined;
65    static selectEnergyStateStruct: EnergyStateStruct | undefined;
66    type: string | undefined
67    value: number | undefined
68    startNs: number | undefined
69    dur: number | undefined
70
71    sensorType: number | undefined
72    pkg_name: string | undefined
73    deviceState: number | undefined
74    deviceType: number | undefined
75}
76
77export class PowerDetailsEnergy {
78    constructor(eventName: string) {
79        this.event = eventName;
80    }
81
82    event: string = ""
83    charge: number = 0
84    background_time: number = 0
85    screen_on_time: number = 0
86    screen_off_time: number = 0
87    load: string = "-"
88    usage: number = 0
89    duration: number = 0
90    camera_id: number = 0
91    foreground_count: number = 0
92    background_count: number = 0
93    screen_on_count: number = 0
94    screen_off_count: number = 0
95    count: number = 0
96    appName: string = ""
97    uid: number = 0
98    foreground_duration: number = 0
99    foreground_energy: number = 0
100    background_duration: number = 0
101    background_energy: number = 0
102    screen_on_duration: number = 0
103    screen_on_energy: number = 0
104    screen_off_duration: number = 0
105    screen_off_energy: number = 0
106    energy: number = 0
107    energyConsumptionRatio: string = ""
108
109    getTotalEnergy(isSimpleEnergy: boolean): number {
110        if (isSimpleEnergy) {
111            return this.energy
112        }
113        return this.foreground_energy + this.background_energy + this.screen_on_energy + this.screen_off_energy
114    }
115}
116
117
118export class PowerBatteryEnergy {
119    gasGauge: number = -1
120    charge: number = -1
121    screen: number = -1
122    level: number = -1
123    current: number = -1
124    capacity: number = -1
125    appName: string = ""
126    uid: number = -1
127}
128
129export class SystemDetailsEnergy {
130    ts: number = 0
131    eventName: string = ""
132    type: string = ""
133    pid: number = -1
134    uid: number = -1
135    state: number = -1
136    workId: string = ""
137    name: string = ""
138    interval: number = -1
139    level: number = -1
140    tag: string = ""
141    message: string = ""
142    log_level: string = ""
143}
144
145
146