setPoll(getSavedPoll());
setHwDebounce(getSavedHwDebounce());
setHwDebounceTime(getSavedHwDebounceTime());
- setDriveInactive(getSavedDriveInactive());
+ //setDriveInactive(getSavedDriveInactive());
+ setActiveHigh(getSavedActiveHigh());
}
- public void loadModule() {
- _loadModule();
+ public boolean loadModule() {
+ if (!_loadModule())
+ return false;
+
setAllValues();
+
+ return true;
}
protected void runAsRoot(String command) throws java.io.IOException,java.lang.InterruptedException {
rootcmd.waitFor();
}
- public synchronized void _loadModule() {
+ public synchronized boolean _loadModule() {
File debounce_ko = new File(ctx.getFilesDir() + "/debounce.ko");
extractModule();
}
try {
- runAsRoot("/system/bin/insmod " + debounce_ko);
+ runAsRoot("/system/bin/insmod " + debounce_ko + " || /system/xbin/insmod " + debounce_ko);
} catch (Exception e) {
- return;
+ return false;
}
if (!isLoaded()) {
- return;
+ return false;
}
if (getDelay() < 0) {
- return;
+ return false;
}
/* Module was obviously loaded, so it is safe to load on boot */
editor.putBoolean("safe_to_load", true);
editor.commit();
+
+ return true;
}
- public synchronized void unloadModule() {
+ public synchronized boolean unloadModule() {
try {
- runAsRoot("/system/bin/rmmod debounce");
- } catch (Exception e) {}
+ runAsRoot("/system/bin/rmmod debounce || /system/xbin/rmmod debounce");
+ } catch (Exception e) {
+ return false;
+ }
+
+ return true;
}
public synchronized boolean isLoaded() {
fbuf.write((new Integer(value)).toString());
fbuf.close();
- } catch (Exception e) {}
+ } catch (Exception e) {
+ }
}
public synchronized int getDelay() {
setValue("drive_inactive_flag", 0);
}
+ public synchronized boolean getActiveHigh() {
+ if (getValue("active_high_flag") == 1)
+ return true;
+
+ return false;
+ }
+
+ public synchronized void setActiveHigh(boolean enable) {
+ if (enable)
+ setValue("active_high_flag", 1);
+ else
+ setValue("active_high_flag", 0);
+ }
+
public synchronized int getSavedDelay() {
SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
editor.commit();
}
+ public synchronized boolean getSavedActiveHigh() {
+ SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+
+ return settings.getBoolean("active_high", false);
+ }
+
+ public synchronized void setSavedActiveHigh(boolean enable) {
+ SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = settings.edit();
+
+ editor.putBoolean("active_high", enable);
+ editor.commit();
+ }
+
public synchronized boolean is_safe_to_load() {
SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
return settings.getBoolean("safe_to_load", false);