it somehow works, but you can't look at it
authorMichael Gernoth <michael@gernoth.net>
Mon, 4 Jul 2011 20:46:03 +0000 (22:46 +0200)
committerMichael Gernoth <michael@gernoth.net>
Mon, 4 Jul 2011 20:46:03 +0000 (22:46 +0200)
MS2Debounce/res/layout/main.xml
MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java
MS2Debounce/src/de/rmdir/ms2debounce/MS2Debounce.java

index 5f16f4b..f0ec60e 100644 (file)
     android:enabled="false"
     android:background="@android:drawable/editbox_background"/>
 <Button
-    android:id="@+id/reload"
+    android:id="@+id/set"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignBaseline="@id/delay_label"
     android:layout_toRightOf="@id/debounce_delay"
-    android:onClick="reloadModule"
-    android:text="Reload" />
+    android:onClick="setValues"
+    android:text="Set" />
 <Button
     android:id="@+id/unload"
     android:layout_width="wrap_content"
     android:layout_toLeftOf="@id/unload"
     android:onClick="loadModule"
     android:text="Load" />
+<TextView
+    android:id="@+id/settle_label"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_below="@id/delay_label"
+    android:text="Settle:"/>
+<EditText
+    android:id="@+id/settle_time"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_toRightOf="@id/settle_label"
+    android:layout_alignBaseline="@id/settle_label"
+    android:numeric="integer"
+    android:maxLength="3"
+    android:text="0"
+    android:enabled="false"
+    android:background="@android:drawable/editbox_background"/>
+<TextView
+    android:id="@+id/poll_label"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_below="@id/settle_label"
+    android:text="Poll:"/>
+<EditText
+    android:id="@+id/poll_time"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_alignBaseline="@id/poll_label"
+    android:layout_toRightOf="@id/poll_label"
+    android:numeric="integer"
+    android:maxLength="2"
+    android:text="0"
+    android:enabled="false"
+    android:background="@android:drawable/editbox_background"/>
 <CheckBox
     android:id="@+id/on_boot"
-    android:layout_below="@id/load"
+    android:layout_below="@id/poll_label"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:onClick="toggle_on_boot"
index 174f89b..6a46fbb 100644 (file)
@@ -22,13 +22,17 @@ public class DebounceModuleHelper
                ctx = context;
        }
 
-       public void loadModule() {
-               _loadModule();
+       public void setAllValues() {
                setDelay(getSavedDelay());
                setSettle(getSavedSettle());
                setPoll(getSavedPoll());
        }
 
+       public void loadModule() {
+               _loadModule();
+               setAllValues();
+       }
+
        protected void runAsRoot(String command) throws java.io.IOException,java.lang.InterruptedException {
                Process rootcmd = Runtime.getRuntime().exec(new String[]{"su","-c","sh"});
                DataOutputStream sh = new DataOutputStream(rootcmd.getOutputStream());
index 1c14e2c..5fc4c52 100644 (file)
@@ -25,6 +25,8 @@ public class MS2Debounce extends Activity
        private boolean loaded;
        private boolean safe_to_load;
        private int debounce_delay;
+       private int settle_time;
+       private int poll_time;
 
        public MS2Debounce()
        {
@@ -45,13 +47,42 @@ public class MS2Debounce extends Activity
                        public void afterTextChanged(Editable delay) {
                                if (delay.toString().length() > 0) {
                                        module.setSavedDelay(Integer.parseInt(delay.toString()));
+                               }
+                       }
 
-                                       Button reload = (Button)findViewById(R.id.reload);
-                                       if (loaded && module.getSavedDelay() != debounce_delay) {
-                                               reload.setEnabled(true);
-                                       } else {
-                                               reload.setEnabled(false);
-                                       }
+                       @Override
+                       public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+                       }
+
+                       @Override
+                       public void onTextChanged(CharSequence s, int start, int before, int count) {
+                       }
+               });
+
+               EditText textSettle = (EditText)findViewById(R.id.settle_time);
+               textSettle.addTextChangedListener(new TextWatcher() {
+                       @Override
+                       public void afterTextChanged(Editable settle_time) {
+                               if (settle_time.toString().length() > 0) {
+                                       module.setSavedSettle(Integer.parseInt(settle_time.toString()));
+                               }
+                       }
+
+                       @Override
+                       public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+                       }
+
+                       @Override
+                       public void onTextChanged(CharSequence s, int start, int before, int count) {
+                       }
+               });
+
+               EditText textPoll = (EditText)findViewById(R.id.poll_time);
+               textPoll.addTextChangedListener(new TextWatcher() {
+                       @Override
+                       public void afterTextChanged(Editable poll_time) {
+                               if (poll_time.toString().length() > 0) {
+                                       module.setSavedPoll(Integer.parseInt(poll_time.toString()));
                                }
                        }
 
@@ -74,19 +105,33 @@ public class MS2Debounce extends Activity
                loaded = module.isLoaded();
                safe_to_load = module.is_safe_to_load();
                debounce_delay = module.getDelay();
+               settle_time = module.getSettle();
+               poll_time = module.getPoll();
 
                TextView text = (TextView)findViewById(R.id.text);
-               text.setText("Current status:\n\nModule loaded: " + loaded + "\ndebounce_delay: " + debounce_delay + "ms\nsafe_to_load: " + safe_to_load);
+               text.setText("Current status:\n\nModule loaded: " + loaded + "\n" +
+                       "debounce_delay: " + debounce_delay + "ms\n" + 
+                       "settle_time: " + settle_time + "us\n" + 
+                       "poll_time: " + poll_time + "us\n" + 
+                       "safe_to_load: " + safe_to_load + " (module loaded by this app)");
 
                EditText textDelay = (EditText)findViewById(R.id.debounce_delay);
                textDelay.setText(Integer.toString(module.getSavedDelay()));
                textDelay.setEnabled(true);
 
-               Button reload = (Button)findViewById(R.id.reload);
-               if (loaded && module.getSavedDelay() != debounce_delay) {
-                       reload.setEnabled(true);
+               EditText textSettle = (EditText)findViewById(R.id.settle_time);
+               textSettle.setText(Integer.toString(module.getSavedSettle()));
+               textSettle.setEnabled(true);
+
+               EditText textPoll = (EditText)findViewById(R.id.poll_time);
+               textPoll.setText(Integer.toString(module.getSavedPoll()));
+               textPoll.setEnabled(true);
+
+               Button set = (Button)findViewById(R.id.set);
+               if (loaded) {
+                       set.setEnabled(true);
                } else {
-                       reload.setEnabled(false);
+                       set.setEnabled(false);
                }
 
                Button load = (Button)findViewById(R.id.load);
@@ -116,8 +161,14 @@ public class MS2Debounce extends Activity
                EditText textDelay = (EditText)findViewById(R.id.debounce_delay);
                textDelay.setEnabled(false);
 
-               Button reload = (Button)findViewById(R.id.reload);
-               reload.setEnabled(false);
+               EditText textSettle = (EditText)findViewById(R.id.settle_time);
+               textSettle.setEnabled(false);
+
+               EditText textPoll = (EditText)findViewById(R.id.poll_time);
+               textPoll.setEnabled(false);
+
+               Button set = (Button)findViewById(R.id.set);
+               set.setEnabled(false);
 
                Button load = (Button)findViewById(R.id.load);
                load.setEnabled(false);
@@ -145,14 +196,12 @@ public class MS2Debounce extends Activity
                updateUI();
        }
 
-       public void reloadModule(View view) {
+       public void setValues(View view) {
                disableUI();
-               if (module.isLoaded()) {
-                       module.unloadModule();
-               }
                if (!module.isLoaded()) {
                        module.loadModule();
                }
+               module.setAllValues();
                updateUI();
        }
 
Impressum, Datenschutz