You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/06/05 00:14:29 UTC
[2/2] git commit: Implemented vibrateWithPattern (for android) and
adapted documentation.
Implemented vibrateWithPattern (for android) and adapted documentation.
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/commit/e731cbbf
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/tree/e731cbbf
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/diff/e731cbbf
Branch: refs/heads/master
Commit: e731cbbf32f6e2c646be30169327ea028f38f0d4
Parents: 0b08297
Author: Andreas Tietz <an...@gmail.com>
Authored: Tue Mar 4 03:27:07 2014 +0100
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Jun 4 15:12:58 2014 -0700
----------------------------------------------------------------------
doc/index.md | 33 +++++++++++++++++++++++++++------
src/android/Vibration.java | 33 ++++++++++++++++++++++++++++++++-
www/vibration.js | 26 ++++++++++++++++++++++++--
3 files changed, 83 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/blob/e731cbbf/doc/index.md
----------------------------------------------------------------------
diff --git a/doc/index.md b/doc/index.md
index fd557f9..316e775 100644
--- a/doc/index.md
+++ b/doc/index.md
@@ -27,31 +27,52 @@ This plugin provides a way to vibrate the device.
## Supported Platforms
+navigator.notification.vibrate
- Amazon Fire OS
-- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 7 and 8
+navigator.notification.vibrate and navigator.notification.vibrateWithPattern
+- Android
+
## notification.vibrate
-Vibrates the device for the specified amount of time.
+Vibrates the device for a given amount of time.
navigator.notification.vibrate(time)
- __time__: Milliseconds to vibrate the device. _(Number)_
-
-## Example
+### Example
// Vibrate for 2.5 seconds
navigator.notification.vibrate(2500);
-
-## iOS Quirks
+### iOS Quirks
- __time__: Ignores the specified time and vibrates for a pre-set amount of time.
navigator.notification.vibrate();
navigator.notification.vibrate(2500); // 2500 is ignored
+
+## notification.vibrateWithPattern
+
+Vibrates the device with a given pattern.
+
+ navigator.notification.vibrateWithPattern(pattern)
+
+- __pattern__: Sequence of durations (in milliseconds) for which to turn on or off the vibrator. _(Array of Numbers)_
+
+### Example
+
+ // Immediately start vibrating
+ // vibrate for 200ms,
+ // wait for 100ms,
+ // vibrate for 200ms,
+ // wait for 100ms,
+ // vibrate for 400ms,
+ // wait for 100ms,
+ // vibrate for 800ms
+ navigator.notification.vibrateWithPattern([0, 200, 100, 200, 100, 400, 100, 800]);
http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/blob/e731cbbf/src/android/Vibration.java
----------------------------------------------------------------------
diff --git a/src/android/Vibration.java b/src/android/Vibration.java
index 0098619..756cf38 100755
--- a/src/android/Vibration.java
+++ b/src/android/Vibration.java
@@ -48,6 +48,14 @@ public class Vibration extends CordovaPlugin {
if (action.equals("vibrate")) {
this.vibrate(args.getLong(0));
}
+ else if (action.equals("vibrateWithPattern")) {
+ JSONArray pattern = args;
+ long[] patternArray = new long[pattern.length()];
+ for (int i = 0; i < pattern.length(); i++) {
+ patternArray[i] = pattern.getLong(i);
+ }
+ this.vibrateWithPattern(patternArray);
+ }
else {
return false;
}
@@ -62,7 +70,7 @@ public class Vibration extends CordovaPlugin {
//--------------------------------------------------------------------------
/**
- * Vibrates the device for the specified amount of time.
+ * Vibrates the device for a given amount of time.
*
* @param time Time to vibrate in ms.
*/
@@ -74,4 +82,27 @@ public class Vibration extends CordovaPlugin {
Vibrator vibrator = (Vibrator) this.cordova.getActivity().getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(time);
}
+
+ /**
+ * Vibrates the device with a given pattern.
+ *
+ * @param pattern Pattern with which to vibrate the device.
+ * Pass in an array of longs that
+ * are the durations for which to
+ * turn on or off the vibrator in
+ * milliseconds. The first value
+ * indicates the number of milliseconds
+ * to wait before turning the vibrator
+ * on. The next value indicates the
+ * number of milliseconds for which
+ * to keep the vibrator on before
+ * turning it off. Subsequent values
+ * alternate between durations in
+ * milliseconds to turn the vibrator
+ * off or to turn the vibrator on.
+ */
+ public void vibrateWithPattern(long[] pattern) {
+ Vibrator vibrator = (Vibrator) this.cordova.getActivity().getSystemService(Context.VIBRATOR_SERVICE);
+ vibrator.vibrate(pattern, -1);
+ }
}
http://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration/blob/e731cbbf/www/vibration.js
----------------------------------------------------------------------
diff --git a/www/vibration.js b/www/vibration.js
index 62ef521..4d4f392 100644
--- a/www/vibration.js
+++ b/www/vibration.js
@@ -28,11 +28,33 @@ var exec = require('cordova/exec');
module.exports = {
/**
- * Causes the device to vibrate.
+ * Vibrates the device for a given amount of time.
*
- * @param {Integer} mills The number of milliseconds to vibrate for.
+ * @param {Integer} mills The number of milliseconds to vibrate.
*/
vibrate: function(mills) {
exec(null, null, "Vibration", "vibrate", [mills]);
},
+
+ /**
+ * Vibrates the device with a given pattern.
+ *
+ * @param {Array of Integer} pattern Pattern with which to vibrate the device.
+ * Pass in an array of integers that
+ * are the durations for which to
+ * turn on or off the vibrator in
+ * milliseconds. The first value
+ * indicates the number of milliseconds
+ * to wait before turning the vibrator
+ * on. The next value indicates the
+ * number of milliseconds for which
+ * to keep the vibrator on before
+ * turning it off. Subsequent values
+ * alternate between durations in
+ * milliseconds to turn the vibrator
+ * off or to turn the vibrator on.
+ */
+ vibrateWithPattern: function(pattern) {
+ exec(null, null, "Vibration", "vibrateWithPattern", pattern);
+ },
};