@Override public void save() { DayValues dayValues = null; if (mListener != null) { switch (mCurrentValues.type) { case DayValues.TYPE_ONE_SHOT: Calendar calendar = Calendar.getInstance(); calendar.set(mDatePicker.getYear(), mDatePicker.getMonth(), mDatePicker.getDayOfMonth()); dayValues = new OneShotValues(calendar); break; case DayValues.TYPE_REPEAT: dayValues = new RepeatValues(mRepeatPicker.getSelectedDays(), Calendar.getInstance()); break; case DayValues.TYPE_EVERY: dayValues = new IntervalValues( mIntervalPicker.getUnit(), mIntervalPicker.getNumberValue(), Calendar.getInstance()); break; } mCurrentValues = dayValues; mListener.onSchedulerDayChange(this, dayValues); } }
private void updateViews() { switch (mCurrentValues.type) { case DayValues.TYPE_ONE_SHOT: Calendar calendar = ((OneShotValues) mCurrentValues).date; mDatePicker.init( calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), this); break; case DayValues.TYPE_REPEAT: List<Integer> days = ((RepeatValues) mCurrentValues).days; mRepeatPicker.setSelectedDays(days); break; case DayValues.TYPE_EVERY: IntervalValues values = (IntervalValues) mCurrentValues; mIntervalPicker.setUnit(values.unit); mIntervalPicker.setNumberValue(values.number); break; } mBtnOneShot.setEnabled(mCurrentValues.type != DayValues.TYPE_ONE_SHOT); mBtnRepeat.setEnabled(mCurrentValues.type != DayValues.TYPE_REPEAT); mBtnEvery.setEnabled(mCurrentValues.type != DayValues.TYPE_EVERY); mViewSwitcher.setDisplayedChild(mCurrentValues.type); mListener.onCurrentValuesTypeChanged(mCurrentValues.type); }
@Override public void onAnimationEnd(Animation animation) { if (mListener != null) { mListener.onSchedulerDismiss(SchedulerDayFragment.this); } }