Android Open Source - ColorWallpaper Connectivity Helper






From Project

Back to project page ColorWallpaper.

License

The source code is released under:

Licensed under the Expat License. Copyright (C) 2013 Peter Occil Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the...

If you think the Android project ColorWallpaper listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.upokecenter.android.net;
/*from  w ww  .j  a va2 s  .  c  o m*/
import java.lang.ref.WeakReference;
import java.util.ArrayList;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;

import com.upokecenter.android.util.AppManager;

public final class ConnectivityHelper {

  Context application;

  ArrayList<ConnectionReceiver> connListeners=new ArrayList<ConnectionReceiver>();

  private static class ConnectionReceiver {
    WeakReference<Context> context;
    BroadcastReceiver receiver;
    IConnectionListener listener;
    public ConnectionReceiver(Context context,
        BroadcastReceiver receiver, IConnectionListener listener) {
      super();
      this.context = new WeakReference<Context>(context);
      this.receiver = receiver;
      this.listener = listener;
    }
    public boolean matches(Context context, IConnectionListener listener){
      return this.context.get().equals(context) &&
          this.listener==listener;
    }

  }

  public ConnectivityHelper(){
  }

  public void removeAllConnectionListeners(){
    for(int i=0;i<connListeners.size();i++){
      Context ctx=connListeners.get(i).context.get();
      if(ctx!=null) {
        ctx.unregisterReceiver(connListeners.get(i).receiver);
      }
    }
  }

  public void removeConnectionListener(Context ctx, IConnectionListener listener){
    for(int i=0;i<connListeners.size();i++){
      if(connListeners.get(i).matches(ctx,listener)){
        connListeners.remove(i);
        break;
      }
    }
  }

  public void addConnectionListener(
      Context context,
      final IConnectionListener listener){
    BroadcastReceiver receiver=new BroadcastReceiver(){
      @Override
      public void onReceive(Context ctx, Intent arg1) {
        listener.onConnectionChanged(ctx,getConnectedNetworkType());
      }
    };
    context.registerReceiver(receiver,new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
    connListeners.add(new ConnectionReceiver(context,receiver,listener));
    listener.onConnectionChanged(context,getConnectedNetworkType());
  }

  public static int getMobileNetworkType(){
    ConnectivityManager mgr=(ConnectivityManager)AppManager.getApplication().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo network=mgr.getActiveNetworkInfo();
    if(network==null)return 0;
    if(network.isConnected())
      return network.getType();
    if(mgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected()){
      TelephonyManager tmgr=(TelephonyManager)AppManager.getApplication().getSystemService(Context.TELEPHONY_SERVICE);
      return tmgr.getNetworkType();
    }
    return 0;
  }

  public static int getConnectedNetworkType(){
    ConnectivityManager mgr=(ConnectivityManager)AppManager.getApplication().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo network=mgr.getActiveNetworkInfo();
    if(network==null)return 0;
    if(network.isConnected())
      return network.getType();
    if(mgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected())
      return ConnectivityManager.TYPE_WIFI;
    return 0;
  }
}




Java Source Code List

com.upokecenter.android.colorwallpaper.ColorWallpaperService.java
com.upokecenter.android.colorwallpaper.LauncherActivity.java
com.upokecenter.android.colorwallpaper.SettingsActivity.java
com.upokecenter.android.location.DummyLocationHelper.java
com.upokecenter.android.location.ILocationHelper.java
com.upokecenter.android.location.ISimpleLocationListener.java
com.upokecenter.android.location.LocationHelper.java
com.upokecenter.android.net.ConnectivityHelper.java
com.upokecenter.android.net.DownloadService.java
com.upokecenter.android.net.IConnectionListener.java
com.upokecenter.android.ui.AlertDialogActivity.java
com.upokecenter.android.ui.AlertDialogPreference.java
com.upokecenter.android.ui.BaseSettingsActivity.java
com.upokecenter.android.ui.ChoosePicturePreference.java
com.upokecenter.android.ui.ColorPickerDialog.java
com.upokecenter.android.ui.ContinuousValuePreference.java
com.upokecenter.android.ui.DialogUtility.java
com.upokecenter.android.ui.GetContentActivity.java
com.upokecenter.android.ui.IChoiceListener.java
com.upokecenter.android.ui.IDialogUpdater.java
com.upokecenter.android.ui.IntentPreference.java
com.upokecenter.android.ui.PreferenceState.java
com.upokecenter.android.ui.ShareActivity.java
com.upokecenter.android.ui.UriPreference.java
com.upokecenter.android.util.AppManager.java
com.upokecenter.android.util.BitmapUtility.java
com.upokecenter.android.util.StorageUtility.java
com.upokecenter.android.wallpaper.BaseWallpaperService.java
com.upokecenter.util.XmlHelper.java