Android Open Source - Android-Fast-ImageLoader Base Load Listener






From Project

Back to project page Android-Fast-ImageLoader.

License

The source code is released under:

Apache License

If you think the Android project Android-Fast-ImageLoader 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.sunny.cache;
/*w ww .j  a  va  2s. com*/
import java.lang.ref.SoftReference;

import android.graphics.drawable.BitmapDrawable;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;

import com.sunny.util.ImageUtil;

/**
 * base listener.
 * 
 * @author yi.kang
 */
public class BaseLoadListener implements OnSetImageListener {
  SoftReference<ImageView> view;
  ProgressBar progressBar;
  Handler handler = null;

  public BaseLoadListener(ImageView view) {
    handler = new Handler(Looper.getMainLooper());
    this.view = new SoftReference<ImageView>(view);
  }

  public BaseLoadListener(ImageView view, ProgressBar progressBar) {
    this(view);
    this.progressBar = progressBar;
  }

  @Override
  public void onProgress(int i) {
  }

  @Override
  public void onFinish(ImageView imageView, final BitmapDrawable drawable,
      CacheWorker.Builder cacheParams, boolean isCached) {
    handler.post(new Runnable() {
      @Override
      public void run() {
        if (progressBar != null) {
          progressBar.setVisibility(View.GONE);
        }
        final ImageView v = view.get();
        if (v != null) {
          // v.setImageDrawable(drawable);
          if (drawable.getBitmap().getWidth() > drawable.getBitmap()
              .getHeight()) {
            v.setImageBitmap(ImageUtil.rotaingImageView(90,
                drawable.getBitmap()));
          } else {
            v.setImageBitmap(drawable.getBitmap());
          }
        }
      }
    });
  }

  @Override
  public void onError() {
    handler.post(new Runnable() {
      @Override
      public void run() {
        if (progressBar != null) {
          progressBar.setVisibility(View.GONE);
        }
      }
    });
  }

  @Override
  public void onLoadGIF(String filePath) {

  }

  @Override
  public void onStartDownloading() {
  }

  @Override
  public void onStart(ImageView imageView, String url) {
    handler.post(new Runnable() {
      @Override
      public void run() {
        if (progressBar != null) {
          progressBar.setVisibility(View.VISIBLE);
        }
      }
    });
  }

}




Java Source Code List

com.sunny.cache.BaseLoadListener.java
com.sunny.cache.CacheWorker.java
com.sunny.cache.DiskLruCache.java
com.sunny.cache.FileLastModifSort.java
com.sunny.cache.GIFDecoder.java
com.sunny.cache.IDownloadHandler.java
com.sunny.cache.MemoryCache.java
com.sunny.cache.OnSetImageListener.java
com.sunny.cache.RecyclingBitmapDrawable.java
com.sunny.cache.ThumbnailLoader.java
com.sunny.net.DHttpClient.java
com.sunny.net.ProxyUtil.java
com.sunny.threadpool.AbstractCommand.java
com.sunny.threadpool.CommandFactory.java
com.sunny.threadpool.DThreadPool.java
com.sunny.threadpool.IDThreadPool.java
com.sunny.threadpool.IPriorityTask.java
com.sunny.threadpool.ITaskHandler.java
com.sunny.threadpool.PriorityTask.java
com.sunny.threadpool.PriorityThreadFactory.java
com.sunny.threadpool.TaskPriority.java
com.sunny.util.ImageUtil.java
com.sunny.util.MD5Util.java
com.sunny.util.Utils.java