X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FUtils.java;h=79ff2e1e37236de3b571e246f434415827527ed0;hb=582cbf066b7c47eecef759ca0755649a6bc0e39e;hp=1262513a3a477a2358c54eb603e57647b6cec9d3;hpb=b26f32d6098549c204dba44f353e10fe30a29781;p=fonbot.git diff --git a/src/ro/ieval/fonbot/Utils.java b/src/ro/ieval/fonbot/Utils.java index 1262513..79ff2e1 100644 --- a/src/ro/ieval/fonbot/Utils.java +++ b/src/ro/ieval/fonbot/Utils.java @@ -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; } }