Commit 247a20ca authored by CeRiAl's avatar CeRiAl

Beautify JS-code and add .jshintrc

parent 450a1b0d
{
"browser": true,
"indent": 4,
"eqeqeq": true,
"undef": true,
"curly": true,
"eqnull": true,
"noarg": true,
"bitwise": true,
"forin": true,
"newcap": true,
"unused": "vars",
"quotmark": "double",
"globals": {
"Pebble": false,
"toString": false,
"console": false
}
}
...@@ -21,13 +21,135 @@ ...@@ -21,13 +21,135 @@
// MessageQueue implementation is copyright (c) 2014 by Matthew Tole, https://github.com/smallstoneapps/js-message-queue // MessageQueue implementation is copyright (c) 2014 by Matthew Tole, https://github.com/smallstoneapps/js-message-queue
// Distributed under the MIT license, see above. Many thanks Matthew! // Distributed under the MIT license, see above. Many thanks Matthew!
// //
var MessageQueue=function(){var RETRY_MAX=5;var queue=[];var sending=false;var timer=null;return{reset:reset,sendAppMessage:sendAppMessage,size:size};function reset(){queue=[];sending=false}function sendAppMessage(message,ack,nack){if(!isValidMessage(message)){return false}queue.push({message:message,ack:ack||null,nack:nack||null,attempts:0});setTimeout(function(){sendNextMessage()},1);return true}function size(){return queue.length}function isValidMessage(message){if(message!==Object(message)){return false}var keys=Object.keys(message);if(!keys.length){return false}for(var k=0;k<keys.length;k+=1){var validKey=/^[0-9a-zA-Z-_]*$/.test(keys[k]);if(!validKey){return false}var value=message[keys[k]];if(!validValue(value)){return false}}return true;function validValue(value){switch(typeof value){case"string":return true;case"number":return true;case"object":if(toString.call(value)=="[object Array]"){return true}}return false}}function sendNextMessage(){if(sending){return}var message=queue.shift();if(!message){return}message.attempts+=1;sending=true;Pebble.sendAppMessage(message.message,ack,nack);timer=setTimeout(function(){timeout()},1e3);function ack(){clearTimeout(timer);setTimeout(function(){sending=false;sendNextMessage()},200);if(message.ack){message.ack.apply(null,arguments)}}function nack(){clearTimeout(timer);if(message.attempts<RETRY_MAX){queue.unshift(message);setTimeout(function(){sending=false;sendNextMessage()},200*message.attempts)}else{if(message.nack){message.nack.apply(null,arguments)}}}function timeout(){setTimeout(function(){sending=false;sendNextMessage()},1e3);if(message.ack){message.ack.apply(null,arguments)}}}}(); var MessageQueue = function () {
var RETRY_MAX = 5;
var queue = [];
var sending = false;
var timer = null;
return {
reset: reset,
sendAppMessage: sendAppMessage,
size: size
};
function reset() {
queue = [];
sending = false;
}
function sendAppMessage(message, ack, nack) {
if (!isValidMessage(message)) {
return false;
}
queue.push({
message: message,
ack: ack || null,
nack: nack || null,
attempts: 0
});
setTimeout(function () {
sendNextMessage();
}, 1);
return true;
}
function size() {
return queue.length;
}
function isValidMessage(message) {
if (message !== Object(message)) {
return false;
}
var keys = Object.keys(message);
if (!keys.length) {
return false;
}
for (var k = 0; k < keys.length; k += 1) {
var validKey = /^[0-9a-zA-Z-_]*$/.test(keys[k]);
if (!validKey) {
return false;
}
var value = message[keys[k]];
if (!validValue(value)) {
return false;
}
}
return true;
function validValue(value) {
switch (typeof value) {
case "string":
return true;
case "number":
return true;
case "object":
if (toString.call(value) === "[object Array]") {
return true;
}
}
return false;
}
}
function sendNextMessage() {
if (sending) {
return;
}
var message = queue.shift();
if (!message) {
return;
}
message.attempts += 1;
sending = true;
Pebble.sendAppMessage(message.message, ack, nack);
timer = setTimeout(function () {
timeout();
}, 1e3);
function ack() {
clearTimeout(timer);
setTimeout(function () {
sending = false;
sendNextMessage();
}, 200);
if (message.ack) {
message.ack.apply(null, arguments);
}
}
function nack() {
clearTimeout(timer);
if (message.attempts < RETRY_MAX) {
queue.unshift(message);
setTimeout(function () {
sending = false;
sendNextMessage();
}, 200 * message.attempts);
} else {
if (message.nack) {
message.nack.apply(null, arguments);
}
}
}
function timeout() {
setTimeout(function () {
sending = false;
sendNextMessage();
}, 1e3);
if (message.ack) {
message.ack.apply(null, arguments);
}
}
}
}();
// global variables // global variables
var storage_keys = { var storage_keys = {
"IP_ADDRESS": 0, "IP_ADDRESS": 0,
"USERNAME": 1, "USERNAME": 1,
"PASSWORD": 2 "PASSWORD": 2
}; };
var ISDEBUG = false; var ISDEBUG = false;
var g_ip_address = ""; var g_ip_address = "";
...@@ -40,311 +162,481 @@ var g_muted; ...@@ -40,311 +162,481 @@ var g_muted;
var g_play_state; var g_play_state;
var JsonRpcRequest = function (method, params) { var JsonRpcRequest = function (method, params) {
this.jsonrpc = "2.0"; this.jsonrpc = "2.0";
this.id = 1; this.id = 1;
this.method = method; this.method = method;
this.params = params; this.params = params;
}; };
function sendJsonRequest(requests, callback) { function sendJsonRequest(requests, callback) {
var username = null; var username = null;
var password = null; var password = null;
var response = null; var response = null;
var req = new XMLHttpRequest(); var req = new XMLHttpRequest();
req.onreadystatechange = function(e) { req.onreadystatechange = function (e) {
if (req.readyState == 4) { if (req.readyState === 4) {
if (req.status == 200) { if (req.status === 200) {
if (ISDEBUG) console.log("Response text: "+req.responseText); if (ISDEBUG) {
response = JSON.parse(req.responseText); console.log("Response text: " + req.responseText);
if (response.result == null) { }
handleJsonRpcError(response); response = JSON.parse(req.responseText);
} else if (callback != null) { if (response.result === null) {
callback(response.result); handleJsonRpcError(response);
} else if (callback !== null) {
callback(response.result);
}
} else {
if (req.status !== 0) {
console.log("Error connecting [" + req.status + "]: " + req.statusText);
Pebble.showSimpleNotificationOnPebble("Could not connect [" + req.status + "]", "Please check your Rockodi settings in the Pebble app.");
}
}
} }
} else { };
if (req.status !== 0) { if (g_username !== "") {
console.log("Error connecting ["+req.status+"]: "+req.statusText); username = g_username;
Pebble.showSimpleNotificationOnPebble("Could not connect ["+req.status+"]", "Please check your Rockodi settings in the Pebble app."); if (g_password !== "") {
password = g_password;
} }
}
} }
}; var url_string = "http://" + g_ip_address + "/jsonrpc?request=";
if (g_username !== "") { req.open("GET", url_string + encodeURI(JSON.stringify(requests)), true, username, password);
username = g_username; req.timeout = 4000;
if (g_password !== "") { req.send(null);
password = g_password; if (ISDEBUG) {
console.log("Sent request: " + url_string + encodeURI(JSON.stringify(requests)));
} }
}
var url_string = "http://"+g_ip_address+"/jsonrpc?request=";
req.open('GET', url_string+encodeURI(JSON.stringify(requests)), true, username, password);
req.timeout = 4000;
req.send(null);
if (ISDEBUG) console.log("Sent request: "+url_string+encodeURI(JSON.stringify(requests)));
} }
function handleJsonRpcError(response) { function handleJsonRpcError(response) {
var err_msg = "Unknown error"; var err_msg = "Unknown error";
if (response.constructor === Array) { if (response.constructor === Array) {
for (var i=0;i<response.length;i++) { for (var i = 0; i < response.length; i++) {
if (response[i].result == null) { if (response[i].result === null) {
if (response[i].error!= null) {err_msg = response[i].error.message;} if (response[i].error !== null) {
console.log("Kodi responded with an error: "+err_msg); err_msg = response[i].error.message;
} }
} console.log("Kodi responded with an error: " + err_msg);
} else { }
if (response.result == null) { }
if (response.error!= null) {err_msg = response.error.message;} } else {
console.log("Kodi responded with an error: "+err_msg); if (response.result === null) {
if (response.error !== null) {
err_msg = response.error.message;
}
console.log("Kodi responded with an error: " + err_msg);
}
} }
}
} }
// player methods // player methods
function getStatus() { function getStatus() {
g_player_id = -1; g_player_id = -1;
sendJsonRequest(new JsonRpcRequest("Application.GetProperties", {"properties":["volume", "muted"]}), getAppPropertiesCb); sendJsonRequest(new JsonRpcRequest("Application.GetProperties", {
sendJsonRequest(new JsonRpcRequest("Player.GetActivePlayers", {}), getActivePlayersCb); "properties": ["volume", "muted"]
}), getAppPropertiesCb);
sendJsonRequest(new JsonRpcRequest("Player.GetActivePlayers", {}), getActivePlayersCb);
} }
function getAppPropertiesCb(result) { function getAppPropertiesCb(result) {
g_volume = result.volume; g_volume = result.volume;
g_muted = (result.muted) ? 1 : 0; g_muted = (result.muted) ? 1 : 0;
MessageQueue.sendAppMessage({"MSG_KEY_VOLUME": g_volume, "MSG_KEY_MUTED": g_muted}); MessageQueue.sendAppMessage({
"MSG_KEY_VOLUME": g_volume,
"MSG_KEY_MUTED": g_muted
});
} }
function getActivePlayersCb(result) { function getActivePlayersCb(result) {
g_player_id = -1; g_player_id = -1;
for (var i=0; i<result.length; i++) { for (var i = 0; i < result.length; i++) {
var player = result[i]; var player = result[i];
g_player_type = player.type; g_player_type = player.type;
if (g_player_type == "audio" || g_player_type == "video") { if (g_player_type === "audio" || g_player_type === "video") {
g_player_id = player.playerid; g_player_id = player.playerid;
break; break;
}
}
if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.GetProperties", {
"playerid": g_player_id,
"properties": ["speed"]
}), getPlayerPropertiesCb);
sendJsonRequest(new JsonRpcRequest("Player.GetItem", {
"playerid": g_player_id,
"properties": ["title", "album", "artist", "director", "duration"]
}), getItemCb);
} else {
MessageQueue.sendAppMessage({
"MSG_KEY_TITLE": "No player available",
"MSG_KEY_ARTIST": ""
});
} }
}
if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.GetProperties", {"playerid": g_player_id, "properties": ["speed"]}), getPlayerPropertiesCb);
sendJsonRequest(new JsonRpcRequest("Player.GetItem", {"playerid": g_player_id, "properties": ["title","album","artist","director","duration"]}), getItemCb);
} else {
MessageQueue.sendAppMessage({"MSG_KEY_TITLE": "No player available", "MSG_KEY_ARTIST": ""});
}
} }
function getPlayerPropertiesCb(result) { function getPlayerPropertiesCb(result) {
g_play_state = (result.speed > 0) ? 1 : 0; g_play_state = (result.speed > 0) ? 1 : 0;
MessageQueue.sendAppMessage({"MSG_KEY_PLAY_STATE": g_play_state}); MessageQueue.sendAppMessage({
"MSG_KEY_PLAY_STATE": g_play_state
});
} }
function getItemCb(result) { function getItemCb(result) {
var title = (result.item.title === "") ? result.item.label : result.item.title; var title = (result.item.title === "") ? result.item.label : result.item.title;
var artist = ""; var artist = "";
if (result.item.type == "movie") { if (result.item.type === "movie") {
artist = (result.item.director.length < 1) ? "" : result.item.director[0]; artist = (result.item.director.length < 1) ? "" : result.item.director[0];
} else { } else {
artist = (result.item.artist.length < 1) ? "" : result.item.artist[0]; artist = (result.item.artist.length < 1) ? "" : result.item.artist[0];
} }
MessageQueue.sendAppMessage({"MSG_KEY_TITLE":title,"MSG_KEY_ARTIST":artist}); MessageQueue.sendAppMessage({
"MSG_KEY_TITLE": title,
"MSG_KEY_ARTIST": artist
});
} }
function playPause() { function playPause() {
if (g_player_id >= 0) { if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.PlayPause", {"playerid": g_player_id}), playPauseCb); sendJsonRequest(new JsonRpcRequest("Player.PlayPause", {
} "playerid": g_player_id
}), playPauseCb);
}
} }
function playPauseCb(result) { function playPauseCb(result) {
g_play_state = result.speed; g_play_state = result.speed;
MessageQueue.sendAppMessage({"MSG_KEY_PLAY_STATE": g_play_state}); MessageQueue.sendAppMessage({
"MSG_KEY_PLAY_STATE": g_play_state
});
} }
function raiseVolume() { function raiseVolume() {
g_volume = (g_volume > 95) ? 100 : g_volume + 5; g_volume = (g_volume > 95) ? 100 : g_volume + 5;
sendJsonRequest(new JsonRpcRequest("Application.SetVolume", {"volume": g_volume}), setVolumeCb); sendJsonRequest(new JsonRpcRequest("Application.SetVolume", {
"volume": g_volume
}), setVolumeCb);
} }
function lowerVolume() { function lowerVolume() {
g_volume = (g_volume < 5) ? 0 : g_volume - 5; g_volume = (g_volume < 5) ? 0 : g_volume - 5;
sendJsonRequest(new JsonRpcRequest("Application.SetVolume", {"volume": g_volume}), setVolumeCb); sendJsonRequest(new JsonRpcRequest("Application.SetVolume", {
"volume": g_volume
}), setVolumeCb);
} }
function setVolumeCb (result) {
g_volume = result; function setVolumeCb(result) {
MessageQueue.sendAppMessage({"MSG_KEY_VOLUME": g_volume}); g_volume = result;
MessageQueue.sendAppMessage({
"MSG_KEY_VOLUME": g_volume
});
} }
function previous() { function previous() {
if (g_player_id >= 0) { if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.GoTo", {"playerid": g_player_id, "to": "previous"}), changeTransportCb); sendJsonRequest(new JsonRpcRequest("Player.GoTo", {
} "playerid": g_player_id,
"to": "previous"
}), changeTransportCb);
}
} }
function next() { function next() {
if (g_player_id >= 0) { if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.GoTo", {"playerid": g_player_id, "to": "next"}), changeTransportCb); sendJsonRequest(new JsonRpcRequest("Player.GoTo", {
} "playerid": g_player_id,
"to": "next"
}), changeTransportCb);
}
} }
function stop() { function stop() {
if (g_player_id >= 0) { if (g_player_id >= 0) {
sendJsonRequest(new JsonRpcRequest("Player.Stop", {"playerid": g_player_id}), changeTransportCb); sendJsonRequest(new JsonRpcRequest("Player.Stop", {
} "playerid": g_player_id
}), changeTransportCb);
}
} }
function changeTransportCb(result) { function changeTransportCb(result) {
getStatus(); getStatus();
} }
// Remote methods // Remote methods
function sendKey(input_key) { function sendKey(input_key) {
switch(input_key) { switch (input_key) {
case "KEY_UP": case "KEY_UP":
sendJsonRequest(new JsonRpcRequest("Input.Up")); sendJsonRequest(new JsonRpcRequest("Input.Up"));
break; break;
case "KEY_DOWN": case "KEY_DOWN":
sendJsonRequest(new JsonRpcRequest("Input.Down")); sendJsonRequest(new JsonRpcRequest("Input.Down"));
break; break;
case "KEY_SELECT": case "KEY_SELECT":
sendJsonRequest(new JsonRpcRequest("Input.Select")); sendJsonRequest(new JsonRpcRequest("Input.Select"));
break; break;
case "KEY_BACK": case "KEY_BACK":
sendJsonRequest(new JsonRpcRequest("Input.Back")); sendJsonRequest(new JsonRpcRequest("Input.Back"));
break; break;
case "KEY_LEFT": case "KEY_LEFT":
sendJsonRequest(new JsonRpcRequest("Input.Left")); sendJsonRequest(new JsonRpcRequest("Input.Left"));
break; break;
case "KEY_RIGHT": case "KEY_RIGHT":
sendJsonRequest(new JsonRpcRequest("Input.Right")); sendJsonRequest(new JsonRpcRequest("Input.Right"));
break; break;
} }
} }
// Goto methods // Goto methods
function gotoFullscreen() { function gotoFullscreen() {
sendJsonRequest(new JsonRpcRequest("GUI.setFullScreen",{"fullscreen":true})); sendJsonRequest(new JsonRpcRequest("GUI.setFullScreen", {
"fullscreen": true
}));
} }
function gotoInfo() { function gotoInfo() {
sendJsonRequest(new JsonRpcRequest("Input.Info")); sendJsonRequest(new JsonRpcRequest("Input.Info"));
} }
function gotoHome() { function gotoHome() {
sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow",{"window":"home"})); sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow", {
"window": "home"
}));
} }
function gotoMusic() { function gotoMusic() {
sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow",{"window":"music"})); sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow", {
"window": "music"
}));
} }
function gotoVideo() { function gotoVideo() {
sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow",{"window":"video"})); sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow", {
"window": "video"
}));
} }
function gotoPictures() { function gotoPictures() {
sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow",{"window":"pictures"})); sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow", {
"window": "pictures"
}));
} }
function gotoWeather() { function gotoWeather() {
sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow",{"window":"weather"})); sendJsonRequest(new JsonRpcRequest("GUI.ActivateWindow", {
"window": "weather"
}));
} }
// Playlist methods // Playlist methods
function getMusicPlaylists() { function getMusicPlaylists() {
sendJsonRequest(new JsonRpcRequest("Files.GetDirectory", {"directory":"special://musicplaylists","media":"files","properties":["title"],"limits":{"start":0,"end":10}}), getMusicPlaylistsCb); sendJsonRequest(new JsonRpcRequest("Files.GetDirectory", {
"directory": "special://musicplaylists",
"media": "files",
"properties": ["title"],
"limits": {
"start": 0,
"end": 10
}
}), getMusicPlaylistsCb);
} }
function getMusicPlaylistsCb(result) { function getMusicPlaylistsCb(result) {
var dict = {}; var dict = {};
var key = 0; var key = 0;
var files = result.files; var files = result.files;
for (var i=0;i<files.length;i++) { for (var i = 0; i < files.length; i++) {
var filename = files[i].file; var filename = files[i].file;
var label = files[i].label; var label = files[i].label;
dict[key++] = filename + "|" + label; dict[key++] = filename + "|" + label;
} }
MessageQueue.sendAppMessage(dict); MessageQueue.sendAppMessage(dict);
} }
function playMusicPlaylist(payload) { function playMusicPlaylist(payload) {
var filename = payload.MSG_KEY_CMD_DATA; var filename = payload.MSG_KEY_CMD_DATA;
var requests = []; var requests = [];
requests.push(new JsonRpcRequest("PlayList.Clear", {"playlistid": 0})); requests.push(new JsonRpcRequest("PlayList.Clear", {
requests.push(new JsonRpcRequest("PlayList.Add", {"playlistid":0, "item":{"directory":filename,"recursive":true}})); "playlistid": 0
requests.push(new JsonRpcRequest("Player.Open", {"item":{"playlistid":0,"position":0}})); }));
sendJsonRequest(requests); requests.push(new JsonRpcRequest("PlayList.Add", {
"playlistid": 0,
"item": {
"directory": filename,
"recursive": true
}
}));
requests.push(new JsonRpcRequest("Player.Open", {
"item": {
"playlistid": 0,
"position": 0
}
}));
sendJsonRequest(requests);
} }
// Addon methods // Addon methods
function getAddons() { function getAddons() {
sendJsonRequest(new JsonRpcRequest("Addons.GetAddons", {"type": "xbmc.python.script", "properties": ["name"],"limits":{"start":0,"end":10}}), getAddonsCb); sendJsonRequest(new JsonRpcRequest("Addons.GetAddons", {
"type": "xbmc.python.script",
"properties": ["name"],
"limits": {
"start": 0,
"end": 10
}
}), getAddonsCb);
} }
function getAddonsCb(result) { function getAddonsCb(result) {
var dict = {}; var dict = {};
var key = 0; var key = 0;
var addons = result.addons; var addons = result.addons;
for (var i=0;i<addons.length;i++) { for (var i = 0; i < addons.length; i++) {
var id = addons[i].addonid; var id = addons[i].addonid;
var name = addons[i].name; var name = addons[i].name;
dict[key++] = id + "|" + name; dict[key++] = id + "|" + name;
} }
MessageQueue.sendAppMessage(dict); MessageQueue.sendAppMessage(dict);
} }
function executeAddon(payload) { function executeAddon(payload) {
var addonid = payload.MSG_KEY_CMD_DATA; var addonid = payload.MSG_KEY_CMD_DATA;
sendJsonRequest(new JsonRpcRequest("Addons.ExecuteAddon", {"addonid": addonid})); sendJsonRequest(new JsonRpcRequest("Addons.ExecuteAddon", {
"addonid": addonid
}));
} }
// Power methods // Power methods
function systemShutdown() { function systemShutdown() {
sendJsonRequest(new JsonRpcRequest("System.Shutdown")); sendJsonRequest(new JsonRpcRequest("System.Shutdown"));
} }
function systemReboot() { function systemReboot() {
sendJsonRequest(new JsonRpcRequest("System.Reboot")); sendJsonRequest(new JsonRpcRequest("System.Reboot"));
} }
function systemHibernate() { function systemHibernate() {
sendJsonRequest(new JsonRpcRequest("System.Hibernate")); sendJsonRequest(new JsonRpcRequest("System.Hibernate"));
} }
function systemSuspend() { function systemSuspend() {
sendJsonRequest(new JsonRpcRequest("System.Suspend")); sendJsonRequest(new JsonRpcRequest("System.Suspend"));
} }
// Event listeners // Event listeners
Pebble.addEventListener('ready', Pebble.addEventListener("ready",
function(e) { function (e) {
console.log('Rockodi copyright (c) 2015, Douglas Otwell'); console.log("Rockodi copyright (c) 2015, Douglas Otwell");
g_ip_address = localStorage.getItem(storage_keys.IP_ADDRESS); g_ip_address = localStorage.getItem(storage_keys.IP_ADDRESS);
g_username = localStorage.getItem(storage_keys.USERNAME); g_username = localStorage.getItem(storage_keys.USERNAME);
g_password = localStorage.getItem(storage_keys.PASSWORD); g_password = localStorage.getItem(storage_keys.PASSWORD);
} }
); );
Pebble.addEventListener('showConfiguration', function(e) { Pebble.addEventListener("showConfiguration", function (e) {
var query_string = encodeURI("?ip_address="+g_ip_address+"&username="+g_username+"&password="+g_password); var query_string = encodeURI("?ip_address=" + g_ip_address + "&username=" + g_username + "&password=" + g_password);
Pebble.openURL('http://www.dkographicdetails.com/rockodi/config/config-page.html'+query_string); Pebble.openURL("http://www.dkographicdetails.com/rockodi/config/config-page.html" + query_string);
}); });
Pebble.addEventListener('webviewclosed', Pebble.addEventListener("webviewclosed",
function(e) { function (e) {
var configuration = JSON.parse(decodeURIComponent(e.response)); var configuration = JSON.parse(decodeURIComponent(e.response));
if (typeof configuration.ip_address !== "undefined") { if (typeof configuration.ip_address !== "undefined") {
localStorage.setItem(storage_keys.IP_ADDRESS, configuration.ip_address); localStorage.setItem(storage_keys.IP_ADDRESS, configuration.ip_address);
localStorage.setItem(storage_keys.USERNAME, configuration.username); localStorage.setItem(storage_keys.USERNAME, configuration.username);
localStorage.setItem(storage_keys.PASSWORD, configuration.password); localStorage.setItem(storage_keys.PASSWORD, configuration.password);
g_ip_address = localStorage.getItem(storage_keys.IP_ADDRESS); g_ip_address = localStorage.getItem(storage_keys.IP_ADDRESS);
g_username = localStorage.getItem(storage_keys.USERNAME); g_username = localStorage.getItem(storage_keys.USERNAME);
g_password = localStorage.getItem(storage_keys.PASSWORD); g_password = localStorage.getItem(storage_keys.PASSWORD);
}
} }
}
); );
Pebble.addEventListener("appmessage", Pebble.addEventListener("appmessage",
function(e) { function (e) {
var cmd = e.payload.MSG_KEY_CMD; var cmd = e.payload.MSG_KEY_CMD;
switch(cmd) { switch (cmd) {
// Player messages // Player messages
case "GET_STATUS": getStatus(); break; case "GET_STATUS":
case "PLAY_PAUSE": playPause(); break; getStatus();
case "VOLUME_UP": raiseVolume(); break; break;
case "VOLUME_DOWN": lowerVolume(); break; case "PLAY_PAUSE":
case "NEXT": next(); break; playPause();
case "STOP": stop(); break; break;
case "PREVIOUS": previous(); break; case "VOLUME_UP":
// Remote messages raiseVolume();
case "KEY_SELECT": sendKey(cmd); break; break;
case "KEY_UP": sendKey(cmd); break; case "VOLUME_DOWN":
case "KEY_DOWN": sendKey(cmd); break; lowerVolume();
case "KEY_BACK": sendKey(cmd); break; break;
case "KEY_LEFT": sendKey(cmd); break; case "NEXT":
case "KEY_RIGHT": sendKey(cmd); break; next();
// Goto messages break;
case "GO_FULL": gotoFullscreen(); break; case "STOP":
case "GO_INFO": gotoInfo(); break; stop();
case "GO_HOME": gotoHome(); break; break;
case "GO_MUSIC": gotoMusic(); break; case "PREVIOUS":
case "GO_VIDEO": gotoVideo(); break; previous();
case "GO_PICS": gotoPictures(); break; break;
case "GO_WEATHER": gotoWeather(); break; // Remote messages
// Playlist messages case "KEY_SELECT":
case "GET_MUSIC_PLAYLISTS": getMusicPlaylists(); break; sendKey(cmd);
case "PLAY_MUSIC_PLAYLIST": playMusicPlaylist(e.payload); break; break;
// Addons messages case "KEY_UP":
case "GET_ADDONS": getAddons(); break; sendKey(cmd);
case "EXE_ADDON": executeAddon(e.payload); break; break;
// Power messages case "KEY_DOWN":
case "PWR_SHUTDOWN": systemShutdown(); break; sendKey(cmd);
case "PWR_REBOOT": systemReboot(); break; break;
case "PWR_SUSPEND": systemSuspend(); break; case "KEY_BACK":
case "PWR_HIBERNATE": systemHibernate(); break; sendKey(cmd);
default: console.log("Command is not defined: "+cmd+"; payload: "+e.payload); break;
case "KEY_LEFT":
sendKey(cmd);
break;
case "KEY_RIGHT":
sendKey(cmd);
break;
// Goto messages
case "GO_FULL":
gotoFullscreen();
break;
case "GO_INFO":
gotoInfo();
break;
case "GO_HOME":
gotoHome();
break;
case "GO_MUSIC":
gotoMusic();
break;
case "GO_VIDEO":
gotoVideo();
break;
case "GO_PICS":
gotoPictures();
break;
case "GO_WEATHER":
gotoWeather();
break;
// Playlist messages
case "GET_MUSIC_PLAYLISTS":
getMusicPlaylists();
break;
case "PLAY_MUSIC_PLAYLIST":
playMusicPlaylist(e.payload);
break;
// Addons messages
case "GET_ADDONS":
getAddons();
break;
case "EXE_ADDON":
executeAddon(e.payload);
break;
// Power messages
case "PWR_SHUTDOWN":
systemShutdown();
break;
case "PWR_REBOOT":
systemReboot();
break;
case "PWR_SUSPEND":
systemSuspend();
break;
case "PWR_HIBERNATE":
systemHibernate();
break;
default:
console.log("Command is not defined: " + cmd + "; payload: " + e.payload);
}
} }
} );
);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment