/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.activity;
import java.util.ArrayList;
import android.content.Context;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import com.timsu.astrid.R;
import com.viewpagerindicator.TitleProvider;
public class TaskEditViewPager extends PagerAdapter implements TitleProvider {
private final String[] titles;
public TaskEditFragment parent;
public static final int TAB_SHOW_ACTIVITY = 1 << 0;
public static final int TAB_SHOW_MORE = 1 << 1;
public TaskEditViewPager(Context context, int tabStyleMask) {
ArrayList<String> titleList = new ArrayList<String>();
if ((tabStyleMask & TAB_SHOW_ACTIVITY) > 0)
titleList.add(context.getString(R.string.TEA_tab_activity));
if ((tabStyleMask & TAB_SHOW_MORE) > 0)
titleList.add(context.getString(R.string.TEA_tab_more));
titles = titleList.toArray(new String[titleList.size()]);
}
public static int getPageForPosition(int position, int tabStyle) {
int numOnesEncountered = 0;
for (int i = 0; i <= 2; i++) {
if ((tabStyle & (1 << i)) > 0)
numOnesEncountered++;
if (numOnesEncountered == position + 1)
return 1 << i;
}
return -1;
}
@Override
public int getCount() {
return titles.length;
}
@Override
public Object instantiateItem(View pager, int position) {
View pageView = parent.getPageView(position);
((ViewPager) pager).addView(pageView, 0);
return pageView;
}
@Override
public void destroyItem(View pager, int position, Object view) {
((ViewPager) pager).removeView((View) view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public String getTitle(int position) {
return titles[position];
}
@Override
public Parcelable saveState() {
return null;
}
}