package com.hdweiss.morgand.utils;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.preference.PreferenceManager;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class Utils {
public static String ExceptionTraceToString(Exception exception) {
StringWriter sw = new StringWriter();
exception.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
public static boolean isWifiOnline(Context context) {
try {
ConnectivityManager conMan = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo.State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
if (wifi == NetworkInfo.State.CONNECTED)
return true;
} catch (Exception ex) {
ex.printStackTrace();
}
return false;
}
public static boolean isMobileOnline(Context context) {
try {
ConnectivityManager conMan = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo.State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
if (mobile == NetworkInfo.State.CONNECTED)
return true;
} catch (Exception ex) {
ex.printStackTrace();
}
return false;
}
public static boolean isNetworkOnline(Context context) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
boolean wifiOnly = prefs.getBoolean("sync_wifi_only", false);
if (wifiOnly)
return isWifiOnline(context);
else
return isWifiOnline(context)
|| isMobileOnline(context);
}
public static boolean[] toPrimitiveArray(final List<Boolean> booleanList) {
final boolean[] primitives = new boolean[booleanList.size()];
int index = 0;
for (Boolean object : booleanList) {
primitives[index++] = object;
}
return primitives;
}
public static List<String> toList(HashSet<String> set) {
ArrayList<String> list = new ArrayList<String>();
if (set == null)
return list;
list.addAll(set);
return list;
}
public static int getIteratorSize(Iterator<?> iterator) {
int i = 0;
while (iterator.hasNext()) {
iterator.next();
i++;
}
return i;
}
}