package ru.bsuirhelper.android.ui.schedule; import android.app.DatePickerDialog; import android.app.Dialog; import android.content.Context; import android.os.Build; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.widget.DatePicker; import org.joda.time.DateTime; import ru.bsuirhelper.android.core.StudentCalendar; import java.util.Calendar; import static android.app.DatePickerDialog.OnDateSetListener; /** * Created by Влад on 07.11.13. */ public abstract class DialogDatePicker extends DialogFragment implements OnDateSetListener { private static final String SCHOOL_WEEK = "Учебная неделя "; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current date as the default date in the picker final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); CustomDatePicker datePickerDialog = new CustomDatePicker(getActivity(), this, year, month, day); if (Build.VERSION.SDK_INT > 10) { datePickerDialog.getDatePicker().setMinDate(StudentCalendar.getStartStudentYear()); datePickerDialog.getDatePicker().setMaxDate(StudentCalendar.getEndStudentYear()); } return datePickerDialog; } class CustomDatePicker extends DatePickerDialog { public CustomDatePicker(Context context, OnDateSetListener callBack, int year, int month, int day) { super(context, callBack, year, month, day); setTitle(SCHOOL_WEEK + StudentCalendar.getWorkWeek(new DateTime(year, month + 1, day, 1, 1))); } @Override public void onDateChanged(DatePicker view, int year, int month, int day) { setTitle(SCHOOL_WEEK + StudentCalendar.getWorkWeek(new DateTime(year, month + 1, day, 1, 1))); } } }