deal with errors better
authorRobert Kaiser <robert@widebook.box.kairo.at>
Sun, 25 Nov 2012 16:40:15 +0000 (17:40 +0100)
committerRobert Kaiser <robert@widebook.box.kairo.at>
Sun, 25 Nov 2012 16:40:15 +0000 (17:40 +0100)
js/tricorder.js

index 2dc920767f39b9bb17974ff22fb99ed40ad6a91a..4d5e69bb66cda667f6429ff11d192adb065915a6 100644 (file)
@@ -100,14 +100,20 @@ var gModPos = {
         },
         function(error) {
           // See https://developer.mozilla.org/en/Using_geolocation#Handling_errors
         },
         function(error) {
           // See https://developer.mozilla.org/en/Using_geolocation#Handling_errors
-          document.getElementById("posLat").textContent = error.message;
-          document.getElementById("posLong").textContent = "...";
-          document.getElementById("posAlt").textContent = "...";
-          document.getElementById("posAcc").textContent = "...";
-          document.getElementById("posAltAcc").textContent = "...";
-          document.getElementById("posHead").textContent = "...";
-          document.getElementById("posSpd").textContent = "...";
-          document.getElementById("posTime").textContent = "...";
+          if (error.message) {
+            document.getElementById("posLat").textContent = error.message;
+            document.getElementById("posLong").textContent = "...";
+            document.getElementById("posAlt").textContent = "...";
+            document.getElementById("posAcc").textContent = "...";
+            document.getElementById("posAltAcc").textContent = "...";
+            document.getElementById("posHead").textContent = "...";
+            document.getElementById("posSpd").textContent = "...";
+            document.getElementById("posTime").textContent = "...";
+          }
+          else {
+            document.getElementById("posunavail").style.display = "block";
+            document.getElementById("posavail").style.display = "none";
+          }
         },
         {enableHighAccuracy: true}
       );
         },
         {enableHighAccuracy: true}
       );
@@ -143,6 +149,12 @@ var gModGrav = {
     document.getElementById("gravavail").style.display = "block";
     window.addEventListener("deviceorientation", this.orientEvent, true);
     window.addEventListener("devicemotion", this.motionEvent, true);
     document.getElementById("gravavail").style.display = "block";
     window.addEventListener("deviceorientation", this.orientEvent, true);
     window.addEventListener("devicemotion", this.motionEvent, true);
+    setTimeout(function() {
+      if ((document.getElementById("gravAlpha").textContent == "...") &&
+          (document.getElementById("gravX").textContent == "...")) {
+        gModGrav.deactivate();
+      }
+    }, 3000);
   },
   deactivate: function() {
     gSounds.scan.pause();
   },
   deactivate: function() {
     gSounds.scan.pause();
@@ -150,6 +162,14 @@ var gModGrav = {
     window.removeEventListener("devicemotion", this.motionEvent, true);
     document.getElementById("gravunavail").style.display = "block";
     document.getElementById("gravavail").style.display = "none";
     window.removeEventListener("devicemotion", this.motionEvent, true);
     document.getElementById("gravunavail").style.display = "block";
     document.getElementById("gravavail").style.display = "none";
+    //document.getElementById("gravAbs").textContent = "...";
+    document.getElementById("gravAlpha").textContent = "...";
+    document.getElementById("gravBeta").textContent = "...";
+    document.getElementById("gravGamma").textContent = "...";
+    document.getElementById("gravX").textContent = "...";
+    document.getElementById("gravY").textContent = "...";
+    document.getElementById("gravZ").textContent = "...";
+    //document.getElementById("gravRot").textContent = "...";
   },
   orientEvent: function(orientData) {
     //document.getElementById("gravAbs").textContent = orientData.absolute;
   },
   orientEvent: function(orientData) {
     //document.getElementById("gravAbs").textContent = orientData.absolute;