]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/WhereAmI.java
make one retry on failure
[WhereAmI.git] / src / org / average / whereami / WhereAmI.java
index 3a4b05594209dbc2ff527b687921c0826df9881f..e3f510ea4a6ff641d4823abb7e319327f970ea20 100644 (file)
@@ -6,12 +6,15 @@ import org.average.whereami.Oracle;
 import org.average.whereami.PhoneLog;
 import org.average.whereami.LastLocation;
 
+import java.util.Random;
+
 import android.app.Activity;
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.AsyncTask;
 import android.os.Handler;
+import android.os.SystemClock;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.content.BroadcastReceiver;
@@ -41,6 +44,7 @@ public class WhereAmI extends Activity
     private Integer runningtasks = 0;
     private SharedPreferences prefs;
     private PersistentStore store;
+    private Random random = new Random();
 
     private class UpdateTarget {
         private TextView tv;
@@ -51,7 +55,16 @@ public class WhereAmI extends Activity
             @Override
             protected String doInBackground(Void... params) {
                 Log.v(TAG, "BgUpdate " + updater + " starting");
-                return updater.getResult();
+               Utterance result = updater.getResult();
+                if (!result.success) {
+                    SystemClock.sleep(1000 + random.nextInt(1000));
+                    result = updater.getResult();
+                }
+                if (!result.success) {
+                    Log.e(TAG, "After second attempt still " +
+                               result.message);
+                }
+                return result.message;
             }
         
             @Override