]> iEval git - fonbot.git/blobdiff - src/ro/ieval/fonbot/FonBotMainService.java
Make FonBot usable
[fonbot.git] / src / ro / ieval / fonbot / FonBotMainService.java
index 38e0a29d0cbb8b4fd8a850ba28474b3e5ea54ccb..dd13affe715aef6f403d1fba71fc6c87e00bf8ac 100644 (file)
@@ -3,6 +3,7 @@ package ro.ieval.fonbot;
 import static ro.ieval.fonbot.R.string.*;
 import static ro.ieval.fonbot.Utils.toNonNull;
 
+import java.net.SocketTimeoutException;
 import java.util.Collections;
 import java.util.EnumSet;
 import java.util.Set;
@@ -77,9 +78,12 @@ public final class FonBotMainService extends Service {
                        Log.d("LongPollRunnable", "Long polling started");
                        while(man.getActiveNetworkInfo() != null && man.getActiveNetworkInfo().isConnected())
                                try {
-                                       runnable.run();
+                                       runnable.doRun();
+                               } catch (final SocketTimeoutException e){
+                                       Log.d("LongPollRunnable", "Socket timeout, refreshing connection");
                                } catch (final Exception ex){
                                        ex.printStackTrace();
+                                       break;
                                }
                        Log.d("LongPollRunnable", "Long polling stopped");
                }
@@ -93,8 +97,7 @@ public final class FonBotMainService extends Service {
         * Broadcast action: remove an ongoing event
         */
        public static final String ACTION_DELETE_ONGOING="ro.ieval.fonbot.FonBotMainService.ACTION_DELETE_ONGOING";
-       /** Broadcast action: trigger a server poll */
-       public static final String ACTION_TRIGGER_POLL="ro.ieval.fonbot.FonBotMainService.ACTION_TRIGGER_POLL";
+
        /**
         * Extra: ongoing event id
         *
@@ -178,6 +181,8 @@ public final class FonBotMainService extends Service {
                        longPollThread.start();
                }
 
+               ExecutableRunnable.retryTasks();
+
                final boolean runForeground=PreferenceManager.getDefaultSharedPreferences(this).getBoolean("foreground", false);
                if(!runForeground)
                        stopForeground(true);
This page took 0.022689 seconds and 4 git commands to generate.