package com.athena.asm.Adapter;
import java.util.ArrayList;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.athena.asm.R;
import com.athena.asm.aSMApplication;
import com.athena.asm.view.TouchImageView;
import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper;
public class ViewPagerAdapter extends PagerAdapter {
// private TouchImageView m_currentView;
private Context m_context;
ArrayList<String> m_imageUrls;
public ViewPagerAdapter(ArrayList<String> imgUrls, Context context) {
m_imageUrls = imgUrls;
m_context = context;
}
@Override
public int getCount() {
if(m_imageUrls != null)
return m_imageUrls.size();
return 0;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
TouchImageView view = (TouchImageView)object;
((ViewPager) container).removeView(view);
view = null;
}
@Override
public void finishUpdate(ViewGroup container) {
super.finishUpdate(container);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
LinearLayout.LayoutParams mParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
// set parameters for UrlImageViewHelper
UrlImageViewHelper.setUseZoomIn(false); // enable zoom in
UrlImageViewHelper.setUseZoomOut(false); // don't zoom out
UrlImageViewHelper.setMaxImageSize(0); // load all size
// initialize TouchImageView
String imageUrl = m_imageUrls.get(position);
TouchImageView iv = new TouchImageView(m_context);
iv.setLayoutParams(mParams);
iv.setOnLongClickListener((OnLongClickListener)m_context);
if (aSMApplication.getCurrentApplication().isNightTheme()) {
UrlImageViewHelper.setErrorResource(R.drawable.failure_night);
UrlImageViewHelper.setUrlDrawable(iv, imageUrl, R.drawable.loading_night);
} else {
UrlImageViewHelper.setErrorResource(R.drawable.failure_day);
UrlImageViewHelper.setUrlDrawable(iv, imageUrl, R.drawable.loading_day);
}
((ViewPager) container).addView(iv, 0);
return iv;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0 == arg1);
}
}