Only sync library on Clay save
This commit is contained in:
1 parent
c95c75b11d
commit
6fb0a6dae6
3 files changed
+39
-13
No files matched your search
+2
-4
@@ -76,8 +76,8 @@ static void outbox_failed_handler(DictionaryIterator *iter, AppMessageResult rea
|
|||||||
static void inbox_received_handler(DictionaryIterator *iter, void *context) {
|
static void inbox_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
Tuple *t_ready = dict_find(iter, MESSAGE_KEY_PKJS_READY);
|
Tuple *t_ready = dict_find(iter, MESSAGE_KEY_PKJS_READY);
|
||||||
if (t_ready) {
|
if (t_ready) {
|
||||||
s_pkjs_ready = true;
|
s_pkjs_ready = (bool)t_ready->value->uint8;
|
||||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "PKJS READY RECEIVED");
|
APP_LOG(APP_LOG_LEVEL_DEBUG, "PKJS READY STATE CHANGE: %d", s_pkjs_ready);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,8 +159,6 @@ static void to_pkjs_move_back() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "Current nav scope: %d", s_current_menu_scope);
|
|
||||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "Using search: %d", s_nav_history.using_search);
|
|
||||||
if ((s_current_menu_scope == NAV_SCOPE_ARTISTS && !s_nav_history.using_search) || s_current_menu_scope == NAV_SCOPE_SEARCH) {
|
if ((s_current_menu_scope == NAV_SCOPE_ARTISTS && !s_nav_history.using_search) || s_current_menu_scope == NAV_SCOPE_SEARCH) {
|
||||||
// return to main menu
|
// return to main menu
|
||||||
s_current_menu_scope = NAV_SCOPE_MAIN;
|
s_current_menu_scope = NAV_SCOPE_MAIN;
|
||||||
|
|||||||
+1
-1
@@ -28,6 +28,6 @@ module.exports = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "submit",
|
"type": "submit",
|
||||||
"defaultValue": "Save/Sync Library"
|
"defaultValue": "Sync Library"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
+36
-8
@@ -1,7 +1,7 @@
|
|||||||
var Clay = require('@rebble/clay');
|
var Clay = require('@rebble/clay');
|
||||||
var clayConfig = require('./config');
|
var clayConfig = require('./config');
|
||||||
|
var clay = new Clay(clayConfig, null, { autoHandleEvents: false });
|
||||||
var keys = require('message_keys');
|
var keys = require('message_keys');
|
||||||
new Clay(clayConfig);
|
|
||||||
|
|
||||||
var NavScope = Object.freeze({
|
var NavScope = Object.freeze({
|
||||||
NAV_SCOPE_MAIN: 0,
|
NAV_SCOPE_MAIN: 0,
|
||||||
@@ -17,7 +17,15 @@ var jfIdToSeqIdMap = new Map();
|
|||||||
var allJfIds = [];
|
var allJfIds = [];
|
||||||
var currentArtist = null;
|
var currentArtist = null;
|
||||||
|
|
||||||
Pebble.addEventListener("ready", function () {
|
function toggleReadyState(ready) {
|
||||||
|
const readyDict = {};
|
||||||
|
readyDict[keys.PKJS_READY] = ready;
|
||||||
|
Pebble.sendAppMessage(readyDict);
|
||||||
|
}
|
||||||
|
|
||||||
|
function syncLibrary() {
|
||||||
|
toggleReadyState(false);
|
||||||
|
|
||||||
// store cache of library info from Jellyfin
|
// store cache of library info from Jellyfin
|
||||||
if (cfg.PRIV_BASE_URL && cfg.PRIV_API_KEY && cfg.PRIV_USERNAME) {
|
if (cfg.PRIV_BASE_URL && cfg.PRIV_API_KEY && cfg.PRIV_USERNAME) {
|
||||||
// get userId from Jellyfin
|
// get userId from Jellyfin
|
||||||
@@ -39,7 +47,8 @@ Pebble.addEventListener("ready", function () {
|
|||||||
|
|
||||||
// format response for jellyPod
|
// format response for jellyPod
|
||||||
//// build lookupMap
|
//// build lookupMap
|
||||||
let lastAlbumInfo = { AlbumArtist: "", AlbumName: "", AlbumYear: 0 };
|
let lastAlbumInfo = { AlbumArtist: "", AlbumName: ""};
|
||||||
|
//let lastAlbumInfo = { AlbumArtist: "", AlbumName: "", AlbumYear: 0 }; // TODO FUTURE USE
|
||||||
let currentSeqId = 0;
|
let currentSeqId = 0;
|
||||||
allJfIds = [] // ensure blank
|
allJfIds = [] // ensure blank
|
||||||
for (const track of libObj.Items) {
|
for (const track of libObj.Items) {
|
||||||
@@ -79,19 +88,38 @@ Pebble.addEventListener("ready", function () {
|
|||||||
lastAlbumInfo = {
|
lastAlbumInfo = {
|
||||||
AlbumArtist: albumArtist,
|
AlbumArtist: albumArtist,
|
||||||
AlbumName: albumName,
|
AlbumName: albumName,
|
||||||
AlbumYear: track.ProductionYear ? track.ProductionYear : 1970
|
//AlbumYear: track.ProductionYear ? track.ProductionYear : 1970 // TODO FUTURE USE
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//console.log(JSON.stringify(lookupMap, (k, v) => v instanceof Map ? Object.fromEntries(v) : v));
|
//console.log(JSON.stringify(lookupMap, (k, v) => v instanceof Map ? Object.fromEntries(v) : v));
|
||||||
|
toggleReadyState(true);
|
||||||
const readyDict = {};
|
|
||||||
readyDict[keys.PKJS_READY] = 1;
|
|
||||||
Pebble.sendAppMessage(readyDict);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Pebble.addEventListener('showConfiguration', function () {
|
||||||
|
Pebble.openURL(clay.generateUrl());
|
||||||
|
});
|
||||||
|
|
||||||
|
Pebble.addEventListener('webviewclosed', function(e) {
|
||||||
|
if (!e || !e.response) { return; }
|
||||||
|
|
||||||
|
// persist settings
|
||||||
|
try {
|
||||||
|
clay.getSettings(e.response);
|
||||||
|
} catch (err) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg = JSON.parse(localStorage.getItem('clay-settings'));
|
||||||
|
syncLibrary()
|
||||||
|
});
|
||||||
|
|
||||||
|
Pebble.addEventListener("ready", function () {
|
||||||
|
toggleReadyState(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
// PKJS seems to change its mind on how to index message keys, so this is necessary... :/
|
// PKJS seems to change its mind on how to index message keys, so this is necessary... :/
|
||||||
|
|||||||
Reference in new issue
Block a user