/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.view;
import android.graphics.Bitmap;
import android.view.View;
import com.galaxy.meetup.client.android.content.cache.ImageRequest;
import com.galaxy.meetup.client.android.service.ImageCache;
import com.galaxy.meetup.client.android.service.ImageCache.ImageConsumer;
/**
*
* @author sihai
*
*/
public class RemoteImage implements ImageConsumer {
private static ImageCache sImageCache;
private Bitmap mBitmap;
private boolean mInvalidated;
private boolean mLoaded;
private final ImageRequest mRequest;
private final View mView;
public RemoteImage(View view, ImageRequest imagerequest)
{
mView = view;
mRequest = imagerequest;
if(sImageCache == null)
sImageCache = ImageCache.getInstance(view.getContext());
}
public final Bitmap getBitmap()
{
return mBitmap;
}
public final ImageRequest getRequest()
{
return mRequest;
}
public final void invalidate()
{
mInvalidated = true;
mView.invalidate();
}
public final void load()
{
if(mRequest != null)
sImageCache.loadImage(this, mRequest);
}
public final void refreshIfInvalidated()
{
if(mInvalidated)
{
mInvalidated = false;
if(mRequest != null)
sImageCache.refreshImage(this, mRequest);
}
}
public final void setBitmap(Bitmap bitmap, boolean flag)
{
mBitmap = bitmap;
boolean flag1;
if(!flag)
flag1 = true;
else
flag1 = false;
mLoaded = flag1;
mView.invalidate();
}
}