Add SH and ROOTSH commands
[fonbot.git] / src / ro / ieval / fonbot / Utils.java
index 9a23d04afcd09f585b16c448274176fdbca51bff..e2e0dab2319ed86e085e98c52c91972ca8a8bcf7 100644 (file)
@@ -4,6 +4,7 @@ import static ro.ieval.fonbot.R.string.*;
 
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Locale;
 
@@ -67,7 +68,7 @@ public final class Utils {
                LS, RM, CONTACTS, DISABLE, ENABLE,
                POLL, HANGUP, ANSWER, LAUNCH, DATA,
                GPS, GLOCATION, REBOOT, NOTIFY, SCREENCAP,
-               TORCH, GETFILE
+               TORCH, GETFILE, SH, ROOTSH
        }
 
        /**
@@ -190,10 +191,8 @@ public final class Utils {
         * @throws AssertionError if the given object is null
         */
        public static <T> T toNonNull(@Nullable T object) throws AssertionError{
-               if(object==null){
-                       Log.wtf(Utils.class.getName(), "toNonNull called with null");
-                       throw new AssertionError("Log.wtf did not terminate the process");
-               }
+               if(object==null)
+                       throw new NullPointerException();
                return object;
        }
 
@@ -304,7 +303,8 @@ public final class Utils {
                        new Handler(Looper.getMainLooper()).post(new Runnable(){
                                        @Override
                                        public void run(){
-                                               SmsManager.getDefault().sendTextMessage(address.data, null, message, null, null);
+                                               final ArrayList<String> parts = SmsManager.getDefault().divideMessage(message);
+                                               SmsManager.getDefault().sendMultipartTextMessage(address.data, null, parts, null, null);
                                        }
                                });
                        break;
@@ -1009,6 +1009,24 @@ public final class Utils {
                        }
                        Heavy.getfile(context, replyTo, toNonNull(args[0]), toNonNull(args[1]), getfilePort);
                        break;
+
+               case SH:
+                       if(args.length == 0){
+                               Heavy.help(context, replyTo, toNonNull(Command.SH));
+                               return;
+                       }
+
+                       Heavy.execute(context, replyTo, "sh", join(" ", args));
+                       break;
+
+               case ROOTSH:
+                       if(args.length == 0){
+                               Heavy.help(context, replyTo, toNonNull(Command.ROOTSH));
+                               return;
+                       }
+
+                       Heavy.execute(context, replyTo, "su", join(" ", args));
+                       break;
                }
 
        }
This page took 0.010854 seconds and 4 git commands to generate.