diff --git a/Examples/UIExplorer/js/VibrationExample.js b/Examples/UIExplorer/js/VibrationExample.js
index 554ae2f1f5514d..00e8cbd97bc4e0 100644
--- a/Examples/UIExplorer/js/VibrationExample.js
+++ b/Examples/UIExplorer/js/VibrationExample.js
@@ -30,12 +30,45 @@ var {
Text,
TouchableHighlight,
Vibration,
+ Platform,
} = ReactNative;
exports.framework = 'React';
exports.title = 'Vibration';
exports.description = 'Vibration API';
+
+var pattern, patternLiteral, patternDescription;
+if (Platform.OS === 'android') {
+ pattern = [0, 500, 200, 500];
+ patternLiteral = '[0, 500, 200, 500]';
+ patternDescription = `${patternLiteral}
+arg 0: duration to wait before turning the vibrator on.
+arg with odd: vibration length.
+arg with even: duration to wait before next vibration.
+`;
+} else {
+ pattern = [0, 1000, 2000, 3000];
+ patternLiteral = '[0, 1000, 2000, 3000]';
+ patternDescription = `${patternLiteral}
+vibration length on iOS is fixed.
+pattern controls durations BETWEEN each vibration only.
+
+arg 0: duration to wait before turning the vibrator on.
+subsequent args: duration to wait before next vibrattion.
+`;
+}
+
exports.examples = [
+ {
+ title: 'Pattern Descriptions',
+ render() {
+ return (
+
+ {patternDescription}
+
+ );
+ },
+ },
{
title: 'Vibration.vibrate()',
render() {
@@ -51,12 +84,12 @@ exports.examples = [
},
},
{
- title: 'Vibration.vibrate([0, 500, 200, 500])',
+ title: `Vibration.vibrate(${patternLiteral})`,
render() {
return (
Vibration.vibrate([0, 500, 200, 500])}>
+ onPress={() => Vibration.vibrate(pattern)}>
Vibrate once
@@ -65,12 +98,12 @@ exports.examples = [
},
},
{
- title: 'Vibration.vibrate([0, 500, 200, 500], true)',
+ title: `Vibration.vibrate(${patternLiteral}, true)`,
render() {
return (
Vibration.vibrate([0, 500, 200, 500], true)}>
+ onPress={() => Vibration.vibrate(pattern, true)}>
Vibrate until cancel