From 82d3c258c9c82905e6c5aacb86e2ef3ac5a5fba2 Mon Sep 17 00:00:00 2001 From: Ibrahim Hadeed Date: Sun, 6 Mar 2016 12:48:20 -0500 Subject: [PATCH] add batterystatus --- src/plugins/batterystatus.ts | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/plugins/batterystatus.ts diff --git a/src/plugins/batterystatus.ts b/src/plugins/batterystatus.ts new file mode 100644 index 00000000..1a0dc28d --- /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); + }); + } + +}