package jgarciabt.smartwebview.broadcast; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import jgarciabt.smartwebview.broadcast.events.InternetDownEvent; import jgarciabt.smartwebview.broadcast.events.InternetUpEvent; import jgarciabt.smartwebview.bus.BusManager; /** * Created by JGarcia on 28/3/15. */ public class NetworkBroadcastReceiver extends BroadcastReceiver { private Context context; private ConnectivityManager connMgr; private NetworkInfo wifiStatus; private NetworkInfo mobileStatus; private BusManager busManager; public NetworkBroadcastReceiver(Context context) { this.context = context; busManager = BusManager.getInstance(); connMgr = null; wifiStatus = null; mobileStatus = null; } @Override public void onReceive(Context context, Intent intent) { connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); wifiStatus = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); mobileStatus = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); //TODO Fix that if (mobileStatus == null) { mobileStatus = wifiStatus; } if (!wifiStatus.isConnected() && !mobileStatus.isConnected()) { busManager.post(new InternetDownEvent()); } } }