package com.datdo.mobilib.test.imageloader;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.ViewGroup;
import com.datdo.mobilib.api.MblApi;
import com.datdo.mobilib.api.MblApi.MblApiCallback;
import com.datdo.mobilib.api.MblRequest;
import com.datdo.mobilib.api.MblResponse;
import com.datdo.mobilib.base.MblBaseActivity;
import com.datdo.mobilib.test.R;
import com.datdo.mobilib.util.MblUtils;
import com.datdo.mobilib.widget.MblTouchImageView;
public class ViewImageActivity extends MblBaseActivity {
private MblTouchImageView mImageView;
private boolean mLoaded;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mImageView = new MblTouchImageView(this);
mImageView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
mImageView.setOptions(0.5f, 3f, 1f, 0, 0, 0, 0);
setContentView(mImageView);
}
@Override
protected void onResume() {
super.onResume();
String link = getIntent().getStringExtra("link");
if (link != null) {
MblApi.run(new MblRequest()
.setMethod(MblApi.Method.GET)
.setUrl(link)
.setCacheDuration(Long.MAX_VALUE)
.setCallback(new MblApiCallback() {
@Override
public void onSuccess(MblResponse response) {
final Bitmap bm = BitmapFactory.decodeByteArray(response.getData(), 0, response.getData().length);
if (bm != null) {
mImageView.setImageBitmap(bm);
mLoaded = true;
} else {
onFailure(null);
}
}
@Override
public void onFailure(MblResponse response) {
mImageView.setImageResource(R.drawable.error);
}
}));
}
}
@Override
protected void onPause() {
super.onPause();
if (mLoaded) {
MblUtils.recycleImageView(mImageView);
}
}
}