@Override
public void onDateChanged(int oldDay, int oldMonth, int oldYear, int newDay, int newMonth, int newYear) {
if(mDaySelectMode)
mYearPicker.setYear(newYear);
if(newDay < 0 || newMonth < 0 || newYear < 0){
mWeekDay = null;
mMonth = null;
mDay = null;
mYear = null;
}
else {
Calendar cal = mDatePicker.getCalendar();
cal.set(Calendar.YEAR, newYear);
cal.set(Calendar.MONTH, newMonth);
cal.set(Calendar.DAY_OF_MONTH, newDay);
mWeekDay = cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault());
mMonth = cal.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.getDefault());
mDay = String.format(DAY_FORMAT, newDay);
mYear = String.format(YEAR_FORMAT, newYear);
if(oldMonth != newMonth || oldYear != newYear)
mDatePicker.goTo(newMonth, newYear);
}
mLocationDirty = true;
invalidate(0, 0, mHeaderRealWidth, mHeaderPrimaryRealHeight + mHeaderSecondaryHeight);
if(mOnDateChangedListener != null)
mOnDateChangedListener.onDateChanged(oldDay, oldMonth, oldYear, newDay, newMonth, newYear);
}