]> iEval git - fonbot.git/blobdiff - src/ro/ieval/fonbot/Utils.java
Add BOOT notification
[fonbot.git] / src / ro / ieval / fonbot / Utils.java
index 1262513a3a477a2358c54eb603e57647b6cec9d3..79ff2e1e37236de3b571e246f434415827527ed0 100644 (file)
@@ -86,7 +86,8 @@ public final class Utils {
                NEXT, PREV, BATT, CALLLOG, SMSLOG,
                LS, RM, CONTACTS, DISABLE, ENABLE,
                POLL, HANGUP, ANSWER, LAUNCH, DATA,
-               GPS, GLOCATION, REBOOT, SHUTDOWN, NOTIFY
+               GPS, GLOCATION, REBOOT, NOTIFY, SCREENCAP,
+               TORCH
        }
 
        /**
@@ -109,7 +110,9 @@ public final class Utils {
                /** Fine battery status notifications */
                BATTERY_CHANGED,
                /** Headset plug/unplug notifications */
-               HEADSET
+               HEADSET,
+               /** Phone booted notifications */
+               BOOT,
        }
 
        /**
@@ -405,13 +408,13 @@ public final class Utils {
         */
        public static URL getServerURL(final Context context, final String path) throws MalformedURLException{
                final String hostname=PreferenceManager.getDefaultSharedPreferences(context).getString("hostname", "fonbot.ieval.ro");
-               final int port=Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(context).getString("port", "7777"));
+               final int port=Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(context).getString("port", "443"));
                final URL url=new URL("https", hostname, port, path);
                return url;
        }
 
        /**
-        * Poll the server for pending commands.
+        * Poll the server for pending commands. This function must not be called from BroadcastReceivers
         *
         * @param context Context instance
         */
@@ -419,6 +422,16 @@ public final class Utils {
                new HttpCallExecutableRunnable("/get", null, context, new PollResultCallback(context), false).execute();
        }
 
+       /**
+        * Poll the server for pending commands from {@link FonBotMainService}. This function should be used from BroadcastReceviers instead of {@link #pollServer}
+        *
+        * @param context Context instance
+        */
+       public static void safePollServer(final Context context){
+               final Intent intent=new Intent(context, FonBotMainService.class);
+               intent.setAction(FonBotMainService.ACTION_TRIGGER_POLL);
+               context.startService(intent);
+       }
        /**
         * Executes a given command
         *
@@ -429,7 +442,7 @@ public final class Utils {
         */
        private static void processCommand(final Context context, final Command cmd,final String[] args,final Address replyTo){
                if(Heavy.isCommandDisabled(context, cmd)){
-                       sendMessage(context, replyTo, command_disabled);
+                       sendMessage(context, replyTo, command_disabled, cmd.toString());
                        return;
                }
 
@@ -993,13 +1006,10 @@ public final class Utils {
                        Heavy.reboot(context, replyTo, args.length==0?null:args[0]);
                        break;
 
-               case SHUTDOWN:
-                       //TODO: implement command
-                       break;
-
                case NOTIFY:
                        if(args.length!=1 && args.length!=3){
                                Heavy.help(context, replyTo, toNonNull(Command.NOTIFY));
+                               return;
                        }
 
                        final int id;
@@ -1015,6 +1025,19 @@ public final class Utils {
                        else
                                Heavy.notify(context, replyTo, id, toNonNull(args[1]), toNonNull(args[2]));
                        break;
+
+               case SCREENCAP:
+                       if(args.length != 1){
+                               Heavy.help(context, replyTo, toNonNull(Command.SCREENCAP));
+                               return;
+                       }
+
+                       Heavy.screencap(context, replyTo, args[0]);
+                       break;
+
+               case TORCH:
+                       Heavy.torch(context, replyTo);
+                       break;
                }
 
        }
This page took 0.017983 seconds and 4 git commands to generate.