@ -5,14 +5,14 @@ import android.util.AttributeSet
import android.view.View
import android.widget.FrameLayout
import androidx.recyclerview.widget.LinearLayoutManager
import dev.chrisbanes.insetter.applyInsetter
import dev.chrisbanes.insetter.Insetter
import dev.chrisbanes.insetter.windowInsetTypesOf
import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.SelectableAdapter
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.library.LibraryUpdateService
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.LibraryCategoryBinding
import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.util.lang.plusAssign
@ -27,9 +27,7 @@ import kotlinx.coroutines.flow.onEach
import reactivecircus.flowbinding.recyclerview.scrollStateChanges
import reactivecircus.flowbinding.swiperefreshlayout.refreshes
import rx.subscriptions.CompositeSubscription
import uy.kohesive.injekt.injectLazy
import java.util.ArrayDeque
import eu.kanade.tachiyomi.ui.library.setting.DisplayModeSetting as DisplayMode
/ * *
* Fragment containing the library manga for a certain category .
@ -41,8 +39,6 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
private val scope = MainScope ( )
private val preferences : PreferencesHelper by injectLazy ( )
/ * *
* The fragment containing this view .
* /
@ -71,12 +67,10 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
private var lastClickPositionStack = ArrayDeque ( listOf ( - 1 ) )
fun onCreate ( controller : LibraryController , binding : LibraryCategoryBinding ) {
fun onCreate ( controller : LibraryController , binding : LibraryCategoryBinding , viewType : Int ) {
this . controller = controller
recycler = if ( preferences . libraryDisplayMode ( ) . get ( ) == DisplayMode . LIST &&
! preferences . categorisedDisplaySettings ( ) . get ( )
) {
recycler = if ( viewType == LibraryAdapter . LIST _DISPLAY _MODE ) {
( binding . swipeRefresh . inflate ( R . layout . library _list _recycler ) as AutofitRecyclerView ) . apply {
spanCount = 1
}
@ -86,11 +80,9 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
}
}
recycler . applyInsetter {
type ( navigationBars = true ) {
padding ( )
}
}
Insetter . builder ( )
. paddingBottom ( windowInsetTypesOf ( navigationBars = true ) )
. applyToView ( recycler )
adapter = LibraryCategoryAdapter ( this )
@ -129,15 +121,6 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
fun onBind ( category : Category ) {
this . category = category
// If displayMode should be set from category adjust manga count per row
if ( preferences . categorisedDisplaySettings ( ) . get ( ) ) {
recycler . spanCount = if ( DisplayMode . fromFlag ( category . displayMode ) == DisplayMode . LIST || ( preferences . libraryDisplayMode ( ) . get ( ) == DisplayMode . LIST && category . id == 0 ) ) {
1
} else {
controller . mangaPerRow
}
}
adapter . mode = if ( controller . selectedMangas . isNotEmpty ( ) ) {
SelectableAdapter . Mode . MULTI
} else {