package org.average.whereami;
import org.average.whereami.WhereAmIprefs;
+import org.average.whereami.APIBase;
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;
private Integer runningtasks = 0;
private SharedPreferences prefs;
private PersistentStore store;
+ private Random random = new Random();
private class UpdateTarget {
private TextView tv;
@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
tvt = (TextView)findViewById(R.id.time);
tvd = (TextView)findViewById(R.id.date);
tvs = (TextView)findViewById(R.id.timestamp);
+ APIBase base = new APIBase(res, store);
ut = new UpdateTarget[] {
new UpdateTarget((TextView)findViewById(R.id.phonecall),
- new PhoneLog(res, store)),
+ new PhoneLog(base)),
new UpdateTarget((TextView)findViewById(R.id.location),
- new LastLocation(res, store))
+ new LastLocation(base))
};
}