diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d5d6721..f49a081 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -13,6 +13,7 @@
+
diff --git a/src/fr/unix_experience/owncloud_sms/broadcast_receivers/ConnectivityChanged.java b/src/fr/unix_experience/owncloud_sms/broadcast_receivers/ConnectivityChanged.java
index 72026c6..335d970 100644
--- a/src/fr/unix_experience/owncloud_sms/broadcast_receivers/ConnectivityChanged.java
+++ b/src/fr/unix_experience/owncloud_sms/broadcast_receivers/ConnectivityChanged.java
@@ -1,18 +1,34 @@
package fr.unix_experience.owncloud_sms.broadcast_receivers;
-import fr.unix_experience.owncloud_sms.notifications.OCSMSNotificationManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.net.ConnectivityManager;
import android.util.Log;
public class ConnectivityChanged extends BroadcastReceiver {
@Override
- public void onReceive(Context context, Intent intent) {
- Log.d(TAG,"ConnectivityChanged.onReceive");
- (new OCSMSNotificationManager(context)).setDebugMsg("ConnectivityChanged");
+ public void onReceive(Context context, Intent intent) {
+ // Check the connectivity
+ final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+ final android.net.NetworkInfo niWiFi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+ final android.net.NetworkInfo niMobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
+
+ // If data is available and previous dataConnectionState was false, then we need to sync
+ if ((niWiFi.isAvailable() || niMobile.isAvailable()) && dataConnectionAvailable == false) {
+ dataConnectionAvailable = true;
+ Log.d(TAG,"ConnectivityChanged.onReceive, data conn available");
+ // @TODO: check if last message is last synced msg (shared preference)
+ }
+ // No data available and previous dataConnectionState was true
+ else if (dataConnectionAvailable == true && !niWiFi.isAvailable() && !niMobile.isAvailable()) {
+ dataConnectionAvailable = false;
+ }
}
+ private static boolean dataConnectionAvailable = false;
+
private static final String TAG = ConnectivityChanged.class.getSimpleName();
}