package com.kaltura.ccplayerdemo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import java.util.Observable;
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
getObservable().connectionChanged(isInternetOn(context));
}
public static class NetworkObservable extends Observable{
private static NetworkObservable instance = null;
private NetworkObservable() {
// Exist to defeat instantiation.
}
public void connectionChanged(Boolean connected) {
setChanged();
notifyObservers(connected);
}
public static NetworkObservable getInstance() {
if (instance == null) {
instance = new NetworkObservable();
}
return instance;
}
@Override
public int countObservers() {
return super.countObservers();
}
}
public static NetworkObservable getObservable() {
return NetworkObservable.getInstance();
}
public static boolean isInternetOn(Context context) {
ConnectivityManager conn = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = conn.getActiveNetworkInfo();
if (networkInfo != null) {
return networkInfo.isConnected();
}
return false;
}
}