diff --git a/src/plugins/batterystatus.ts b/src/plugins/batterystatus.ts new file mode 100644 index 000000000..1a0dc28de --- /dev/null +++ b/src/plugins/batterystatus.ts @@ -0,0 +1,41 @@ +import {Plugin} from './plugin'; +import {Observable} from "rxjs/Observable"; + +/** + * + * + * Requires Cordova plugin: cordova-plugin-batterystatus. For more info, please see the [BatteryStatus plugin docs](https://github.com/apache/cordova-plugin-battery-status). + * + * ``` + * cordova plugin add cordova-plugin-batterystatus + * ``` + * + * @usage + * ```js + * + * BatteryStatus.onChange().subscribe( + * status => { + * + * } + * ); + * + * ``` + */ +@Plugin({ + plugin: 'cordova-plugin-batterystatus' +}) +export class BatteryStatus { + + /** + * Watches the change in battery level + * @returns {Observable} Returns an observable that pushes the new battery level + */ + static onChange () : Observable { + return new Observable(observer => { + let callback = (status : any) => observer.next(status); + window.addEventListener("batterystatus", callback, false); + return () => window.removeEventListener("batterystatus", callback, false); + }); + } + +}