package co.smartreceipts.android.sync.network;
import android.content.Context;
import android.net.ConnectivityManager;
import android.support.annotation.NonNull;
import com.google.common.base.Preconditions;
/**
* This class provides a simple mechanism to determine whether or not we're currently connected to a mobile network. It
* will also send out broadcasts if we lose/gain this connection.
*/
public class MobileNetworkProviderImpl extends AbstractNetworkProvider {
private final ConnectivityManager mConnectivityManager;
public MobileNetworkProviderImpl(@NonNull Context context) {
this(context, (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
}
public MobileNetworkProviderImpl(@NonNull Context context, @NonNull ConnectivityManager connectivityManager) {
super(context, ConnectivityManager.CONNECTIVITY_ACTION);
mConnectivityManager = Preconditions.checkNotNull(connectivityManager);
}
@Override
public boolean isNetworkAvailable() {
return mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected();
}
}