From 7f1dc241f65c9c82822c9b8104ff593ab9a8f8e6 Mon Sep 17 00:00:00 2001 From: "karthikeyan.a@xome.com" Date: Fri, 1 Dec 2017 17:31:44 +0530 Subject: [PATCH] Added function #calendarView.resetDisabledDays() to reset disabled days in the calendar. As Described in the below issue https://github.com/ApplikeySolutions/CosmoCalendar/issues/28 Feature case: If user wants to toggle between saturday as disabled/Enabled on run time instead of pre-initializing. Then calendarView.resetDisabledDays() method can be used. --- .../cosmocalendar/adapter/MonthAdapter.java | 10 ++++++++++ .../cosmocalendar/view/CalendarView.java | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/adapter/MonthAdapter.java b/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/adapter/MonthAdapter.java index 043ef89..f6613ae 100644 --- a/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/adapter/MonthAdapter.java +++ b/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/adapter/MonthAdapter.java @@ -144,6 +144,16 @@ public void setDisabledDaysCriteria(DisabledDaysCriteria criteria){ notifyDataSetChanged(); } + + public void resetDisabledDays() { + for (Month month : months) { + for (Day day : month.getDays()) { + day.setDisabled(false); + } + } + notifyDataSetChanged(); + } + private void setDaysAccordingToSet(Set days, DayFlag dayFlag) { if (days != null && !days.isEmpty()) { for (Month month : months) { diff --git a/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/view/CalendarView.java b/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/view/CalendarView.java index 8d224b7..7d33e86 100644 --- a/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/view/CalendarView.java +++ b/cosmocalendar/src/main/java/com/applikeysolutions/cosmocalendar/view/CalendarView.java @@ -542,6 +542,14 @@ public void setWeekendDays(Set weekendDays) { monthAdapter.setWeekendDays(weekendDays); } + /** + * re-Enables the already disabled days if wants to toggle + */ + public void resetDisabledDays() + { + monthAdapter.resetDisabledDays(); + } + @Override public void setDisabledDaysCriteria(DisabledDaysCriteria criteria) { settingsManager.setDisabledDaysCriteria(criteria);