mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Vibrate device when library fast scroll changes categories
This commit is contained in:
parent
7d309bd600
commit
116a191364
1 changed files with 17 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
package eu.kanade.tachiyomi.ui.library
|
||||
|
||||
import android.os.Build
|
||||
import android.view.HapticFeedbackConstants
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
import eu.davidea.flexibleadapter.items.IFlexible
|
||||
|
@ -34,6 +35,8 @@ class LibraryCategoryAdapter(val controller: LibraryController?) :
|
|||
|
||||
var showOutline = preferences.outlineOnCovers().get()
|
||||
|
||||
private var lastCategory = ""
|
||||
|
||||
val hasActiveFilters: Boolean
|
||||
get() = controller?.hasActiveFilters == true
|
||||
|
||||
|
@ -175,7 +178,10 @@ class LibraryCategoryAdapter(val controller: LibraryController?) :
|
|||
val db: DatabaseHelper by injectLazy()
|
||||
if (position == itemCount - 1) return recyclerView.context.getString(R.string.bottom)
|
||||
return when (val item: IFlexible<*>? = getItem(position)) {
|
||||
is LibraryHeaderItem -> item.category.name
|
||||
is LibraryHeaderItem -> {
|
||||
vibrateOnCategoryChange(item.category.name)
|
||||
item.category.name
|
||||
}
|
||||
is LibraryItem -> {
|
||||
val text = if (item.manga.isBlank()) return item.header?.category?.name.orEmpty()
|
||||
else when (getSort(position)) {
|
||||
|
@ -259,6 +265,9 @@ class LibraryCategoryAdapter(val controller: LibraryController?) :
|
|||
getFirstLetter(title)
|
||||
}
|
||||
}
|
||||
if (!isSingleCategory) {
|
||||
vibrateOnCategoryChange(item.header?.category?.name.orEmpty())
|
||||
}
|
||||
when {
|
||||
isSingleCategory -> text
|
||||
recyclerView.resources.isLTR -> text + " - " + item.header?.category?.name.orEmpty()
|
||||
|
@ -269,6 +278,13 @@ class LibraryCategoryAdapter(val controller: LibraryController?) :
|
|||
}
|
||||
}
|
||||
|
||||
private fun vibrateOnCategoryChange(categoryName: String) {
|
||||
if (categoryName != lastCategory) {
|
||||
lastCategory = categoryName
|
||||
recyclerView.performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getSort(position: Int): LibrarySort {
|
||||
val header = (getItem(position) as? LibraryItem)?.header
|
||||
return header?.category?.sortingMode() ?: LibrarySort.DragAndDrop
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue