From 316832d49cb525e06b4f7ddc46c0720e638c0a3a Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 13 Nov 2017 18:22:10 +0100 Subject: [PATCH] properly refresh year and month view at filtering change --- .../com/simplemobiletools/calendar/activities/MainActivity.kt | 3 ++- .../calendar/dialogs/FilterEventTypesDialog.kt | 3 --- .../com/simplemobiletools/calendar/fragments/YearFragment.kt | 1 + .../simplemobiletools/calendar/helpers/YearlyCalendarImpl.kt | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt index 776f40743..86e13004e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -202,6 +202,7 @@ class MainActivity : SimpleActivity(), NavigationListener { mStoredTextColor = textColor mStoredPrimaryColor = primaryColor mStoredBackgroundColor = backgroundColor + mStoredUse24HourFormat = use24hourFormat } mStoredDayCode = Formatter.getTodayCode() } @@ -480,7 +481,7 @@ class MainActivity : SimpleActivity(), NavigationListener { private fun refreshViewPager() { when { - config.storedView == YEARLY_VIEW -> (main_view_pager.adapter as? MyYearPagerAdapter)?.refreshEvents(main_view_pager.currentItem) + config.storedView == YEARLY_VIEW && !mIsMonthSelected -> (main_view_pager.adapter as? MyYearPagerAdapter)?.refreshEvents(main_view_pager.currentItem) config.storedView == EVENTS_LIST_VIEW -> fillEventsList() config.storedView == WEEKLY_VIEW -> (week_view_view_pager.adapter as? MyWeekPagerAdapter)?.refreshEvents(week_view_view_pager.currentItem) else -> (main_view_pager.adapter as? MyMonthPagerAdapter)?.refreshEvents(main_view_pager.currentItem) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/FilterEventTypesDialog.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/FilterEventTypesDialog.kt index 35fa923a3..71c24a62d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/FilterEventTypesDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/dialogs/FilterEventTypesDialog.kt @@ -6,14 +6,11 @@ import com.simplemobiletools.calendar.activities.SimpleActivity import com.simplemobiletools.calendar.adapters.FilterEventTypeAdapter import com.simplemobiletools.calendar.extensions.config import com.simplemobiletools.calendar.extensions.dbHelper -import com.simplemobiletools.calendar.models.EventType import com.simplemobiletools.commons.extensions.setupDialogStuff import kotlinx.android.synthetic.main.dialog_filter_event_types.view.* -import java.util.* class FilterEventTypesDialog(val activity: SimpleActivity, val callback: () -> Unit) { var dialog: AlertDialog - var eventTypes = ArrayList() val view = activity.layoutInflater.inflate(R.layout.dialog_filter_event_types, null) init { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragment.kt index 1c2f5c37b..6231faed7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/YearFragment.kt @@ -94,6 +94,7 @@ class YearFragment : Fragment(), YearlyCalendar { if (hashCode == lastHash) { return } + lastHash = hashCode val res = resources for (i in 1..12) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/YearlyCalendarImpl.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/YearlyCalendarImpl.kt index 8fe807c01..ab1974cc3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/YearlyCalendarImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/YearlyCalendarImpl.kt @@ -41,7 +41,7 @@ class YearlyCalendarImpl(val callback: YearlyCalendar, val context: Context, val } } } - callback.updateYearlyCalendar(arr, events.hashCode()) + callback.updateYearlyCalendar(arr, filtered.hashCode()) } private fun markDay(arr: SparseArray>, dateTime: DateTime, event: Event) {