From f00106b671b84d9a9275b386ceb14b15d83ce797 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 7 May 2018 11:01:37 +0200 Subject: [PATCH] scroll the event list a bit after fetching new events to show that something changed --- .../calendar/fragments/EventListFragment.kt | 15 +++++++++------ app/src/main/res/values/dimens.xml | 1 + 2 files changed, 10 insertions(+), 6 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 188b7816a..1d602d91d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/EventListFragment.kt @@ -68,14 +68,14 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { minFetchedTS = DateTime().minusMonths(3).seconds() maxFetchedTS = DateTime().plusMonths(6).seconds() context!!.dbHelper.getEvents(minFetchedTS, maxFetchedTS) { - receivedEvents(it) + receivedEvents(it, false) if (it.size < 20) { - fetchNextPeriod() + fetchNextPeriod(false) } } } - private fun receivedEvents(events: ArrayList) { + private fun receivedEvents(events: ArrayList, scrollAfterUpdating: Boolean) { if (context == null || activity == null) { return } @@ -103,11 +103,14 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { mView.calendar_events_list.endlessScrollListener = object : MyRecyclerView.EndlessScrollListener { override fun updateBottom() { - fetchNextPeriod() + fetchNextPeriod(true) } } } else { (currAdapter as EventListAdapter).updateListItems(listItems) + if (scrollAfterUpdating) { + mView.calendar_events_list.smoothScrollBy(0, context!!.resources.getDimension(R.dimen.endless_scroll_move_height).toInt()) + } } checkPlaceholderVisibility() } @@ -128,12 +131,12 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { } } - private fun fetchNextPeriod() { + private fun fetchNextPeriod(scrollAfterUpdating: Boolean) { val oldMaxFetchedTS = maxFetchedTS + 1 maxFetchedTS += FETCH_INTERVAL context!!.dbHelper.getEvents(oldMaxFetchedTS, maxFetchedTS) { mEvents.addAll(it) - receivedEvents(mEvents) + receivedEvents(mEvents, scrollAfterUpdating) } } diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 06ce8c148..7975ac94d 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -17,6 +17,7 @@ 40dp 0dp + 24dp 11sp 14sp