Android Open Source - StreamHub-Android-Reviews-App Download Image Task






From Project

Back to project page StreamHub-Android-Reviews-App.

License

The source code is released under:

MIT License

If you think the Android project StreamHub-Android-Reviews-App 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 livefyre.ImagesCache;
/*from  w ww.  j ava  2 s  . c  o m*/
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
  private int inSampleSize = 0;

  private String imageUrl;

  private BaseAdapter adapter;

  private ImagesCache cache;

  private Bitmap image = null;

  private ImageView ivImageView;

  public DownloadImageTask(BaseAdapter adapter) {
    this.adapter = adapter;

    this.cache = ImagesCache.getInstance();

  }

  public DownloadImageTask(ImagesCache cache, ImageView ivImageView) {
    this.cache = cache;

    this.ivImageView = ivImageView;

  }

  @Override
  protected Bitmap doInBackground(String... params) {
    imageUrl = params[0];

    return getImage(imageUrl);
  }

  @Override
  protected void onPostExecute(Bitmap result) {
    super.onPostExecute(result);

    if (result != null) {
      cache.addImageToWarehouse(imageUrl, result);

      if (ivImageView != null) {
        ivImageView.setImageBitmap(result);
      } else {

      }

      if (adapter != null) {
        adapter.notifyDataSetChanged();
      }
    }
  }

  private Bitmap getImage(String imageUrl) {
    if (cache.getImageFromWarehouse(imageUrl) == null) {
      BitmapFactory.Options options = new BitmapFactory.Options();

      options.inJustDecodeBounds = true;

      options.inSampleSize = inSampleSize;

      try {
        URL url = new URL(imageUrl);

        HttpURLConnection connection = (HttpURLConnection) url
            .openConnection();

        InputStream stream = connection.getInputStream();

        image = BitmapFactory.decodeStream(stream, null, options);

        int imageWidth = options.outWidth;

        int imageHeight = options.outHeight;

        options.inJustDecodeBounds = false;

        connection = (HttpURLConnection) url.openConnection();

        stream = connection.getInputStream();

        image = BitmapFactory.decodeStream(stream, null, options);
        Log.d("image", image.toString());
        return image;
      }

      catch (Exception e) {
        Log.e("getImage", e.toString());
      }
    }

    return image;
  }

  public static void getRoundedShape(ImageView scaleBitmapImageview) {
    Drawable scaleDrawable = scaleBitmapImageview.getDrawable();
    BitmapDrawable bitmapDrawable = ((BitmapDrawable) scaleDrawable);
    Bitmap bitmap = bitmapDrawable.getBitmap();
    Bitmap targetBitmap = null;
    try {
      int targetWidth = 100;
      int targetHeight = 100;
      targetBitmap = Bitmap.createBitmap(targetWidth, targetHeight,
          Bitmap.Config.ARGB_8888);

      Canvas canvas = new Canvas(targetBitmap);
      Path path = new Path();
      path.addCircle(
          ((float) targetWidth - 1) / 2,
          ((float) targetHeight - 1) / 2,
          (Math.min(((float) targetWidth), ((float) targetHeight)) / 2),
          Path.Direction.CCW);

      canvas.clipPath(path);
      Bitmap sourceBitmap = bitmap;
      canvas.drawBitmap(
          sourceBitmap,
          new Rect(0, 0, sourceBitmap.getWidth(), sourceBitmap
              .getHeight()), new Rect(0, 0, targetWidth,
              targetHeight), null);
    } catch (Exception e) {
      // e.printStackTrace();
    }
    scaleBitmapImageview.setImageBitmap(targetBitmap);
    // return targetBitmap;
  }

}




Java Source Code List

com.filepicker.sdk.AuthActivity.java
com.filepicker.sdk.AuthError.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.BuildConfig.java
com.filepicker.sdk.CacheElement.java
com.filepicker.sdk.DataCache.java
com.filepicker.sdk.FPFile.java
com.filepicker.sdk.FPService.java
com.filepicker.sdk.FilePickerAPI.java
com.filepicker.sdk.FilePicker.java
com.filepicker.sdk.FixedSizeList.java
com.filepicker.sdk.Folder.java
com.filepicker.sdk.Inode.java
com.filepicker.sdk.NonThumbnailGridBlockView.java
com.filepicker.sdk.Service.java
com.filepicker.sdk.ThumbnailView.java
livefyre.AppSingleton.java
livefyre.BaseActivity.java
livefyre.DeviceNotConnectedException.java
livefyre.DownloadAllImagesTask.java
livefyre.LFSAppConstants.java
livefyre.LFSConfig.java
livefyre.LFUtils.java
livefyre.LivefyreApplication.java
livefyre.NotifyingScrollView.java
livefyre.ImagesCache.DownloadImageTask.java
livefyre.ImagesCache.ImagesCache.java
livefyre.activities.Edit.java
livefyre.activities.LivefyreSplash.java
livefyre.activities.NewReview.java
livefyre.activities.Reply.java
livefyre.activities.ReviewInDetail.java
livefyre.activities.ReviewsActivity.java
livefyre.adapters.ReviewInDetailAdapter.java
livefyre.adapters.ReviewListAdapter.java
livefyre.fadingactionbar.FadingActionBarHelperBase.java
livefyre.fadingactionbar.FadingActionBarHelper.java
livefyre.fadingactionbar.ListViewActivity.java
livefyre.fadingactionbar.ObservableScrollView.java
livefyre.fadingactionbar.ObservableScrollable.java
livefyre.fadingactionbar.ObservableWebViewWithHeader.java
livefyre.fadingactionbar.OnScrollChangedCallback.java
livefyre.fadingactionbar.RootLayout.java
livefyre.fadingactionbar.Utils.java
livefyre.models.AuthorsBean.java
livefyre.models.ContentBean.java
livefyre.models.ContentTypeEnum.java
livefyre.models.OembedBean.java
livefyre.models.ReviewStatus.java
livefyre.models.Vote.java
livefyre.parsers.AdminClintParser.java
livefyre.parsers.ContentParser.java
livefyre.parsers.ContentUpdateListener.java
livefyre.streamhub.AdminClient.java
livefyre.streamhub.BootstrapClient.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.BuildConfig.java
livefyre.streamhub.Config.java
livefyre.streamhub.Helpers.java
livefyre.streamhub.HttpClient.java
livefyre.streamhub.LFSActions.java
livefyre.streamhub.LFSConstants.java
livefyre.streamhub.LFSFlag.java
livefyre.streamhub.StreamClient.java
livefyre.streamhub.WriteClient.java