in www/accelerometer.js [158:205]
watchAcceleration: function (successCallback, errorCallback, options) {
argscheck.checkArgs('fFO', 'accelerometer.watchAcceleration', arguments);
// Default interval (10 sec)
var frequency = options && options.frequency && typeof options.frequency === 'number' ? options.frequency : 10000;
// Keep reference to watch id, and report accel readings as often as defined in frequency
var id = utils.createUUID();
var p = createCallbackPair(
function () {},
function (e) {
removeListeners(p);
if (errorCallback) {
errorCallback(e);
}
}
);
listeners.push(p);
timers[id] = {
timer: window.setInterval(function () {
if (accel) {
successCallback(accel);
}
}, frequency),
listeners: p
};
if (running) {
// If we're already running then immediately invoke the success callback
// but only if we have retrieved a value, sample code does not check for null ...
if (accel) {
successCallback(accel);
}
} else {
start();
}
if (cordova.platformId === 'browser' && !eventTimerId) {
// Start firing devicemotion events if we haven't already
var devicemotionEvent = new Event('devicemotion');
eventTimerId = window.setInterval(function () {
window.dispatchEvent(devicemotionEvent);
}, 200);
}
return id;
},