make helper non-static
authorMichael Gernoth <michael@gernoth.net>
Fri, 20 May 2011 19:25:44 +0000 (21:25 +0200)
committerMichael Gernoth <michael@gernoth.net>
Fri, 20 May 2011 19:25:44 +0000 (21:25 +0200)
MS2Debounce/res/layout/main.xml
MS2Debounce/src/de/rmdir/ms2debounce/DebounceBootReceiver.java
MS2Debounce/src/de/rmdir/ms2debounce/DebounceModuleHelper.java
MS2Debounce/src/de/rmdir/ms2debounce/MS2Debounce.java

index 0a850ba..8fc5194 100644 (file)
@@ -7,7 +7,7 @@
 <TextView  
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
-    android:text="Hello World, MS2Debounce"
+    android:text="You will soon be able to set the debounce_delay here."
     />
 </LinearLayout>
 
index 3ab003d..de10592 100644 (file)
@@ -8,7 +8,9 @@ public class DebounceBootReceiver extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
                if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
-                       DebounceModuleHelper.loadModule();
+                       DebounceModuleHelper module = new DebounceModuleHelper(context.getFilesDir());
+
+                       module.loadModule();
                }
        }
 }
index f4569a5..fe9ffa8 100644 (file)
@@ -1,15 +1,33 @@
 package de.rmdir.ms2debounce;
 
+import java.io.File;
+
 public class DebounceModuleHelper
 {
-       static public void loadModule() {
+       private File filesdir;
+
+       public DebounceModuleHelper(File appdir) {
+               filesdir = appdir;
+       }
+
+       public void loadModule() {
+               extractModule();
+
                try {
                        Process insmod = Runtime.getRuntime().exec(new String[]{"su","-c","/system/bin/insmod /system/lib/modules/debounce.ko"});
                        insmod.waitFor();
                } catch (Exception e) {}
        }
 
-       static public boolean isLoaded() {
+       public boolean isLoaded() {
                return false;
        }
+
+       private void extractModule() {
+               File debounce_ko = new File(filesdir + "/debounce.ko");
+
+               if (debounce_ko.exists()) {
+                       return;
+               }
+       }
 }
index 85ec653..3f7814e 100644 (file)
@@ -6,16 +6,17 @@ import android.content.Intent;
 
 public class MS2Debounce extends Activity
 {
-    /** Called when the activity is first created. */
-    @Override
-    public void onCreate(Bundle savedInstanceState)
-    {
-        super.onCreate(savedInstanceState);
+       @Override
+       public void onCreate(Bundle savedInstanceState)
+       {
+               super.onCreate(savedInstanceState);
 
-       if (!DebounceModuleHelper.isLoaded()) {
-               DebounceModuleHelper.loadModule();
-       }
+               DebounceModuleHelper module = new DebounceModuleHelper(getFilesDir());
+
+               if (!module.isLoaded()) {
+                       module.loadModule();
+               }
 
-        setContentView(R.layout.main);
-    }
+               setContentView(R.layout.main);
+       }
 }
Impressum, Datenschutz