]> git.zerfleddert.de Git - ms2-fixes/blobdiff - MS2Debounce/src/de/rmdir/ms2debounce/MS2Debounce.java
better error-handling when executing commands as root
[ms2-fixes] / MS2Debounce / src / de / rmdir / ms2debounce / MS2Debounce.java
index c7ba1b9cbf721ebeb6f7a6e8e1022c66853de661..5c042060383dfc19c907f39be25c35c4b5688f0a 100644 (file)
@@ -238,8 +238,14 @@ public class MS2Debounce extends Activity
        public void loadModule(View view) {
                disableUI();
                if (!module.isLoaded()) {
-                       if (!module.loadModule())
-                               showDialog(23);
+                       try {
+                               if (!module.loadModule())
+                                       showDialog(22);
+                       } catch (NotRootedException e) {
+                                       showDialog(23);
+                       } catch (ShellException e) {
+                                       showDialog(24);
+                       }
                }
                updateUI();
        }
@@ -247,8 +253,13 @@ public class MS2Debounce extends Activity
        public void unloadModule(View view) {
                disableUI();
                if (module.isLoaded()) {
-                       if (!module.unloadModule())
-                               showDialog(23);
+                       try {
+                               module.unloadModule();
+                       } catch (NotRootedException e) {
+                                       showDialog(23);
+                       } catch (ShellException e) {
+                                       showDialog(24);
+                       }
                }
                updateUI();
        }
@@ -256,8 +267,14 @@ public class MS2Debounce extends Activity
        public void setValues(View view) {
                disableUI();
                if (!module.isLoaded()) {
-                       if (!module.loadModule())
+                       try {
+                               if (!module.loadModule())
+                                       showDialog(22);
+                       } catch (NotRootedException e) {
                                showDialog(23);
+                       } catch (ShellException e) {
+                               showDialog(24);
+                       }
                }
                module.setAllValues();
                updateUI();
@@ -309,9 +326,20 @@ public class MS2Debounce extends Activity
                Dialog dlg = null;
 
                switch(id) {
+                       case 22:
+                               AlertDialog.Builder noload = new AlertDialog.Builder(this);
+                               noload.setMessage("Could not load/unload the module! Do you have a MS2/Droid2 with kernel 2.6.32?")
+                                       .setCancelable(true)
+                                       .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+                                               public void onClick(DialogInterface dialog, int id) {
+                                                       dialog.cancel();
+                                               }
+                                       });
+                               dlg = noload.create();
+                               break;
                        case 23:
                                AlertDialog.Builder noroot = new AlertDialog.Builder(this);
-                               noroot.setMessage("Could not get root access! Is this device rooted and have you granted SuperUser privileges?")
+                               noroot.setMessage("Could not get root access! Is this device rooted and have you granted Superuser privileges?")
                                        .setCancelable(true)
                                        .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                                                public void onClick(DialogInterface dialog, int id) {
@@ -320,6 +348,17 @@ public class MS2Debounce extends Activity
                                        });
                                dlg = noroot.create();
                                break;
+                       case 24:
+                               AlertDialog.Builder shellexec = new AlertDialog.Builder(this);
+                               shellexec.setMessage("Problems executing shell commands as root! Is this device rooted and are insmod/rmmod binaries available?")
+                                       .setCancelable(true)
+                                       .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+                                               public void onClick(DialogInterface dialog, int id) {
+                                                       dialog.cancel();
+                                               }
+                                       });
+                               dlg = shellexec.create();
+                               break;
                        case 42:
                                AlertDialog.Builder about = new AlertDialog.Builder(this);
                                about.setMessage("Milestone 2 Debounce\n\n(C) 2011 Michael Gernoth <michael@gernoth.net>\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA")
Impressum, Datenschutz