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