| ... | ... |
@@ -47,6 +47,8 @@ |
| 47 | 47 |
"signKey": document.getElementById("signKey").value,
|
| 48 | 48 |
"signKeyFormat": document.getElementById("signKeyFormat").value,
|
| 49 | 49 |
"autoClose" : document.getElementById("autoClose").checked ? 1 : 0,
|
| 50 |
+ "wakeupTime" : document.getElementById("wakeupEnable").checked
|
|
| 51 |
+ ? document.getElementById("wakeupTime").value : "-1",
|
|
| 50 | 52 |
} |
| 51 | 53 |
|
| 52 | 54 |
if (!document.getElementById("bundleEnable").checked) {
|
| ... | ... |
@@ -72,6 +74,12 @@ |
| 72 | 74 |
= document.getElementById("signEnable").checked
|
| 73 | 75 |
? "block" : "none"; |
| 74 | 76 |
} |
| 77 |
+ |
|
| 78 |
+ function updateWakeupVisibility() {
|
|
| 79 |
+ document.getElementById("wakeupFields").style.display
|
|
| 80 |
+ = document.getElementById("wakeupEnable").checked
|
|
| 81 |
+ ? "block" : "none"; |
|
| 82 |
+ } |
|
| 75 | 83 |
</script> |
| 76 | 84 |
</head> |
| 77 | 85 |
<body> |
| ... | ... |
@@ -101,6 +109,22 @@ |
| 101 | 109 |
</div> |
| 102 | 110 |
</div> |
| 103 | 111 |
|
| 112 |
+ <div class="item-container"> |
|
| 113 |
+ <div class="item-container-header">Auto Wakeup</div> |
|
| 114 |
+ <div class="item-container-content"> |
|
| 115 |
+ <label class="item"> |
|
| 116 |
+ Enable Auto Wakeup |
|
| 117 |
+ <input type="checkbox" class="item-toggle" name="wakeupEnable" id="wakeupEnable" onchange="updateWakeupVisibility();"> |
|
| 118 |
+ </label> |
|
| 119 |
+ <div id="wakeupFields"> |
|
| 120 |
+ <label class="item"> |
|
| 121 |
+ Wake-up time |
|
| 122 |
+ <input type="time" class="item-time" name="wakeupTime" id="wakeupTime" value="00:00"> |
|
| 123 |
+ </label> |
|
| 124 |
+ </div> |
|
| 125 |
+ </div> |
|
| 126 |
+ </div> |
|
| 127 |
+ |
|
| 104 | 128 |
<div class="item-container"> |
| 105 | 129 |
<div class="item-container-header">Data Bundling</div> |
| 106 | 130 |
<div class="item-container-content"> |
| ... | ... |
@@ -215,8 +239,19 @@ |
| 215 | 239 |
document.getElementById("signKeyFormat").value = getQueryParam("s_keyf", "HEX");
|
| 216 | 240 |
document.getElementById("signEnable").checked = (getQueryParam("s_field", "") !== "");
|
| 217 | 241 |
document.getElementById("autoClose").checked = (getQueryParam("ac", "") !== "");
|
| 242 |
+ |
|
| 243 |
+ var initWakeupTime = parseInt(getQueryParam("wakeup", "-1"));
|
|
| 244 |
+ if (initWakeupTime >= 0) {
|
|
| 245 |
+ var wakeupMin = initWakeupTime % 60; |
|
| 246 |
+ document.getElementById("wakeupEnable").checked = true;
|
|
| 247 |
+ document.getElementById("wakeupTime").value = (initWakeupTime / 60).toString(10) + (wakeupMin >= 10 ? ":" : ":0") + wakeupMin.toString(10);
|
|
| 248 |
+ } else {
|
|
| 249 |
+ document.getElementById("wakeupEnable").checked = false;
|
|
| 250 |
+ } |
|
| 251 |
+ |
|
| 218 | 252 |
updateBundleVisibility(); |
| 219 | 253 |
updateSignVisibility(); |
| 254 |
+ updateWakeupVisibility(); |
|
| 220 | 255 |
</script> |
| 221 | 256 |
</body> |
| 222 | 257 |
</html> |
| ... | ... |
@@ -24,6 +24,7 @@ var cfg_sign_field_format = ""; |
| 24 | 24 |
var cfg_sign_key = ""; |
| 25 | 25 |
var cfg_sign_key_format = ""; |
| 26 | 26 |
var cfg_auto_close = false; |
| 27 |
+var cfg_wakeup_time = -1; |
|
| 27 | 28 |
|
| 28 | 29 |
var to_send = []; |
| 29 | 30 |
var senders = [new XMLHttpRequest(), new XMLHttpRequest()]; |
| ... | ... |
@@ -101,6 +102,7 @@ Pebble.addEventListener("ready", function() {
|
| 101 | 102 |
cfg_sign_key = localStorage.getItem("cfgSignKey");
|
| 102 | 103 |
cfg_sign_key_format = localStorage.getItem("cfgSignKeyFormat");
|
| 103 | 104 |
cfg_auto_close = localStorage.getItem("cfgAutoClose");
|
| 105 |
+ cfg_wakeup_time = parseInt(localStorage.getItem("cfgWakeupTime") || "-1", 10);
|
|
| 104 | 106 |
|
| 105 | 107 |
if (!(cfg_bundle_max >= 1)) cfg_bundle_max = 1; |
| 106 | 108 |
|
| ... | ... |
@@ -158,6 +160,10 @@ Pebble.addEventListener("showConfiguration", function() {
|
| 158 | 160 |
settings += "&ac=1"; |
| 159 | 161 |
} |
| 160 | 162 |
|
| 163 |
+ if (cfg_wakeup_time >= 0) {
|
|
| 164 |
+ settings += "&wakeup=" + cfg_wakeup_time.toString(10); |
|
| 165 |
+ } |
|
| 166 |
+ |
|
| 161 | 167 |
Pebble.openURL("https://cdn.rawgit.com/faelys/pebble-health-export/v1.0/config.html" + settings);
|
| 162 | 168 |
}); |
| 163 | 169 |
|
| ... | ... |
@@ -218,7 +224,22 @@ Pebble.addEventListener("webviewclosed", function(e) {
|
| 218 | 224 |
msg.cfgAutoClose = cfg_auto_close ? 1 : 0; |
| 219 | 225 |
} |
| 220 | 226 |
|
| 221 |
- console.log(cfg_sign_field ? "Signature enabled" : "Signature disabled"); |
|
| 227 |
+ if (configData.wakeupTime !== null) {
|
|
| 228 |
+ console.log("Received wakeupTime \"" + configData.wakeupTime + "\"");
|
|
| 229 |
+ var wakeupComponents = configData.wakeupTime.split(":");
|
|
| 230 |
+ if (wakeupComponents.length === 2) {
|
|
| 231 |
+ var wakeupH = parseInt(wakeupComponents[0], 10); |
|
| 232 |
+ var wakeupM = parseInt(wakeupComponents[1], 10); |
|
| 233 |
+ if (wakeupH >= 0 && wakeupH < 24 && wakeupM >= 0 && wakeupM < 60) {
|
|
| 234 |
+ cfg_wakeup_time = wakeupH * 60 + wakeupM; |
|
| 235 |
+ localStorage.setItem("cfgWakeupTime", cfg_wakeup_time);
|
|
| 236 |
+ } |
|
| 237 |
+ else |
|
| 238 |
+ console.log("Invalid wakeupTime \"" + configData.wakeupTime + "\"");
|
|
| 239 |
+ } |
|
| 240 |
+ else |
|
| 241 |
+ console.log("Invalid wakeupTime \"" + configData.wakeupTime + "\"");
|
|
| 242 |
+ } |
|
| 222 | 243 |
|
| 223 | 244 |
if (configData.resend) {
|
| 224 | 245 |
senders[0].abort(); |