Fixed long press not working after switching from list to grid
This commit is contained in:
parent
715507be2a
commit
21d7f342e6
2 changed files with 18 additions and 1 deletions
|
@ -596,6 +596,7 @@ class LibraryController(
|
|||
val position = (recycler.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()
|
||||
if (recycler is AutofitRecyclerView && preferences.libraryLayout().getOrDefault() == 0 ||
|
||||
recycler !is AutofitRecyclerView && preferences.libraryLayout().getOrDefault() > 0) {
|
||||
destroyActionModeIfNeeded()
|
||||
recycler_layout.removeView(recycler)
|
||||
recycler = if (preferences.libraryLayout().getOrDefault() == 0) {
|
||||
(recycler_layout.inflate(R.layout.library_list_recycler) as RecyclerView).apply {
|
||||
|
@ -614,10 +615,16 @@ class LibraryController(
|
|||
}
|
||||
}
|
||||
recycler.setHasFixedSize(true)
|
||||
adapter = LibraryCategoryAdapter(this)
|
||||
recycler.adapter = adapter
|
||||
recycler.addOnScrollListener(scrollListener)
|
||||
adapter.isLongPressDragEnabled = canDrag()
|
||||
recycler_layout.addView(recycler)
|
||||
adapter.setItems(presenter.getList())
|
||||
} else {
|
||||
recycler.adapter = adapter
|
||||
}
|
||||
recycler.adapter = adapter
|
||||
|
||||
(recycler.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(position, 0)
|
||||
//val adapter = adapter ?: return
|
||||
|
||||
|
|
|
@ -503,6 +503,16 @@ class LibraryPresenter(
|
|||
}
|
||||
}
|
||||
|
||||
fun getList(): List<LibraryItem> {
|
||||
val list = mutableListOf<LibraryItem>()
|
||||
for (element in currentMangaMap!!.toSortedMap(compareBy { entry ->
|
||||
categories.find { it.id == entry }?.order ?: -1
|
||||
})) {
|
||||
list.addAll(element.value)
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
fun updateViewBlocking() {
|
||||
/* val list = withContext(Dispatchers.IO) {
|
||||
val showCategories = !preferences.hideCategories().getOrDefault()
|
||||
|
|
Reference in a new issue