public void setFirstDayOfWeek(int dayOfWeek) {
    this.firstDayOfWeek = dayOfWeek;

    Calendar calendar = resetAndGetWorkingCalendar();
    calendar.set(DAY_OF_WEEK, dayOfWeek);
    for (WeekDayView dayView : weekDayViews) {
      dayView.setDayOfWeek(calendar);
      calendar.add(DATE, 1);
    }

    calendar = resetAndGetWorkingCalendar();
    for (DayView dayView : monthDayViews) {
      CalendarDay day = CalendarDay.from(calendar);
      dayView.setDay(day);
      calendar.add(DATE, 1);
    }

    updateUi();
  }
 public void setWeekDayTextAppearance(int taId) {
   for (WeekDayView weekDayView : weekDayViews) {
     weekDayView.setTextAppearance(getContext(), taId);
   }
 }
 public void setWeekDayFormatter(WeekDayFormatter formatter) {
   for (WeekDayView dayView : weekDayViews) {
     dayView.setWeekDayFormatter(formatter);
   }
 }