Blame client/Android/Studio/freeRDPCore/src/main/java/com/freerdp/freerdpcore/application/NetworkStateReceiver.java

Packit 1fb8d4
/*
Packit 1fb8d4
   Network State Receiver
Packit 1fb8d4
Packit 1fb8d4
   Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
Packit 1fb8d4
Packit Service 5a9772
   This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit Service 5a9772
   If a copy of the MPL was not distributed with this file, You can obtain one at
Packit Service 5a9772
   http://mozilla.org/MPL/2.0/.
Packit 1fb8d4
*/
Packit 1fb8d4
Packit 1fb8d4
package com.freerdp.freerdpcore.application;
Packit 1fb8d4
Packit 1fb8d4
import android.content.BroadcastReceiver;
Packit 1fb8d4
import android.content.Context;
Packit 1fb8d4
import android.content.Intent;
Packit 1fb8d4
import android.net.ConnectivityManager;
Packit 1fb8d4
import android.net.NetworkInfo;
Packit 1fb8d4
import android.util.Log;
Packit 1fb8d4
Packit Service 5a9772
public class NetworkStateReceiver extends BroadcastReceiver
Packit Service 5a9772
{
Packit Service 5a9772
Packit Service 5a9772
	public static boolean isConnectedTo3G(Context context)
Packit Service 5a9772
	{
Packit Service 5a9772
		ConnectivityManager connectivity =
Packit Service 5a9772
		    (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
Packit Service 5a9772
		NetworkInfo info = connectivity.getActiveNetworkInfo();
Packit Service 5a9772
Packit Service 5a9772
		// no connection or background data disabled
Packit Service 5a9772
		if (info == null || !info.isConnected())
Packit Service 5a9772
			return false;
Packit Service 5a9772
Packit Service 5a9772
		return (info.getType() != ConnectivityManager.TYPE_WIFI &&
Packit Service 5a9772
		        info.getType() != ConnectivityManager.TYPE_WIMAX);
Packit Service 5a9772
	}
Packit Service 5a9772
Packit Service 5a9772
	@Override public void onReceive(Context context, Intent intent)
Packit Service 5a9772
	{
Packit Service 5a9772
Packit Service 5a9772
		// check if we are connected via 3g or wlan
Packit Service 5a9772
		if (intent.getExtras() != null)
Packit Service 5a9772
		{
Packit Service 5a9772
			NetworkInfo info =
Packit Service 5a9772
			    (NetworkInfo)intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
Packit Service 5a9772
Packit Service 5a9772
			// are we connected at all?
Packit Service 5a9772
			if (info != null && info.isConnected())
Packit Service 5a9772
			{
Packit Service 5a9772
				// see if we are connected through 3G or WiFi
Packit Service 5a9772
				Log.d("app", "Connected via type " + info.getTypeName());
Packit Service 5a9772
				GlobalApp.ConnectedTo3G = (info.getType() != ConnectivityManager.TYPE_WIFI &&
Packit Service 5a9772
				                           info.getType() != ConnectivityManager.TYPE_WIMAX);
Packit Service 5a9772
			}
Packit Service 5a9772
Packit Service 5a9772
			Log.v("NetworkState", info.toString());
Packit Service 5a9772
		}
Packit Service 5a9772
	}
Packit 1fb8d4
}