diff --git a/src/index.ts b/src/index.ts index f6fc2293..f1a5a86e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -69,6 +69,7 @@ import {Push} from './plugins/push'; import {SafariViewController} from './plugins/safari-view-controller'; import {Screenshot} from './plugins/screenshot'; import {SecureStorage} from './plugins/securestorage'; +import {Shake} from './plugins/shake'; import {Sim} from './plugins/sim'; import {SMS} from './plugins/sms'; import {SocialSharing} from './plugins/socialsharing'; @@ -156,6 +157,7 @@ export { PinDialog, Screenshot, SecureStorage, + Shake, SocialSharing, Sim, Splashscreen, @@ -234,6 +236,7 @@ window['IonicNative'] = { SafariViewController: SafariViewController, Screenshot: Screenshot, SecureStorage: SecureStorage, + Shake: Shake, Sim: Sim, SMS: SMS, SocialSharing: SocialSharing, diff --git a/src/plugins/shake.ts b/src/plugins/shake.ts new file mode 100644 index 00000000..86cf63ff --- /dev/null +++ b/src/plugins/shake.ts @@ -0,0 +1,35 @@ +import {Plugin, Cordova} from './plugin'; +import {Observable} from 'rxjs/Observable'; +/** + * @name Shake + * @description Handles shake gesture + * @usage + * ```typescript + * import {Shake} from 'ionic-native'; + * + * let watch = Shake.startWatch(60).subscribe(() => { + * // do something + * }); + * + * watch.unsubscribe(); + * ``` + */ +@Plugin({ + plugin: 'cordova-plugin-shake', + pluginRef: 'shake', + repo: 'https://github.com/leecrossley/cordova-plugin-shake' +}) +export class Shake { + /** + * Watch for shake gesture + * @param sensitivity {number} Optional sensitivity parameter. Defaults to 40 + */ + @Cordova({ + observable: true, + clearFunction: 'stopWatch', + successIndex: 0, + errorIndex: 2 + }) + static startWatch(sensitivity?: number): Observable {return; } + +}