X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FWhereAmI.java;h=c08453a28057b4b665fc28df5863277451849347;hp=641d73fd558f63c063bda05f0cef5711215ed753;hb=e7ecf60a526f2f410d586895429e208370517bc9;hpb=ac451ca57e40a307bffc8e8d6e659abba88d93cc diff --git a/src/org/average/whereami/WhereAmI.java b/src/org/average/whereami/WhereAmI.java index 641d73f..c08453a 100644 --- a/src/org/average/whereami/WhereAmI.java +++ b/src/org/average/whereami/WhereAmI.java @@ -1,13 +1,16 @@ package org.average.whereami; import org.average.whereami.WhereAmIprefs; +import org.average.whereami.Oracle; +import org.average.whereami.PhoneLog; +import org.average.whereami.LastLocation; 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; @@ -29,49 +32,52 @@ import android.widget.TextView; public class WhereAmI extends Activity { + final String TAG = getClass().getName(); + private WifiManager wifiman; private Boolean managewifi = false; private Long updatedelay = 60000L; private Integer runningtasks = 0; private SharedPreferences prefs; + private PersistentStore store; private class UpdateTarget { private TextView tv; - private Integer updater; // will be the function/object + private Oracle updater; private BgUpdate task; private class BgUpdate extends AsyncTask { @Override protected String doInBackground(Void... params) { - Log.w("WhereAmI", "BgUpdate " + updater + " starting"); - SystemClock.sleep(5000); // real job do be done here - Log.w("WhereAmI", "BgUpdate about to return"); - return "5 seconds passed in " + updater; + Log.v(TAG, "BgUpdate " + updater + " starting"); + return updater.getResult(); } @Override protected void onPostExecute(String str) { - Log.w("WhereAmI", "BgUpdate callback executing"); + Log.v(TAG, "BgUpdate callback executing"); tv.setText(str); runningtasks--; if (runningtasks <= 0) { - boolean wifion = wifiman.setWifiEnabled(false); - Log.w("WhereAmI", "disabling wifi result " + wifion); + if (managewifi) { + boolean wifion = wifiman.setWifiEnabled(false); + Log.v(TAG, "disabling wifi result " + wifion); + } Time tm = new Time(); tm.setToNow(); tvs.setText(R.string.lasttry); - tvs.append(tm.format(" %d/%m/%Y %H:%M:%S")); + tvs.append(tm.format(" %d/%m/%Y %H:%M")); } } @Override protected void onCancelled() { - Log.w("WhereAmI", "BgUpdate callback cancelled"); + Log.v(TAG, "BgUpdate callback cancelled"); runningtasks--; } } - public UpdateTarget(TextView tv, Integer updater) { + public UpdateTarget(TextView tv, Oracle updater) { this.tv = tv; this.updater = updater; } @@ -129,14 +135,14 @@ public class WhereAmI extends Activity private Runnable updateInfo = new Runnable () { public void run() { - Log.w("WhereAmI", "updateInfo starting"); + Log.v(TAG, "updateInfo starting"); if (managewifi) { IntentFilter intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"); registerReceiver(connChanged,intentFilter); connChangedRegistered = true; boolean wifion = wifiman.setWifiEnabled(true); - Log.w("WhereAmI", "enabling wifi result " + wifion); + Log.v(TAG, "enabling wifi result " + wifion); } else { for (int i = 0; i < ut.length; i++) { runningtasks++; @@ -150,7 +156,7 @@ public class WhereAmI extends Activity private Runnable resetInfo = new Runnable () { public void run() { - Log.w("WhereAmI", "resetInfo starting"); + Log.v(TAG, "resetInfo starting"); if (connChangedRegistered) { unregisterReceiver(connChanged); connChangedRegistered = false; @@ -166,7 +172,7 @@ public class WhereAmI extends Activity } if (managewifi) { boolean wifion = wifiman.setWifiEnabled(false); - Log.w("WhereAmI", "disabling wifi result " + wifion); + Log.v(TAG, "disabling wifi result " + wifion); } } }; @@ -180,7 +186,7 @@ public class WhereAmI extends Activity NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); - Log.w("WhereAmI", "Connectivity changed to " + isConnected); + Log.v(TAG, "Connectivity changed to " + isConnected); if (isConnected) { for (int i = 0; i < ut.length; i++) { runningtasks++; @@ -194,6 +200,16 @@ public class WhereAmI extends Activity @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) { + Log.v(TAG, "Disabling keepalive for build version " + + Build.VERSION.SDK_INT); + System.setProperty("http.keepAlive", "false"); + } else { + Log.v(TAG, "Post-Froyo version " + + Build.VERSION.SDK_INT); + } + prefs = PreferenceManager.getDefaultSharedPreferences(this); + store = new PersistentStore(prefs); wifiman = (WifiManager)getSystemService(Context.WIFI_SERVICE); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); @@ -205,25 +221,26 @@ public class WhereAmI extends Activity tvd = (TextView)findViewById(R.id.date); tvs = (TextView)findViewById(R.id.timestamp); ut = new UpdateTarget[] { - new UpdateTarget((TextView)findViewById(R.id.location), 1), - new UpdateTarget((TextView)findViewById(R.id.phonecall), 2) + new UpdateTarget((TextView)findViewById(R.id.location), + new PhoneLog(res, store)), + new UpdateTarget((TextView)findViewById(R.id.phonecall), + new LastLocation(res, store)) }; - Log.w("WhereAmI", "created UI, about to start update task"); + Log.v(TAG, "created UI, about to start update task"); mHandler.post(updateClock); mHandler.post(updateCal); mHandler.post(updateInfo); - Log.w("WhereAmI", "created UI, update task created"); + Log.v(TAG, "created UI, update task created"); } /** Called when reactivated */ @Override public void onResume() { super.onResume(); - prefs = PreferenceManager.getDefaultSharedPreferences(this); boolean fullscreen = prefs.getBoolean("fullscreen", false); managewifi = prefs.getBoolean("managewifi", false); updatedelay = Long.parseLong(prefs.getString("updateperiod", "1200000")); - Log.w("WhereAmI", "fullscreen: " + fullscreen + + Log.v("WhereAmI", "fullscreen: " + fullscreen + ", managewifi: " + managewifi + ", updatedelay: " + updatedelay); if (fullscreen) { @@ -239,14 +256,14 @@ public class WhereAmI extends Activity @Override public void onPause() { super.onPause(); - Log.w("WhereAmI", "going background"); + Log.v(TAG, "going background"); } /** Called when the activity is destroyed. */ @Override public void onDestroy() { super.onDestroy(); - Log.w("WhereAmI", "going down"); + Log.v(TAG, "going down"); mHandler.removeCallbacks(updateClock); mHandler.removeCallbacks(updateCal); mHandler.removeCallbacks(updateInfo); @@ -254,8 +271,10 @@ public class WhereAmI extends Activity unregisterReceiver(connChanged); connChangedRegistered = false; } - boolean wifion = wifiman.setWifiEnabled(false); - Log.w("WhereAmI", "disabling wifi result " + wifion); + if (managewifi) { + boolean wifion = wifiman.setWifiEnabled(false); + Log.v(TAG, "disabling wifi result " + wifion); + } } /** Called when the menu is activated. */ @@ -273,8 +292,12 @@ public class WhereAmI extends Activity case R.id.quit: finish(); return true; + case R.id.authorize: + Log.v(TAG, "authorize requested"); + startActivity(new Intent(this, Authorize.class)); + return true; case R.id.settings: - Log.w("WhereAmI", "settings requested"); + Log.v(TAG, "settings requested"); startActivity(new Intent(this, WhereAmIprefs.class)); return true; default: