Cleanup MigrationSource

This commit is contained in:
Jobobby04 2021-01-25 21:36:11 -05:00
parent a088e1ffc2
commit 1e2f4fc35e
3 changed files with 15 additions and 14 deletions

View File

@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.ui.browse.migration.advanced.design
import android.os.Bundle import android.os.Bundle
import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.SourceManager
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
@ -13,6 +14,9 @@ class MigrationSourceAdapter(
controllerPre, controllerPre,
true true
) { ) {
val preferences: PreferencesHelper by injectLazy()
val sourceManager: SourceManager by injectLazy()
override fun onSaveInstanceState(outState: Bundle) { override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState) super.onSaveInstanceState(outState)
@ -27,10 +31,10 @@ class MigrationSourceAdapter(
} }
override fun onRestoreInstanceState(savedInstanceState: Bundle) { override fun onRestoreInstanceState(savedInstanceState: Bundle) {
val sourceManager: SourceManager by injectLazy() val selectedSources = savedInstanceState
savedInstanceState.getParcelableArrayList<MigrationSourceItem.ParcelableSI>( .getParcelableArrayList<MigrationSourceItem.MigrationSource>(SELECTED_SOURCES_KEY)
SELECTED_SOURCES_KEY
)?.let { selectedSources -> if (selectedSources != null) {
updateDataSet(selectedSources.map { MigrationSourceItem.fromParcelable(sourceManager, it) }) updateDataSet(selectedSources.map { MigrationSourceItem.fromParcelable(sourceManager, it) })
} }

View File

@ -3,11 +3,9 @@ package eu.kanade.tachiyomi.ui.browse.migration.advanced.design
import android.graphics.Paint.STRIKE_THRU_TEXT_FLAG import android.graphics.Paint.STRIKE_THRU_TEXT_FLAG
import android.view.View import android.view.View
import eu.davidea.viewholders.FlexibleViewHolder import eu.davidea.viewholders.FlexibleViewHolder
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.databinding.MigrationSourceItemBinding import eu.kanade.tachiyomi.databinding.MigrationSourceItemBinding
import eu.kanade.tachiyomi.source.icon import eu.kanade.tachiyomi.source.icon
import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.source.online.HttpSource
import uy.kohesive.injekt.injectLazy
class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) : class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
FlexibleViewHolder(view, adapter) { FlexibleViewHolder(view, adapter) {
@ -17,8 +15,7 @@ class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
} }
fun bind(source: HttpSource, sourceEnabled: Boolean) { fun bind(source: HttpSource, sourceEnabled: Boolean) {
val preferences by injectLazy<PreferencesHelper>() val isMultiLanguage = adapter.preferences.enabledLanguages().get().size > 1
val isMultiLanguage = preferences.enabledLanguages().get().size > 1
// Set capitalized title. // Set capitalized title.
val sourceName = if (isMultiLanguage) source.toString() else source.name.capitalize() val sourceName = if (isMultiLanguage) source.toString() else source.name.capitalize()
binding.title.text = sourceName binding.title.text = sourceName

View File

@ -55,19 +55,19 @@ class MigrationSourceItem(val source: HttpSource, var sourceEnabled: Boolean) :
} }
@Parcelize @Parcelize
data class ParcelableSI(val sourceId: Long, val sourceEnabled: Boolean) : Parcelable data class MigrationSource(val sourceId: Long, val sourceEnabled: Boolean) : Parcelable
fun asParcelable(): ParcelableSI { fun asParcelable(): MigrationSource {
return ParcelableSI(source.id, sourceEnabled) return MigrationSource(source.id, sourceEnabled)
} }
companion object { companion object {
fun fromParcelable(sourceManager: SourceManager, si: ParcelableSI): MigrationSourceItem? { fun fromParcelable(sourceManager: SourceManager, migrationSource: MigrationSource): MigrationSourceItem? {
val source = sourceManager.get(si.sourceId) as? HttpSource ?: return null val source = sourceManager.get(migrationSource.sourceId) as? HttpSource ?: return null
return MigrationSourceItem( return MigrationSourceItem(
source, source,
si.sourceEnabled migrationSource.sourceEnabled
) )
} }
} }