awesome-cordova-plugins/src/plugins/batterystatus.ts

76 lines
1.9 KiB
TypeScript
Raw Normal View History

2016-07-08 06:38:00 +08:00
import { Cordova, Plugin } from './plugin';
2016-09-22 04:04:46 +08:00
import { Observable } from 'rxjs/Observable';
2016-03-07 01:48:20 +08:00
/**
2016-03-11 04:14:55 +08:00
* @name Battery Status
* @description
2016-03-07 01:48:20 +08:00
* Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status).
*
* @usage
* ```typescript
* import { BatteryStatus } from 'ionic-native';
*
*
2016-03-11 04:14:55 +08:00
* // watch change in battery status
* let subscription = BatteryStatus.onChange().subscribe(
* (status: StatusObject) => {
* console.log(status.level, status.isPlugged);
2016-03-07 01:48:20 +08:00
* }
* );
*
2016-03-11 04:14:55 +08:00
* // stop watch
* subscription.unsubscribe();
*
2016-03-07 01:48:20 +08:00
* ```
*/
@Plugin({
plugin: 'cordova-plugin-battery-status',
2016-03-15 01:38:35 +08:00
repo: 'https://github.com/apache/cordova-plugin-battery-status',
platforms: ['Amazon Fire OS', 'iOS', 'Android', 'BlackBerry 10', 'Windows Phone 7', 'Windows Phone 8', 'Windows', 'Firefox OS', 'Browser']
2016-03-07 01:48:20 +08:00
})
export class BatteryStatus {
/**
2016-03-11 04:14:55 +08:00
* Watch the change in battery level
* @returns {Observable} Returns an observable that pushes a status object
2016-03-07 01:48:20 +08:00
*/
@Cordova({
eventObservable: true,
event: 'batterystatus'
})
2016-07-08 06:38:00 +08:00
static onChange(): Observable<StatusObject> { return; }
/**
* Watch when the battery level goes low
* @returns {Observable<StatusObject>} Returns an observable that pushes a status object
*/
@Cordova({
eventObservable: true,
event: 'batterylow'
})
2016-07-08 06:38:00 +08:00
static onLow(): Observable<StatusObject> { return; }
/**
* Watch when the battery level goes to critial
* @returns {Observable<StatusObject>} Returns an observable that pushes a status object
*/
@Cordova({
eventObservable: true,
event: 'batterycritical'
})
2016-07-08 06:38:00 +08:00
static onCritical(): Observable<StatusObject> { return; }
2016-03-07 01:48:20 +08:00
}
2016-03-13 07:35:58 +08:00
export interface StatusObject {
/**
* The battery charge percentage
*/
level: number;
/**
* A boolean that indicates whether the device is plugged in
*/
isPlugged: boolean;
}