Mega Code Archive

 
Categories / Android / Network
 

Connectivity Tester

//package eecs.umich.threegtest; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.net.ConnectivityManager; import android.telephony.TelephonyManager; public class ConnectivityTester {   //holds the threegtest that extends Activity   private Activity activity;      //WIFI or MOBIlE variables   private ConnectivityManager connectivityManager;   private int networkType;   private String networkTypeName;      //Mostly MOBILE variables   private TelephonyManager telephonyManager;    private int mobileNetworkType;   private String mobileNetworkTypeName;   private String networkOperatorName;   private String deviceID;      private boolean networkStatus;      public ConnectivityTester(Activity activity){     this.activity = activity;     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");     setup();     /*     getNetworkTypeName();     getMobileNetworkTypeName();          System.out.print("Connected to: ");     if (networkTypeName == null)       System.out.println("Nothing");     else       System.out.println(networkTypeName);          if (mobileNetworkTypeName != null) {       System.out.println("Mobile Network Type: " + mobileNetworkTypeName);     }     System.out.println("Carrier: " + networkOperatorName);     setNetworkStatus(true);     System.out.println("Network status: " + networkStatus);     setNetworkStatus(false);     System.out.println("Network status: " + networkStatus);          System.out.println("Done");     //getNetworkTypeName();      *       */             }      //initializes variables   private void setup() {     networkType = -1;     mobileNetworkType = -1;          networkTypeName = null;     mobileNetworkTypeName = null;     networkOperatorName = null;           networkStatus = false;     deviceID = null;          connectivityManager = ( ConnectivityManager ) activity.getSystemService( Context.CONNECTIVITY_SERVICE );     telephonyManager = ( TelephonyManager ) activity.getSystemService( Context.TELEPHONY_SERVICE );   }      //returns true if currently connected and false otherwise   public boolean isConnected() {     try {       return connectivityManager.getActiveNetworkInfo().isConnected();     }     catch (NullPointerException npe) {       return false;     }   }   //returns an integer indicating the current network type   //returns -1 if not connected   public int getNetworkType() {     if (networkType != -1) {        return networkType;     }     else {       if (isConnected()) {         networkType = connectivityManager.getActiveNetworkInfo().getType();       }       else {         networkType = -1;       }     }     return networkType;   }      //Returns network type name String ("WIFI" OR "MOBILE")   //if not connected, return null   public String getNetworkTypeName() {     System.out.println("A bay bay");     if (networkTypeName != null) {       return networkTypeName;     }     else {       System.out.println("Hey");       if (isConnected()) {         networkTypeName = connectivityManager.getActiveNetworkInfo().getTypeName();       }       else {         networkTypeName = null;        }     }     return networkTypeName;   }        //returns an integer corresponding to appropriate mobile network type   //return -1 if not connected   public int getMobileNetworkType() {     if (isConnected()) {       if (mobileNetworkType == -1) {         mobileNetworkType = telephonyManager.getNetworkType();       }     }     else {       mobileNetworkType = -1;     }     return mobileNetworkType;   }         //returns String containing the mobile network name   //returns null if not connected or no mobile connection   public String getMobileNetworkTypeName() {     getNetworkType();     if (isConnected() && networkType == ConnectivityManager.TYPE_MOBILE ) {        if (mobileNetworkTypeName == null) {         getMobileNetworkType();                  switch (mobileNetworkType) {               case TelephonyManager.NETWORK_TYPE_UNKNOWN:                 mobileNetworkTypeName = "UNKNOWN";                 break;               case TelephonyManager.NETWORK_TYPE_GPRS:                 mobileNetworkTypeName = "GPRS";                 break;               case TelephonyManager.NETWORK_TYPE_EDGE:                 mobileNetworkTypeName = "EDGE";                 break;               case TelephonyManager.NETWORK_TYPE_UMTS:                 mobileNetworkTypeName = "UMTS";                 break;               default:                 mobileNetworkTypeName = "MOBILE";             }       }     }     else {       mobileNetworkTypeName = null;     }     return mobileNetworkTypeName;   }      //returns carrier type   public String getNetworkOperator() {     if (networkOperatorName == null) {       networkOperatorName = telephonyManager.getNetworkOperatorName();     }     return networkOperatorName;   }      public boolean getNetworkStatus() {     return networkStatus;   }      public void setNetworkStatus (boolean status) {     networkStatus = status;   }      public String getDeviceID () {     if (deviceID == null) {       deviceID = telephonyManager.getDeviceId();     }     return deviceID;   }     //determines if currently connected to the internet     //if user is not connected, he/she is asked to connect to the internet via an alert     //dialog box and the app closes     public void detectInternetConnection () {        if (!isConnected()) {            System.out.println("NOT CONNECTED");            AlertDialog.Builder builder = new AlertDialog.Builder(activity);            builder              .setMessage("No Internet Connection Detected! Please fix and try again.")              .setCancelable(false)                .setPositiveButton("OK",                     new DialogInterface.OnClickListener() {                           public void onClick(DialogInterface dialog, int id) {                             activity.finish();                           }                       }                )                .setTitle("Internet Connection Problem")                .show();                      }          else {            System.out.println("Internet Connection Detected");          }     }    }