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 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) })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user