Refactor and tune FastScroller

This commit is contained in:
Koitharu
2022-07-09 13:21:17 +03:00
parent 4743f40154
commit e2ed7f0d77
27 changed files with 464 additions and 331 deletions

View File

@@ -0,0 +1,12 @@
package org.koitharu.kotatsu.utils.ext
import android.view.View
import androidx.core.graphics.Insets
fun Insets.end(view: View): Int {
return if (view.layoutDirection == View.LAYOUT_DIRECTION_RTL) left else right
}
fun Insets.start(view: View): Int {
return if (view.layoutDirection == View.LAYOUT_DIRECTION_RTL) right else left
}

View File

@@ -4,6 +4,7 @@ import android.app.Activity
import android.graphics.Rect
import android.view.View
import android.view.ViewGroup
import android.view.ViewParent
import android.view.inputmethod.InputMethodManager
import androidx.core.view.ViewCompat
import androidx.core.view.children
@@ -147,4 +148,13 @@ fun RecyclerView.invalidateNestedItemDecorations() {
}
}
internal val View.compatPaddingStart get() = ViewCompat.getPaddingStart(this)
internal val View.compatPaddingStart get() = ViewCompat.getPaddingStart(this)
val View.parents: Sequence<ViewParent>
get() = sequence {
var p: ViewParent? = parent
while (p != null) {
yield(p)
p = p.parent
}
}