mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-06 13:33:33 +01:00
scroll the event list a bit after fetching new events to show that something changed
This commit is contained in:
parent
d6070249ab
commit
f00106b671
@ -68,14 +68,14 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
|
|||||||
minFetchedTS = DateTime().minusMonths(3).seconds()
|
minFetchedTS = DateTime().minusMonths(3).seconds()
|
||||||
maxFetchedTS = DateTime().plusMonths(6).seconds()
|
maxFetchedTS = DateTime().plusMonths(6).seconds()
|
||||||
context!!.dbHelper.getEvents(minFetchedTS, maxFetchedTS) {
|
context!!.dbHelper.getEvents(minFetchedTS, maxFetchedTS) {
|
||||||
receivedEvents(it)
|
receivedEvents(it, false)
|
||||||
if (it.size < 20) {
|
if (it.size < 20) {
|
||||||
fetchNextPeriod()
|
fetchNextPeriod(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun receivedEvents(events: ArrayList<Event>) {
|
private fun receivedEvents(events: ArrayList<Event>, scrollAfterUpdating: Boolean) {
|
||||||
if (context == null || activity == null) {
|
if (context == null || activity == null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -103,11 +103,14 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
|
|||||||
|
|
||||||
mView.calendar_events_list.endlessScrollListener = object : MyRecyclerView.EndlessScrollListener {
|
mView.calendar_events_list.endlessScrollListener = object : MyRecyclerView.EndlessScrollListener {
|
||||||
override fun updateBottom() {
|
override fun updateBottom() {
|
||||||
fetchNextPeriod()
|
fetchNextPeriod(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
(currAdapter as EventListAdapter).updateListItems(listItems)
|
(currAdapter as EventListAdapter).updateListItems(listItems)
|
||||||
|
if (scrollAfterUpdating) {
|
||||||
|
mView.calendar_events_list.smoothScrollBy(0, context!!.resources.getDimension(R.dimen.endless_scroll_move_height).toInt())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
checkPlaceholderVisibility()
|
checkPlaceholderVisibility()
|
||||||
}
|
}
|
||||||
@ -128,12 +131,12 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun fetchNextPeriod() {
|
private fun fetchNextPeriod(scrollAfterUpdating: Boolean) {
|
||||||
val oldMaxFetchedTS = maxFetchedTS + 1
|
val oldMaxFetchedTS = maxFetchedTS + 1
|
||||||
maxFetchedTS += FETCH_INTERVAL
|
maxFetchedTS += FETCH_INTERVAL
|
||||||
context!!.dbHelper.getEvents(oldMaxFetchedTS, maxFetchedTS) {
|
context!!.dbHelper.getEvents(oldMaxFetchedTS, maxFetchedTS) {
|
||||||
mEvents.addAll(it)
|
mEvents.addAll(it)
|
||||||
receivedEvents(mEvents)
|
receivedEvents(mEvents, scrollAfterUpdating)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<dimen name="repeat_type_margin_start">40dp</dimen>
|
<dimen name="repeat_type_margin_start">40dp</dimen>
|
||||||
|
|
||||||
<dimen name="yearly_month_padding">0dp</dimen>
|
<dimen name="yearly_month_padding">0dp</dimen>
|
||||||
|
<dimen name="endless_scroll_move_height">24dp</dimen>
|
||||||
|
|
||||||
<dimen name="day_monthly_text_size">11sp</dimen>
|
<dimen name="day_monthly_text_size">11sp</dimen>
|
||||||
<dimen name="meta_text_size">14sp</dimen>
|
<dimen name="meta_text_size">14sp</dimen>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user