From d5dbd6e9f04fe4c36c86b4218292e018a70f0fd4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 5 Feb 2017 15:40:52 +0100 Subject: [PATCH] refresh events list only if something changed --- .../calendar/fragments/EventListFragment.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt index cb61d7880..4b81ebc47 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt @@ -29,6 +29,7 @@ import kotlin.comparisons.compareBy class EventListFragment : Fragment(), DBHelper.GetEventsListener, DBHelper.EventUpdateListener, EventListAdapter.ItemOperationsListener { var mAllEvents: MutableList? = null + var prevEventsHash = 0 lateinit var mToBeDeleted: MutableList lateinit var mView: View @@ -45,10 +46,6 @@ class EventListFragment : Fragment(), DBHelper.GetEventsListener, DBHelper.Event checkEvents() } - override fun onPause() { - super.onPause() - } - private fun checkEvents() { val fromTS = DateTime().seconds() val toTS = DateTime().plusYears(1).seconds() @@ -56,6 +53,11 @@ class EventListFragment : Fragment(), DBHelper.GetEventsListener, DBHelper.Event } override fun gotEvents(events: MutableList) { + val hash = events.hashCode() + if (prevEventsHash == hash) + return + + prevEventsHash = hash val filtered = getEventsToShow(events) val listItems = ArrayList(filtered.size) val sorted = filtered.sortedWith(compareBy({ it.startTS }, { it.endTS }, { it.title }, { it.description }))