diff --git a/app/app-release-2.0a.apk b/app/app-release-2.0c.apk similarity index 57% rename from app/app-release-2.0a.apk rename to app/app-release-2.0c.apk index fd71b09..944c7d2 100644 Binary files a/app/app-release-2.0a.apk and b/app/app-release-2.0c.apk differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d2a79eb..8641a17 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="19" + android:versionName="2.0c" > diff --git a/app/src/main/java/uk/org/openseizuredetector/PrefActivity.java b/app/src/main/java/uk/org/openseizuredetector/PrefActivity.java index 10b48f1..fc23103 100644 --- a/app/src/main/java/uk/org/openseizuredetector/PrefActivity.java +++ b/app/src/main/java/uk/org/openseizuredetector/PrefActivity.java @@ -25,6 +25,8 @@ package uk.org.openseizuredetector; +import android.content.Context; +import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceActivity; import android.os.Bundle; @@ -35,12 +37,17 @@ import android.widget.Toast; import java.util.List; -public class PrefActivity extends PreferenceActivity { +public class PrefActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { private String TAG = "PreferenceActivity"; + private OsdUtil mUtil; + private boolean mPrefChanged = false; + private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mUtil = new OsdUtil(getApplicationContext()); + mContext = getApplicationContext(); } /** @@ -96,10 +103,42 @@ public class PrefActivity extends PreferenceActivity { Log.v(TAG, "onStart()"); } + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) { + Log.v(TAG, "SharedPreference " + s + " Changed."); + //mUtil.showToast("Shared Preference " + s + " Changed."); + mPrefChanged = true; + } + + @Override public void onResume() { super.onResume(); - Log.v(TAG, "onStart()"); + Log.v(TAG, "onResume()"); + SharedPreferences SP = PreferenceManager + .getDefaultSharedPreferences(getBaseContext()); + SP.registerOnSharedPreferenceChangeListener(this); + } + + @Override + protected void onPause() { + super.onPause(); + SharedPreferences SP = PreferenceManager + .getDefaultSharedPreferences(getBaseContext()); + SP.unregisterOnSharedPreferenceChangeListener(this); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + Log.v(TAG, "onDestroy. mPrefChanged=" + mPrefChanged); + if (mPrefChanged) { + mUtil.showToast("Settings Changed - re-starting OpenSeizureDetector...."); + Intent intent = new Intent(getApplicationContext(), StartupActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + finish(); + } } /**