package com.malmstein.yahnac.data.connectivity; import android.app.Activity; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; public class NetworkChecker { private final ConnectivityManager connectivityManager; private final TelephonyManager telephonyManager; public NetworkChecker(Activity activity) { this.connectivityManager = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE); this.telephonyManager = (TelephonyManager) activity.getSystemService(Context.TELEPHONY_SERVICE); } public boolean isConnected() { return isConnectedToCellNetwork() || isConnectedToWifiNetwork(); } private boolean isConnectedToCellNetwork() { int simState = telephonyManager.getSimState(); if (simState == TelephonyManager.SIM_STATE_READY) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); return networkInfo.isConnectedOrConnecting(); } return false; } private boolean isConnectedToWifiNetwork() { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); return networkInfo.isConnected(); } }