Skip to content

Commit

Permalink
feat(device-feedback): add DeviceFeedback plugin (#696)
Browse files Browse the repository at this point in the history
  • Loading branch information
ihadeed committed Oct 15, 2016
1 parent 3edfafb commit bbda6e2
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { DatePicker } from './plugins/datepicker';
import { DBMeter } from './plugins/dbmeter';
import { Deeplinks } from './plugins/deeplinks';
import { Device } from './plugins/device';
import { DeviceFeedback } from './plugins/device-feedback';
import { DeviceAccounts } from './plugins/deviceaccounts';
import { DeviceMotion } from './plugins/devicemotion';
import { DeviceOrientation } from './plugins/deviceorientation';
Expand Down Expand Up @@ -139,6 +140,7 @@ export * from './plugins/datepicker';
export * from './plugins/dbmeter';
export * from './plugins/deeplinks';
export * from './plugins/device';
export * from './plugins/device-feedback';
export * from './plugins/deviceaccounts';
export * from './plugins/devicemotion';
export * from './plugins/deviceorientation';
Expand Down Expand Up @@ -248,6 +250,7 @@ window['IonicNative'] = {
DBMeter,
Deeplinks,
Device,
DeviceFeedback,
DeviceAccounts,
DeviceMotion,
DeviceOrientation,
Expand Down
54 changes: 54 additions & 0 deletions src/plugins/device-feedback.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import {Plugin, Cordova} from './plugin';
/**
* @name DeviceFeedback
* @description
*
* Plugin that lets you provide haptic or acoustic feedback on Android devices.
*
* @usage
* ```
* import { DeviceFeedback } from 'ionic-native';
*
* DeviceFeedback.acoustic();
*
* DeviceFeedback.haptic(0);
*
* DeviceFeedback.isFeedbackEnabled()
* .then((feedback) => {
* console.log(feedback);
* // {
* // acoustic: true,
* // haptic: true
* // }
* });
*
* ```
*/
@Plugin({
plugin: 'cordova-plugin-velda-devicefeedback',
pluginRef: 'plugins.deviceFeedback',
repo: 'https://github.com/VVelda/device-feedback',
platforms: ['Android']
})
export class DeviceFeedback {

/**
* Provide sound feedback to user, nevertheless respect user's settings and current active device profile as native feedback do.
*/
@Cordova({ sync: true })
static acoustic(): void { }

/**
* Provide vibrate feedback to user, nevertheless respect user's tactile feedback setting as native feedback do.
* @param type {Number} Specify type of vibration feedback. 0 for long press, 1 for virtual key, or 3 for keyboard tap.
*/
@Cordova({ sync: true })
static haptic(type: number): void { }

/**
* Check if haptic and acoustic feedback is enabled by user settings.
*/
@Cordova()
static isFeedbackEnabled(): Promise<{ haptic: boolean; acoustic: boolean; }> { return; }

}

0 comments on commit bbda6e2

Please sign in to comment.