var Clay = require('pebble-clay');
var clayConfig = require('./config');
var clay = new Clay(clayConfig, null, { autoHandleEvents: false });
var messageKeys = require('message_keys');
var message;
var locate_me
var firstlocationInterval = false;
var locationInterval = false;
var instantLocationInterval = false;
Pebble.addEventListener('showConfiguration', function(e) {
clay.config = clayConfig;
console.log("Clay config is showing...")
Pebble.openURL(clay.generateUrl());
});
Pebble.addEventListener('webviewclosed', function(t) {
console.log("Clayview closed")
if (!t || t.response) {
console.log("Clay config is submitted : " + t.response)
try {
if (data = JSON.parse(t.response), data.code && data.scope == "read,activity:write") {
if (data.state == "agenda_sommeil" && data.scope == "read,activity:write") {
getTokens(data.code);
} else {
console.log("Error on response returned : scope is " + grantcode.scope + " and state is " + grantcode.state);
}
} else {
clay.getSettings(t.response);
console.log("Clay settings in Localstorage looks like " + localStorage.getItem("clay-settings"));
}
} catch (t) {
console.log("Oauth parsing error, continue on saving clay settings");
clay.getSettings(t.response);
var claysettings = JSON.parse(localStorage.getItem('clay-settings'))
claysettings.strava_enabled = false;
localStorage.setItem("clay-settings", JSON.stringify("claysettings"));
console.log("Clay settings in Localstorage looks like " + localStorage.getItem("clay-settings"));
}
}
});
function PostToWeb(event) {
console.log(localStorage.getItem('clay-settings'))
var url = JSON.parse(localStorage.getItem('clay-settings')).web_url + "?event="+event+"&user="+JSON.parse(localStorage.getItem('clay-settings')).username;
var xhr = new XMLHttpRequest();
xhr.timeout = 10000; // time in milliseconds
xhr.open("GET", url, false);
//console.log('------ CSV / xhr opened')
xhr.onload = function() {
//console.log('------xhr onloaded')
if (xhr.readyState === 4) {
//console.log('------xhr request returned with ' + xhr.status);
//console.log(this.responseText);
//localStorage.setItem("custom_uploaded", true);
if (xhr.status == 200) {
//console.log('--> HTTP 200');
return true;
} else {
//console.log('--> HTTP ' + xhr.status);
return false;
}
}
};
//send xhr without body (GET)
xhr.send();
}
function init() {
//init vars
// get vars from clay:
//var su = localStorage.getItem("strava_uploaded")
//debug :
//console.log("Locate_me = " + locate_me);
//actions:
//PostToWeb()
//set var in clay :
//localStorage.setItem("strava_uploaded", 0);
}
// Get JS readiness events
Pebble.addEventListener('ready', function(e) {
console.log('PebbleKit JS is ready');
// Update Watch on this
Pebble.sendAppMessage({ 'JSReady': 1 });
//init();
});
// Get AppMessage events
Pebble.addEventListener('appmessage', function (e) {
// Get the dictionary from the message
var dict = e.payload;
//console.log(dict[0].toString());
switch (dict[0]) {
case 'gotosleep':
PostToWeb("gotosleep")
break;
case 'awake':
PostToWeb("awake")
break;
case 'wakeup':
PostToWeb("wakeup")
break;
default:
console.log('Sorry. I don\'t understand your request :' + dict[0]);
}
});