Android Open Source - image-loader Image Wrapper






From Project

Back to project page image-loader.

License

The source code is released under:

Apache License

If you think the Android project image-loader 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

/**
 * Copyright 2012 Novoda Ltd//  w  w  w  . ja va 2  s. c  o m
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.novoda.imageloader.core.model;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.animation.Animation;
import android.widget.ImageView;

import com.novoda.imageloader.core.loader.util.BitmapDisplayer;

public class ImageWrapper {

    private static final String URL_ERROR = "_url_error";

    private final ImageView imageView;

    private String url;
    private String previewUrl;
    private int width;
    private int height;
    private int previewWidth;
    private int previewHeight;
    private int loadingResourceId;
    private int notFoundResourceId;
    private boolean isUseCacheOnly;
    private boolean saveThumbnail;
    private Animation animation;

    public ImageWrapper(ImageView imageView) {
        this.imageView = imageView;
        initWrapper(imageView);
    }

    private void initWrapper(ImageView imageView) {
        ImageTag tag = (ImageTag) imageView.getTag();
        if (tag == null) {
            return;
        }
        this.url = tag.getUrl();
        this.loadingResourceId = tag.getLoadingResourceId();
        this.notFoundResourceId = tag.getNotFoundResourceId();
        this.isUseCacheOnly = tag.isUseOnlyCache();
        this.height = tag.getHeight();
        this.width = tag.getWidth();
        this.previewHeight = tag.getPreviewHeight();
        this.previewWidth = tag.getPreviewWidth();
        this.saveThumbnail = tag.isSaveThumbnail();
        if (notFoundResourceId == 0) {
            this.notFoundResourceId = tag.getLoadingResourceId();
        }
        this.previewUrl = tag.getPreviewUrl();
        this.animation = tag.getAnimation();
    }

    public String getCurrentUrl() {
        ImageTag tag = (ImageTag) imageView.getTag();

        if (tag.getUrl() != null) {
            return tag.getUrl();
        }
        return URL_ERROR;
    }

    public String getUrl() {
        return url;
    }

    public int getWidth() {
        return width;
    }

    public int getHeight() {
        return height;
    }

    public ImageView getImageView() {
        return imageView;
    }

    public void runOnUiThread(BitmapDisplayer displayer) {
        Activity a = (Activity) imageView.getContext();
        a.runOnUiThread(displayer);
    }

    public Context getContext() {
        return imageView.getContext();
    }

    public void setBitmap(Bitmap bitmap, boolean animated) {
        imageView.setImageBitmap(bitmap);

        stopExistingAnimation();
        if (animation != null && animated) {
            imageView.startAnimation(animation);
        }
    }

    private void stopExistingAnimation() {
        Animation old = imageView.getAnimation();
        if (old != null && !old.hasEnded()) {
            old.cancel();
        }
    }

    public void setResourceBitmap(Bitmap resourceAsBitmap) {
        imageView.setImageBitmap(resourceAsBitmap);
    }

    public boolean isCorrectUrl(String url) {
        return url.equals(getUrl());
    }

    public int getLoadingResourceId() {
        return loadingResourceId;
    }

    public int getNotFoundResourceId() {
        return notFoundResourceId;
    }

    public boolean isUrlChanged() {
        return !getUrl().equals(getCurrentUrl());
    }

    public boolean isUseCacheOnly() {
        return isUseCacheOnly;
    }

    public boolean isSaveThumbnail() {
        return saveThumbnail;
    }

    public void setSaveThumbnail(boolean saveThumbnail) {
        this.saveThumbnail = saveThumbnail;
    }

    public String getPreviewUrl() {
        return previewUrl;
    }

    public int getPreviewWidth() {
        return previewWidth;
    }

    public int getPreviewHeight() {
        return previewHeight;
    }

}




Java Source Code List

com.novoda.imageloader.acceptance.BitmapUtilsInstrumentationTest.java
com.novoda.imageloader.acceptance.BitmapUtilsShould.java
com.novoda.imageloader.acceptance.ImageLoaderDemoActivityTest.java
com.novoda.imageloader.acceptance.ImageManagerInstrumentationTest.java
com.novoda.imageloader.acceptance.LruBitmapCacheInstrumentationTest.java
com.novoda.imageloader.core.ImageManager.java
com.novoda.imageloader.core.LoaderContext.java
com.novoda.imageloader.core.LoaderSettings.java
com.novoda.imageloader.core.OnImageLoadedListener.java
com.novoda.imageloader.core.bitmap.BitmapUtil.java
com.novoda.imageloader.core.cache.CacheManager.java
com.novoda.imageloader.core.cache.LruBitmapCache.java
com.novoda.imageloader.core.cache.NoCache.java
com.novoda.imageloader.core.cache.SoftMapCache.java
com.novoda.imageloader.core.cache.util.LruCache.java
com.novoda.imageloader.core.exception.ImageCopyException.java
com.novoda.imageloader.core.exception.ImageNotFoundException.java
com.novoda.imageloader.core.exception.MissingSettingException.java
com.novoda.imageloader.core.file.BasicFileManager.java
com.novoda.imageloader.core.file.FileManager.java
com.novoda.imageloader.core.file.util.AndroidFileContext.java
com.novoda.imageloader.core.file.util.FileUtil.java
com.novoda.imageloader.core.file.util.FlushedInputStream.java
com.novoda.imageloader.core.loader.ConcurrentLoader.java
com.novoda.imageloader.core.loader.Loader.java
com.novoda.imageloader.core.loader.SimpleLoader.java
com.novoda.imageloader.core.loader.util.AsyncResult.java
com.novoda.imageloader.core.loader.util.AsyncTask.java
com.novoda.imageloader.core.loader.util.BitmapDisplayer.java
com.novoda.imageloader.core.loader.util.BitmapRetriever.java
com.novoda.imageloader.core.loader.util.LoaderTask.java
com.novoda.imageloader.core.loader.util.SingleThreadedLoader.java
com.novoda.imageloader.core.model.ImageTagFactory.java
com.novoda.imageloader.core.model.ImageTag.java
com.novoda.imageloader.core.model.ImageWrapper.java
com.novoda.imageloader.core.network.NetworkManager.java
com.novoda.imageloader.core.network.UrlNetworkManager.java
com.novoda.imageloader.core.network.UrlUtil.java
com.novoda.imageloader.core.util.AnimationHelper.java
com.novoda.imageloader.core.util.DirectLoader.java
com.novoda.imageloader.core.util.Log.java
com.novoda.imageloader.demo.DemoApplication.java
com.novoda.imageloader.demo.activity.BigImages.java
com.novoda.imageloader.demo.activity.Demos.java
com.novoda.imageloader.demo.activity.DirectLoading.java
com.novoda.imageloader.demo.activity.ImageLongList.java
com.novoda.imageloader.demo.activity.LongSmallImageList.java
com.novoda.imageloader.demo.activity.base.ImageLoaderBaseActivity.java
com.novoda.imageloader.demo.provider.CustomUriMatcher.java
com.novoda.imageloader.demo.provider.DatabaseManager.java
com.novoda.imageloader.demo.provider.ImageLoaderDemoProvider.java
com.novoda.imageloader.demo.provider.SqlFile.java
com.novoda.imageloader.demo.util.BugSenseHelper.java
com.novoda.imageloader.demo.util.BugsenseApiKeyFailedException.java