private void onModeSelected(int mode) { int oldMode = mRecurring.getRepeatMode(); mRecurring.setRepeatMode(mode); updatePeriodUnit(); mRecurring.setRepeatSetting(0); if (mode == Recurring.REPEAT_NONE) { mPeriodEditText.setEnabled(false); mEndSpinner.setEnabled(false); mEndNumEditText.setEnabled(false); mEndDateButton.setEnabled(false); mSameDayRadioButton.setEnabled(false); mSameWeekdayRadioButton.setEnabled(false); mWeekView.setEnabled(false); } else { if (oldMode == Recurring.REPEAT_NONE) { mPeriodEditText.setEnabled(true); mEndSpinner.setEnabled(true); mEndNumEditText.setEnabled(true); mEndDateButton.setEnabled(true); mSameDayRadioButton.setEnabled(true); mSameWeekdayRadioButton.setEnabled(true); mWeekView.setEnabled(true); } switch (mode) { case Recurring.REPEAT_DAILY: case Recurring.REPEAT_YEARLY: animOut(mSameDayRadioButton, true, true); animOut(mSameWeekdayRadioButton, true, true); animOut(mWeekView, true, true); break; case Recurring.REPEAT_MONTHLY: animIn(mSameDayRadioButton, false); animIn(mSameWeekdayRadioButton, false); animOut(mWeekView, true, true); mRecurring.setMonthRepeatType( mSameDayRadioButton.isChecked() ? Recurring.MONTH_SAME_DAY : Recurring.MONTH_SAME_WEEKDAY); break; case Recurring.REPEAT_WEEKLY: animOut(mSameDayRadioButton, true, true); animOut(mSameWeekdayRadioButton, true, true); animIn(mWeekView, false); for (int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) mRecurring.setEnabledWeekday(i, mWeekView.isSelected(i)); break; } } }
public void clear(int i) { switch (i) { case 0: button0.setChecked(false); break; case 1: button1.setChecked(false); break; case 2: button2.setChecked(false); break; case 3: button3.setChecked(false); break; case 4: YoYo.with(Techniques.Shake).duration(700).playOn(ly); button0.setChecked(false); button1.setChecked(false); button2.setChecked(false); button3.setChecked(false); break; default: break; } }
private void updateRecurringData() { Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(mRecurring.getStartTime()); int order = Recurring.getWeekDayOrderNum(cal); String dayOfWeek = cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault()); int formattedTextId = MONTH_SAME_WEEKDAY[(order + 1) % MONTH_SAME_WEEKDAY.length]; mSameWeekdayRadioButton.setText( getContext().getResources().getString(formattedTextId, dayOfWeek)); mPeriodEditText.setText(String.valueOf(mRecurring.getPeriod())); if (mRecurring.getRepeatMode() == Recurring.REPEAT_WEEKLY) { for (int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) mWeekView.setSelected(i, mRecurring.isEnabledWeekday(i), true); } else { int day = cal.get(Calendar.DAY_OF_WEEK); for (int i = Calendar.SUNDAY; i <= Calendar.SATURDAY; i++) mWeekView.setSelected(i, i == day, true); if (mRecurring.getRepeatMode() == Recurring.REPEAT_MONTHLY) { mSameDayRadioButton.setCheckedImmediately( mRecurring.getMonthRepeatType() == Recurring.MONTH_SAME_DAY); mSameWeekdayRadioButton.setCheckedImmediately( mRecurring.getMonthRepeatType() == Recurring.MONTH_SAME_WEEKDAY); } else { mSameDayRadioButton.setCheckedImmediately(true); mSameWeekdayRadioButton.setCheckedImmediately(false); } } if (mModeSpinner.getSelectedItemPosition() != mRecurring.getRepeatMode()) mModeSpinner.setSelection(mRecurring.getRepeatMode()); else onModeSelected(mRecurring.getRepeatMode()); mEndNumEditText.setText( String.valueOf( mRecurring.getEndMode() == Recurring.END_FOR_EVENT ? mRecurring.getEventNumber() : 10)); long date = mRecurring.getEndMode() == Recurring.END_UNTIL_DATE ? mRecurring.getEndDate() : (Math.max(System.currentTimeMillis(), mRecurring.getStartTime()) + 86400000L * 31); mEndDateButton.setText(mDateFormat.format(new Date(date))); mEndDateButton.setTag(date); if (mEndSpinner.getSelectedItemPosition() != mRecurring.getEndMode()) mEndSpinner.setSelection(mRecurring.getEndMode()); else onEndSelected(mRecurring.getEndMode()); }
public void set(int i) { switch (i) { case 0: button0.setChecked(true); YoYo.with(Techniques.Bounce).delay(0).duration(1000).playOn(button0); break; case 1: button1.setChecked(true); YoYo.with(Techniques.Bounce).delay(0).duration(1000).playOn(button1); break; case 2: button2.setChecked(true); YoYo.with(Techniques.Bounce).delay(0).duration(1000).playOn(button2); break; case 3: button3.setChecked(true); YoYo.with(Techniques.Bounce).delay(0).duration(1000).playOn(button3); break; default: break; } }
public void init() { button0.setChecked(false); button1.setChecked(false); button2.setChecked(false); button3.setChecked(false); }
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate() { View v = LayoutInflater.from(getContext()).inflate(R.layout.dialog_recurring, null); setContentView(v); FrameLayout fl_mode = (FrameLayout) v.findViewById(R.id.rd_fl_mode); final ScrollView sv_repeat = (ScrollView) v.findViewById(R.id.rd_sv_repeat); final LinearLayout ll_repeat = (LinearLayout) v.findViewById(R.id.rd_ll_repeat); mModeSpinner = (Spinner) fl_mode.findViewById(R.id.rd_spn_mode); mEndSpinner = (Spinner) v.findViewById(R.id.rd_spn_end); mPeriodEditText = (EditText) v.findViewById(R.id.rd_et_period); mPeriodUnitTextView = (TextView) v.findViewById(R.id.rd_tv_period_unit); mSameDayRadioButton = (RadioButton) v.findViewById(R.id.rd_month_rb_same); mSameWeekdayRadioButton = (RadioButton) v.findViewById(R.id.rd_month_rb_week); mEndNumEditText = (EditText) v.findViewById(R.id.rd_et_end_num); mEndNumUnitTextView = (TextView) v.findViewById(R.id.rd_tv_end_num_unit); mEndDateButton = (Button) v.findViewById(R.id.rd_bt_end_date); mWeekView = (WeekView) v.findViewById(R.id.rd_wv_week); sv_repeat .getViewTreeObserver() .addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { showDivider(ll_repeat.getMeasuredHeight() > sv_repeat.getMeasuredHeight()); } }); mHeaderBackground = new HeaderDrawable(getContext()); ViewCompat.setPaddingRelative(fl_mode, mContentPadding, 0, mContentPadding, 0); ViewUtil.setBackground(fl_mode, mHeaderBackground); ViewCompat.setPaddingRelative( ll_repeat, mContentPadding, mActionOuterPadding, mContentPadding, mActionPadding); mModeAdapter = new ModeAdapter(); mModeSpinner.setAdapter(mModeAdapter); mModeSpinner.setOnItemSelectedListener( new Spinner.OnItemSelectedListener() { @Override public void onItemSelected(Spinner parent, View view, int position, long id) { onModeSelected(position); } }); mEndAdapter = new EndAdapter(); mEndSpinner.setAdapter(mEndAdapter); mEndSpinner.setOnItemSelectedListener( new Spinner.OnItemSelectedListener() { @Override public void onItemSelected(Spinner parent, View view, int position, long id) { onEndSelected(position); } }); mPeriodEditText.addTextChangedListener( new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { onPeriodChanged(); } }); mPeriodEditText.setOnKeyListener( new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) { String text = mPeriodEditText.getText().toString(); if (TextUtils.isEmpty(text)) mPeriodEditText.setText(String.valueOf(mRecurring.getPeriod())); } return false; } }); CompoundButton.OnCheckedChangeListener mCheckChangeListener = new android.widget.CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged( android.widget.CompoundButton buttonView, boolean isChecked) { if (isChecked) { if (buttonView == mSameDayRadioButton) mSameWeekdayRadioButton.setChecked(false); else mSameDayRadioButton.setChecked(false); onMonthSettingChanged(); } } }; mSameDayRadioButton.setOnCheckedChangeListener(mCheckChangeListener); mSameWeekdayRadioButton.setOnCheckedChangeListener(mCheckChangeListener); mEndNumEditText.addTextChangedListener( new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { onEventNumberChanged(); } }); mEndNumEditText.setOnKeyListener( new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) { String text = mEndNumEditText.getText().toString(); if (TextUtils.isEmpty(text)) mEndNumEditText.setText(String.valueOf(mRecurring.getEventNumber())); } return false; } }); View.OnClickListener mDateClickListener = new View.OnClickListener() { @Override public void onClick(View v) { final DatePickerDialog dialog = new DatePickerDialog(getContext(), mDatePickerDialogStyleId); long minTime = System.currentTimeMillis(); Calendar cal = dialog.getCalendar(); cal.setTimeInMillis(minTime); cal.add(Calendar.YEAR, 100); long maxTime = cal.getTimeInMillis(); dialog .dateRange(minTime, maxTime) .date((long) mEndDateButton.getTag()) .positiveAction(mPositiveAction.getText()) .positiveActionClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onEndDateChanged(dialog.getDate()); dialog.dismiss(); } }) .negativeAction(mNegativeAction.getText()) .negativeActionClickListener( new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }) .show(); } }; mEndDateButton.setOnClickListener(mDateClickListener); mWeekView.setOnDaySelectionChangedListener(this); }
private void onMonthSettingChanged() { mRecurring.setMonthRepeatType( mSameDayRadioButton.isChecked() ? Recurring.MONTH_SAME_DAY : Recurring.MONTH_SAME_WEEKDAY); }