aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt
index 0a1e2719..7e921ed1 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt
@@ -23,6 +23,15 @@ abstract class TimelinePageFragment<T : IdObject, out PI : PageInfo> : PageFragm
tweets_recycler_view.layoutManager = layoutManager
tweets_recycler_view.adapter = adapter
tweets_recycler_view.itemAnimator = null
+ adapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
+ override fun onItemRangeInserted(positionStart: Int, itemCount: Int) {
+ if (positionStart == 0 && itemCount == 1 &&
+ layoutManager.findFirstVisibleItemPosition() == 0 &&
+ (layoutManager.getChildAt(0) != null || layoutManager.getChildAt(0).top == 0)) {
+ tweets_recycler_view.scrollToPosition(0)
+ }
+ }
+ })
}
abstract fun onBindItemView(item: T, itemView: View)