소스 검색

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 {