diff --git a/package.json b/package.json index d13c5c7..7f49a6a 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "name": "1-more-episode", "pebble": { "displayName": "1 More Episode", - "enableMultiJS": false, + "enableMultiJS": true, "messageKeys": [ "JS_READY", "SLEEP_TIMESTAMP", diff --git a/src/c/main.c b/src/c/main.c index 0c46ab8..05a65d1 100644 --- a/src/c/main.c +++ b/src/c/main.c @@ -4,7 +4,6 @@ // declare pkjs statics static bool s_js_ready; -static bool s_js_pending; // declare window statics static Window *s_main_window; @@ -34,8 +33,6 @@ static void send_to_pkjs() { text_layer_set_text(s_last_episode_layer, "outbox_send failure "); return; } - - s_js_pending = false; } static void inbox_received_handler(DictionaryIterator *iter, void *context) { @@ -43,7 +40,8 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) { if (ready_tuple) { s_js_ready = true; } - APP_LOG(APP_LOG_LEVEL_INFO, "Received JS_READY"); + APP_LOG(APP_LOG_LEVEL_INFO, "Received JS_READY, calling PKJS..."); + send_to_pkjs(); } static void inbox_dropped_handler(AppMessageResult reason, void *context) { diff --git a/src/pkjs/index.js b/src/pkjs/index.js index 739b132..7b97208 100644 --- a/src/pkjs/index.js +++ b/src/pkjs/index.js @@ -4,8 +4,7 @@ Pebble.addEventListener("ready", function () { Pebble.addEventListener("appmessage", function (dict) { if (dict.payload["API_HOST"]) { - console.log("WOAH BRO"); - if (dict.payload["API_IS_PLEX"] == true) { + if (dict.payload["API_IS_PLEX"] == 1) { callAPI(dict.payload["API_HOST"] + "/status/sessions/history/all", true, dict.payload["API_KEY"]); } else { callAPI(dict.payload["API_HOST"] + "/System/ActivityLog/Entries", false, dict.payload["API_KEY"]); @@ -14,24 +13,22 @@ Pebble.addEventListener("appmessage", function (dict) { }); function callAPI(fullURL, isPlex, apiKey) { - let data = null; + console.log("callAPI URL:", fullURL, "isPlex:", isPlex); - let xhr = new XMLHttpRequest(); - xhr.withCredentials = true; - - xhr.addEventListener("readystatechange", function () { - if (this.readyState === this.DONE) { - console.log(this.responseText); + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function () { + if (xhr.readyState === 4) { + console.log(xhr.responseText); // raw JSON string from API } - }); + }; - xhr.open("GET", fullURL); - xhr.setRequestHeader("accept", "application/json"); - if (isPlex == true) { + xhr.open("GET", fullURL, true); + xhr.setRequestHeader("Accept", "application/json"); + if (isPlex) { xhr.setRequestHeader("X-Plex-Token", apiKey); } else { xhr.setRequestHeader("Authorization", 'MediaBrowser Token="' + apiKey + '"'); } - xhr.send(data); + xhr.send(null); }