浏览代码

Category update can only be triggered when the list is at the top

len 9 年之前
父节点
当前提交
c20d86e5c0
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryFragment.kt

+ 11 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryFragment.kt

@@ -2,6 +2,8 @@ package eu.kanade.tachiyomi.ui.library
 
 import android.content.res.Configuration
 import android.os.Bundle
+import android.support.v7.widget.LinearLayoutManager
+import android.support.v7.widget.RecyclerView
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -102,6 +104,15 @@ class LibraryCategoryFragment : BaseFragment(), FlexibleViewHolder.OnListItemCli
             }
         }
 
+        recycler.addOnScrollListener(object : RecyclerView.OnScrollListener() {
+            override fun onScrollStateChanged(recycler: RecyclerView, newState: Int) {
+                // Disable swipe refresh when view is not at the top
+                val firstPos = (recycler.layoutManager as LinearLayoutManager)
+                        .findFirstCompletelyVisibleItemPosition()
+                swipe_refresh.isEnabled = firstPos == 0
+            }
+        })
+
         swipe_refresh.setOnRefreshListener {
             if (!LibraryUpdateService.isRunning(activity)) {
                 libraryPresenter.categories.getOrNull(position)?.let {