X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FWhereAmI.java;h=641d73fd558f63c063bda05f0cef5711215ed753;hp=f3de41799e734b28e410bb6fa99bf8f39b91cd8b;hb=ac451ca57e40a307bffc8e8d6e659abba88d93cc;hpb=69b322114a2b66c1c3751d7414f2be525d301f65 diff --git a/src/org/average/whereami/WhereAmI.java b/src/org/average/whereami/WhereAmI.java index f3de417..641d73f 100644 --- a/src/org/average/whereami/WhereAmI.java +++ b/src/org/average/whereami/WhereAmI.java @@ -1,5 +1,7 @@ package org.average.whereami; +import org.average.whereami.WhereAmIprefs; + import android.app.Activity; import android.net.wifi.WifiManager; import android.os.Bundle; @@ -13,6 +15,8 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.Context; import android.content.res.Resources; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import android.text.format.Time; import android.util.Log; import android.view.View; @@ -26,7 +30,10 @@ import android.widget.TextView; public class WhereAmI extends Activity { private WifiManager wifiman; + private Boolean managewifi = false; + private Long updatedelay = 60000L; private Integer runningtasks = 0; + private SharedPreferences prefs; private class UpdateTarget { private TextView tv; @@ -123,14 +130,21 @@ public class WhereAmI extends Activity private Runnable updateInfo = new Runnable () { public void run() { Log.w("WhereAmI", "updateInfo starting"); - 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); - mHandler.postDelayed(resetInfo, 30000); - mHandler.postDelayed(this, 60000); + 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); + } else { + for (int i = 0; i < ut.length; i++) { + runningtasks++; + ut[i].launch(); + } + } + mHandler.postDelayed(resetInfo, 50000); + mHandler.postDelayed(this, updatedelay); } }; @@ -150,8 +164,10 @@ public class WhereAmI extends Activity tvs.setText(R.string.failtry); tvs.append(tm.format(" %d/%m/%Y %H:%M:%S")); } - boolean wifion = wifiman.setWifiEnabled(false); - Log.w("WhereAmI", "disabling wifi result " + wifion); + if (managewifi) { + boolean wifion = wifiman.setWifiEnabled(false); + Log.w("WhereAmI", "disabling wifi result " + wifion); + } } }; @@ -176,15 +192,11 @@ public class WhereAmI extends Activity /** Called when the activity is first created. */ @Override - public void onCreate(Bundle savedInstanceState) - { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); wifiman = (WifiManager)getSystemService(Context.WIFI_SERVICE); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - //getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); - //getWindow().clearFlags(WindowManager.LayoutParams. - // FLAG_FORCE_NOT_FULLSCREEN); setContentView(R.layout.main); res = getResources(); month = res.getStringArray(R.array.month); @@ -203,18 +215,36 @@ public class WhereAmI extends Activity Log.w("WhereAmI", "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 + + ", managewifi: " + managewifi + + ", updatedelay: " + updatedelay); + if (fullscreen) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + getWindow().clearFlags(WindowManager.LayoutParams. + FLAG_FORCE_NOT_FULLSCREEN); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + } + /** Called when put to background */ @Override - public void onPause() - { + public void onPause() { super.onPause(); Log.w("WhereAmI", "going background"); } /** Called when the activity is destroyed. */ @Override - public void onDestroy() - { + public void onDestroy() { super.onDestroy(); Log.w("WhereAmI", "going down"); mHandler.removeCallbacks(updateClock); @@ -245,6 +275,7 @@ public class WhereAmI extends Activity return true; case R.id.settings: Log.w("WhereAmI", "settings requested"); + startActivity(new Intent(this, WhereAmIprefs.class)); return true; default: return super.onOptionsItemSelected(item);