package com.conference.app.lib.ui.adapter;
import java.util.List;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
import com.conference.app.lib.ui.widget.DotCreator;
public class SchedulePagerAdapter extends PagerAdapter {
private static final String TAG = SchedulePagerAdapter.class.getName();
private static final boolean DEBUG = false;
private final int maxViews;
private final List<View> views;
private final ViewPager parent;
private View[] dots;
private Toast dot;
public SchedulePagerAdapter(final List<View> views, final ViewPager viewPager) {
super();
this.views = views;
this.parent = viewPager;
maxViews = views.size();
initDots();
}
private void initDots() {
dot = new Toast(this.parent.getContext());
dot.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
dot.setDuration(Toast.LENGTH_SHORT);
dots = DotCreator.createDots(this.parent.getContext(), maxViews);
}
public void showDots(final int pos) {
dot.setView(dots[pos]);
dot.show();
}
public void cancelDots() {
dot.cancel();
}
@Override
public void startUpdate(final View arg0) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void restoreState(final Parcelable arg0, final ClassLoader arg1) {
}
@Override
public boolean isViewFromObject(final View view, final Object object) {
return view == ((View) object);
}
@Override
public void destroyItem(final View collection, final int position, final Object view) {
((ViewPager) collection).removeView(views.get(position));
}
@Override
public void finishUpdate(final View arg0) {
}
@Override
public int getCount() {
return maxViews;
}
@Override
public Object instantiateItem(final View arg0, final int arg1) {
final View view = views.get(arg1);
parent.addView(view, 0);
return view;
}
}