Cleanup MigrationSource
This commit is contained in:
parent
a088e1ffc2
commit
1e2f4fc35e
@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.ui.browse.migration.advanced.design
|
||||
|
||||
import android.os.Bundle
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
@ -13,6 +14,9 @@ class MigrationSourceAdapter(
|
||||
controllerPre,
|
||||
true
|
||||
) {
|
||||
val preferences: PreferencesHelper by injectLazy()
|
||||
val sourceManager: SourceManager by injectLazy()
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
super.onSaveInstanceState(outState)
|
||||
|
||||
@ -27,10 +31,10 @@ class MigrationSourceAdapter(
|
||||
}
|
||||
|
||||
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
||||
val sourceManager: SourceManager by injectLazy()
|
||||
savedInstanceState.getParcelableArrayList<MigrationSourceItem.ParcelableSI>(
|
||||
SELECTED_SOURCES_KEY
|
||||
)?.let { selectedSources ->
|
||||
val selectedSources = savedInstanceState
|
||||
.getParcelableArrayList<MigrationSourceItem.MigrationSource>(SELECTED_SOURCES_KEY)
|
||||
|
||||
if (selectedSources != null) {
|
||||
updateDataSet(selectedSources.map { MigrationSourceItem.fromParcelable(sourceManager, it) })
|
||||
}
|
||||
|
||||
|
@ -3,11 +3,9 @@ package eu.kanade.tachiyomi.ui.browse.migration.advanced.design
|
||||
import android.graphics.Paint.STRIKE_THRU_TEXT_FLAG
|
||||
import android.view.View
|
||||
import eu.davidea.viewholders.FlexibleViewHolder
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.databinding.MigrationSourceItemBinding
|
||||
import eu.kanade.tachiyomi.source.icon
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
|
||||
class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
|
||||
FlexibleViewHolder(view, adapter) {
|
||||
@ -17,8 +15,7 @@ class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
|
||||
}
|
||||
|
||||
fun bind(source: HttpSource, sourceEnabled: Boolean) {
|
||||
val preferences by injectLazy<PreferencesHelper>()
|
||||
val isMultiLanguage = preferences.enabledLanguages().get().size > 1
|
||||
val isMultiLanguage = adapter.preferences.enabledLanguages().get().size > 1
|
||||
// Set capitalized title.
|
||||
val sourceName = if (isMultiLanguage) source.toString() else source.name.capitalize()
|
||||
binding.title.text = sourceName
|
||||
|
@ -55,19 +55,19 @@ class MigrationSourceItem(val source: HttpSource, var sourceEnabled: Boolean) :
|
||||
}
|
||||
|
||||
@Parcelize
|
||||
data class ParcelableSI(val sourceId: Long, val sourceEnabled: Boolean) : Parcelable
|
||||
data class MigrationSource(val sourceId: Long, val sourceEnabled: Boolean) : Parcelable
|
||||
|
||||
fun asParcelable(): ParcelableSI {
|
||||
return ParcelableSI(source.id, sourceEnabled)
|
||||
fun asParcelable(): MigrationSource {
|
||||
return MigrationSource(source.id, sourceEnabled)
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun fromParcelable(sourceManager: SourceManager, si: ParcelableSI): MigrationSourceItem? {
|
||||
val source = sourceManager.get(si.sourceId) as? HttpSource ?: return null
|
||||
fun fromParcelable(sourceManager: SourceManager, migrationSource: MigrationSource): MigrationSourceItem? {
|
||||
val source = sourceManager.get(migrationSource.sourceId) as? HttpSource ?: return null
|
||||
|
||||
return MigrationSourceItem(
|
||||
source,
|
||||
si.sourceEnabled
|
||||
migrationSource.sourceEnabled
|
||||
)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user