• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2023 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
16/**
17 * Obtains battery information of a device.
18 * <p>Battery information includes the remaining battery power,
19 * voltage, temperature, model, and charger type.
20 *
21 * @namespace batteryInfo
22 * @syscap SystemCapability.PowerManager.BatteryManager.Core
23 * @since 6
24 */
25declare namespace batteryInfo {
26  /**
27   * Battery state of charge (SoC) of the current device, in percent.
28   *
29   * @constant
30   * @syscap SystemCapability.PowerManager.BatteryManager.Core
31   * @since 6
32   */
33  const batterySOC: number;
34
35  /**
36   * Battery charging status of the current device.
37   *
38   * @constant
39   * @syscap SystemCapability.PowerManager.BatteryManager.Core
40   * @since 6
41   */
42  const chargingStatus: BatteryChargeState;
43
44  /**
45   * Battery health state of the current device.
46   *
47   * @constant
48   * @syscap SystemCapability.PowerManager.BatteryManager.Core
49   * @since 6
50   */
51  const healthStatus: BatteryHealthState;
52
53  /**
54   * Charger type of the current device.
55   *
56   * @constant
57   * @syscap SystemCapability.PowerManager.BatteryManager.Core
58   * @since 6
59   */
60  const pluggedType: BatteryPluggedType;
61
62  /**
63   * Battery voltage of the current device, in µV.
64   *
65   * @constant
66   * @syscap SystemCapability.PowerManager.BatteryManager.Core
67   * @since 6
68   */
69  const voltage: number;
70
71  /**
72   * Battery technology of the current device.
73   *
74   * @constant
75   * @syscap SystemCapability.PowerManager.BatteryManager.Core
76   * @since 6
77   */
78  const technology: string;
79
80  /**
81   * Battery temperature of the current device, in 0.1℃.
82   *
83   * @constant
84   * @syscap SystemCapability.PowerManager.BatteryManager.Core
85   * @since 6
86   */
87  const batteryTemperature: number;
88
89  /**
90   * Battery present state of the current device.
91   *
92   * @constant
93   * @syscap SystemCapability.PowerManager.BatteryManager.Core
94   * @since 7
95   */
96  const isBatteryPresent: boolean;
97
98  /**
99   * Battery capacity level of the current device.
100   *
101   * @constant
102   * @syscap SystemCapability.PowerManager.BatteryManager.Core
103   * @since 9
104   */
105  const batteryCapacityLevel: BatteryCapacityLevel;
106
107  /**
108   * Estimated remaining time for the current device to be fully charged, in ms.
109   *
110   * @constant
111   * @syscap SystemCapability.PowerManager.BatteryManager.Core
112   * @systemapi
113   * @since 9
114   */
115  const estimatedRemainingChargeTime: number;
116
117  /**
118   * Battery total energy of the current device, in mAh.
119   *
120   * @constant
121   * @syscap SystemCapability.PowerManager.BatteryManager.Core
122   * @systemapi
123   * @since 9
124   */
125  const totalEnergy: number;
126
127  /**
128   * Battery immediate current of the current device, in mA.
129   *
130   * @constant
131   * @syscap SystemCapability.PowerManager.BatteryManager.Core
132   * @systemapi
133   * @since 9
134   */
135  const nowCurrent: number;
136
137  /**
138   * Battery remaining energy of the current device, in mAh.
139   *
140   * @constant
141   * @syscap SystemCapability.PowerManager.BatteryManager.Core
142   * @systemapi
143   * @since 9
144   */
145  const remainingEnergy: number;
146
147  /**
148   * Charger type of a device.
149   *
150   * @enum { number }
151   * @syscap SystemCapability.PowerManager.BatteryManager.Core
152   * @since 6
153   */
154  export enum BatteryPluggedType {
155    /**
156     * Unknown type
157     *
158     * @syscap SystemCapability.PowerManager.BatteryManager.Core
159     * @since 6
160     */
161    NONE,
162    /**
163     * AC charger
164     *
165     * @syscap SystemCapability.PowerManager.BatteryManager.Core
166     * @since 6
167     */
168    AC,
169    /**
170     * USB charger
171     *
172     * @syscap SystemCapability.PowerManager.BatteryManager.Core
173     * @since 6
174     */
175    USB,
176    /**
177     * Wireless charger
178     *
179     * @syscap SystemCapability.PowerManager.BatteryManager.Core
180     * @since 6
181     */
182    WIRELESS
183  }
184
185  /**
186   * Battery charging status of a device.
187   *
188   * @enum { number }
189   * @syscap SystemCapability.PowerManager.BatteryManager.Core
190   * @since 6
191   */
192  export enum BatteryChargeState {
193    /**
194     * Unknown state.
195     *
196     * @syscap SystemCapability.PowerManager.BatteryManager.Core
197     * @since 6
198     */
199    NONE,
200    /**
201     * The battery is being charged.
202     *
203     * @syscap SystemCapability.PowerManager.BatteryManager.Core
204     * @since 6
205     */
206    ENABLE,
207    /**
208     * The battery is not being charged.
209     *
210     * @syscap SystemCapability.PowerManager.BatteryManager.Core
211     * @since 6
212     */
213    DISABLE,
214    /**
215     * The battery is fully charged.
216     *
217     * @syscap SystemCapability.PowerManager.BatteryManager.Core
218     * @since 6
219     */
220    FULL
221  }
222
223  /**
224   * Battery health status of a device.
225   *
226   * @enum { number }
227   * @syscap SystemCapability.PowerManager.BatteryManager.Core
228   * @since 6
229   */
230  export enum BatteryHealthState {
231    /**
232     * Unknown state.
233     *
234     * @syscap SystemCapability.PowerManager.BatteryManager.Core
235     * @since 6
236     */
237    UNKNOWN,
238    /**
239     * The battery is in healthy state.
240     *
241     * @syscap SystemCapability.PowerManager.BatteryManager.Core
242     * @since 6
243     */
244    GOOD,
245    /**
246     * The battery is overheated.
247     *
248     * @syscap SystemCapability.PowerManager.BatteryManager.Core
249     * @since 6
250     */
251    OVERHEAT,
252    /**
253     * The battery voltage is over high.
254     *
255     * @syscap SystemCapability.PowerManager.BatteryManager.Core
256     * @since 6
257     */
258    OVERVOLTAGE,
259    /**
260     * The battery temperature is low.
261     *
262     * @syscap SystemCapability.PowerManager.BatteryManager.Core
263     * @since 6
264     */
265    COLD,
266    /**
267     * The battery is dead.
268     *
269     * @syscap SystemCapability.PowerManager.BatteryManager.Core
270     * @since 6
271     */
272    DEAD
273  }
274
275  /**
276   * Battery capacity level of a device.
277   *
278   * @enum { number }
279   * @syscap SystemCapability.PowerManager.BatteryManager.Core
280   * @since 9
281   */
282  export enum BatteryCapacityLevel {
283    /**
284     * The battery is in full capacity level.
285     *
286     * @syscap SystemCapability.PowerManager.BatteryManager.Core
287     * @since 9
288     */
289    LEVEL_FULL,
290    /**
291     * The battery is in high capacity level.
292     *
293     * @syscap SystemCapability.PowerManager.BatteryManager.Core
294     * @since 9
295     */
296    LEVEL_HIGH,
297    /**
298     * The battery is in normal capacity level.
299     *
300     * @syscap SystemCapability.PowerManager.BatteryManager.Core
301     * @since 9
302     */
303    LEVEL_NORMAL,
304    /**
305     * The battery is in low capacity level.
306     *
307     * @syscap SystemCapability.PowerManager.BatteryManager.Core
308     * @since 9
309     */
310    LEVEL_LOW,
311    /**
312     * The battery is in warning low capacity level.
313     *
314     * @syscap SystemCapability.PowerManager.BatteryManager.Core
315     * @since 9
316     */
317    LEVEL_WARNING,
318    /**
319     * The battery is in critical low capacity level.
320     *
321     * @syscap SystemCapability.PowerManager.BatteryManager.Core
322     * @since 9
323     */
324    LEVEL_CRITICAL,
325    /**
326     * The battery is in the lowest capacity level, system will shut down automatically in a few seconds.
327     *
328     * @syscap SystemCapability.PowerManager.BatteryManager.Core
329     * @since 9
330     */
331    LEVEL_SHUTDOWN
332  }
333
334  /**
335   * Extra key of common event COMMON_EVENT_BATTERY_CHANGED.
336   *
337   * @enum { string }
338   * @syscap SystemCapability.PowerManager.BatteryManager.Core
339   * @since 9
340   */
341  export enum CommonEventBatteryChangedKey {
342    /**
343     * Extra code of batterySOC.
344     *
345     * @syscap SystemCapability.PowerManager.BatteryManager.Core
346     * @since 9
347     */
348    EXTRA_SOC = 'soc',
349    /**
350     * Extra code of chargingStatus.
351     *
352     * @syscap SystemCapability.PowerManager.BatteryManager.Core
353     * @since 9
354     */
355    EXTRA_CHARGE_STATE = 'chargeState',
356    /**
357     * Extra code of healthStatus.
358     *
359     * @syscap SystemCapability.PowerManager.BatteryManager.Core
360     * @since 9
361     */
362    EXTRA_HEALTH_STATE = 'healthState',
363    /**
364     * Extra code of pluggedType.
365     *
366     * @syscap SystemCapability.PowerManager.BatteryManager.Core
367     * @since 9
368     */
369    EXTRA_PLUGGED_TYPE = 'pluggedType',
370    /**
371     * Extra code of voltage.
372     *
373     * @syscap SystemCapability.PowerManager.BatteryManager.Core
374     * @since 9
375     */
376    EXTRA_VOLTAGE = 'voltage',
377    /**
378     * Extra code of technology.
379     *
380     * @syscap SystemCapability.PowerManager.BatteryManager.Core
381     * @since 9
382     */
383    EXTRA_TECHNOLOGY = 'technology',
384    /**
385     * Extra code of batteryTemperature.
386     *
387     * @syscap SystemCapability.PowerManager.BatteryManager.Core
388     * @since 9
389     */
390    EXTRA_TEMPERATURE = 'temperature',
391    /**
392     * Extra code of isBatteryPresent.
393     *
394     * @syscap SystemCapability.PowerManager.BatteryManager.Core
395     * @since 9
396     */
397    EXTRA_PRESENT = 'present',
398    /**
399     * Extra code of batteryCapacityLevel.
400     *
401     * @syscap SystemCapability.PowerManager.BatteryManager.Core
402     * @since 9
403     */
404    EXTRA_CAPACITY_LEVEL = 'capacityLevel'
405  }
406}
407export default batteryInfo;
408