avoid caldav syncing calendars too many times in a row

This commit is contained in:
tibbi
2018-11-16 17:35:46 +01:00
parent 4b7185a74b
commit 5b0076302d

View File

@@ -46,13 +46,10 @@ import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
private val CALDAV_SYNC_DELAY = 1000L
private var showCalDAVRefreshToast = false private var showCalDAVRefreshToast = false
private var mShouldFilterBeVisible = false private var mShouldFilterBeVisible = false
private var mIsSearchOpen = false private var mIsSearchOpen = false
private var mLatestSearchQuery = "" private var mLatestSearchQuery = ""
private var mCalDAVSyncHandler = Handler()
private var mSearchMenuItem: MenuItem? = null private var mSearchMenuItem: MenuItem? = null
private var shouldGoToTodayBeVisible = false private var shouldGoToTodayBeVisible = false
private var goToTodayButton: MenuItem? = null private var goToTodayButton: MenuItem? = null
@@ -145,7 +142,6 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
override fun onStop() { override fun onStop() {
super.onStop() super.onStop()
mCalDAVSyncHandler.removeCallbacksAndMessages(null)
contentResolver.unregisterContentObserver(calDAVSyncObserver) contentResolver.unregisterContentObserver(calDAVSyncObserver)
closeSearch() closeSearch()
} }
@@ -380,8 +376,13 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
override fun onChange(selfChange: Boolean) { override fun onChange(selfChange: Boolean) {
super.onChange(selfChange) super.onChange(selfChange)
if (!selfChange) { if (!selfChange) {
mCalDAVSyncHandler.removeCallbacksAndMessages(null) calDAVChanged()
mCalDAVSyncHandler.postDelayed({ }
}
}
private fun calDAVChanged() {
contentResolver.unregisterContentObserver(calDAVSyncObserver)
recheckCalDAVCalendars { recheckCalDAVCalendars {
refreshViewPager() refreshViewPager()
if (showCalDAVRefreshToast) { if (showCalDAVRefreshToast) {
@@ -391,9 +392,6 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
swipe_refresh_layout.isRefreshing = false swipe_refresh_layout.isRefreshing = false
} }
} }
}, CALDAV_SYNC_DELAY)
}
}
} }
private fun addHolidays() { private fun addHolidays() {