X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-fixes/blobdiff_plain/d3e7b10cfe80db608785e841e1ea7c9ea3cb6e65..dea0f4b0ccb139fe558e88c18547c019c934add0:/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java diff --git a/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java b/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java index 8dda57a..6901353 100644 --- a/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java +++ b/MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java @@ -19,10 +19,7 @@ public class DebounceModuleHelper } public void loadModule() { - SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); - - int delay = settings.getInt("debounce_delay", 10); - loadModule(delay); + loadModule(getSavedDelay()); } public synchronized void loadModule(int delay) { @@ -43,7 +40,11 @@ public class DebounceModuleHelper } catch (Exception e) { return; } - + + if (!isLoaded()) { + return; + } + if (getDelay() <= 0) { return; } @@ -99,6 +100,32 @@ public class DebounceModuleHelper return debounce_delay; } + public synchronized void setDelay(int delay) { + if (isLoaded()) { + if (getDelay() == delay) { + return; + } + + unloadModule(); + } + + loadModule(delay); + } + + public synchronized int getSavedDelay() { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + + return settings.getInt("debounce_delay", 10); + } + + public synchronized void setSavedDelay(int delay) { + SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + + editor.putInt("debounce_delay", delay); + editor.commit(); + } + public synchronized boolean is_safe_to_load() { SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); boolean safe_to_load = settings.getBoolean("safe_to_load", false);