package by.fksis.schedule.adapters;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.ViewGroup;
import by.fksis.schedule.R;
import by.fksis.schedule.Util;
import by.fksis.schedule.app.DayScheduleFragment;
import java.util.Calendar;
public class WeekPagerAdapter extends FragmentPagerAdapter {
public static final int TOTAL_PAGES = 30;
public static final int NOW_PAGE = 15;
private final Context context;
private Calendar[] dates;
@Override
public CharSequence getPageTitle(int position) {
if (position == NOW_PAGE)
return context.getString(R.string.today);
if (position == NOW_PAGE + 1)
return context.getString(R.string.tomorrow);
if (position == NOW_PAGE - 1)
return context.getString(R.string.yesterday);
if (Math.abs(position - NOW_PAGE) < 4)
return context.getResources().getStringArray(R.array.weekdays)[Util.getDayOfWeekIndex(dates[position])].toUpperCase();
int day = dates[position].get(Calendar.DAY_OF_MONTH);
int month = dates[position].get(Calendar.MONTH) + 1;
return day + "." + (month < 10 ? "0" : "") + month;
}
public WeekPagerAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
dates = new Calendar[TOTAL_PAGES];
Calendar now = Calendar.getInstance();
for (int i = 0; i < TOTAL_PAGES; i++) {
dates[i] = (Calendar) now.clone();
dates[i].add(Calendar.DAY_OF_MONTH, i - NOW_PAGE);
}
}
@Override
public Fragment getItem(int i) {
return new DayScheduleFragment(dates[i]);
}
@Override
public int getCount() {
return TOTAL_PAGES;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
}