X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FUtils.java;h=ddb506bfdbabe17d80e81b002742ad2604c5146b;hb=e154bdfd76071b99635317ef8c7ab11918b88794;hp=d5e0f5bcf8de0d506748fedce0dbdaf143bf4e6d;hpb=8dfb76c9431dbf8401412cb92c7512e7dc3081a2;p=fonbot.git diff --git a/src/ro/ieval/fonbot/Utils.java b/src/ro/ieval/fonbot/Utils.java index d5e0f5b..ddb506b 100644 --- a/src/ro/ieval/fonbot/Utils.java +++ b/src/ro/ieval/fonbot/Utils.java @@ -24,6 +24,8 @@ import static ro.ieval.fonbot.R.string.the_second_argument_to_wipe_must_be; import static ro.ieval.fonbot.R.string.unknown_command; import static ro.ieval.fonbot.R.string.wipetype_should_be_one_of; +import java.net.MalformedURLException; +import java.net.URL; import java.util.Arrays; import java.util.Locale; @@ -314,8 +316,8 @@ public final class Utils { public static void sendMessage(final Context context, final Address address, final String message){ switch(address.protocol){ case HTTP: - new SendHttpMessageAsyncTask(toNonNull(Arrays.asList( - new Header("X-Action", "SEND "+address.data))), context).execute(message); + new HttpCallExecutableRunnable("/send", toNonNull(Arrays.asList( + new Header("X-Destination", toNonNull(address.data)))), context, null, message).execute(); break; case SMS: @@ -333,19 +335,6 @@ public final class Utils { } } - /** - * Parses a HTTP response message of the form (part1) part2, returning part2. - * - * @param message the raw HTTP response message - * @return the extracted part - */ - public static String parseHttpMessage(final String message){ - final int indexOfParen=message.indexOf(')'); - if(indexOfParen==-1) - return message; - return toNonNull(message.substring(indexOfParen+2)); - } - /** * Splits a string into words. * @@ -406,6 +395,30 @@ public final class Utils { context.startService(intent); } + /** + * Gets the server URL according to the user preferences. + * + * @param context Context instance + * @param path URL path + * @return the server URL + * @throws MalformedURLException if the user preferences create an invalid URL + */ + 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 URL url=new URL("https", hostname, port, path); + return url; + } + + /** + * Poll the server for pending commands. + * + * @param context Context instance + */ + public static void pollServer(final Context context){ + new HttpCallExecutableRunnable("/get", null, context, new PollResultCallback(context)).execute(); + } + /** * Executes a given command *