package dk.dr.radio.net;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import java.util.ArrayList;
import java.util.List;
import dk.dr.radio.diverse.App;
import dk.dr.radio.diverse.Log;
/**
* Created by j on 06-03-14.
*/
public class Netvaerksstatus extends BroadcastReceiver {
public enum Status {
WIFI, MOBIL, INGEN
}
public Status status;
public List<Runnable> observatører = new ArrayList<Runnable>();
public boolean erOnline() {
return status != Status.INGEN;
}
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo networkInfo = App.connectivityManager.getActiveNetworkInfo();
Status nyStatus;
if (networkInfo == null || !networkInfo.isConnected()) {
nyStatus = Status.INGEN;
} else if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
nyStatus = Status.WIFI;
} else {
nyStatus = Status.MOBIL;
}
if (status != nyStatus) {
status = nyStatus;
Log.d("Netvaerksstatus\n" + intent + "\n" + networkInfo);
//if (App.fejlsøgning) App.kortToast("Netvaerksstatus\n" + status);
for (Runnable o : new ArrayList<Runnable>(observatører)) o.run();
}
}
}