extractModule();
- // FIXME: Read settings from database...
+ SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = settings.edit();
+ if (is_safe_to_load()) {
+ editor.putBoolean("safe_to_load", false);
+ editor.commit();
+ }
try {
Process insmod = Runtime.getRuntime().exec(new String[]{"su","-c","/system/bin/insmod " + debounce_ko + " debounce_delay=" + delay});
} catch (Exception e) {
return;
}
+
+ if (!isLoaded()) {
+ return;
+ }
if (getDelay() <= 0) {
return;
}
/* Module was obviously loaded, so it is safe to load on boot */
- if (!is_safe_to_load()) {
- SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = settings.edit();
- editor.putBoolean("safe_to_load", true);
- editor.commit();
- }
+ editor.putBoolean("safe_to_load", true);
+ editor.commit();
}
public synchronized void unloadModule() {
return debounce_delay;
}
+ public synchronized void setDelay(int delay) {
+ if (isLoaded()) {
+ if (getDelay() == delay) {
+ return;
+ }
+
+ unloadModule();
+ }
+
+ loadModule(delay);
+ }
+
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);