Browse code

fixed GPX format on restart

louis.jonget authored on10/11/2022 15:41:02
Showing2 changed files
... ...
@@ -77,12 +77,12 @@ static void send_message(char * msg){
77 77
 
78 78
 static void prv_select_click_handler(ClickRecognizerRef recognizer, void *context) {
79 79
   text_layer_set_text(s_main_text_layer, "");
80
-  text_layer_set_text(s_lower_text_layer, "sending get geoloc");
80
+  text_layer_set_text(s_lower_text_layer, "started/stopped");
81 81
   send_message("startstop");
82 82
 }
83 83
 
84 84
 static void prv_up_click_handler(ClickRecognizerRef recognizer, void *context) {
85
-  text_layer_set_text(s_lower_text_layer, "Tracking stopped, sending track...");
85
+  text_layer_set_text(s_lower_text_layer, "uploading...");
86 86
   send_message("send");
87 87
 }
88 88
 
... ...
@@ -218,25 +218,20 @@ function getTokens(code) {
218 218
 
219 219
   xhr.open("POST", url, false);
220 220
 
221
-  xhr.onload = function () {
222
-    //console.log('------xhr onloaded')
223
-    if (xhr.readyState === 4) {
224
-      console.log('------xhr request returned :', xhr.responseText);
225
-      response_json = JSON.parse(xhr.responseText);
226
-
227
-      var tokenjson = {
228
-        access_token: response_json.access_token,
229
-        refresh_token: response_json.refresh_token,
230
-        expiry: response_json.expires_at,
231
-        delay: response_json.expires_in
232
-      };
233
-      localStorage.setItem("strava_tokens", JSON.stringify(tokenjson));
234
-
235
-    }
236
-  };
237
-
238 221
   xhr.send();
239 222
 
223
+  if (xhr.status === 200) {
224
+    console.log('------xhr request returned :', xhr.responseText);
225
+    response_json = JSON.parse(xhr.responseText);
226
+
227
+    var tokenjson = {
228
+      access_token: response_json.access_token,
229
+      refresh_token: response_json.refresh_token,
230
+      expiry: response_json.expires_at,
231
+      delay: response_json.expires_in
232
+    };
233
+    localStorage.setItem("strava_tokens", JSON.stringify(tokenjson));
234
+  }
240 235
 }
241 236
 
242 237
 function refreshTokens(refresh_token) {
... ...
@@ -248,24 +243,21 @@ function refreshTokens(refresh_token) {
248 243
 
249 244
   xhr.open("POST", url, false);
250 245
 
251
-  xhr.onload = function () {
252
-    //console.log('------Refresh token - xhr onloaded')
253
-    if (xhr.readyState === 4) {
254
-      console.log('------Refresh token - xhr request returned with ' + xhr.responseText);
255
-      response_json = JSON.parse(xhr.responseText);
256
-
257
-      var tokenjson = {
258
-        access_token: response_json.access_token,
259
-        refresh_token: response_json.refresh_token,
260
-        expiry: response_json.expires_at,
261
-        delay: response_json.expires_in
262
-      };
263
-      localStorage.setItem("strava_tokens", JSON.stringify(tokenjson));
264
-
265
-    }
266
-  };
267
-
268 246
   xhr.send();
247
+  //console.log('------Refresh token - xhr onloaded')
248
+  if (xhr.status === 200) {
249
+    console.log('------Refresh token - xhr request returned with ' + xhr.responseText);
250
+    response_json = JSON.parse(xhr.responseText);
251
+
252
+    var tokenjson = {
253
+      access_token: response_json.access_token,
254
+      refresh_token: response_json.refresh_token,
255
+      expiry: response_json.expires_at,
256
+      delay: response_json.expires_in
257
+    };
258
+    localStorage.setItem("strava_tokens", JSON.stringify(tokenjson));
259
+
260
+  }
269 261
 
270 262
 }
271 263
 
... ...
@@ -567,6 +559,13 @@ function init() {
567 559
   if ((se && !su) || (ce && !cu)) {
568 560
     if (se) {
569 561
       console.log("GPX upload needed to Strava")
562
+
563
+      var GPX = localStorage.getItem("GPX");
564
+      if (!GPX.substring(GPX.length - 6, 6) == "</gpx>") {
565
+        var footer = '</trkseg></trk></gpx>';
566
+        localStorage.setItem("GPX", GPX + footer);
567
+        GPXfooterBuilder();
568
+      }
570 569
       SendToStrava();
571 570
     }
572 571
 
... ...
@@ -608,7 +607,6 @@ Pebble.addEventListener('appmessage', function (e) {
608 607
       if (!locationInterval == false) {
609 608
         console.log("Stopping the track");
610 609
         clearInterval(locationInterval);
611
-        GPXfooterBuilder();
612 610
         locationInterval = false;
613 611
         clearInterval(instantLocationInterval);
614 612
         instantLocationInterval = false;