Use actual enum support for display mode preferences
This commit is contained in:
@@ -73,7 +73,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
|
||||
fun onCreate(controller: LibraryController) {
|
||||
this.controller = controller
|
||||
|
||||
recycler = if (preferences.libraryDisplayMode().get() == DisplayMode.LIST.value) {
|
||||
recycler = if (preferences.libraryDisplayMode().get() == DisplayMode.LIST) {
|
||||
(swipe_refresh.inflate(R.layout.library_list_recycler) as RecyclerView).apply {
|
||||
layoutManager = LinearLayoutManager(context)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import kotlinx.android.synthetic.main.source_compact_grid_item.view.gradient
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
||||
class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Preference<Int>) :
|
||||
class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Preference<DisplayMode>) :
|
||||
AbstractFlexibleItem<LibraryHolder>(), IFilterable<String> {
|
||||
|
||||
private val sourceManager: SourceManager = Injekt.get()
|
||||
@@ -31,16 +31,15 @@ class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Prefe
|
||||
|
||||
override fun getLayoutRes(): Int {
|
||||
return when (libraryDisplayMode.get()) {
|
||||
DisplayMode.COMPACT_GRID.value -> R.layout.source_compact_grid_item
|
||||
DisplayMode.COMFORTABLE_GRID.value -> R.layout.source_comfortable_grid_item
|
||||
DisplayMode.LIST.value -> R.layout.source_list_item
|
||||
else -> throw NotImplementedError("Unknown display mode")
|
||||
DisplayMode.COMPACT_GRID -> R.layout.source_compact_grid_item
|
||||
DisplayMode.COMFORTABLE_GRID -> R.layout.source_comfortable_grid_item
|
||||
DisplayMode.LIST -> R.layout.source_list_item
|
||||
}
|
||||
}
|
||||
|
||||
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): LibraryHolder {
|
||||
return when (libraryDisplayMode.get()) {
|
||||
DisplayMode.COMPACT_GRID.value -> {
|
||||
DisplayMode.COMPACT_GRID -> {
|
||||
val parent = adapter.recyclerView as AutofitRecyclerView
|
||||
val coverHeight = parent.itemWidth / 3 * 4
|
||||
view.apply {
|
||||
@@ -51,7 +50,7 @@ class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Prefe
|
||||
}
|
||||
LibraryGridHolder(view, adapter)
|
||||
}
|
||||
DisplayMode.COMFORTABLE_GRID.value -> {
|
||||
DisplayMode.COMFORTABLE_GRID -> {
|
||||
val parent = adapter.recyclerView as AutofitRecyclerView
|
||||
val coverHeight = parent.itemWidth / 3 * 4
|
||||
view.apply {
|
||||
@@ -61,10 +60,9 @@ class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Prefe
|
||||
}
|
||||
LibraryComfortableGridHolder(view, adapter)
|
||||
}
|
||||
DisplayMode.LIST.value -> {
|
||||
DisplayMode.LIST -> {
|
||||
LibraryListHolder(view, adapter)
|
||||
}
|
||||
else -> throw NotImplementedError("Unknown display mode")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -193,9 +193,9 @@ class LibrarySettingsSheet(
|
||||
|
||||
override fun initModels() {
|
||||
val mode = preferences.libraryDisplayMode().get()
|
||||
compactGrid.checked = mode == DisplayMode.COMPACT_GRID.value
|
||||
comfortableGrid.checked = mode == DisplayMode.COMFORTABLE_GRID.value
|
||||
list.checked = mode == DisplayMode.LIST.value
|
||||
compactGrid.checked = mode == DisplayMode.COMPACT_GRID
|
||||
comfortableGrid.checked = mode == DisplayMode.COMFORTABLE_GRID
|
||||
list.checked = mode == DisplayMode.LIST
|
||||
}
|
||||
|
||||
override fun onItemClicked(item: Item) {
|
||||
@@ -207,9 +207,9 @@ class LibrarySettingsSheet(
|
||||
|
||||
preferences.libraryDisplayMode().set(
|
||||
when (item) {
|
||||
compactGrid -> DisplayMode.COMPACT_GRID.value
|
||||
comfortableGrid -> DisplayMode.COMFORTABLE_GRID.value
|
||||
list -> DisplayMode.LIST.value
|
||||
compactGrid -> DisplayMode.COMPACT_GRID
|
||||
comfortableGrid -> DisplayMode.COMFORTABLE_GRID
|
||||
list -> DisplayMode.LIST
|
||||
else -> throw NotImplementedError("Unknown display mode")
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user