@Override
  public void onClick(View v) {

    if (v == yes) {
      if (validate()) {
        if (repeatRepRadio.isChecked()) {
          rule.setCount(Integer.parseInt(repeatRepEdit.getText().toString()));
          rule.setUntil(null);
        } else {
          rule.setCount(null);
          rule.setUntil(DateUtil.convertDateToRRULE(repeatUntilDate.getText().toString()));
        }

        dismiss();
      }

    } else if (v == no) {
      cancelClicked = true;
      cancel();
    } else if (v == repeatRepEdit || v == repeatRepRadio || v == repeatRepRow) {

      repeatUntilRadio.setChecked(false);
      repeatRepRadio.setChecked(true);
      repeatRepEdit.setEnabled(true);
      repeatRepEdit.setFocusable(true);
      previousSelectedRadio = repeatRepRadio;

    } else if (v == repeatUntilDate || v == repeatUntilRadio || v == repeatUntilRow) {
      repeatRepRadio.setChecked(false);
      repeatUntilRadio.setChecked(true);
      repeatRepEdit.setEnabled(false);
      DatePickerDialog dialog = null;
      if (!StringUtils.isEmpty(repeatUntilDate.getText().toString())) {
        GregorianCalendar cal =
            DateUtil.getCalendarFromString(repeatUntilDate.getText().toString());
        dialog =
            new DatePickerDialog(
                activity,
                datePickerListener,
                cal.get(Calendar.YEAR),
                cal.get(Calendar.MONTH),
                cal.get(Calendar.DAY_OF_MONTH));
      } else {
        dialog =
            new DatePickerDialog(
                activity,
                datePickerListener,
                eventDate.get(Calendar.YEAR),
                eventDate.get(Calendar.MONTH),
                eventDate.get(Calendar.DAY_OF_MONTH));
      }

      dialog.setOnDismissListener(datePickerDismissListener);

      dialog.show();
    }
  }