diff --git a/src/index.ts b/src/index.ts index 8a042898b..f7e66519f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -94,6 +94,7 @@ import { SpinnerDialog } from './plugins/spinnerdialog'; import { Splashscreen } from './plugins/splashscreen'; import { SQLite } from './plugins/sqlite'; import { StatusBar } from './plugins/statusbar'; +import { Stepcounter } from './plugins/stepcounter'; import { StreamingMedia } from './plugins/streaming-media'; import { ThreeDeeTouch } from './plugins/3dtouch'; import { Toast } from './plugins/toast'; @@ -208,6 +209,7 @@ Sim, Splashscreen, SQLite, StatusBar, +Stepcounter, TouchID, Transfer, TextToSpeech, @@ -310,6 +312,7 @@ window['IonicNative'] = { Splashscreen, SQLite, StatusBar, + Stepcounter, StreamingMedia, ThreeDeeTouch, Toast, diff --git a/src/plugins/stepcounter.ts b/src/plugins/stepcounter.ts new file mode 100644 index 000000000..4a7bfd78e --- /dev/null +++ b/src/plugins/stepcounter.ts @@ -0,0 +1,73 @@ +import { Plugin, Cordova } from './plugin'; +/** + * @name Stepcounter + * @description + * Cordova plugin for using device's stepcounter on Android (API > 19) + * + * Use to + * - start and stop stepcounter service + * - read device's stepcounter data + * + * @usage + * ``` + * import { Stepcounter } from 'ionic-native'; + * + * let startingOffset = 0; + * Stepcounter.start(startingOffset).then(onSuccess => console.log('stepcounter-start success', onSuccess), onFailure => console.log('stepcounter-start error', onFailure)); + * + * Stepcounter.getHistory().then(historyObj => console.log('stepcounter-history success', historyObj), onFailure => console.log('stepcounter-history error', onFailure)); + * + * ``` + */ +@Plugin({ + plugin: 'https://github.com/texh/cordova-plugin-stepcounter', + pluginRef: 'stepcounter', + repo: 'https://github.com/texh/cordova-plugin-stepcounter', + platforms: ['Android'] +}) +export class Stepcounter { + + /** + * Start the step counter + * + * @param startingOffset {number} will be added to the total steps counted in this session + * @return {Promise} Returns a Promise that resolves on success or rejects on failure + */ + @Cordova() + static start(startingOffset: number): Promise { return; } + + /** + * Stop the step counter + * @return {Promise} Returns a Promise that resolves on success with the amount of steps since the start command has been called, or rejects on failure + */ + @Cordova() + static stop(): Promise { return; } + + /** + * Get the amount of steps for today (or -1 if it no data given) + * @return {Promise} Returns a Promise that resolves on success with the amount of steps today, or rejects on failure + */ + @Cordova() + static getTodayStepCount(): Promise { return; } + + /** + * Get the amount of steps since the start command has been called + * @return {Promise} Returns a Promise that resolves on success with the amount of steps since the start command has been called, or rejects on failure + */ + @Cordova() + static getStepCount(): Promise { return; } + + /** + * Returns true/false if Android device is running >API level 19 && has the step counter API available + * @return {Promise} Returns a Promise that resolves on success, or rejects on failure + */ + @Cordova() + static deviceCanCountSteps(): Promise { return; } + + /** + * Get the step history (JavaScript object) + * @return {Promise} Returns a Promise that resolves on success, or rejects on failure + */ + @Cordova() + static getHistory(): Promise { return; } +}