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