aboutsummaryrefslogtreecommitdiff
path: root/src/org/happysanta/gd/WaitForNetworkConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/happysanta/gd/WaitForNetworkConnection.java')
-rw-r--r--src/org/happysanta/gd/WaitForNetworkConnection.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/org/happysanta/gd/WaitForNetworkConnection.java b/src/org/happysanta/gd/WaitForNetworkConnection.java
new file mode 100644
index 0000000..d711715
--- /dev/null
+++ b/src/org/happysanta/gd/WaitForNetworkConnection.java
@@ -0,0 +1,34 @@
+package org.happysanta.gd;
+
+import android.os.AsyncTask;
+
+import static org.happysanta.gd.Helpers.isOnline;
+import static org.happysanta.gd.Helpers.logDebug;
+
+public class WaitForNetworkConnection extends AsyncTask<Object, Void, Void> {
+
+ protected Runnable callback;
+
+ @Override
+ public Void doInBackground(Object... params) {
+ callback = (Runnable) params[1];
+
+ while (!isOnline()) {
+ logDebug("Waiting for network...");
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ break;
+ }
+ }
+
+ return null;
+ }
+
+ @Override
+ public void onPostExecute(Void v) {
+ logDebug("Network OK, callback.run() now...");
+ callback.run();
+ }
+
+}